[arch-commits] Commit in percona-server/trunk (PKGBUILD)

Massimiliano Torromeo mtorromeo at nymeria.archlinux.org
Tue Apr 29 08:34:46 UTC 2014


    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 <massimiliano.torromeo at gmail.com>
 
-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'




More information about the arch-commits mailing list