wok-next diff mysql/receipt @ rev 19741

Many random packages update/upgrade.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Mon Jun 05 16:48:55 2017 +0300 (2017-06-05)
parents 4048d48a47c1
children 0e7893ac206d
line diff
     1.1 --- a/mysql/receipt	Fri Apr 21 14:48:05 2017 +0300
     1.2 +++ b/mysql/receipt	Mon Jun 05 16:48:55 2017 +0300
     1.3 @@ -1,34 +1,29 @@
     1.4 -# SliTaz package receipt.
     1.5 +# SliTaz package receipt v2.
     1.6  
     1.7  PACKAGE="mysql"
     1.8 -VERSION="5.5.27"
     1.9 -CATEGORY="office"
    1.10 -SHORT_DESC="SQL database system."
    1.11 +VERSION="5.5.56"
    1.12 +CATEGORY="database"
    1.13 +SHORT_DESC="SQL database system"
    1.14  MAINTAINER="pascal.bellard@slitaz.org"
    1.15  LICENSE="GPL2"
    1.16  WEB_SITE="https://www.mysql.com/"
    1.17 -CONFIG_FILES="/etc/mysql"
    1.18 -DATABASE_FILES="/var/lib/mysql"
    1.19 -TAZPANEL_DAEMON="man|edit::/etc/mysql/my.cnf|options|web::$WEB_SITE"
    1.20 -CROSS="bug: can not run test programm"
    1.21 +#CROSS="bug: can not run test programm"
    1.22  
    1.23  TARBALL="$PACKAGE-$VERSION.tar.gz"
    1.24  WGET_URL="ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-${VERSION%.*}/$TARBALL"
    1.25  
    1.26 -DEPENDS="libmysqlclient mysql-client slitaz-base-files \
    1.27 -libcrypto libssl ncurses zlib"
    1.28  BUILD_DEPENDS="cmake openssl-dev zlib-dev ncurses-dev readline-dev"
    1.29 -SPLIT="mysql-client mysql-test mysql-dev libmysqlclient"
    1.30 +SPLIT="libmysqlclient mysql-client mysql-test mysql-dev"
    1.31  
    1.32  # Rules to configure and make the package.
    1.33  compile_rules()
    1.34  {
    1.35 -	mkdir -p $WOK/$PACKAGE/source/build
    1.36 -	cd $WOK/$PACKAGE/source/build
    1.37 +	mkdir build; cd build
    1.38 +
    1.39  	# CFLAGS/CXXFLAGS as suggested upstream
    1.40  	CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
    1.41  	CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \
    1.42 -	cmake ../$PACKAGE-$VERSION \
    1.43 +	cmake .. \
    1.44  		-DCMAKE_BUILD_TYPE=Release \
    1.45  		-DCMAKE_INSTALL_PREFIX=/usr \
    1.46  		-DSYSCONFDIR=/etc/mysql \
    1.47 @@ -61,46 +56,75 @@
    1.48  		-DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 \
    1.49  		-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 &&
    1.50  	make && make DESTDIR=$DESTDIR install
    1.51 +
    1.52 +	# fix paths
    1.53 +	mv $install/usr/mysql-test $install/usr/share/mysql-test
    1.54 +	mv $install/usr/sql-bench  $install/usr/share/sql-bench
    1.55 +
    1.56 +	# Configuration file
    1.57 +	mkdir -p $install/etc
    1.58 +	cp -a $stuff/etc/init.d $install/etc
    1.59 +	cp -a $stuff/etc/mysql  $install/etc
    1.60 +	chown -R root:root $install/etc
    1.61  }
    1.62  
    1.63  # Rules to gen a SliTaz package suitable for Tazpkg.
    1.64  genpkg_rules()
    1.65  {
    1.66 -	mkdir -p \
    1.67 -		$fs/usr/share \
    1.68 -		$fs/usr/lib/mysql/plugin \
    1.69 -		$fs/etc/mysql \
    1.70 -		$fs/etc/mysql.d \
    1.71 -		$fs/var/lib/mysql
    1.72 +	# client binaries (plus /usr/bin/mysql), see $src/build/client
    1.73 +	client="mysql_plugin mysql_upgrade mysqladmin mysqlbinlog mysqlcheck \
    1.74 +	mysqldump mysqlimport mysqlshow mysqlslap mysqltest"
    1.75  
    1.76 -	cp -a $install/usr/bin $fs/usr
    1.77 -	cp -a $install/usr/lib/mysql/plugin/*.so* $fs/usr/lib/mysql/plugin
    1.78 -	cp -a $install/usr/share/mysql $fs/usr/share
    1.79 -
    1.80 -	# Configuration file
    1.81 -	cp -a $stuff/etc/init.d $fs/etc
    1.82 -	cp -a $stuff/etc/mysql $fs/etc
    1.83 -	grep -q "bind-address" $fs/etc/mysql/my.cnf || sed -i \
    1.84 -		's/^\[mysqld\]/[mysqld]\nbind-address\t= 127.0.0.1/' \
    1.85 -		$fs/etc/mysql/my.cnf
    1.86 -
    1.87 -	# Permissions
    1.88 -	chmod 600 $fs/etc/mysql/my.cnf
    1.89 -
    1.90 -	cat $stuff/*.files-list | while read file; do
    1.91 -		[ -f $fs$file ] && rm -f $fs$file
    1.92 -	done
    1.93 -
    1.94 +	case $PACKAGE in
    1.95 +		mysql)
    1.96 +			copy etc/ bin/ plugin/ /usr/share/mysql/
    1.97 +			for i in $client mysql mysql_config; do
    1.98 +				rm $fs/usr/bin/$i
    1.99 +			done
   1.100 +			find $fs -name '*.m4' -delete
   1.101 +			DEPENDS="libmysqlclient mysql-client slitaz-base-files \
   1.102 +			libcrypto libssl ncurses zlib"
   1.103 +			CONFIG_FILES="/etc/mysql"
   1.104 +			DATABASE_FILES="/var/lib/mysql"
   1.105 +			TAZPANEL_DAEMON="man|edit::/etc/mysql/my.cnf|options|web::$WEB_SITE"
   1.106 +			;;
   1.107 +		libmysqlclient)
   1.108 +			copy libmysqlclient*so*
   1.109 +			CAT="database|client libraries"
   1.110 +			DEPENDS="libcrypto libssl zlib"
   1.111 +			;;
   1.112 +		mysql-client)
   1.113 +			copy /bin/mysql $client
   1.114 +			CAT="database|client files"
   1.115 +			PROVIDE="mysql_or_postgresql"
   1.116 +			DEPENDS="libmysqlclient   libcrypto libssl ncurses zlib"
   1.117 +			;;
   1.118 +		mysql-test)
   1.119 +			copy mysql-test/ sql-bench/ db.opt
   1.120 +			CAT="development|tests and benchmarks"
   1.121 +			DEPENDS="mysql perl"
   1.122 +			;;
   1.123 +		*-dev)
   1.124 +			copy @dev mysql_config
   1.125 +			rm -r $fs/usr/share/mysql-test
   1.126 +			;;
   1.127 +	esac
   1.128  }
   1.129  
   1.130  # Pre and post install commands for Tazpkg.
   1.131 -post_install()
   1.132 +pre_install_mysql()
   1.133  {
   1.134 -	local user
   1.135 -	local group
   1.136 +	# Cleanup old files
   1.137 +	rm -f "$1/usr/libexec/mysql"*
   1.138 +	# Move old config
   1.139 +	[ -f "$1/etc/my.cnf" ] && mv -f "$1/etc/my.cnf" "$1/etc/mysql/my.cnf"
   1.140 +}
   1.141  
   1.142 -	user=mysql
   1.143 -	group=mysql
   1.144 +post_install_mysql()
   1.145 +{
   1.146 +	chmod 600 "$1/etc/mysql/my.cnf"
   1.147 +
   1.148 +	local user=mysql group=mysql
   1.149  
   1.150  	if ! grep -q $user "$1/etc/passwd"; then
   1.151  		action "Adding user/group $user..."
   1.152 @@ -109,36 +133,36 @@
   1.153  		status
   1.154  	fi
   1.155  	# adduser mysql if needed
   1.156 -	if ! grep -q ${user} "$1/etc/passwd"; then
   1.157 -		action "Adding user MySQL..."
   1.158 +	if ! grep -q $user "$1/etc/passwd"; then
   1.159 +		action "Adding MySQL Daemon user..."
   1.160  		chroot "$1/" /bin/adduser -s /bin/false -h /dev/null \
   1.161 -			-g "MySQL Daemon user" -u 27 -H -D -S -G ${group} ${user}
   1.162 +			-g "MySQL Daemon user" -u 27 -H -D -S -G $group $user
   1.163  		status
   1.164  	fi
   1.165 -	#chroot "$1/" /bin/chown ${user}.${group} $(cat "$1/$INSTALLED/$PACKAGE/files.list")
   1.166 -	chroot "$1/" /bin/chown -R ${user}.${group} /var/lib/mysql
   1.167 -	chroot "$1/" mysql_install_db --user=${user} --basedir=/usr
   1.168 +	#chroot "$1/" /bin/chown $user.$group $(cat "$1/$INSTALLED/$PACKAGE/files.list")
   1.169 +	mkdir -p "$1/var/lib/mysql"
   1.170 +	chroot "$1/" /bin/chown -R $user.$group /var/lib/mysql
   1.171 +	chroot "$1/" mysql_install_db --user=$user --basedir=/usr
   1.172 +
   1.173  	[ -n "$quiet" ] || cat <<EOF
   1.174  ----
   1.175 -To start $PACKAGE server you can run :
   1.176 +To start mysql server you can run:
   1.177  
   1.178 -    /etc/init.d/$PACKAGE start
   1.179 +    /etc/init.d/mysql start
   1.180  
   1.181 -Or add $PACKAGE to RUN_DAEMONS in /etc/rcS.conf
   1.182 +Or add mysql to RUN_DAEMONS in /etc/rcS.conf
   1.183  ----
   1.184  EOF
   1.185  }
   1.186  
   1.187 -pre_install()
   1.188 -{
   1.189 -	# Cleanup old files
   1.190 -	rm -f "$1/usr/libexec/mysql"*
   1.191 -	# Mv config
   1.192 -	[ -f "$1/etc/my.cnf" ] && mv -f "$1/etc/my.cnf" "$1/etc/mysql/my.cnf"
   1.193 -}
   1.194 -
   1.195 -post_remove()
   1.196 +post_remove_mysql()
   1.197  {
   1.198  	echo "Removing user/group mysql"
   1.199  	chroot "$1/" deluser mysql
   1.200  }
   1.201 +
   1.202 +post_install_mysql_test()
   1.203 +{
   1.204 +	chmod 2777 "$1/usr/share/mysql-test"
   1.205 +	chmod 2777 "$1/usr/share/sql-bench"
   1.206 +}