Date: Tuesday, April 29, 2014 @ 10:34:46 Author: mtorromeo Revision: 110403
upgpkg: percona-server 5.6.16_64.2-2 Implemented split pkgbuild for percona-server-clients and libperconaserverclient (fixes FS#40041) Modified: percona-server/trunk/PKGBUILD ----------+ PKGBUILD | 115 ++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 77 insertions(+), 38 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-04-28 22:20:00 UTC (rev 110402) +++ PKGBUILD 2014-04-29 08:34:46 UTC (rev 110403) @@ -1,24 +1,17 @@ # $Id$ # Maintainer: Massimiliano Torromeo <[email protected]> -pkgname=percona-server +pkgbase=percona-server +pkgname=('libperconaserverclient' 'percona-server-clients' 'percona-server') pkgver=5.6.16_64.2 -pkgrel=1 -pkgdesc="A backwards-compatible drop-in replacement for MySQL that provides improved performance, diagnostics and instrumentation" +_pkgver=${pkgver/_/-} +_myver=${pkgver/_rel*} +pkgrel=2 arch=('i686' 'x86_64') - -depends=('mariadb-clients' 'libaio' 'systemd-tools') -conflicts=('mysql') -provides=("mysql=${pkgver/_rel*}" "mariadb=${pkgver/_rel*}") -optdepends=('perl-dbi' 'perl-dbd-mysql') -makedepends=('cmake' 'openssl' 'zlib') - +makedepends=('cmake' 'openssl' 'zlib' 'libaio' 'systemd-tools') license=('GPL') url="http://www.percona.com/software/percona-server/" -options=('emptydirs') -backup=('etc/mysql/my.cnf') -install=percona.install -source=("http://www.percona.com/downloads/Percona-Server-${pkgver%.*_*}/Percona-Server-${pkgver/_/-}/source/tarball/percona-server-${pkgver/_/-}.tar.gz" +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' @@ -26,20 +19,19 @@ 'mysql56-bison3.patch') prepare() { - cd "$srcdir/percona-server-${pkgver/_/-}" - patch -p0 -i "$srcdir/mysql56-bufsize.patch" - patch -p1 -i "$srcdir/mysql56-bison3.patch" + cd $pkgbase-$_pkgver + patch -p0 -i ../mysql56-bufsize.patch + patch -p1 -i ../mysql56-bison3.patch rm -v sql/sql_yacc.{cc,h} } build() { - cd "${srcdir}" rm -rf build mkdir build cd build - cmake "${srcdir}/percona-server-${pkgver/_/-}" \ + cmake ../$pkgbase-$_pkgver \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DSYSCONFDIR=/etc/mysql \ @@ -58,12 +50,11 @@ -DINSTALL_MYSQLSHAREDIR=share/mysql \ -DINSTALL_DOCDIR=share/mysql/docs \ -DINSTALL_SHAREDIR=share/mysql \ - -DWITH_READLINE=ON \ -DWITH_ZLIB=system \ -DWITH_SSL=system \ -DWITH_LIBWRAP=OFF \ - -DWITH_LIBEDIT=OFF \ -DWITH_UNIT_TESTS=OFF \ + -DWITH_PAM=ON \ -DWITH_EXTRA_CHARSETS=complex \ -DWITH_EMBEDDED_SERVER=ON \ -DWITH_INNODB_MEMCACHED=ON \ @@ -81,28 +72,76 @@ make } -package() { - cd "${srcdir}"/build - make DESTDIR=${pkgdir} install +package_libperconaserverclient() { + pkgdesc='Percona Server client libraries' + depends=('openssl') + conflicts=('libmysqlclient') + provides=("libmysqlclient=$_myver" "libmariadbclient=$_myver") + options=('staticlibs') - install -Dm644 "${pkgdir}"/usr/share/mysql/my-default.cnf "${pkgdir}"/etc/mysql/my.cnf - install -Dm755 "${srcdir}"/mysqld-post.sh "${pkgdir}"/usr/bin/mysqld-post - install -Dm644 "${srcdir}"/mysqld-tmpfile.conf "${pkgdir}"/usr/lib/tmpfiles.d/mysqld.conf - install -Dm644 "${srcdir}"/mysqld.service "${pkgdir}"/usr/lib/systemd/system/mysqld.service + cd build + for dir in include libmysql libmysqld libservices; do + make -C $dir DESTDIR="$pkgdir" install + done - # provided by libmysqlclient - rm ${pkgdir}/usr/bin/mysql_config - rm ${pkgdir}/usr/lib/lib{mysql,perconaserver}* - rm -r ${pkgdir}/usr/include/ - rm ${pkgdir}/usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1 + install -Dm755 scripts/mysql_config "$pkgdir"/usr/bin/mysql_config + install -d "$pkgdir"/usr/share/man/man1 + for man in mysql_config mysql_client_test_embedded mysqltest_embedded; do + install -m644 "$srcdir"/$pkgbase-$_pkgver/man/$man.1 "$pkgdir"/usr/share/man/man1/$man.1 + done +} - # provided by mysql-clients - rm ${pkgdir}/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap} - rm ${pkgdir}/usr/share/man/man1/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1 +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 ${pkgdir}/usr/{data,mysql-test,sql-bench} - rm "${pkgdir}"/usr/share/man/man1/mysql-test-run.pl.1 + rm -r usr/{data,mysql-test,sql-bench} + rm usr/share/man/man1/mysql-test-run.pl.1 } sha256sums=('841eb00ac9178c56f37ef621742ffe4ca43867637236f061321bafc7e64d8e8d'
