Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8013 - (show annotations) (download)
Tue Jun 28 20:01:45 2011 UTC (12 years, 10 months ago) by niro
File size: 4870 byte(s)
auto added: ver bump to 5.5.13-r1
1 # $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 cd ${SRCDIR}
45
46 # fixes some issues
47 export CFLAGS="${CFLAGS} -fno-exceptions -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer"
48 export CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti -fno-implicit-templates -fno-strict-aliasing -DBIG_JOINS=1 "
49
50 # fix PIC issues
51 export CFLAGS="${CFLAGS} -fPIC"
52 export CXXFLAGS="${CXXFLAGS} -fPIC"
53
54 cmake_configure \
55 $(cmake_install INFODIR share/mysql/docs) \
56 $(cmake_install MANDIR share/man) \
57 $(cmake_install PLUGINDIR /usr/$(mlibdir)/mysql/plugin) \
58 $(cmake_install SCRIPTDIR bin) \
59 $(cmake_install INCLUDEDIR include/mysql) \
60 $(cmake_install DOCREADMEDIR share/mysql) \
61 $(cmake_install SUPPORTFILESDIR share/mysql) \
62 $(cmake_install MYSQLSHAREDIR share/mysql) \
63 $(cmake_install DOCDIR share/mysql/docs) \
64 $(cmake_install SHAREDIR share/mysql) \
65 \
66 $(cmake_opt MANUFACTURER Magellan-Linux) \
67 $(cmake_opt SYSCONFDIR /etc/mysql) \
68 $(cmake_opt MYSQL_DATADIR /var/lib/mysql) \
69 $(cmake_opt MYSQL_UNIX_ADDR /var/run/mysqld/mysqld.sock) \
70 $(cmake_opt DEFAULT_CHARSET utf8) \
71 $(cmake_opt DEFAULT_COLLATION utf8_general_ci) \
72 \ # no mistake here, has nothing to do with cmake_enable!
73 $(cmake_opt ENABLED_LOCAL_INFILE ON) \
74 \
75 $(cmake_with READLINE) \
76 $(cmake_with ZLIB system) \
77 $(cmake_with SSL system) \
78 $(cmake_with LIBWRAP) \
79 $(cmake_with EXTRA_CHARSETS complex) \
80 $(cmake_with EMBEDDED_SERVER) \
81 $(cmake_with INNOBASE_STORAGE_ENGINE 1) \
82 $(cmake_with PARTITION_STORAGE_ENGINE 1) \
83 $(cmake_without EXAMPLE_STORAGE_ENGINE 1) \
84 $(cmake_without ARCHIVE_STORAGE_ENGINE 1) \
85 $(cmake_without BLACKHOLE_STORAGE_ENGINE 1) \
86 $(cmake_without FEDERATED_STORAGE_ENGINE 1) \
87 || die
88
89 mmake || die
90 }
91
92 src_install()
93 {
94 cd ${SRCDIR}
95 mmake DESTDIR=${BINDIR} install || die
96
97 # symlink client libs to libdir
98 pushd ${BINDIR}/usr/$(mlibdir) || die
99 for i in mysql/libmysqlclient{,_r}.so*
100 do
101 mlink ${i} /usr/$(mlibdir) || die
102 done
103 popd
104
105 # remove all unneeded stuff
106 local i
107 # dirs
108 for i in sql-bench mysql-test
109 do
110 if [[ -d ${BINDIR}/usr/${i} ]]
111 then
112 rm -r ${BINDIR}/usr/${i} || die
113 fi
114 done
115
116 # files
117 for i in share/mysql/mysql-log-rotate \
118 share/mysql/mysql.server* \
119 share/mysql/binary-configure* \
120 share/mysql/my-*.cnf \
121 share/mysql/mi_test_all* \
122 bin/comp_err
123 do
124 if [[ -f ${BINDIR}/usr/${i} ]]
125 then
126 rm ${BINDIR}/usr/${i} || die
127 fi
128 done
129
130 # needed directories
131 mkeepdir /var/lib/mysql || die
132 mchown mysql:mysql /var/lib/mysql || die
133 mchmod 0750 /var/lib/mysql || die
134
135 mkeepdir /var/run/mysqld || die
136 mchown mysql:mysql /var/run/mysqld || die
137
138 mkeepdir /var/log/mysql || die
139 mchown mysql:mysql /var/log/mysql || die
140
141 # some common symlinks
142 for i in mysqlanalyze mysqlrepair mysqloptimize
143 do
144 mlink mysqlcheck /usr/bin/${i} || die
145 done
146
147 minstalldocs ChangeLog COPYING EXCEPTIONS-CLIENT README || die
148 minstalldocs support-files/my-*.cnf support-files/magic || die
149 minstalldocs support-files/ndb-config-2-node.ini || die
150
151 for i in scripts/mysql*
152 do
153 [[ ${i%.sh} == ${i} ]] && minstalldocs ${i}
154 done
155
156 # install a default my.cnf
157 minstalldir /etc/mysql || die
158 minstallfile support-files/my-medium.cnf /etc/mysql/my.cnf || die
159
160 # install an initscript
161 minstallrc mysql.rc-${RC_REV} mysql || die
162 }
163
164 preinstall()
165 {
166 # adding mysql user
167 ${MLIBDIR}/mgroupadd -o "-g 60" mysql
168 ${MLIBDIR}/museradd -o "-u 60 -g mysql -d /dev/null -s /bin/false" mysql
169 }
170
171 postinstall()
172 {
173 # create a database if none exists
174 if [[ ! -d /var/lib/mysql/mysql ]]
175 then
176 echo "Creating the mysql database ..."
177 mysql_install_db --user=mysql
178 chown -R mysql:mysql /var/lib/mysql
179 chmod 0750 /var/lib/mysql
180
181 echo
182 echo "Warning: The administrator password is empty!"
183 echo "Please make sure to set one with following command:"
184 echo " mysqladmin -u root password <new-password>"
185 echo
186 fi
187
188 # start the daemon
189 mstartservice mysql /usr/sbin/mysqld
190 }
191
192 postremove()
193 {
194 [[ ! -f /usr/sbin/mysqld ]] && mstopservice mysql /usr/sbin/mysqld
195 }