Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4574 - (show annotations) (download)
Mon Mar 18 08:04:16 2013 UTC (11 years, 2 months ago) by niro
File size: 4889 byte(s)
auto added: ver bump to 5.5.30-r1
1 # $Id$
2
3 PNAME="mysql"
4 PVER="5.5.30"
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 >= sys-libs/libstdc++-4.7"
14
15 SRCFILE="${PNAME}-${PVER}.tar.gz"
16 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
17
18 ALX_PKG_KEEP="etc/mysql
19 usr/bin/mysql
20 usr/$(mlibdir)/*.so.*
21 usr/$(mlibdir)/mysql/*.so.*"
22 sminclude mtools cmake alx-split
23
24 SRC_URI=(
25 ftp://ftp.mysql.com/pub/${PNAME}/src/${SRCFILE}
26 http://ftp.gwdg.de/pub/misc/${PNAME}/Downloads/MySQL-${PVER%.*}/${SRCFILE}
27 mirror://${PNAME}/${SRCFILE}
28 mirror://${PNAME}/mysql.tmpfile
29 mirror://${PNAME}/mysqld.service
30 mirror://${PNAME}/mysqld.socket
31 mirror://${PNAME}/${PNAME}-5.5.19-cnf-defaults.patch
32 )
33
34 UP2DATE="updatecmd http://dev.mysql.com/ | grep GA | sed 's:.*\]\([0-9].*\)\ GA.*:\1:;q'"
35
36 src_prepare()
37 {
38 # warn about /proc in chroot environments
39 [[ ! -d /proc/sys ]] && die "Please make sure /proc is mounted in chroot-environments."
40
41 munpack ${SRCFILE} || die
42 cd ${SRCDIR}
43
44 # apply our configuration
45 mpatch ${PNAME}-5.5.19-cnf-defaults.patch || die
46
47 # fix broken install logic:
48 # always defaults to ./bin/my_print_default, using STANDARTLAYOUT
49 # see srcdir/cmake/install_layout.cmake and srcdir/scripts/CMakeLists.txt
50 sed -i 's:SET(prefix "."):SET(prefix "${CMAKE_INSTALL_PREFIX}"):' scripts/CMakeLists.txt || die
51 }
52
53 src_compile()
54 {
55 cd ${SRCDIR}
56
57 # fixes some issues
58 export CFLAGS="${CFLAGS} -fno-exceptions -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer"
59 export CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti -fno-implicit-templates -fno-strict-aliasing -DBIG_JOINS=1 "
60
61 # fix PIC issues
62 export CFLAGS="${CFLAGS} -fPIC"
63 export CXXFLAGS="${CXXFLAGS} -fPIC"
64
65 cmake_configure \
66 -DWITH_COMMENT="Magellan MySQL ${PVER}-${PBUILD}" \
67 $(cmake_install BINDIR bin) \
68 $(cmake_install SBINDIR sbin) \
69 $(cmake_install DOCDIR share/doc/${PNAME}) \
70 $(cmake_install DOCREADMEDIR share/doc/${PNAME}) \
71 $(cmake_install INCLUDEDIR include/${PNAME}) \
72 $(cmake_install INFODIR share/info) \
73 $(cmake_install LIBDIR $(mlibdir)/${PNAME}) \
74 $(cmake_install MANDIR share/man) \
75 $(cmake_install MYSQLDATADIR /var/lib/${PNAME}) \
76 $(cmake_install MYSQLSHAREDIR share/${PNAME}) \
77 $(cmake_install MYSQLTESTDIR share/${PNAME}/mysql-test) \
78 $(cmake_install PLUGINDIR $(mlibdir)/${PNAME}/plugin) \
79 $(cmake_install SCRIPTDIR bin) \
80 $(cmake_install SQLBENCHDIR share/${PNAME}) \
81 $(cmake_install SUPPORTFILESDIR /usr/share/${PNAME}) \
82 $(cmake_opt SYSCONFDIR /etc/${PNAME}) \
83 $(cmake_opt MYSQL_USER mysql) \
84 $(cmake_opt MYSQL_UNIX_ADDR /run/${PNAME}/mysqld.sock) \
85 $(cmake_opt ENABLED_LOCAL_INFILE ON) \
86 $(cmake_opt EXTRA_CHARSETS all) \
87 $(cmake_opt DEFAULT_CHARSET utf8) \
88 $(cmake_opt DEFAULT_COLLATION utf8_general_ci) \
89 $(cmake_without READLINE) \
90 $(cmake_with ZLIB system) \
91 $(cmake_without SSL) \
92 $(cmake_without LIBWRAP) \
93 $(cmake_without EMBEDDED_SERVER) \
94 $(cmake_without INNOBASE_STORAGE_ENGINE) \
95 $(cmake_without PARTITION_STORAGE_ENGINE) \
96 $(cmake_without EXAMPLE_STORAGE_ENGINE) \
97 $(cmake_without ARCHIVE_STORAGE_ENGINE) \
98 $(cmake_without BLACKHOLE_STORAGE_ENGINE) \
99 $(cmake_without FEDERATED_STORAGE_ENGINE) \
100 $(cmake_without UNIT_TESTS) \
101 || die
102
103 mmake || die
104 }
105
106 src_install()
107 {
108 cd ${SRCDIR}
109 mmake DESTDIR=${BINDIR} install || die
110
111 # remove all unneeded stuff
112 local i
113 # dirs
114 for i in sql-bench mysql-test
115 do
116 if [[ -d ${BINDIR}/usr/share/${PNAME}/${i} ]]
117 then
118 rm -r ${BINDIR}/usr/share/${PNAME}/${i} || die
119 fi
120 done
121 if [[ -d ${BINDIR}/usr/data ]]
122 then
123 rm -r ${BINDIR}/usr/data || die
124 fi
125 # files
126 for i in share/${PNAME}/mysql-log-rotate \
127 share/${PNAME}/mysql.server* \
128 share/${PNAME}/binary-configure* \
129 share/${PNAME}/my-*.cnf \
130 share/${PNAME}/mi_test_all* \
131 bin/comp_err \
132 share/man/man1/mysql-test-run.pl.1
133 do
134 if [[ -f ${BINDIR}/usr/${i} ]]
135 then
136 rm ${BINDIR}/usr/${i} || die
137 fi
138 done
139
140 # needed directories
141 mkeepdir /var/lib/${PNAME} || die
142 mchown mysql:mysql /var/lib/${PNAME} || die
143 mchmod 0750 /var/lib/${PNAME} || die
144
145 mkeepdir /run/${PNAME} || die
146 mchown mysql:mysql /run/${PNAME} || die
147
148 mkeepdir /var/log/${PNAME} || die
149 mchown mysql:mysql /var/log/${PNAME} || die
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 # install a default my.cnf
156 minstalldir /etc/${PNAME} || die
157 minstallfile support-files/my-medium.cnf /etc/${PNAME}/my.cnf || die
158
159 # systemd specific
160 minstalltmp mysql.tmpfile mysql.conf || die
161 minstallunit mysqld.service mysqld.service || die
162 minstallunit mysqld.socket || die
163 }
164
165 preinstall()
166 {
167 # adding mysql user
168 ${MLIBDIR}/mgroupadd -o "-g 60" mysql
169 ${MLIBDIR}/museradd -o "-u 60 -g mysql -d /dev/null -s /bin/false" mysql
170 }