[arch-commits] Commit in mariadb/trunk (8 files)

Bartłomiej Piotrowski bpiotrowski at nymeria.archlinux.org
Sat Feb 23 08:22:59 UTC 2013


    Date: Saturday, February 23, 2013 @ 09:22:59
  Author: bpiotrowski
Revision: 84710

upgpkg: mariadb 5.5.29-2

- remove useless directives from unit file
- MariaDB doesn't need network to run
- enable ARCHIVE and BLACKHOLE engines
- disable PBXT engine (it's not maintained anymore)
- add script delaying service start until databases are set up
- run mysql_install_db only if MariaDB datadir is not present
- move CFLAGS/CXXFLAGS to cmake parameters
- deprecate initscripts daemon

Added:
  mariadb/trunk/mariadb-post.sh
  mariadb/trunk/mariadb-tmpfile.conf
  mariadb/trunk/mariadb.service
    (from rev 84707, mariadb/trunk/service)
Modified:
  mariadb/trunk/PKGBUILD
  mariadb/trunk/mariadb.install
Deleted:
  mariadb/trunk/rc.d
  mariadb/trunk/service
  mariadb/trunk/tmpfiles.conf

----------------------+
 PKGBUILD             |   98 +++++++++++++++++++++++--------------------------
 mariadb-post.sh      |    8 ++++
 mariadb-tmpfile.conf |    1 
 mariadb.install      |   26 ++++++-------
 mariadb.service      |   16 ++++++++
 rc.d                 |   77 --------------------------------------
 service              |   21 ----------
 tmpfiles.conf        |    1 
 8 files changed, 85 insertions(+), 163 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-02-23 02:08:32 UTC (rev 84709)
+++ PKGBUILD	2013-02-23 08:22:59 UTC (rev 84710)
@@ -4,34 +4,32 @@
 pkgbase=mariadb
 pkgname=('libmariadbclient' 'mariadb-clients' 'mariadb')
 pkgver=5.5.29
-pkgrel=1
+pkgrel=2
 arch=('i686' 'x86_64')
 license=('GPL')
-url="http://mariadb.org/"
+url='http://mariadb.org/'
 makedepends=('cmake' 'openssl' 'zlib')
 options=('!libtool')
 source=(http://mirrors.supportex.net/$pkgbase/$pkgbase-$pkgver/kvm-tarbake-jaunty-x86/$pkgbase-$pkgver.tar.gz
-        service rc.d tmpfiles.conf)
+        mariadb.service
+        mariadb-post.sh
+        mariadb-tmpfile.conf)
 sha256sums=('b0e25b5451dbf8e8c8bf243bbd0aeb264db0da2caceafc7e2c9fad77b8d4be74'
-            'd9f3d0a897e2e8d5d07c19898ed4c1a4a1c08dfe09f6854f90e79e055e48c02e'
-            'a0bfe75c035fa32a10d04238932f5e7ad11829b7fbdb1b8f8997ee645ae1b924'
-            '08daa863ddd50aff0b608621ed26936919211e286440951dca5866141291004d')
+            'a6cf5446159fff16598d0d787dd3a3c30a53a656a5f876ddb608bc60e234d334'
+            '368f9fd2454d80eb32abb8f29f703d1cf9553353fb9e1ae4529c4b851cb8c5dd'
+            '2af318c52ae0fe5428e8a9245d1b0fc3bc5ce153842d1563329ceb1edfa83ddd')
 
 build() {
   cd $srcdir
   mkdir build
   cd build
 
-  # CFLAGS/CXXFLAGS as suggested upstream
-  CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
-  CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \
-
-  cmake ../${pkgbase}-${pkgver} \
+  cmake ../$pkgbase-$pkgver \
     -DCMAKE_BUILD_TYPE=Release \
     -DCMAKE_INSTALL_PREFIX=/usr \
     -DSYSCONFDIR=/etc/mysql \
     -DMYSQL_DATADIR=/var/lib/mysql \
-    -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
+    -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
     -DDEFAULT_CHARSET=utf8 \
     -DDEFAULT_COLLATION=utf8_general_ci \
     -DENABLED_LOCAL_INFILE=ON \
@@ -49,36 +47,39 @@
     -DWITH_ZLIB=system \
     -DWITH_SSL=system \
     -DWITH_LIBWRAP=OFF \
-    -DWITH_MYSQLD_LDFLAGS="${LDFLAGS}" \
     -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_PBXT_STORAGE_ENGINE=1 \
     -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-    -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \
-    -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 \
-    -DWITHOUT_FEDERATED_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" \
+    -DCMAKE_CXX_FLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \
+    -DWITH_MYSQLD_LDFLAGS="${LDFLAGS}"
 
+
   make
 }
 
