# Contributor: Carlo Landmeter # Maintainer: Natanael Copa pkgname=mysql pkgver=5.5.34 pkgrel=0 pkgdesc="A fast SQL database server" url="http://www.mysql.com/" pkgusers="mysql" pkggroups="mysql" arch="all" license='GPL' depends="mysql-common" depends_dev="openssl-dev zlib-dev" makedepends="libtool readline-dev openssl-dev ncurses-dev zlib-dev cmake bison perl libaio-dev" source="ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.5/mysql-$pkgver.tar.gz mysql-prefer-dynamic-library.patch $pkgname.initd " subpackages="$pkgname-doc $pkgname-dev $pkgname-libs $pkgname-test:mytest $pkgname-common $pkgname-client $pkgname-bench" _builddir="$srcdir/$pkgname-$pkgver" prepare() { cd "$_builddir" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done } build() { cd "$_builddir" cmake . -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DENABLED_LOCAL_INFILE=ON \ -DINSTALL_DOCDIR=share/doc/mysql \ -DINSTALL_DOCREADMEDIR=share/doc/mysql \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LAYOUT=RPM \ -DINSTALL_LIBDIR=lib \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLDATADIR="/var/lib/mysql" \ -DINSTALL_MYSQLSHAREDIR=share/mysql \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ -DINSTALL_PLUGINDIR=lib/mysql/plugin \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SHAREDIR=share/mysql \ -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/mysql \ -DMYSQL_DATADIR="/var/lib/mysql" \ -DMYSQL_UNIX_ADDR="/var/run/mysqld/mysqld.sock" \ -DSYSCONFDIR=/etc/mysql \ -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \ -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITHOUT_EMBEDDED_SERVER=ON \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_EXTRA_CHARSETS=complex \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_READLINE=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ || return 1 make || return 1 } # -DWITH_LIBWRAP=ON \ package() { cd "$_builddir" make DESTDIR="$pkgdir/" install || return 1 install -Dm 755 "$startdir"/$pkgname.initd \ "$pkgdir"/etc/init.d/$pkgname || return 1 # use small example config as default, which has tcp disabled install -D "$pkgdir"/usr/share/mysql/my-medium.cnf \ "$pkgdir"/etc/mysql/my.cnf || return 1 install -dDo mysql "$pkgdir"/var/log/mysql || return 1 install -dDo mysql "$pkgdir"/var/run/mysqld || return 1 # libmysqlclient_r is no more. Upstream tries to replace it with # symlinks but that really doesn't work (wrong soname in particular). # We'll keep just the devel libmysqlclient_r.so link, so that # rebuilding without any source change is enough to get rid of # dependency on libmysqlclient_r. rm -f "$pkgdir"/usr/lib/libmysqlclient_r.so* ln -s libmysqlclient.so "$pkgdir"/usr/lib/libmysqlclient_r.so # mysql-test includes one executable that doesn't belong under # /usr/share, so move it and provide a symlink mv "$pkgdir"/usr/share/mysql-test/lib/My/SafeProcess/my_safe_process \ "$pkgdir"/usr/bin ln -s ../../../../../bin/my_safe_process \ "$pkgdir"/usr/share/mysql-test/lib/My/SafeProcess/my_safe_process } dev(){ default_dev replaces="libmysqlclient" } libs() { pkgdesc="MySQL client library" # some files moved replaces="mysql libmysqlclient" depends="mysql-common" mkdir -p "$subpkgdir"/usr/lib \ "$subpkgdir"/usr/share/mysql \ || return 1 mv "$pkgdir"/usr/lib/libmysqlclient.so* \ "$subpkgdir"/usr/lib/ || return 1 } common() { pkgdesc="MySQL common files for both server and client" replaces="mysql" depends= mkdir -p "$subpkgdir"/usr/share/mysql \ mv "$pkgdir"/etc "$subpkgdir"/ || return 1 mv "$pkgdir"/usr/share/mysql/english \ "$pkgdir"/usr/share/mysql/czech \ "$pkgdir"/usr/share/mysql/danish \ "$pkgdir"/usr/share/mysql/dutch \ "$pkgdir"/usr/share/mysql/estonian \ "$pkgdir"/usr/share/mysql/french \ "$pkgdir"/usr/share/mysql/german \ "$pkgdir"/usr/share/mysql/greek \ "$pkgdir"/usr/share/mysql/hungarian \ "$pkgdir"/usr/share/mysql/italian \ "$pkgdir"/usr/share/mysql/japanese \ "$pkgdir"/usr/share/mysql/korean \ "$pkgdir"/usr/share/mysql/norwegian \ "$pkgdir"/usr/share/mysql/norwegian-ny \ "$pkgdir"/usr/share/mysql/polish \ "$pkgdir"/usr/share/mysql/portuguese \ "$pkgdir"/usr/share/mysql/romanian \ "$pkgdir"/usr/share/mysql/russian \ "$pkgdir"/usr/share/mysql/serbian \ "$pkgdir"/usr/share/mysql/slovak \ "$pkgdir"/usr/share/mysql/spanish \ "$pkgdir"/usr/share/mysql/swedish \ "$pkgdir"/usr/share/mysql/ukrainian \ "$pkgdir"/usr/share/mysql/charsets \ "$subpkgdir"/usr/share/mysql/ \ || return 1 } mytest() { pkgdesc="The test suite distributed with MySQL" mkdir -p "$subpkgdir"/usr/bin || return 1 mv "$pkgdir"/usr/share/mysql-test \ "$subpkgdir"/usr/share/ \ || return 1 mv "$pkgdir"/usr/bin/mysql_client_test \ "$pkgdir"/usr/bin/my_safe_process \ "$subpkgdir"/usr/bin/ \ || return 1 } client() { pkgdesc="client for the MySQL database" depends="mysql-common" install="" local bins="myisam_ftdump mysql mysqlaccess mysqladmin mysqlbug mysqlcheck mysqldump mysqldumpslow mysql_find_rows mysql_fix_extensions mysqlimport mysqlshow mysql_waitpid" mkdir -p "$subpkgdir"/usr/bin/ || return 1 for i in $bins; do mv "$pkgdir"/usr/bin/${i} "$subpkgdir"/usr/bin/ || return 1 done } bench() { pkgdesc="MySQL benchmark scripts and data" replaces="mysql" mkdir -p "$subpkgdir"/usr/share/ mv "$pkgdir"/usr/share/sql-bench "$subpkgdir"/usr/share/ } md5sums="930970a42d51e48599deb7fe01778a4a mysql-5.5.34.tar.gz b2b038b1905fa5b80f6723d0ee2f811f mysql-prefer-dynamic-library.patch 799b154c4ab8a1971d2753ab584a466a mysql.initd" sha256sums="b0602b492d519602b7fa8e4cc87df998d9794fbc955819beec586a268fe06485 mysql-5.5.34.tar.gz 83d685f6c03d0a1c4811b82ff973e617c3758a72e5d1659b409194221d0cc1c7 mysql-prefer-dynamic-library.patch 6876f86d25bc8a276fd43c13e237feac4c2cef9f9cadb6edce1cee3d7b4b4b29 mysql.initd" sha512sums="dc2ea7e8a7fa0f2124f53d1c23d39a183b1b641069356baff6900fa7a03770c44bb924effd957f33f511fc28c4aa3913b8abc550d8104d54604bf1841b426144 mysql-5.5.34.tar.gz 2b6dfe1262a68f08f6d9aa53d204b7fb7bb88af2c5d1e8f84bd83529ea0fb2521c2f10fdfb730ecc29c6d0acfca762badbd89a3679a05315572e679e4f3c12b0 mysql-prefer-dynamic-library.patch 6d5b144c17211b0ea0fa62e24543464bf65ba7abe6bf2284bbf81c8eda1430d304a40058f7ad8a4cb4070481ec5095348b0f3bf67ee719bc8ab20cff23cfd3a7 mysql.initd"