wok-next view mysql/receipt @ rev 19733

Some receipts v2: apr, apr-util, aspell, at-spi2-core, at-spi2-atk, atk, atkmm, cairomm, colord, glibmm, libsigc++, libxslt.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri May 26 16:40:11 2017 +0300 (2017-05-26)
parents ed8073aa8cf0
children 9278a60d6895
line source
1 # SliTaz package receipt.
3 PACKAGE="mysql"
4 VERSION="5.5.27"
5 CATEGORY="office"
6 SHORT_DESC="SQL database system."
7 MAINTAINER="pascal.bellard@slitaz.org"
8 LICENSE="GPL2"
9 WEB_SITE="https://www.mysql.com/"
10 CONFIG_FILES="/etc/mysql"
11 DATABASE_FILES="/var/lib/mysql"
12 TAZPANEL_DAEMON="man|edit::/etc/mysql/my.cnf|options|web::$WEB_SITE"
13 CROSS="bug: can not run test programm"
15 TARBALL="$PACKAGE-$VERSION.tar.gz"
16 WGET_URL="ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-${VERSION%.*}/$TARBALL"
18 DEPENDS="libmysqlclient mysql-client slitaz-base-files \
19 libcrypto libssl ncurses zlib"
20 BUILD_DEPENDS="cmake openssl-dev zlib-dev ncurses-dev readline-dev"
21 SPLIT="mysql-client mysql-test mysql-dev libmysqlclient"
23 # Rules to configure and make the package.
24 compile_rules()
25 {
26 mkdir -p $WOK/$PACKAGE/source/build
27 cd $WOK/$PACKAGE/source/build
28 # CFLAGS/CXXFLAGS as suggested upstream
29 CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
30 CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \
31 cmake ../$PACKAGE-$VERSION \
32 -DCMAKE_BUILD_TYPE=Release \
33 -DCMAKE_INSTALL_PREFIX=/usr \
34 -DSYSCONFDIR=/etc/mysql \
35 -DMYSQL_DATADIR=/var/lib/mysql \
36 -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
37 -DDEFAULT_CHARSET=utf8 \
38 -DDEFAULT_COLLATION=utf8_general_ci \
39 -DENABLED_LOCAL_INFILE=ON \
40 -DINSTALL_INFODIR=share/mysql/docs \
41 -DINSTALL_MANDIR=share/man \
42 -DINSTALL_PLUGINDIR=/usr/lib/mysql/plugin \
43 -DINSTALL_SCRIPTDIR=bin \
44 -DINSTALL_INCLUDEDIR=include/mysql \
45 -DINSTALL_DOCREADMEDIR=share/mysql \
46 -DINSTALL_SUPPORTFILESDIR=share/mysql \
47 -DINSTALL_MYSQLSHAREDIR=share/mysql \
48 -DINSTALL_DOCDIR=share/mysql/docs \
49 -DINSTALL_SHAREDIR=share/mysql \
50 -DWITH_READLINE=ON \
51 -DWITH_ZLIB=system \
52 -DWITH_SSL=system \
53 -DWITH_LIBWRAP=OFF \
54 -DWITH_MYSQLD_LDFLAGS="${LDFLAGS}" \
55 -DWITH_EXTRA_CHARSETS=complex \
56 -DWITH_EMBEDDED_SERVER=ON \
57 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
58 -DWITH_PARTITION_STORAGE_ENGINE=1 \
59 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
60 -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \
61 -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 \
62 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 &&
63 make && make DESTDIR=$DESTDIR install
64 }
66 # Rules to gen a SliTaz package suitable for Tazpkg.
67 genpkg_rules()
68 {
69 mkdir -p \
70 $fs/usr/share \
71 $fs/usr/lib/mysql/plugin \
72 $fs/etc/mysql \
73 $fs/etc/mysql.d \
74 $fs/var/lib/mysql
76 cp -a $install/usr/bin $fs/usr
77 cp -a $install/usr/lib/mysql/plugin/*.so* $fs/usr/lib/mysql/plugin
78 cp -a $install/usr/share/mysql $fs/usr/share
80 # Configuration file
81 cp -a $stuff/etc/init.d $fs/etc
82 cp -a $stuff/etc/mysql $fs/etc
83 grep -q "bind-address" $fs/etc/mysql/my.cnf || sed -i \
84 's/^\[mysqld\]/[mysqld]\nbind-address\t= 127.0.0.1/' \
85 $fs/etc/mysql/my.cnf
87 # Permissions
88 chmod 600 $fs/etc/mysql/my.cnf
90 cat $stuff/*.files-list | while read file; do
91 [ -f $fs$file ] && rm -f $fs$file
92 done
94 }
96 # Pre and post install commands for Tazpkg.
97 post_install()
98 {
99 local user
100 local group
102 user=mysql
103 group=mysql
105 if ! grep -q $user "$1/etc/passwd"; then
106 action "Adding user/group $user..."
107 chroot "$1/" addgroup -S $group
108 chroot "$1/" adduser -s /bin/false -S -D -H -G $group $user
109 status
110 fi
111 # adduser mysql if needed
112 if ! grep -q ${user} "$1/etc/passwd"; then
113 action "Adding user MySQL..."
114 chroot "$1/" /bin/adduser -s /bin/false -h /dev/null \
115 -g "MySQL Daemon user" -u 27 -H -D -S -G ${group} ${user}
116 status
117 fi
118 #chroot "$1/" /bin/chown ${user}.${group} $(cat "$1/$INSTALLED/$PACKAGE/files.list")
119 chroot "$1/" /bin/chown -R ${user}.${group} /var/lib/mysql
120 chroot "$1/" mysql_install_db --user=${user} --basedir=/usr
121 [ -n "$quiet" ] || cat <<EOF
122 ----
123 To start $PACKAGE server you can run :
125 /etc/init.d/$PACKAGE start
127 Or add $PACKAGE to RUN_DAEMONS in /etc/rcS.conf
128 ----
129 EOF
130 }
132 pre_install()
133 {
134 # Cleanup old files
135 rm -f "$1/usr/libexec/mysql"*
136 # Mv config
137 [ -f "$1/etc/my.cnf" ] && mv -f "$1/etc/my.cnf" "$1/etc/mysql/my.cnf"
138 }
140 post_remove()
141 {
142 echo "Removing user/group mysql"
143 chroot "$1/" deluser mysql
144 }