summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre')
-rw-r--r--libre/mariadb/PKGBUILD87
-rw-r--r--libre/mariadb/mysql.install26
-rw-r--r--libre/mariadb/mysqld77
3 files changed, 145 insertions, 45 deletions
diff --git a/libre/mariadb/PKGBUILD b/libre/mariadb/PKGBUILD
index a87c3082a..df4bb9a16 100644
--- a/libre/mariadb/PKGBUILD
+++ b/libre/mariadb/PKGBUILD
@@ -4,23 +4,23 @@
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy>
-_falsename=mysql
-__falsename=MySQL
+falsename=mysql
+_falsename=MySQL
pkgbase=mariadb
_pkgbase=MariaDB
pkgname=("lib${pkgbase}client" "${pkgbase}-clients" "${pkgbase}")
pkgver=5.5.23
-pkgrel=2
+pkgrel=1.4
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
url="http://www.${pkgbase}.org/"
makedepends=('cmake' 'openssl' 'zlib')
options=('!libtool')
source=("http://mirror.aarnet.edu.au/pub/${_pkgbase}/${pkgbase}-${pkgver}/kvm-tarbake-jaunty-x86/${pkgbase}-${pkgver}.tar.gz"
- "${pkgbase}d"
+ "${falsename}d"
'my.cnf')
md5sums=('7074fa091b3c1489f45a5ddf12cd5e6f'
- '4c491570ec9f2db20b080082119a1714'
+ '2234207625baa29b2ff7d7b4f088abce'
'1c949c0dbea5206af0db14942d9927b6')
build() {
@@ -35,22 +35,22 @@ build() {
cmake ../${pkgbase}-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DSYSCONFDIR=/etc/${pkgbase} \
- -DMYSQL_DATADIR=/var/lib/${pkgbase} \
- -DMYSQL_UNIX_ADDR=/var/run/${pkgbase}/${pkgbase}.sock \
+ -DSYSCONFDIR=/etc/${falsename} \
+ -DMYSQL_DATADIR=/var/lib/${falsename} \
+ -DMYSQL_UNIX_ADDR=/var/run/${falsename}/${falsename}.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
- -DINSTALL_INFODIR=share/${pkgbase}/docs \
+ -DINSTALL_INFODIR=share/${falsename}/docs \
-DINSTALL_MANDIR=share/man \
- -DINSTALL_PLUGINDIR=/usr/lib/${pkgbase}/plugin \
+ -DINSTALL_PLUGINDIR=/usr/lib/${falsename}/plugin \
-DINSTALL_SCRIPTDIR=bin \
- -DINSTALL_INCLUDEDIR=include/${pkgbase} \
- -DINSTALL_DOCREADMEDIR=share/${pkgbase} \
- -DINSTALL_SUPPORTFILESDIR=share/${pkgbase} \
- -DINSTALL_MYSQLSHAREDIR=share/${pkgbase} \
- -DINSTALL_DOCDIR=share/${pkgbase}/docs \
- -DINSTALL_SHAREDIR=share/${pkgbase} \
+ -DINSTALL_INCLUDEDIR=include/${falsename} \
+ -DINSTALL_DOCREADMEDIR=share/${falsename} \
+ -DINSTALL_SUPPORTFILESDIR=share/${falsename} \
+ -DINSTALL_MYSQLSHAREDIR=share/${falsename} \
+ -DINSTALL_DOCDIR=share/${falsename}/docs \
+ -DINSTALL_SHAREDIR=share/${falsename} \
-DWITH_READLINE=ON \
-DWITH_ZLIB=system \
-DWITH_SSL=system \
@@ -69,75 +69,72 @@ build() {
}
package_libmariadbclient(){
- pkgdesc="${_pkgbase} client libraries (branch of ${__falsename})"
+ pkgdesc="${_pkgbase} client libraries (branch of ${_falsename})"
depends=('openssl')
- replaces=("lib${_falsename}client")
- conflicts=("lib${_falsename}client")
- provides=("lib${_falsename}client=${pkgver}")
+ conflicts=("lib${falsename}client")
+ provides=("lib${falsename}client=${pkgver}")
cd "${srcdir}"/build
- for dir in include lib${_falsename} lib${_falsename}d libservices; do
+ for dir in include lib${falsename} lib${falsename}d libservices; do
make -C ${dir} DESTDIR="${pkgdir}" install
done
install -d "${pkgdir}"/usr/bin
- install -m755 scripts/${_falsename}_config "${pkgdir}"/usr/bin/
+ install -m755 scripts/${falsename}_config "${pkgdir}"/usr/bin/
install -d "${pkgdir}"/usr/share/man/man1
- for man in ${_falsename}_config ${_falsename}_client_test_embedded ${_falsename}test_embedded; do
+ for man in ${falsename}_config ${falsename}_client_test_embedded ${falsename}test_embedded; do
install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
done
}
package_mariadb-clients(){
- pkgdesc="${_pkgbase} client tools (branch of ${__falsename})"
+ pkgdesc="${_pkgbase} client tools (branch of ${_falsename})"
depends=("lib${pkgbase}client")
- replaces=("${_falsename}-clients")
- conflicts=("${_falsename}-clients")
- provides=("${_falsename}-clients=${pkgver}")
+ conflicts=("${falsename}-clients")
+ provides=("${falsename}-clients=${pkgver}")
cd "${srcdir}"/build
make -C client DESTDIR="${pkgdir}" install
# install man pages
install -d "${pkgdir}"/usr/share/man/man1
- for man in ${_falsename} ${_falsename}admin ${_falsename}check ${_falsename}dump ${_falsename}import ${_falsename}show ${_falsename}slap; do
+ for man in ${falsename} ${falsename}admin ${falsename}check ${falsename}dump ${falsename}import ${falsename}show ${falsename}slap; do
install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
done
# provided by mariadb
- rm "${pkgdir}"/usr/bin/{${_falsename}_{plugin,upgrade},${_falsename}binlog,${_falsename}test}
+ rm "${pkgdir}"/usr/bin/{${falsename}_{plugin,upgrade},${falsename}binlog,${falsename}test}
}
package_mariadb(){
- pkgdesc="A fast SQL database server branch of ${__falsename} - ${_pkgbase}"
+ pkgdesc="A fast SQL database server branch of ${_falsename} - ${_pkgbase}"
backup=("etc/${pkgbase}/my.cnf")
- install=${pkgbase}.install
+ install=${falsename}.install
depends=("${pkgbase}-clients")
- optdepends=('perl-dbi' "perl-dbd-${_falsename}")
- replaces=("${_falsename}")
- conflicts=("${_falsename}")
- provides=("${_falsename}=${pkgver}")
+ optdepends=('perl-dbi' "perl-dbd-${falsename}")
+ conflicts=("${falsename}")
+ provides=("${falsename}=${pkgver}")
options=('emptydirs')
cd "${srcdir}"/build
make DESTDIR="${pkgdir}" install
- install -Dm644 "${srcdir}"/my.cnf "${pkgdir}"/etc/${pkgbase}/my.cnf
- install -Dm755 "${srcdir}"/${pkgbase}d "${pkgdir}"/etc/rc.d/${pkgbase}d
+ install -Dm644 "${srcdir}"/my.cnf "${pkgdir}"/etc/${falsename}/my.cnf
+ install -Dm755 "${srcdir}"/${falsename}d "${pkgdir}"/etc/rc.d/${falsename}d
# provided by libmariadbclient
- rm "${pkgdir}"/usr/bin/{${_falsename}_config,${_falsename}_client_test_embedded,${_falsename}test_embedded}
- rm "${pkgdir}"/usr/lib/lib${_falsename}*
+ rm "${pkgdir}"/usr/bin/{${falsename}_config,${falsename}_client_test_embedded,${falsename}test_embedded}
+ rm "${pkgdir}"/usr/lib/lib${falsename}*
rm -r "${pkgdir}"/usr/include/
- rm "${pkgdir}"/usr/share/man/man1/{${_falsename}_config,${_falsename}_client_test_embedded,${_falsename}test_embedded}.1
+ rm "${pkgdir}"/usr/share/man/man1/{${falsename}_config,${falsename}_client_test_embedded,${falsename}test_embedded}.1
# provided by mariadb-clients
- rm "${pkgdir}"/usr/bin/{${_falsename},${_falsename}admin,${_falsename}check,${_falsename}dump,${_falsename}import,${_falsename}show,${_falsename}slap}
- rm "${pkgdir}"/usr/share/man/man1/{${_falsename},${_falsename}admin,${_falsename}check,${_falsename}dump,${_falsename}import,${_falsename}show,${_falsename}slap}.1
+ rm "${pkgdir}"/usr/bin/{${falsename},${falsename}admin,${falsename}check,${falsename}dump,${falsename}import,${falsename}show,${falsename}slap}
+ rm "${pkgdir}"/usr/share/man/man1/{${falsename},${falsename}admin,${falsename}check,${falsename}dump,${falsename}import,${falsename}show,${falsename}slap}.1
# not needed
- rm -r "${pkgdir}"/usr/{data,${_falsename}-test,sql-bench}
- rm "${pkgdir}"/usr/share/man/man1/${_falsename}-test-run.pl.1
+ rm -r "${pkgdir}"/usr/{data,${falsename}-test,sql-bench}
+ rm "${pkgdir}"/usr/share/man/man1/${falsename}-test-run.pl.1
- install -dm700 "${pkgdir}"/var/lib/${pkgbase}
+ install -dm700 "${pkgdir}"/var/lib/${falsename}
}
diff --git a/libre/mariadb/mysql.install b/libre/mariadb/mysql.install
new file mode 100644
index 000000000..9a4479215
--- /dev/null
+++ b/libre/mariadb/mysql.install
@@ -0,0 +1,26 @@
+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
+ chown -R mysql:mysql var/lib/mysql &>/dev/null
+}
+
+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 [ "$(vercmp $2 5.5)" -lt 0 ]; then
+ echo " >> "
+ echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it."
+ echo " >> "
+ fi
+}
+
+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
+}
diff --git a/libre/mariadb/mysqld b/libre/mariadb/mysqld
new file mode 100644
index 000000000..1ac88a7cc
--- /dev/null
+++ b/libre/mariadb/mysqld
@@ -0,0 +1,77 @@
+#!/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 MySQL 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 MySQL 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