Magellan Linux

Contents of /branches/magellan-next/extras/mysql5/mysql5-5.5.13-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8023 - (show annotations) (download)
Tue Jun 28 23:13:18 2011 UTC (12 years, 10 months ago) by niro
File size: 7453 byte(s)
-fixed a typo again
1 # $Id$
2
3 PNAME="mysql5"
4 PVER="5.5.13"
5 PBUILD="r2"
6
7 SPLIT_PACKAGES="mysql5-libs mysql5-clients mysql5"
8
9 PCATEGORIE="dev-db"
10 HOMEPAGE="http://www.mysql.com/"
11
12 SDEPEND=">= sys-libs/zlib-1.2
13 >= dev-libs/openssl-1.0.0
14 >= sys-apps/tcp-wrappers-7"
15
16 SRCFILE="${PNAME/5/}-${PVER}.tar.gz"
17 SRCDIR="${BUILDDIR}/${PNAME/5/}-${PVER}"
18
19 # initscript version
20 RC_REV=1.3
21
22 sminclude mtools cmake
23
24 SRC_URI=(
25 ftp://ftp.mysql.com/pub/mysql/src/${SRCFILE}
26 http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-${PVER%.*}/${SRCFILE}
27 mirror://${PNAME}/${SRCFILE}
28 mirror://${PNAME}/mysql.rc-${RC_REV}
29 )
30
31 UP2DATE="updatecmd http://dev.mysql.com/ | grep GA | sed 's/.*\ \([0-9].*\)/\1/;q'"
32
33 split_info_mysql5-libs()
34 {
35 DESCRIPTION="MySQL client libraries"
36 DEPEND=">= sys-libs/zlib-1.2
37 >= dev-libs/openssl-1.0.0
38 >= sys-apps/tcp-wrappers-7"
39 }
40
41 split_info_mysql5-clients()
42 {
43 DESCRIPTION="MySQL client utilities."
44 DEPEND="== dev-db/mysql5-libs-${PVER}"
45 }
46
47 split_info_mysql5()
48 {
49 DESCRIPTION="MySQL is a SQL (Structured Query Language) database server."
50 DEPEND="== dev-db/mysql5-clients-${PVER}"
51
52 preinstall()
53 {
54 # adding mysql user
55 ${MLIBDIR}/mgroupadd -o "-g 60" mysql
56 ${MLIBDIR}/museradd -o "-u 60 -g mysql -d /dev/null -s /bin/false" mysql
57 }
58
59 postinstall()
60 {
61 # create a database if none exists
62 if [[ ! -d /var/lib/mysql/mysql ]]
63 then
64 echo "Creating the mysql database ..."
65 mysql_install_db --user=mysql
66 chown -R mysql:mysql /var/lib/mysql
67 chmod 0750 /var/lib/mysql
68
69 echo
70 echo "Warning: The administrator password is empty!"
71 echo "Please make sure to set one with following command:"
72 echo " mysqladmin -u root password <new-password>"
73 echo
74 fi
75
76 # start the daemon
77 mstartservice mysql /usr/sbin/mysqld
78 }
79
80 postremove()
81 {
82 [[ ! -f /usr/sbin/mysqld ]] && mstopservice mysql /usr/sbin/mysqld
83 }
84 }
85
86 src_prepare()
87 {
88 # warn about /proc in chroot environments
89 [[ ! -d /proc/sys ]] && die "Please make sure /proc is mounted in chroot-environments."
90
91 munpack ${SRCFILE} || die
92 }
93
94 src_compile()
95 {
96 cd ${SRCDIR}
97
98 # fixes some issues
99 export CFLAGS="${CFLAGS} -fno-exceptions -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer"
100 export CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti -fno-implicit-templates -fno-strict-aliasing -DBIG_JOINS=1 "
101
102 # fix PIC issues
103 export CFLAGS="${CFLAGS} -fPIC"
104 export CXXFLAGS="${CXXFLAGS} -fPIC"
105
106 cmake_configure \
107 -DWITH_COMMENT="Magellan MySQL ${PVER}-${PBUILD}" \
108 $(cmake_install BINDIR bin) \
109 $(cmake_install SBINDIR sbin) \
110 $(cmake_install DOCDIR share/doc/mysql) \
111 $(cmake_install DOCREADMEDIR share/doc/mysql) \
112 $(cmake_install INCLUDEDIR include/mysql) \
113 $(cmake_install INFODIR share/info) \
114 $(cmake_install LIBDIR $(mlibdir)/mysql) \
115 $(cmake_install MANDIR share/man) \
116 $(cmake_install MYSQLDATADIR /var/lib/mysql) \
117 $(cmake_install MYSQLSHAREDIR share/mysql) \
118 $(cmake_install MYSQLTESTDIR share/mysql/mysql-test) \
119 $(cmake_install PLUGINDIR $(mlibdir)/mysql/plugin) \
120 $(cmake_install SCRIPTDIR share/mysql/scripts) \
121 $(cmake_install SQLBENCHDIR share/mysql) \
122 $(cmake_install SUPPORTFILESDIR /usr/share/mysql) \
123 $(cmake_opt SYSCONFDIR /etc/mysql) \
124 $(cmake_opt MYSQL_USER mysql) \
125 $(cmake_opt MYSQL_UNIX_ADDR /var/run/mysqld/mysqld.sock) \
126 $(cmake_opt ENABLED_LOCAL_INFILE ON) \
127 $(cmake_opt EXTRA_CHARSETS all) \
128 $(cmake_without READLINE) \
129 $(cmake_with ZLIB system) \
130 $(cmake_with SSL system) \
131 $(cmake_with LIBWRAP) \
132 $(cmake_with EXTRA_CHARSETS complex) \
133 $(cmake_with EMBEDDED_SERVER) \
134 $(cmake_with INNOBASE_STORAGE_ENGINE) \
135 $(cmake_with PARTITION_STORAGE_ENGINE) \
136 $(cmake_without EXAMPLE_STORAGE_ENGINE) \
137 $(cmake_without ARCHIVE_STORAGE_ENGINE) \
138 $(cmake_without BLACKHOLE_STORAGE_ENGINE) \
139 $(cmake_without FEDERATED_STORAGE_ENGINE) \
140 $(cmake_without UNIT_TESTS) \
141 || die
142
143 mmake || die
144 }
145
146 src_install_mysql5-libs()
147 {
148 cd ${SRCDIR}
149
150 # install only includes and clients libraries
151 local i
152 for i in include libmysql libmysqld libservices
153 do
154 mmake -C ${i} DESTDIR=${BINDIR} install || die
155 done
156
157 # symlink client libs to libdir
158 pushd ${BINDIR}/usr/$(mlibdir) || die
159 for i in mysql/libmysqlclient{,_r}.so*
160 do
161 mlink ${i} /usr/$(mlibdir) || die
162 done
163 popd
164
165 # mysql-config
166 minstallexec scripts/mysql_config || die
167
168 # man-pages
169 for i in mysql_config mysql_client_test_embedded mysqltest_embedded
170 do
171 minstallman man/${i}.1 || die
172 done
173 }
174
175 src_install_mysql5-clients()
176 {
177 cd ${SRCDIR}
178 mmake -C client DESTDIR=${BINDIR} install || die
179
180 # some common symlinks
181 for i in mysqlanalyze mysqlrepair mysqloptimize
182 do
183 mlink mysqlcheck /usr/bin/${i} || die
184 done
185
186 # man-pages
187 local i
188 for i in mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap
189 do
190 minstallman man/${i}.1 || die
191 done
192
193 # provided by mysql
194 rm ${BINDIR}/usr/bin/mysql_upgrade || die
195 rm ${BINDIR}/usr/bin/mysqlbinlog || die
196 rm ${BINDIR}/usr/bin/mysqltest || die
197 }
198
199 src_install_mysql5()
200 {
201 cd ${SRCDIR}
202 mmake DESTDIR=${BINDIR} install || die
203
204 # remove all unneeded stuff
205 local i
206 # dirs
207 for i in sql-bench mysql-test
208 do
209 if [[ -d ${BINDIR}/usr/share/mysql/${i} ]]
210 then
211 rm -r ${BINDIR}/usr/share/mysql/${i} || die
212 fi
213 done
214 if [[ -d ${BINDIR}/usr/data ]]
215 then
216 rm -r ${BINDIR}/usr/data || die
217 fi
218
219 # files
220 for i in share/mysql/mysql-log-rotate \
221 share/mysql/mysql.server* \
222 share/mysql/binary-configure* \
223 share/mysql/my-*.cnf \
224 share/mysql/mi_test_all* \
225 bin/comp_err \
226 share/man/man1/mysql-test-run.pl.1
227 do
228 if [[ -f ${BINDIR}/usr/${i} ]]
229 then
230 rm ${BINDIR}/usr/${i} || die
231 fi
232 done
233
234 # provided by mysql5-libs
235 rm ${BINDIR}/usr/bin/mysql_config || die
236 rm ${BINDIR}/usr/bin/mysql_client_test_embedded || die
237 rm ${BINDIR}/usr/bin/mysqltest_embedded || die
238 rm ${BINDIR}/usr/$(mlibdir)/mysql/libmysql* || die
239 rm -r ${BINDIR}/usr/include/ || die
240 rm ${BINDIR}/usr/share/man/man1/mysql_config.1 || die
241 rm ${BINDIR}/usr/share/man/man1/mysql_client_test_embedded.1 || die
242 rm ${BINDIR}/usr/share/man/man1/mysqltest_embedded.1 || die
243
244 # provided by mysql5-clients
245 rm ${BINDIR}/usr/bin/mysql || die
246 rm ${BINDIR}/usr/bin/mysqladmin || die
247 rm ${BINDIR}/usr/bin/mysqlcheck || die
248 rm ${BINDIR}/usr/bin/mysqldump || die
249 rm ${BINDIR}/usr/bin/mysqlimport || die
250 rm ${BINDIR}/usr/bin/mysqlshow || die
251 rm ${BINDIR}/usr/bin/mysqlslap || die
252 rm ${BINDIR}/usr/share/man/man1/mysql.1 || die
253 rm ${BINDIR}/usr/share/man/man1/mysqladmin.1 || die
254 rm ${BINDIR}/usr/share/man/man1/mysqlcheck.1 || die
255 rm ${BINDIR}/usr/share/man/man1/mysqldump.1 || die
256 rm ${BINDIR}/usr/share/man/man1/mysqlimport.1 || die
257 rm ${BINDIR}/usr/share/man/man1/mysqlshow.1 || die
258 rm ${BINDIR}/usr/share/man/man1/mysqlslap.1 || die
259
260 # needed directories
261 mkeepdir /var/lib/mysql || die
262 mchown mysql:mysql /var/lib/mysql || die
263 mchmod 0750 /var/lib/mysql || die
264
265 mkeepdir /var/run/mysqld || die
266 mchown mysql:mysql /var/run/mysqld || die
267
268 mkeepdir /var/log/mysql || die
269 mchown mysql:mysql /var/log/mysql || die
270
271 minstalldocs ChangeLog COPYING EXCEPTIONS-CLIENT README || die
272 minstalldocs support-files/my-*.cnf support-files/magic || die
273 minstalldocs support-files/ndb-config-2-node.ini || die
274
275 for i in scripts/mysql*
276 do
277 [[ ${i%.sh} == ${i} ]] && minstalldocs ${i}
278 done
279
280 # install a default my.cnf
281 minstalldir /etc/mysql || die
282 minstallfile support-files/my-medium.cnf /etc/mysql/my.cnf || die
283
284 # install an initscript
285 minstallrc mysql.rc-${RC_REV} mysql || die
286 }