[arch-commits] Commit in mariadb/repos (12 files)

Christian Hesse eworm at archlinux.org
Tue Aug 23 08:22:35 UTC 2016


    Date: Tuesday, August 23, 2016 @ 08:22:35
  Author: eworm
Revision: 274605

archrelease: copy trunk to testing-i686, testing-x86_64

Added:
  mariadb/repos/testing-i686/
  mariadb/repos/testing-i686/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch
    (from rev 274604, mariadb/trunk/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch)
  mariadb/repos/testing-i686/PKGBUILD
    (from rev 274604, mariadb/trunk/PKGBUILD)
  mariadb/repos/testing-i686/mariadb-sysusers.conf
    (from rev 274604, mariadb/trunk/mariadb-sysusers.conf)
  mariadb/repos/testing-i686/mariadb-tmpfile.conf
    (from rev 274604, mariadb/trunk/mariadb-tmpfile.conf)
  mariadb/repos/testing-i686/mariadb.install
    (from rev 274604, mariadb/trunk/mariadb.install)
  mariadb/repos/testing-x86_64/
  mariadb/repos/testing-x86_64/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch
    (from rev 274604, mariadb/trunk/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch)
  mariadb/repos/testing-x86_64/PKGBUILD
    (from rev 274604, mariadb/trunk/PKGBUILD)
  mariadb/repos/testing-x86_64/mariadb-sysusers.conf
    (from rev 274604, mariadb/trunk/mariadb-sysusers.conf)
  mariadb/repos/testing-x86_64/mariadb-tmpfile.conf
    (from rev 274604, mariadb/trunk/mariadb-tmpfile.conf)
  mariadb/repos/testing-x86_64/mariadb.install
    (from rev 274604, mariadb/trunk/mariadb.install)

--------------------------------------------------------------------------------+
 testing-i686/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch   |   30 +
 testing-i686/PKGBUILD                                                          |  179 ++++++++++
 testing-i686/mariadb-sysusers.conf                                             |    1 
 testing-i686/mariadb-tmpfile.conf                                              |    1 
 testing-i686/mariadb.install                                                   |   41 ++
 testing-x86_64/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch |   30 +
 testing-x86_64/PKGBUILD                                                        |  179 ++++++++++
 testing-x86_64/mariadb-sysusers.conf                                           |    1 
 testing-x86_64/mariadb-tmpfile.conf                                            |    1 
 testing-x86_64/mariadb.install                                                 |   41 ++
 10 files changed, 504 insertions(+)

