Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3142 - (hide annotations) (download)
Fri Sep 9 10:26:32 2011 UTC (12 years, 8 months ago) by niro
File size: 3761 byte(s)
auto added: ver bump to 5.5.15-r1
1 niro 3142 # $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-5.0.41-cnf-defaults-2.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-5.0.41-cnf-defaults-2.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     }