Annotation of /branches/magellan-next/extras/mysql5/mysql5-5.5.13-r1.smage2
Parent Directory | Revision Log
Revision 8019 -
(hide annotations)
(download)
Tue Jun 28 22:08:56 2011 UTC (12 years, 11 months ago) by niro
File size: 5090 byte(s)
Tue Jun 28 22:08:56 2011 UTC (12 years, 11 months ago) by niro
File size: 5090 byte(s)
-fixed, sminclude was broken
1 | niro | 8013 | # $Id$ |
2 | |||
3 | PNAME="mysql5" | ||
4 | PVER="5.5.13" | ||
5 | PBUILD="r1" | ||
6 | |||
7 | PCATEGORIE="dev-db" | ||
8 | STATE="unstable" | ||
9 | |||
10 | DESCRIPTION="MySQL is a SQL (Structured Query Language) database server." | ||
11 | HOMEPAGE="http://www.mysql.com/" | ||
12 | |||
13 | DEPEND=">= sys-libs/zlib-1.2 | ||
14 | >= dev-libs/openssl-1.0.0 | ||
15 | >= sys-apps/tcp-wrappers-7" | ||
16 | |||
17 | SRCFILE="${PNAME/5/}-${PVER}.tar.gz" | ||
18 | SRCDIR="${BUILDDIR}/${PNAME/5/}-${PVER}" | ||
19 | |||
20 | # initscript version | ||
21 | RC_REV=1.3 | ||
22 | |||
23 | sminclude mtools cmake | ||
24 | |||
25 | SRC_URI=( | ||
26 | ftp://ftp.mysql.com/pub/mysql/src/${SRCFILE} | ||
27 | http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-${PVER%.*}/${SRCFILE} | ||
28 | mirror://${PNAME}/${SRCFILE} | ||
29 | mirror://${PNAME}/mysql.rc-${RC_REV} | ||
30 | ) | ||
31 | |||
32 | UP2DATE="updatecmd http://dev.mysql.com/ | grep GA | sed 's/.*\ \([0-9].*\)/\1/;q'" | ||
33 | |||
34 | src_prepare() | ||
35 | { | ||
36 | # warn about /proc in chroot environments | ||
37 | [[ ! -d /proc/sys ]] && die "Please make sure /proc is mounted in chroot-environments." | ||
38 | |||
39 | munpack ${SRCFILE} || die | ||
40 | } | ||
41 | |||
42 | src_compile() | ||
43 | { | ||
44 | niro | 8016 | # build outside of the source dir |
45 | install -d ${BUILDDIR}/build || die | ||
46 | cd ${BUILDDIR}/build | ||
47 | niro | 8013 | |
48 | # fixes some issues | ||
49 | export CFLAGS="${CFLAGS} -fno-exceptions -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" | ||
50 | export CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti -fno-implicit-templates -fno-strict-aliasing -DBIG_JOINS=1 " | ||
51 | |||
52 | # fix PIC issues | ||
53 | export CFLAGS="${CFLAGS} -fPIC" | ||
54 | export CXXFLAGS="${CXXFLAGS} -fPIC" | ||
55 | |||
56 | cmake_configure \ | ||
57 | niro | 8016 | -DWITH_COMMENT="Magellan MySQL ${PVER}-${PBUILD}" \ |
58 | $(cmake_install BINDIR bin) \ | ||
59 | $(cmake_install SBINDIR sbin) \ | ||
60 | $(cmake_install DOCDIR share/doc/mysql) \ | ||
61 | $(cmake_install DOCREADMEDIR share/doc/mysql) \ | ||
62 | $(cmake_install INCLUDEDIR include/mysql) \ | ||
63 | $(cmake_install INFODIR share/info) \ | ||
64 | $(cmake_install LIBDIR $(mlibdir)/mysql) \ | ||
65 | niro | 8013 | $(cmake_install MANDIR share/man) \ |
66 | niro | 8016 | $(cmake_install MYSQLDATADIR /var/lib/mysql) \ |
67 | niro | 8013 | $(cmake_install MYSQLSHAREDIR share/mysql) \ |
68 | niro | 8016 | $(cmake_install MYSQLTESTDIR share/mysql/mysql-test) \ |
69 | $(cmake_install PLUGINDIR $(mlibdir)/mysql/plugin) \ | ||
70 | $(cmake_install SCRIPTDIR share/mysql/scripts) \ | ||
71 | $(cmake_install SQLBENCHDIR share/mysql) \ | ||
72 | $(cmake_install SUPPORTFILESDIR /usr/share/mysql) \ | ||
73 | niro | 8013 | $(cmake_opt SYSCONFDIR /etc/mysql) \ |
74 | niro | 8016 | $(cmake_opt MYSQL_USER mysql) \ |
75 | niro | 8013 | $(cmake_opt MYSQL_UNIX_ADDR /var/run/mysqld/mysqld.sock) \ |
76 | $(cmake_opt ENABLED_LOCAL_INFILE ON) \ | ||
77 | niro | 8016 | $(cmake_opt EXTRA_CHARSETS all) \ |
78 | $(cmake_without READLINE) \ | ||
79 | niro | 8013 | $(cmake_with ZLIB system) \ |
80 | $(cmake_with SSL system) \ | ||
81 | $(cmake_with LIBWRAP) \ | ||
82 | $(cmake_with EXTRA_CHARSETS complex) \ | ||
83 | $(cmake_with EMBEDDED_SERVER) \ | ||
84 | niro | 8016 | $(cmake_with INNOBASE_STORAGE_ENGINE) \ |
85 | $(cmake_with PARTITION_STORAGE_ENGINE) \ | ||
86 | $(cmake_without EXAMPLE_STORAGE_ENGINE) \ | ||
87 | $(cmake_without ARCHIVE_STORAGE_ENGINE) \ | ||
88 | $(cmake_without BLACKHOLE_STORAGE_ENGINE) \ | ||
89 | $(cmake_without FEDERATED_STORAGE_ENGINE) \ | ||
90 | $(cmake_without UNIT_TESTS) \ | ||
91 | niro | 8013 | || die |
92 | |||
93 | mmake || die | ||
94 | } | ||
95 | |||
96 | src_install() | ||
97 | { | ||
98 | niro | 8016 | cd ${BUILDDIR}/build |
99 | niro | 8013 | mmake DESTDIR=${BINDIR} install || die |
100 | |||
101 | # symlink client libs to libdir | ||
102 | pushd ${BINDIR}/usr/$(mlibdir) || die | ||
103 | for i in mysql/libmysqlclient{,_r}.so* | ||
104 | do | ||
105 | mlink ${i} /usr/$(mlibdir) || die | ||
106 | done | ||
107 | popd | ||
108 | |||
109 | # remove all unneeded stuff | ||
110 | local i | ||
111 | # dirs | ||
112 | for i in sql-bench mysql-test | ||
113 | do | ||
114 | if [[ -d ${BINDIR}/usr/${i} ]] | ||
115 | then | ||
116 | rm -r ${BINDIR}/usr/${i} || die | ||
117 | fi | ||
118 | done | ||
119 | |||
120 | # files | ||
121 | for i in share/mysql/mysql-log-rotate \ | ||
122 | share/mysql/mysql.server* \ | ||
123 | share/mysql/binary-configure* \ | ||
124 | share/mysql/my-*.cnf \ | ||
125 | share/mysql/mi_test_all* \ | ||
126 | bin/comp_err | ||
127 | do | ||
128 | if [[ -f ${BINDIR}/usr/${i} ]] | ||
129 | then | ||
130 | rm ${BINDIR}/usr/${i} || die | ||
131 | fi | ||
132 | done | ||
133 | |||
134 | # needed directories | ||
135 | mkeepdir /var/lib/mysql || die | ||
136 | mchown mysql:mysql /var/lib/mysql || die | ||
137 | mchmod 0750 /var/lib/mysql || die | ||
138 | |||
139 | mkeepdir /var/run/mysqld || die | ||
140 | mchown mysql:mysql /var/run/mysqld || die | ||
141 | |||
142 | mkeepdir /var/log/mysql || die | ||
143 | mchown mysql:mysql /var/log/mysql || die | ||
144 | |||
145 | # some common symlinks | ||
146 | for i in mysqlanalyze mysqlrepair mysqloptimize | ||
147 | do | ||
148 | mlink mysqlcheck /usr/bin/${i} || die | ||
149 | done | ||
150 | |||
151 | minstalldocs ChangeLog COPYING EXCEPTIONS-CLIENT README || die | ||
152 | minstalldocs support-files/my-*.cnf support-files/magic || die | ||
153 | minstalldocs support-files/ndb-config-2-node.ini || die | ||
154 | |||
155 | for i in scripts/mysql* | ||
156 | do | ||
157 | [[ ${i%.sh} == ${i} ]] && minstalldocs ${i} | ||
158 | done | ||
159 | |||
160 | # install a default my.cnf | ||
161 | minstalldir /etc/mysql || die | ||
162 | minstallfile support-files/my-medium.cnf /etc/mysql/my.cnf || die | ||
163 | |||
164 | # install an initscript | ||
165 | minstallrc mysql.rc-${RC_REV} mysql || die | ||
166 | } | ||
167 | |||
168 | preinstall() | ||
169 | { | ||
170 | # adding mysql user | ||
171 | ${MLIBDIR}/mgroupadd -o "-g 60" mysql | ||
172 | ${MLIBDIR}/museradd -o "-u 60 -g mysql -d /dev/null -s /bin/false" mysql | ||
173 | } | ||
174 | |||
175 | postinstall() | ||
176 | { | ||
177 | # create a database if none exists | ||
178 | if [[ ! -d /var/lib/mysql/mysql ]] | ||
179 | then | ||
180 | echo "Creating the mysql database ..." | ||
181 | mysql_install_db --user=mysql | ||
182 | chown -R mysql:mysql /var/lib/mysql | ||
183 | chmod 0750 /var/lib/mysql | ||
184 | |||
185 | echo | ||
186 | echo "Warning: The administrator password is empty!" | ||
187 | echo "Please make sure to set one with following command:" | ||
188 | echo " mysqladmin -u root password <new-password>" | ||
189 | echo | ||
190 | fi | ||
191 | |||
192 | # start the daemon | ||
193 | mstartservice mysql /usr/sbin/mysqld | ||
194 | } | ||
195 | |||
196 | postremove() | ||
197 | { | ||
198 | [[ ! -f /usr/sbin/mysqld ]] && mstopservice mysql /usr/sbin/mysqld | ||
199 | } |