Copied: mariadb/repos/testing-i686/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch (from rev 274604, mariadb/trunk/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch)
===================================================================
--- testing-i686/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch	                        (rev 0)
+++ testing-i686/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch	2016-08-23 08:22:35 UTC (rev 274605)
@@ -0,0 +1,30 @@
+From 82691c53c7d84f79116b3f94cbe5fd7d7006d5e4 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail at eworm.de>
+Date: Tue, 23 Aug 2016 09:43:14 +0200
+Subject: [PATCH 1/1] remove const qualifier and fix crash with wsrep
+ initialization
+
+Compiling MariaDB with GCC 6.x makes it crash in wsrep/galera
+initialization. This fixes the crash.
+
+Signed-off-by: Christian Hesse <mail at eworm.de>
+---
+ sql/wsrep_mysqld.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sql/wsrep_mysqld.cc b/sql/wsrep_mysqld.cc
+index 823a2a7..8760a11 100644
+--- a/sql/wsrep_mysqld.cc
++++ b/sql/wsrep_mysqld.cc
+@@ -169,7 +169,7 @@ static PSI_file_info wsrep_files[]=
+ 
+ my_bool wsrep_inited                   = 0; // initialized ?
+ 
+-static const wsrep_uuid_t cluster_uuid = WSREP_UUID_UNDEFINED;
++static wsrep_uuid_t cluster_uuid = WSREP_UUID_UNDEFINED;
+ static char         cluster_uuid_str[40]= { 0, };
+ static const char*  cluster_status_str[WSREP_VIEW_MAX] =
+ {
+-- 
+2.9.3
+

Copied: mariadb/repos/testing-i686/PKGBUILD (from rev 274604, mariadb/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2016-08-23 08:22:35 UTC (rev 274605)
@@ -0,0 +1,179 @@
+# $Id$
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
+# Maintainer: Christian Hesse <mail at eworm.de>
+
+pkgbase=mariadb
+pkgname=('libmariadbclient' 'mariadb-clients' 'mytop' 'mariadb')
+pkgver=10.1.16
+_pkgver=${pkgver/.a/a}
+pkgrel=2
+arch=('i686' 'x86_64')
+license=('GPL')
+url='http://mariadb.org/'
+makedepends=('cmake' 'zlib' 'libaio' 'libxml2' 'openssl' 'pcre' 'jemalloc'
+             'lz4' 'boost' 'libevent' 'systemd')
+source=(http://ftp.heanet.ie/mirrors/mariadb/mariadb-$pkgver/source/mariadb-$pkgver.tar.gz{,.asc}
+        0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch
+        mariadb-sysusers.conf
+        mariadb-tmpfile.conf)
+validpgpkeys=('199369E5404BD5FC7D2FE43BCBCB082A1BB943DB') # MariaDB Package Signing Key <package-signing-key at mariadb.org>
+md5sums=('2a26b8d6560693cfc51031e76522cb78'
+         'SKIP'
+         'e20903f4749af55fa4bf82f7d61be3b0'
+         '97364065dd980909e04f97821a037ab0'
+         '2fa6e456964d4ff5e6d4f9ff0126aed6')
+
+prepare() {
+  # Changes to the upstream unit files:
+  #  * remove the alias from unit files, we install symlinks in package function
+  #  * enable PrivateTmp for a little bit more security
+  sed -i -e '/^Alias/d' \
+    -e '/^PrivateTmp/c PrivateTmp=true' \
+    $pkgbase-$_pkgver/support-files/mariadb{,@}.service.in
+
+  cd $pkgbase-$_pkgver
+
+  patch -Np1 < "${srcdir}/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch"
+}
+
+build() {
+  mkdir build
+  cd build
+
+  cmake ../$pkgbase-$_pkgver \
+    -DCMAKE_AR=/usr/bin/gcc-ar \
+    -DCMAKE_RANLIB=/usr/bin/gcc-ranlib \
+    -DBUILD_CONFIG=mysql_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 \
+    -DINSTALL_SYSTEMD_UNITDIR=/usr/lib/systemd/system/ \
+    -DWITH_SYSTEMD=yes \
+    -DWITH_READLINE=ON \
+    -DWITH_ZLIB=system \
+    -DWITH_SSL=system \
+    -DWITH_PCRE=system \
+    -DWITH_LIBWRAP=OFF \
+    -DWITH_JEMALLOC=ON \
+    -DCMAKE_EXE_LINKER_FLAGS='-ljemalloc' \
+    -DWITH_EXTRA_CHARSETS=complex \
+    -DWITH_EMBEDDED_SERVER=ON \
+    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
+    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
+    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
+    -DWITH_PARTITION_STORAGE_ENGINE=1 \
+    -DWITH_TOKUDB_STORAGE_ENGINE=1 \
+    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
+    -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \
+    -DWITHOUT_PBXT_STORAGE_ENGINE=1 \
+    -DCMAKE_C_FLAGS="-fPIC $CFLAGS -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer -fno-delete-null-pointer-checks" \
+    -DCMAKE_CXX_FLAGS="-fPIC $CXXFLAGS -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti -fno-delete-null-pointer-checks" \
+    -DWITH_MYSQLD_LDFLAGS="-pie ${LDFLAGS},-z,now"
+
+  make
+}
+
+package_libmariadbclient() {
+  pkgdesc='MariaDB client libraries'
+  depends=('openssl' 'libaio' 'zlib' 'pcre' 'lz4' 'lzo' 'xz')
+  conflicts=('libmysqlclient')
+  provides=("libmysqlclient=$pkgver")
+  options=('staticlibs')
+
+  cd build
+  for dir in include libmysql libmysqld libservices; do
+    make -C $dir DESTDIR="$pkgdir" install
+  done
+
+  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
+
+  rm "$pkgdir"/usr/lib/libmysql{client,client_r,d}.a
+}
+
+package_mariadb-clients() {
+  pkgdesc='MariaDB client tools'
+  depends=('libmariadbclient' 'zlib' 'openssl' 'jemalloc')
+  conflicts=('mysql-clients')
+  provides=("mysql-clients=$pkgver")
+
+  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 mariadb
+  rm "$pkgdir"/usr/bin/{mysql_{plugin,upgrade},mysqlbinlog,mysqltest}
+
+}
+
+package_mytop() {
+  pkgdesc='Top clone for MariaDB'
+  depends=('perl' 'perl-dbd-mysql' 'perl-term-readkey')
+
+  cd build
+  install -Dm755 scripts/mytop "$pkgdir"/usr/bin/mytop
+}
+
+package_mariadb() {
+  pkgdesc='Fast SQL database server, drop-in replacement for MySQL'
+  backup=('etc/mysql/my.cnf')
+  install=mariadb.install
+  depends=('mariadb-clients' 'inetutils' 'libaio' 'libxml2' 'pcre' 'jemalloc'
+           'lz4' 'boost-libs' 'lzo' 'libevent' 'libsystemd')
+  optdepends=('perl-dbd-mysql: for mysqlhotcopy, mysql_convert_table_format and mysql_setpermission')
+  conflicts=('mysql')
+  provides=("mysql=$pkgver")
+  options=('emptydirs')
+
+  cd build
+  make DESTDIR="$pkgdir" install
+
+  install -Dm644 "$pkgdir"/usr/share/mysql/my-medium.cnf "$pkgdir"/etc/mysql/my.cnf
+  install -Dm644 ../mariadb-tmpfile.conf "$pkgdir"/usr/lib/tmpfiles.d/mariadb.conf
+  install -Dm644 ../mariadb-sysusers.conf "$pkgdir"/usr/lib/sysusers.d/mariadb.conf
+  ln -s mariadb.service "$pkgdir"/usr/lib/systemd/system/mysqld.service
+  ln -s mariadb at .service "$pkgdir"/usr/lib/systemd/system/mysqld at .service
+
+  install -dm700 "$pkgdir"/var/lib/mysql
+  chown -R 89:89 "$pkgdir"/var/lib/mysql &>/dev/null
+
+  # provided by libmariadbclient
+  cd "$pkgdir"
+  rm usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}
+  rm usr/lib/libmysql*
+  rm -r usr/include/
+  rm usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1
+
+  # provided by mariadb-clients
+  rm usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}
+  rm usr/share/man/man1/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1
+
+  # provided by mytop
+  rm usr/bin/mytop
+
+  # not needed
+  rm -r usr/{data,mysql-test,sql-bench}
+  rm usr/share/man/man1/mysql-test-run.pl.1
+}