-package_libmariadbclient(){
+package_libmariadbclient() {
   pkgdesc="MariaDB client libraries"
   depends=('openssl')
   conflicts=('libmysqlclient')
-  provides=("libmysqlclient=${pkgver}")
+  provides=("libmysqlclient=$pkgver")
   
-  cd "${srcdir}"/build
+  cd "$srcdir"/build
   for dir in include libmysql libmysqld libservices; do
-    make -C ${dir} DESTDIR="${pkgdir}" install
+    make -C $dir DESTDIR="$pkgdir" install
   done
 
-  install -d "${pkgdir}"/usr/bin
-  install -m755 scripts/mysql_config "${pkgdir}"/usr/bin/
-  install -d "${pkgdir}"/usr/share/man/man1
+  install -d "$pkgdir"/usr/bin
+  install -m755 scripts/mysql_config "$pkgdir"/usr/bin/
+  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
+    install -m644 "$srcdir"/$pkgbase-$pkgver/man/$man.1 "$pkgdir"/usr/share/man/man1/$man.1
   done
 }
 
@@ -86,19 +87,19 @@
   pkgdesc="MariaDB client tools"
   depends=('libmariadbclient')
   conflicts=('mysql-clients')
-  provides=("mysql-clients=${pkgver}")
+  provides=("mysql-clients=$pkgver")
   
-  cd "${srcdir}"/build
-  make -C client DESTDIR="${pkgdir}" install
+  cd "$srcdir"/build
+  make -C client DESTDIR="$pkgdir" install
 
   # install man pages
-  install -d "${pkgdir}"/usr/share/man/man1
+  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
+    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}
+  rm "$pkgdir"/usr/bin/{mysql_{plugin,upgrade},mysqlbinlog,mysqltest}
 }
 
 package_mariadb() {
@@ -107,34 +108,29 @@
   install=mariadb.install
   depends=('mariadb-clients')
   conflicts=('mysql')
-  provides=("mysql=${pkgver}")
+  provides=("mysql=$pkgver")
   optdepends=('perl-dbi' 'perl-dbd-mysql')
   options=('emptydirs')
 
-  cd "${srcdir}"/build
-  make DESTDIR="${pkgdir}" install
+  cd "$srcdir"/build
+  make DESTDIR="$pkgdir" install
 
-  install -Dm644 "${pkgdir}"/usr/share/mysql/my-medium.cnf "${pkgdir}"/etc/mysql/my.cnf
-  install -Dm755 "${srcdir}"/rc.d "${pkgdir}"/etc/rc.d/mysqld
+  install -Dm644 "$pkgdir"/usr/share/mysql/my-medium.cnf "$pkgdir"/etc/mysql/my.cnf
+  install -Dm755 "$srcdir"/mariadb-post.sh "$pkgdir"/usr/bin/mysqld-post
+  install -Dm644 "$srcdir"/mariadb.service "$pkgdir"/usr/lib/systemd/system/mysqld.service
+  install -Dm644 "$srcdir"/mariadb-tmpfile.conf "$pkgdir"/usr/lib/tmpfiles.d/mysql.conf
 
-  install -Dm644 "${srcdir}"/service "${pkgdir}"/usr/lib/systemd/system/mysqld.service
-  install -Dm644 "${srcdir}"/tmpfiles.conf "${pkgdir}"/usr/lib/tmpfiles.d/mysql.conf
-
   # provided by libmariadbclient
-  rm "${pkgdir}"/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}
-  rm "${pkgdir}"/usr/lib/libmysql*
-  rm -r "${pkgdir}"/usr/include/
-  rm "${pkgdir}"/usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1
+  rm "$pkgdir"/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}
+  rm "$pkgdir"/usr/lib/libmysql*
+  rm -r "$pkgdir"/usr/include/
+  rm "$pkgdir"/usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1
   
   # provided by mariadb-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
