# $Id: PKGBUILD 110430 2014-04-29 14:03:28Z mtorromeo $ # Maintainer: Massimiliano Torromeo pkgbase=percona-server pkgname=('libperconaserverclient' 'percona-server-clients' 'percona-server') pkgver=5.6.16_64.2 _pkgver=${pkgver/_/-} _myver=${pkgver/_rel*} pkgrel=3 arch=('i686' 'x86_64') makedepends=('cmake' 'openssl' 'zlib' 'libaio' 'systemd-tools') license=('GPL') url="http://www.percona.com/software/percona-server/" source=("http://www.percona.com/downloads/Percona-Server-${pkgver%.*_*}/Percona-Server-$_pkgver/source/tarball/percona-server-$_pkgver.tar.gz" 'mysqld-post.sh' 'mysqld.service' 'mysqld-tmpfile.conf' 'mysql56-bufsize.patch' 'mysql56-bison3.patch') prepare() { cd $pkgbase-$_pkgver patch -p0 -i ../mysql56-bufsize.patch patch -p1 -i ../mysql56-bison3.patch rm -v sql/sql_yacc.{cc,h} } build() { rm -rf build mkdir build cd build cmake ../$pkgbase-$_pkgver \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DSYSCONFDIR=/etc/mysql \ -DMYSQL_DATADIR=/var/lib/mysql \ -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DENABLED_LOCAL_INFILE=ON \ -DINSTALL_INFODIR=share/mysql/docs \ -DINSTALL_MANDIR=share/man \ -DINSTALL_PLUGINDIR=lib/mysql/plugin \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_DOCREADMEDIR=share/mysql \ -DINSTALL_SUPPORTFILESDIR=share/mysql \ -DINSTALL_MYSQLSHAREDIR=share/mysql \ -DINSTALL_DOCDIR=share/mysql/docs \ -DINSTALL_SHAREDIR=share/mysql \ -DWITH_ZLIB=system \ -DWITH_SSL=system \ -DWITH_LIBWRAP=OFF \ -DWITH_UNIT_TESTS=OFF \ -DWITH_PAM=ON \ -DWITH_EXTRA_CHARSETS=complex \ -DWITH_EMBEDDED_SERVER=ON \ -DWITH_INNODB_MEMCACHED=ON \ -DWITH_INNOBASE_STORAGE_ENGINE=ON \ -DWITH_PARTITION_STORAGE_ENGINE=ON \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=ON \ -DWITH_ARCHIVE_STORAGE_ENGINE=ON \ -DWITH_BLACKHOLE_STORAGE_ENGINE=ON \ -DWITH_FEDERATED_STORAGE_ENGINE=OFF \ -DWITH_EXAMPLE_STORAGE_ENGINE=OFF \ -DCMAKE_C_FLAGS="-fPIC $CFLAGS -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \ -DCMAKE_CXX_FLAGS="-fPIC $CXXFLAGS -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \ -DWITH_MYSQLD_LDFLAGS="$LDFLAGS" make } package_libperconaserverclient() { pkgdesc='Percona Server client libraries' depends=('openssl') cd build/libmysql make DESTDIR="$pkgdir" install } package_percona-server-clients() { pkgdesc='Percona Server client tools' depends=('libperconaserverclient' 'zlib') conflicts=('mysql-clients') provides=("mysql-clients=$_myver" "mariadb-clients=$_myver") cd build make -C client DESTDIR="$pkgdir" install # install man pages install -d "$pkgdir"/usr/share/man/man1 for man in mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap; do install -m644 "$srcdir"/$pkgbase-$_pkgver/man/$man.1 "$pkgdir"/usr/share/man/man1/$man.1 done # provided by percona-server rm "$pkgdir"/usr/bin/{mysql_{plugin,upgrade},mysqlbinlog,mysqltest,mysql_config_editor} } package_percona-server() { pkgdesc='A backwards-compatible drop-in replacement for MySQL that provides improved performance, diagnostics and instrumentation' backup=('etc/mysql/my.cnf') install=percona.install depends=('percona-server-clients' 'libaio' 'systemd-tools' 'pam') optdepends=('perl-dbd-mysql') conflicts=('mysql') provides=("mysql=$_myver" "mariadb=$_myver") options=('emptydirs') cd build make DESTDIR="$pkgdir" install install -Dm644 "$pkgdir"/usr/share/mysql/my-default.cnf "$pkgdir"/etc/mysql/my.cnf install -Dm755 ../mysqld-post.sh "$pkgdir"/usr/bin/mysqld-post install -Dm644 ../mysqld.service "$pkgdir"/usr/lib/systemd/system/mysqld.service install -Dm644 ../mysqld-tmpfile.conf "$pkgdir"/usr/lib/tmpfiles.d/mysqld.conf # provided by libperconaserverclient cd "$pkgdir" rm usr/bin/mysql_config rm usr/lib/lib{mysql,perconaserver}* rm -r usr/include/ rm usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1 # provided by percona-server-clients rm usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap} rm usr/share/man/man1/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1 # not needed rm -r usr/{data,mysql-test,sql-bench} rm usr/share/man/man1/mysql-test-run.pl.1 } sha256sums=('841eb00ac9178c56f37ef621742ffe4ca43867637236f061321bafc7e64d8e8d' '82a241d9fa4032187a26597d044e94ba810b209b53a7ce14bb6eb92555993a48' '9bc66470f3f80534c0bb62f9f8325ccf60b164f421f74ad74a963f065d7b1869' 'badf6a701d9dc6ea3b4ddca26cb0f42b6236432ccdbc14c64962147802594a60' '1039e232a7778544b00eb215c93bb06c588c95c2fd49cfb162dc50eb4dfbf729' 'd36c807f085b6051cc8fddb2abc5a1939be809650f1cfefc8a87731978958929')