Copied: mariadb/repos/testing-i686/mariadb-sysusers.conf (from rev 274604, mariadb/trunk/mariadb-sysusers.conf)
===================================================================
--- testing-i686/mariadb-sysusers.conf	                        (rev 0)
+++ testing-i686/mariadb-sysusers.conf	2016-08-23 08:22:35 UTC (rev 274605)
@@ -0,0 +1 @@
+u mysql 89 "MariaDB" /var/lib/mysql

Copied: mariadb/repos/testing-i686/mariadb-tmpfile.conf (from rev 274604, mariadb/trunk/mariadb-tmpfile.conf)
===================================================================
--- testing-i686/mariadb-tmpfile.conf	                        (rev 0)
+++ testing-i686/mariadb-tmpfile.conf	2016-08-23 08:22:35 UTC (rev 274605)
@@ -0,0 +1 @@
+d /run/mysqld 0755 mysql mysql -

Copied: mariadb/repos/testing-i686/mariadb.install (from rev 274604, mariadb/trunk/mariadb.install)
===================================================================
--- testing-i686/mariadb.install	                        (rev 0)
+++ testing-i686/mariadb.install	2016-08-23 08:22:35 UTC (rev 274605)
@@ -0,0 +1,41 @@
+post_install(){
+  if hash systemd-sysusers &> /dev/null; then
+    systemd-sysusers mariadb.conf
+  fi
+
+  if hash systemd-tmpfiles &> /dev/null; then
+    systemd-tmpfiles --create mariadb.conf
+  fi
+
+  echo ":: You need to initialize the MariaDB data directory prior to starting"
+  echo "   the service. This can be done with mysql_install_db command, e.g.:"
+  echo "   mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql"
+
+}
+
+post_upgrade(){
+  if hash systemd-sysusers &> /dev/null; then
+    systemd-sysusers mariadb.conf
+  fi
+
+  if hash systemd-tmpfiles &> /dev/null; then
+    systemd-tmpfiles --create mariadb.conf
+  fi
+
+  if [[ "$(vercmp $2 5.5.25-4)" -lt 0 ]] && [[ -d /data ]]; then
+    for x in data/*; do
+      cp -r $x var/lib/mysql
+    done
+    rm -rf data
+  fi
+
+  if [[ "$(vercmp $2 5.5.25-5)" -lt 0 ]]; then
+    echo ":: mysql.service has been renamed to mysqld.service to keep"
+    echo "   consistency with MySQL package."
+  fi
+
+  if [[ "$(vercmp $2 10.0)" -lt 0 ]]; then
+    echo ":: Major version update. Consider restarting mysqld.service and"
+    echo "   running mysql_upgrade afterwards."
+  fi
+}

Copied: mariadb/repos/testing-x86_64/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch (from rev 274604, mariadb/trunk/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch)
===================================================================
--- testing-x86_64/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch	                        (rev 0)
+++ testing-x86_64/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch	2016-08-23 08:22:35 UTC (rev 274605)
@@ -0,0 +1,30 @@
+From 82691c53c7d84f79116b3f94cbe5fd7d7006d5e4 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail at eworm.de>
+Date: Tue, 23 Aug 2016 09:43:14 +0200
+Subject: [PATCH 1/1] remove const qualifier and fix crash with wsrep
+ initialization
+
+Compiling MariaDB with GCC 6.x makes it crash in wsrep/galera
+initialization. This fixes the crash.
+
+Signed-off-by: Christian Hesse <mail at eworm.de>
+---
+ sql/wsrep_mysqld.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sql/wsrep_mysqld.cc b/sql/wsrep_mysqld.cc
+index 823a2a7..8760a11 100644
+--- a/sql/wsrep_mysqld.cc
++++ b/sql/wsrep_mysqld.cc
+@@ -169,7 +169,7 @@ static PSI_file_info wsrep_files[]=
+ 
+ my_bool wsrep_inited                   = 0; // initialized ?
+ 
+-static const wsrep_uuid_t cluster_uuid = WSREP_UUID_UNDEFINED;
++static wsrep_uuid_t cluster_uuid = WSREP_UUID_UNDEFINED;
+ static char         cluster_uuid_str[40]= { 0, };
+ static const char*  cluster_status_str[WSREP_VIEW_MAX] =
+ {
+-- 
+2.9.3
+

Copied: mariadb/repos/testing-x86_64/PKGBUILD (from rev 274604, mariadb/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2016-08-23 08:22:35 UTC (rev 274605)
@@ -0,0 +1,179 @@
+# $Id$
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
+# Maintainer: Christian Hesse <mail at eworm.de>
+
+pkgbase=mariadb
+pkgname=('libmariadbclient' 'mariadb-clients' 'mytop' 'mariadb')
+pkgver=10.1.16
+_pkgver=${pkgver/.a/a}
+pkgrel=2
+arch=('i686' 'x86_64')
+license=('GPL')
+url='http://mariadb.org/'
+makedepends=('cmake' 'zlib' 'libaio' 'libxml2' 'openssl' 'pcre' 'jemalloc'
+             'lz4' 'boost' 'libevent' 'systemd')
+source=(http://ftp.heanet.ie/mirrors/mariadb/mariadb-$pkgver/source/mariadb-$pkgver.tar.gz{,.asc}
+        0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch
+        mariadb-sysusers.conf
+        mariadb-tmpfile.conf)
+validpgpkeys=('199369E5404BD5FC7D2FE43BCBCB082A1BB943DB') # MariaDB Package Signing Key <package-signing-key at mariadb.org>
+md5sums=('2a26b8d6560693cfc51031e76522cb78'
+         'SKIP'
+         'e20903f4749af55fa4bf82f7d61be3b0'
+         '97364065dd980909e04f97821a037ab0'
+         '2fa6e456964d4ff5e6d4f9ff0126aed6')
+
+prepare() {
+  # Changes to the upstream unit files:
+  #  * remove the alias from unit files, we install symlinks in package function
+  #  * enable PrivateTmp for a little bit more security
+  sed -i -e '/^Alias/d' \
+    -e '/^PrivateTmp/c PrivateTmp=true' \
+    $pkgbase-$_pkgver/support-files/mariadb{,@}.service.in
+
+  cd $pkgbase-$_pkgver
+
+  patch -Np1 < "${srcdir}/0001-remove-const-qualifier-and-fix-crash-with-wsrep-init.patch"
+}
+
+build() {
+  mkdir build
+  cd build
+
+  cmake ../$pkgbase-$_pkgver \
+    -DCMAKE_AR=/usr/bin/gcc-ar \
+    -DCMAKE_RANLIB=/usr/bin/gcc-ranlib \
+    -DBUILD_CONFIG=mysql_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 \
+    -DINSTALL_SYSTEMD_UNITDIR=/usr/lib/systemd/system/ \
+    -DWITH_SYSTEMD=yes \
+    -DWITH_READLINE=ON \
+    -DWITH_ZLIB=system \
+    -DWITH_SSL=system \
+    -DWITH_PCRE=system \
+    -DWITH_LIBWRAP=OFF \
+    -DWITH_JEMALLOC=ON \
+    -DCMAKE_EXE_LINKER_FLAGS='-ljemalloc' \
+    -DWITH_EXTRA_CHARSETS=complex \
+    -DWITH_EMBEDDED_SERVER=ON \
+    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
+    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
+    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
+    -DWITH_PARTITION_STORAGE_ENGINE=1 \
+    -DWITH_TOKUDB_STORAGE_ENGINE=1 \
+    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
+    -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \
+    -DWITHOUT_PBXT_STORAGE_ENGINE=1 \
+    -DCMAKE_C_FLAGS="-fPIC $CFLAGS -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer -fno-delete-null-pointer-checks" \
+    -DCMAKE_CXX_FLAGS="-fPIC $CXXFLAGS -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti -fno-delete-null-pointer-checks" \
+    -DWITH_MYSQLD_LDFLAGS="-pie ${LDFLAGS},-z,now"
+
+  make
+}
+
+package_libmariadbclient() {
+  pkgdesc='MariaDB client libraries'
+  depends=('openssl' 'libaio' 'zlib' 'pcre' 'lz4' 'lzo' 'xz')
+  conflicts=('libmysqlclient')
+  provides=("libmysqlclient=$pkgver")
+  options=('staticlibs')
+
+  cd build
+  for dir in include libmysql libmysqld libservices; do
+    make -C $dir DESTDIR="$pkgdir" install
+  done
+
+  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
+
+  rm "$pkgdir"/usr/lib/libmysql{client,client_r,d}.a
+}
+
+package_mariadb-clients() {
+  pkgdesc='MariaDB client tools'
+  depends=('libmariadbclient' 'zlib' 'openssl' 'jemalloc')
+  conflicts=('mysql-clients')
+  provides=("mysql-clients=$pkgver")
+
+  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 mariadb
+  rm "$pkgdir"/usr/bin/{mysql_{plugin,upgrade},mysqlbinlog,mysqltest}
+
+}
+
+package_mytop() {
+  pkgdesc='Top clone for MariaDB'
+  depends=('perl' 'perl-dbd-mysql' 'perl-term-readkey')
+
+  cd build
+  install -Dm755 scripts/mytop "$pkgdir"/usr/bin/mytop
+}
+
+package_mariadb() {
+  pkgdesc='Fast SQL database server, drop-in replacement for MySQL'
+  backup=('etc/mysql/my.cnf')
+  install=mariadb.install
+  depends=('mariadb-clients' 'inetutils' 'libaio' 'libxml2' 'pcre' 'jemalloc'
+           'lz4' 'boost-libs' 'lzo' 'libevent' 'libsystemd')
+  optdepends=('perl-dbd-mysql: for mysqlhotcopy, mysql_convert_table_format and mysql_setpermission')
+  conflicts=('mysql')
+  provides=("mysql=$pkgver")
+  options=('emptydirs')
+
+  cd build
+  make DESTDIR="$pkgdir" install
+
+  install -Dm644 "$pkgdir"/usr/share/mysql/my-medium.cnf "$pkgdir"/etc/mysql/my.cnf
+  install -Dm644 ../mariadb-tmpfile.conf "$pkgdir"/usr/lib/tmpfiles.d/mariadb.conf
+  install -Dm644 ../mariadb-sysusers.conf "$pkgdir"/usr/lib/sysusers.d/mariadb.conf
+  ln -s mariadb.service "$pkgdir"/usr/lib/systemd/system/mysqld.service
+  ln -s mariadb at .service "$pkgdir"/usr/lib/systemd/system/mysqld at .service
+
+  install -dm700 "$pkgdir"/var/lib/mysql
+  chown -R 89:89 "$pkgdir"/var/lib/mysql &>/dev/null
+
+  # provided by libmariadbclient
+  cd "$pkgdir"
+  rm usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}
+  rm usr/lib/libmysql*
+  rm -r usr/include/
+  rm usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1
+
+  # provided by mariadb-clients
+  rm usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}
+  rm usr/share/man/man1/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1
+
+  # provided by mytop
+  rm usr/bin/mytop
+
+  # not needed
+  rm -r usr/{data,mysql-test,sql-bench}
+  rm usr/share/man/man1/mysql-test-run.pl.1
+}

Copied: mariadb/repos/testing-x86_64/mariadb-sysusers.conf (from rev 274604, mariadb/trunk/mariadb-sysusers.conf)
===================================================================
--- testing-x86_64/mariadb-sysusers.conf	                        (rev 0)
+++ testing-x86_64/mariadb-sysusers.conf	2016-08-23 08:22:35 UTC (rev 274605)
@@ -0,0 +1 @@
+u mysql 89 "MariaDB" /var/lib/mysql

Copied: mariadb/repos/testing-x86_64/mariadb-tmpfile.conf (from rev 274604, mariadb/trunk/mariadb-tmpfile.conf)
===================================================================
--- testing-x86_64/mariadb-tmpfile.conf	                        (rev 0)
+++ testing-x86_64/mariadb-tmpfile.conf	2016-08-23 08:22:35 UTC (rev 274605)
@@ -0,0 +1 @@
+d /run/mysqld 0755 mysql mysql -

Copied: mariadb/repos/testing-x86_64/mariadb.install (from rev 274604, mariadb/trunk/mariadb.install)
===================================================================
--- testing-x86_64/mariadb.install	                        (rev 0)
+++ testing-x86_64/mariadb.install	2016-08-23 08:22:35 UTC (rev 274605)
@@ -0,0 +1,41 @@
+post_install(){
+  if hash systemd-sysusers &> /dev/null; then
+    systemd-sysusers mariadb.conf
+  fi
+
+  if hash systemd-tmpfiles &> /dev/null; then
+    systemd-tmpfiles --create mariadb.conf
+  fi
+
+  echo ":: You need to initialize the MariaDB data directory prior to starting"
+  echo "   the service. This can be done with mysql_install_db command, e.g.:"
+  echo "   mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql"
+
+}
+
+post_upgrade(){
+  if hash systemd-sysusers &> /dev/null; then
+    systemd-sysusers mariadb.conf
+  fi
+
+  if hash systemd-tmpfiles &> /dev/null; then
+    systemd-tmpfiles --create mariadb.conf
+  fi
+
+  if [[ "$(vercmp $2 5.5.25-4)" -lt 0 ]] && [[ -d /data ]]; then
+    for x in data/*; do
+      cp -r $x var/lib/mysql
+    done
+    rm -rf data
+  fi
+
+  if [[ "$(vercmp $2 5.5.25-5)" -lt 0 ]]; then
+    echo ":: mysql.service has been renamed to mysqld.service to keep"
+    echo "   consistency with MySQL package."
+  fi
+
+  if [[ "$(vercmp $2 10.0)" -lt 0 ]]; then
+    echo ":: Major version update. Consider restarting mysqld.service and"
+    echo "   running mysql_upgrade afterwards."
+  fi
+}



More information about the arch-commits mailing list