Magellan Linux

Contents of /smage/trunk/core/mysql/mysql-5.5.28-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4310 - (show annotations) (download)
Tue Nov 13 10:25:41 2012 UTC (11 years, 6 months ago) by niro
File size: 3841 byte(s)
auto added: ver bump to 5.5.28-r1
1 # $Id$
2
3 PNAME="mysql"
4 PVER="5.5.28"
5 PBUILD="r1"
6
7 PCAT="dev-db"
8
9 DESCRIPTION="MySQL is a SQL (Structured Query Language) database server."
10 HOMEPAGE="http://www.mysql.com/"
11
12 DEPEND=">= sys-libs/zlib-1.2"
13
14 SRCFILE="${PNAME}-${PVER}.tar.gz"
15 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
16
17 ALX_PKG_KEEP="etc/mysql
18 usr/bin/mysql
19 usr/$(mlibdir)/*.so.*
20 usr/$(mlibdir)/mysql/*.so.*"
21 sminclude mtools alx-split
22
23 SRC_URI=(
24 ftp://ftp.mysql.com/pub/mysql/src/${SRCFILE}
25 http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-${PVER%.*}/${SRCFILE}
26 mirror://mysql5/${SRCFILE}
27 mirror://mysql5/mysql5-5.0.41-cnf-defaults-2.patch
28 )
29
30 UP2DATE="updatecmd http://dev.mysql.com/ | grep GA | sed 's/.*\ \([0-9].*\)/\1/;q'"
31
32 src_prepare()
33 {
34 # warn about /proc in chroot environments
35 [[ ! -d /proc/sys ]] && die "Please make sure /proc is mounted in chroot-environments."
36
37 munpack ${SRCFILE} || die
38 cd ${SRCDIR}
39
40 # adjust default settings for magellan
41 mpatch mysql5-5.0.41-cnf-defaults-2.patch || die
42 }
43
44 src_compile()
45 {
46 cd ${SRCDIR}
47
48 # fixes some issues
49 export CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-strict-aliasing"
50 export CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti -fno-implicit-templates"
51
52 # fix PIC issues
53 export CFLAGS="${CFLAGS} -fPIC"
54 export CXXFLAGS="${CXXFLAGS} -fPIC"
55
56 # --with-readline uses included readline, detection is broken
57 mconfigure \
58 --libexecdir=/usr/sbin \
59 --sysconfdir=/etc/mysql \
60 --localstatedir=/var/lib/mysql \
61 --without-raid \
62 --with-low-memory \
63 --enable-assembler \
64 --with-charset=latin1 \
65 --with-collation=latin1_swedish_ci \
66 --enable-local-infile \
67 --with-mysqld-user=mysql \
68 --with-extra-charsets=none \
69 --enable-thread-safe-client \
70 --with-client-ldflags=-lstdc++ \
71 --with-comment="Magellan_MySQL_${PVER}-${PBUILD}" \
72 --with-unix-socket-path=/var/run/mysqld/mysqld.sock \
73 --enable-shared \
74 --disable-static \
75 --without-libwrap \
76 --without-ssl \
77 --without-debug \
78 --without-server \
79 --without-embedded-server \
80 --without-extra-tools \
81 --without-innodb \
82 --without-bench \
83 --without-berkeley-db \
84 --without-row-based-relication \
85 --with-readline \
86 || die
87
88 mmake || die
89 }
90
91 alx_generic_src_install()
92 {
93 cd ${SRCDIR}
94 mmake DESTDIR=${BINDIR} install || die
95
96 # symlink client libs to libdir
97 pushd ${BINDIR}/usr/$(mlibdir) || die
98 for i in mysql/libmysqlclient{,_r}.so*
99 do
100 mlink ${i} /usr/$(mlibdir) || die
101 done
102 popd
103
104 # remove all unneeded stuff
105 local i
106 # dirs
107 for i in sql-bench mysql-test
108 do
109 if [[ -d ${BINDIR}/usr/${i} ]]
110 then
111 rm -r ${BINDIR}/usr/${i} || die
112 fi
113 done
114
115 # files
116 for i in share/mysql/mysql-log-rotate \
117 share/mysql/mysql.server* \
118 share/mysql/binary-configure* \
119 share/mysql/my-*.cnf \
120 share/mysql/mi_test_all* \
121 bin/comp_err
122 do
123 if [[ -f ${BINDIR}/usr/${i} ]]
124 then
125 rm ${BINDIR}/usr/${i} || die
126 fi
127 done
128
129 # needed directories
130 mkeepdir /var/lib/mysql || die
131 mchown mysql:mysql /var/lib/mysql || die
132 mchmod 0750 /var/lib/mysql || die
133
134 mkeepdir /var/run/mysqld || die
135 mchown mysql:mysql /var/run/mysqld || die
136
137 mkeepdir /var/log/mysql || die
138 mchown mysql:mysql /var/log/mysql || die
139
140 # some common symlinks
141 for i in mysqlanalyze mysqlrepair mysqloptimize
142 do
143 mlink mysqlcheck /usr/bin/${i} || die
144 done
145
146 minstalldocs ChangeLog COPYING EXCEPTIONS-CLIENT README || die
147 minstalldocs support-files/my-*.cnf support-files/magic || die
148 minstalldocs support-files/ndb-config-2-node.ini || die
149
150 for i in scripts/mysql*
151 do
152 [[ ${i%.sh} == ${i} ]] && minstalldocs ${i}
153 done
154
155 # install a default my.cnf
156 minstalldir /etc/mysql || die
157 minstallfile support-files/my-medium.cnf /etc/mysql/my.cnf || die
158 }
159
160 preinstall()
161 {
162 add_conf_prot_mask /etc/mysql/my.cnf
163
164 # adding mysql user
165 ${MLIBDIR}/mgroupadd -o "-g 60" mysql
166 ${MLIBDIR}/museradd -o "-u 60 -g mysql -d /dev/null -s /bin/false" mysql
167 }