summaryrefslogtreecommitdiff
path: root/community/mariadb
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-03-02 00:04:05 -0800
committerroot <root@rshg054.dnsready.net>2013-03-02 00:04:05 -0800
commit98aa0004e23472ee63753fded33cd55d8b942f36 (patch)
tree1299d9cfb8bcd6bd295a1a279b4ad322b4e9133a /community/mariadb
parent5ae40a63ab4c6838234db5a9da1e99d8bc27875d (diff)
Sat Mar 2 00:04:03 PST 2013
Diffstat (limited to 'community/mariadb')
-rw-r--r--community/mariadb/PKGBUILD100
-rwxr-xr-xcommunity/mariadb/mariadb-post.sh8
-rw-r--r--community/mariadb/mariadb-tmpfile.conf1
-rw-r--r--community/mariadb/mariadb.install33
-rw-r--r--community/mariadb/mariadb.service16
-rwxr-xr-xcommunity/mariadb/rc.d77
-rw-r--r--community/mariadb/service21
-rw-r--r--community/mariadb/tmpfiles.conf1
8 files changed, 88 insertions, 169 deletions
diff --git a/community/mariadb/PKGBUILD b/community/mariadb/PKGBUILD
index d2a361d9d..ba946890c 100644
--- a/community/mariadb/PKGBUILD
+++ b/community/mariadb/PKGBUILD
@@ -1,37 +1,35 @@
-# $Id: PKGBUILD 83403 2013-01-31 12:12:11Z bpiotrowski $
+# $Id: PKGBUILD 85328 2013-03-01 06:31:46Z bpiotrowski $
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
pkgbase=mariadb
pkgname=('libmariadbclient' 'mariadb-clients' 'mariadb')
pkgver=5.5.29
-pkgrel=1
+pkgrel=4
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 @@ build() {
-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 @@ package_mariadb-clients() {
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 @@ package_mariadb() {
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
-
- install -Dm644 "${pkgdir}"/usr/share/mysql/my-medium.cnf "${pkgdir}"/etc/mysql/my.cnf
- install -Dm755 "${srcdir}"/rc.d "${pkgdir}"/etc/rc.d/mysqld
+ cd "$srcdir"/build
+ make DESTDIR="$pkgdir" install
- install -Dm644 "${srcdir}"/service "${pkgdir}"/usr/lib/systemd/system/mysqld.service
- install -Dm644 "${srcdir}"/tmpfiles.conf "${pkgdir}"/usr/lib/tmpfiles.d/mysql.conf
+ 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
# 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:
diff --git a/community/mariadb/mariadb-post.sh b/community/mariadb/mariadb-post.sh
new file mode 100755
index 000000000..c4ac18171
--- /dev/null
+++ b/community/mariadb/mariadb-post.sh
@@ -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
diff --git a/community/mariadb/mariadb-tmpfile.conf b/community/mariadb/mariadb-tmpfile.conf
new file mode 100644
index 000000000..6883dc798
--- /dev/null
+++ b/community/mariadb/mariadb-tmpfile.conf
@@ -0,0 +1 @@
+d /run/mysqld 0755 mysql mysql -
diff --git a/community/mariadb/mariadb.install b/community/mariadb/mariadb.install
index 4ac50ec94..de619b668 100644
--- a/community/mariadb/mariadb.install
+++ b/community/mariadb/mariadb.install
@@ -1,30 +1,28 @@
+if [[ $(command -v my_print_defaults >/dev/null 2>&1) ]]; then
+ datadir=$(my_print_defaults mysqld | sed -n "s/^--datadir=//p")
+fi
+[[ -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 --datadir=$datadir
+ 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
-
- 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."
- fi
+ getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d $datadir -s /bin/false mysql &>/dev/null
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 +36,9 @@ post_upgrade(){
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:
diff --git a/community/mariadb/mariadb.service b/community/mariadb/mariadb.service
new file mode 100644
index 000000000..dd65511d7
--- /dev/null
+++ b/community/mariadb/mariadb.service
@@ -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
diff --git a/community/mariadb/rc.d b/community/mariadb/rc.d
deleted file mode 100755
index e9fe8f5a8..000000000
--- a/community/mariadb/rc.d
+++ /dev/null
@@ -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
diff --git a/community/mariadb/service b/community/mariadb/service
deleted file mode 100644
index 1b3a50082..000000000
--- a/community/mariadb/service
+++ /dev/null
@@ -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
diff --git a/community/mariadb/tmpfiles.conf b/community/mariadb/tmpfiles.conf
deleted file mode 100644
index 74cd5f836..000000000
--- a/community/mariadb/tmpfiles.conf
+++ /dev/null
@@ -1 +0,0 @@
-d /var/run/mysqld 0755 mysql mysql -