+  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
 
   # not needed
-  rm -r "${pkgdir}"/usr/{data,mysql-test,sql-bench}
-  rm "${pkgdir}"/usr/share/man/man1/mysql-test-run.pl.1
-
-  install -dm700 "${pkgdir}"/var/lib/mysql
+  rm -r "$pkgdir"/usr/{data,mysql-test,sql-bench}
+  rm "$pkgdir"/usr/share/man/man1/mysql-test-run.pl.1
 }
-
-# vim:set ts=2 sw=2 et:

Added: mariadb-post.sh
===================================================================
--- mariadb-post.sh	                        (rev 0)
+++ mariadb-post.sh	2013-02-23 08:22:59 UTC (rev 84710)
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+while true; do
+    response=$(/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1) && break
+    echo "$response" | grep -q "mysqld is alive" && break
+    echo "$response" | grep -q "Access denied for user" && break 
+    sleep 1
+done


Property changes on: mariadb/trunk/mariadb-post.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: mariadb-tmpfile.conf
===================================================================
--- mariadb-tmpfile.conf	                        (rev 0)
+++ mariadb-tmpfile.conf	2013-02-23 08:22:59 UTC (rev 84710)
@@ -0,0 +1 @@
+d /run/mysqld 0755 mysql mysql -

Modified: mariadb.install
===================================================================
--- mariadb.install	2013-02-23 02:08:32 UTC (rev 84709)
+++ mariadb.install	2013-02-23 08:22:59 UTC (rev 84710)
@@ -1,22 +1,23 @@
+datadir=$(my_print_defaults mysqld | sed -n "s/^--datadir=//p")
+[[ -z $datadir ]] && datadir=/var/lib/mysql
+
 post_install(){
   groupadd -g 89 mysql &>/dev/null
-  useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
-  usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
-  chown -R mysql:mysql var/lib/mysql &>/dev/null
+  useradd -u 89 -g mysql -d $datadir -s /bin/false mysql &>/dev/null
 
-  if [[ ! -d run/mysqld ]]; then
-    usr/bin/systemd-tmpfiles --create usr/lib/tmpfiles.d/mysql.conf
+  if [[ ! -e $datadir ]]; then
+    install -dm700 $datadir
+    usr/bin/mysql_install_db --user=mysql --basedir=/usr
+    chown -R mysql:mysql var/lib/mysql &>/dev/null
   fi
+
+  usr/bin/systemd-tmpfiles --create mysqld.conf
 }
 
 post_upgrade(){
   getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null
-  getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
+  getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d $datadir -s /bin/false mysql &>/dev/null
 
-  if [[ ! -d run/mysqld ]]; then
-    usr/bin/systemd-tmpfiles --create usr/lib/tmpfiles.d/mysql.conf
-  fi
-
   if [[ "$(vercmp $2 5.5)" -lt 0 ]]; then
     echo ">>> Major version update. Consider restart the service, and"
     echo "    then running mysql_upgrade after it."
@@ -24,7 +25,7 @@
 
   if [[ "$(vercmp $2 5.5.25-4)" -lt 0 ]] && [[ -d /data ]]; then
     for x in data/*; do
-      cp -r $x var/lib/mysql/
+      cp -r $x $datadir/
     done
     rm -rf data
   fi
@@ -38,10 +39,9 @@
 post_remove(){
   if getent passwd mysql >/dev/null 2>&1; then
     userdel mysql
+
   fi
   if getent group mysql >/dev/null 2>&1; then
     groupdel mysql
   fi
 }
-
-# vim:set ts=2 sw=2 et:

Copied: mariadb/trunk/mariadb.service (from rev 84707, mariadb/trunk/service)
===================================================================
--- mariadb.service	                        (rev 0)
+++ mariadb.service	2013-02-23 08:22:59 UTC (rev 84710)
@@ -0,0 +1,16 @@
+[Unit]
+Description=MariaDB database server
+After=syslog.target
+
+[Service]
+User=mysql
+Group=mysql
+
+ExecStart=/usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid 
+ExecStartPost=/usr/bin/mysqld-post
+
+Restart=always
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target

Deleted: rc.d
===================================================================
--- rc.d	2013-02-23 02:08:32 UTC (rev 84709)
+++ rc.d	2013-02-23 08:22:59 UTC (rev 84710)
@@ -1,77 +0,0 @@
-#!/bin/bash
-
-# general config
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-getPID() {
-   echo $(pgrep -u mysql mysqld 2>/dev/null);
-}
-
-case "$1" in
-  start)
-    stat_busy "Starting MariaDB Server"
-    [ ! -d /var/run/mysqld ] && install -d -g mysql -o mysql /var/run/mysqld &>/dev/null
-    if [ -z "$(getPID)" ]; then
-       /usr/bin/mysqld_safe --user=mysql &>/dev/null &
-      if [ $? -gt 0 ]; then
-        stat_fail
-        exit 1
-      else
-        timeo=30
-        while [ $timeo -gt 0 ]; do
-          response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break
-          echo "$response" | grep -q "mysqld is alive" && break
-          sleep 1
-          let timeo=${timeo}-1
-        done
-        if [ $timeo -eq 0 ]; then
-          stat_fail
-          exit 1
-        else
-          echo $(getPID) > /var/run/mysqld/mysqld.pid
-          add_daemon mysqld
-          stat_done
-        fi
-      fi
-    else
-      stat_fail
-      exit 1
-    fi
-    ;;
-
-  stop)
-    stat_busy "Stopping MariaDB Server"
-    if [ ! -z "$(getPID)" ]; then
-      timeo=30
-      kill $(getPID) &> /dev/null
-      if [ $? -gt 0 ]; then
-        stat_fail
-        exit 1
-      fi
-      while [ ! -z "$(getPID)" -a $timeo -gt 0 ]; do
-        sleep 1
-        let timeo=${timeo}-1
-      done
-      if [ -z "$(getPID)" ]; then
-        rm -f /var/run/mysqld/mysqld.pid &>/dev/null
-        rm_daemon mysqld
-        stat_done
-      else
-        stat_fail
-        exit 1
-      fi
-    else
-      stat_fail
-      exit 1
-    fi
-    ;;
-
-  restart)
-    $0 stop
-    $0 start
-    ;;
-  *)
-    echo "usage: $0 {start|stop|restart}"
-esac
-exit 0

Deleted: service
===================================================================
--- service	2013-02-23 02:08:32 UTC (rev 84709)
+++ service	2013-02-23 08:22:59 UTC (rev 84710)
@@ -1,21 +0,0 @@
-[Unit]
-Description=MariaDB database server
-After=syslog.target network.target
-
-[Service]
-User=mysql
-Group=mysql
-
-ExecStart=/usr/bin/mysqld --pid-file=/var/run/mysqld/mysqld.pid
-ExecStop=/bin/kill -15 $MAINPID
-PIDFile=/var/run/mysqld/mysqld.pid
-WorkingDirectory=/usr
-
-# We rely on systemd, not mysqld_safe, to restart mysqld if it dies
-Restart=always
-
-# Place temp files in a secure directory, not /tmp
-PrivateTmp=true
-
-[Install]
-WantedBy=multi-user.target

Deleted: tmpfiles.conf
===================================================================
--- tmpfiles.conf	2013-02-23 02:08:32 UTC (rev 84709)
+++ tmpfiles.conf	2013-02-23 08:22:59 UTC (rev 84710)
@@ -1 +0,0 @@
-d /var/run/mysqld 0755 mysql mysql -




More information about the arch-commits mailing list