Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3147 - (show annotations) (download)
Fri Sep 9 11:37:53 2011 UTC (12 years, 8 months ago) by niro
File size: 3759 byte(s)
-re-diffed default config patch
1 # $Id$
2
3 PNAME="mysql"
4 PVER="5.5.15"
5 PBUILD="r1"
6
7 PCATEGORIE="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_ONLY_KEEP="etc/mysql
18 usr/bin/mysql
19 usr/$(mlibdir)/*.so.*
20 usr/$(mlibdir)/*.so
21 usr/$(mlibdir)/mysql/*.so.*
22 usr/$(mlibdir)/mysql/*.so"
23 sminclude mtools alx-split
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://mysql5/${SRCFILE}
29 mirror://mysql5/mysql5-${PVER}-cnf-defaults.patch
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 cd ${SRCDIR}
41
42 # adjust default settings for magellan
43 mpatch mysql5-${PVER}-cnf-defaults.patch || die
44 }
45
46 src_compile()
47 {
48 cd ${SRCDIR}
49
50 # fixes some issues
51 export CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-strict-aliasing"
52 export CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti -fno-implicit-templates"
53
54 # fix PIC issues
55 export CFLAGS="${CFLAGS} -fPIC"
56 export CXXFLAGS="${CXXFLAGS} -fPIC"
57
58 # --with-readline uses included readline, detection is broken
59 mconfigure \
60 --libexecdir=/usr/sbin \
61 --sysconfdir=/etc/mysql \
62 --localstatedir=/var/lib/mysql \
63 --without-raid \
64 --with-low-memory \
65 --enable-assembler \
66 --with-charset=latin1 \
67 --with-collation=latin1_swedish_ci \
68 --enable-local-infile \
69 --with-mysqld-user=mysql \
70 --with-extra-charsets=none \
71 --enable-thread-safe-client \
72 --with-client-ldflags=-lstdc++ \
73 --with-comment="Magellan_MySQL_${PVER}-${PBUILD}" \
74 --with-unix-socket-path=/var/run/mysqld/mysqld.sock \
75 --enable-shared \
76 --disable-static \
77 --without-libwrap \
78 --without-ssl \
79 --without-debug \
80 --without-server \
81 --without-embedded-server \
82 --without-extra-tools \
83 --without-innodb \
84 --without-bench \
85 --without-berkeley-db \
86 --without-row-based-relication \
87 --with-readline \
88 || die
89
90 mmake || die
91 }
92
93 alx_generic_src_install()
94 {
95 cd ${SRCDIR}
96 mmake DESTDIR=${BINDIR} install || die
97
98 # symlink client libs to libdir
99 pushd ${BINDIR}/usr/$(mlibdir) || die
100 for i in mysql/libmysqlclient{,_r}.so*
101 do
102 mlink ${i} /usr/$(mlibdir) || die
103 done
104 popd
105
106 # remove all unneeded stuff
107 local i
108 # dirs
109 for i in sql-bench mysql-test
110 do
111 if [[ -d ${BINDIR}/usr/${i} ]]
112 then
113 rm -r ${BINDIR}/usr/${i} || die
114 fi
115 done
116
117 # files
118 for i in share/mysql/mysql-log-rotate \
119 share/mysql/mysql.server* \
120 share/mysql/binary-configure* \
121 share/mysql/my-*.cnf \
122 share/mysql/mi_test_all* \
123 bin/comp_err
124 do
125 if [[ -f ${BINDIR}/usr/${i} ]]
126 then
127 rm ${BINDIR}/usr/${i} || die
128 fi
129 done
130
131 # needed directories
132 mkeepdir /var/lib/mysql || die
133 mchown mysql:mysql /var/lib/mysql || die
134 mchmod 0750 /var/lib/mysql || die
135
136 mkeepdir /var/run/mysqld || die
137 mchown mysql:mysql /var/run/mysqld || die
138
139 mkeepdir /var/log/mysql || die
140 mchown mysql:mysql /var/log/mysql || die
141
142 # some common symlinks
143 for i in mysqlanalyze mysqlrepair mysqloptimize
144 do
145 mlink mysqlcheck /usr/bin/${i} || die
146 done
147
148 minstalldocs ChangeLog COPYING EXCEPTIONS-CLIENT README || die
149 minstalldocs support-files/my-*.cnf support-files/magic || die
150 minstalldocs support-files/ndb-config-2-node.ini || die
151
152 for i in scripts/mysql*
153 do
154 [[ ${i%.sh} == ${i} ]] && minstalldocs ${i}
155 done
156
157 # install a default my.cnf
158 minstalldir /etc/mysql || die
159 minstallfile support-files/my-medium.cnf /etc/mysql/my.cnf || die
160 }
161
162 preinstall()
163 {
164 add_conf_prot_mask /etc/mysql/my.cnf
165 }