summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorOtto Kekäläinen <otto@mariadb.org>2016-10-29 02:43:45 +0300
committerOtto Kekäläinen <otto@mariadb.org>2016-10-29 03:50:11 +0300
commitc912d05fab9db5829c403432fddece257c75ece0 (patch)
tree01eb9869279006802255e32f1cf73f7aee5bebb3 /debian
parent7316b14144ceeed40dc976b9b5f2aa97f07a3eb3 (diff)
downloadmariadb-git-c912d05fab9db5829c403432fddece257c75ece0.tar.gz
MDEV-6284: Install systemd files (almost) the Debian way
The control file contents must be correct from the start and cannot be modified at build time by CMake. Also all static Debian package analyzers will fail to see all manipulations by CMake later on. It is best to do all manipulations like these in autobake-deb.sh.
Diffstat (limited to 'debian')
-rwxr-xr-xdebian/autobake-deb.sh14
-rw-r--r--debian/control2
-rw-r--r--debian/mariadb-server-10.2.install (renamed from debian/mariadb-server-10.2.install.in)5
-rwxr-xr-xdebian/rules14
4 files changed, 30 insertions, 5 deletions
diff --git a/debian/autobake-deb.sh b/debian/autobake-deb.sh
index f8d313204d2..1201e28009f 100755
--- a/debian/autobake-deb.sh
+++ b/debian/autobake-deb.sh
@@ -60,6 +60,20 @@ then
sed '/libpcre3-dev/d' -i debian/control
fi
+# If libsystemd-dev is not available (before Debian Jessie or Ubuntu Wily)
+# clean away the systemd stanzas so the package can build without them.
+if ! apt-cache madison libsystemd-dev | grep 'libsystemd-dev' >/dev/null 2>&1
+then
+ sed '/dh-systemd/d' -i debian/control
+ sed '/libsystemd-dev/d' -i debian/control
+ sed 's/ --with systemd//' -i debian/rules
+ sed '/systemd/d' -i debian/rules
+ sed '/\.service/d' -i debian/rules
+ sed '/galera_new_cluster/d' -i debian/mariadb-server-10.2.install
+ sed '/galera_recovery/d' -i debian/mariadb-server-10.2.install
+ sed '/mariadb-service-convert/d' -i debian/mariadb-server-10.2.install
+fi
+
# On Travis-CI, the log must stay under 4MB so make the build less verbose
if [[ $TRAVIS ]]
then
diff --git a/debian/control b/debian/control
index b9cfeff7684..cd36704ea63 100644
--- a/debian/control
+++ b/debian/control
@@ -7,6 +7,7 @@ Build-Depends: bison,
cmake (>= 2.7),
debhelper (>= 9),
dh-apparmor,
+ dh-systemd,
dpatch,
libaio-dev [linux-any],
libboost-dev,
@@ -19,6 +20,7 @@ Build-Depends: bison,
libpcre3-dev (>= 2:8.35-3.2~),
libreadline-gplv2-dev,
libssl-dev,
+ libsystemd-dev,
libxml2-dev,
libnuma-dev,
lsb-release,
diff --git a/debian/mariadb-server-10.2.install.in b/debian/mariadb-server-10.2.install
index fb435af3034..e8470b757c0 100644
--- a/debian/mariadb-server-10.2.install.in
+++ b/debian/mariadb-server-10.2.install
@@ -63,4 +63,7 @@ usr/share/mysql/mysql_system_tables.sql
usr/share/mysql/mysql_system_tables_data.sql
usr/share/mysql/mysql_test_data_timezone.sql
usr/share/mysql/wsrep_notify
-@SYSTEMD_DEB_FILES@
+usr/bin/galera_new_cluster
+usr/bin/galera_recovery
+usr/bin/mariadb-service-convert
+lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf
diff --git a/debian/rules b/debian/rules
index eca59c5b1f7..b0a4ceddca9 100755
--- a/debian/rules
+++ b/debian/rules
@@ -129,6 +129,10 @@ override_dh_auto_install:
# If Spider plugin was not built skip the package
[ -f $(BUILDDIR)/storage/spider/ha_spider.so ] || sed -i -e "/Package: mariadb-plugin-spider/,+14d" debian/control
+ # Copy systemd files to a location available for dh_installinit
+ cp $(BUILDDIR)/support-files/mariadb.service debian/mariadb-server-10.2.mariadb.service
+ cp $(BUILDDIR)/support-files/mariadb@.service debian/mariadb-server-10.2.mariadb@.service
+
# make install
cd $(BUILDDIR) && $(MAKE) install DESTDIR=$(TMP)
@@ -158,13 +162,15 @@ override_dh_auto_install:
override_dh_installlogrotate-arch:
dh_installlogrotate --name mysql-server
+override_dh_systemd_enable:
+ dh_systemd_enable --name=mariadb
+ dh_systemd_enable --no-enable --name=mariadb@
+
# Start mysql at sequence number 19 before 20 where apache, proftpd etc gets
# started which might depend on a running database server.
override_dh_installinit-arch:
- if [ -x /usr/bin/dh_systemd_enable -a -f debian/mariadb-server-10.2/lib/systemd/system/mariadb.service ]; then dh_systemd_enable -pmariadb-server-10.2 mariadb.service; fi
- if [ -x /usr/bin/dh_systemd_enable -a -f debian/mariadb-server-10.2/lib/systemd/system/mariadb@.service ]; then dh_systemd_enable --no-enable -pmariadb-server-10.2 mariadb@.service; fi
dh_installinit --name=mysql -- defaults 19 21
- if [ -x /usr/bin/dh_systemd_start -a -f debian/mariadb-server-10.2/lib/systemd/system/mariadb.service ]; then dh_systemd_start -pmariadb-server-10.2 --restart-after-upgrade mariadb.service; fi
+ dh_systemd_start --restart-after-upgrade
override_dh_installcron-arch:
dh_installcron --name mysql-server
@@ -173,6 +179,6 @@ get-orig-source:
uscan --force-download --verbose
%:
- dh $@ --parallel --with dpatch
+ dh $@ --parallel --with dpatch --with systemd
# vim: ts=8