Commit 9ff0a57d authored by Otto Kekäläinen's avatar Otto Kekäläinen
Browse files

Implement systemd packaging the Debian way

Upstream uses CMAKE hacks to inject the systemd files when systemd
is available. Those CMAKE hacks cannot work in pure Debian packaging
that is generated by debbuilder etc.

These changes were also made in MariaDB 10.2 in commit
https://github.com/MariaDB/server/commit/c912d05fab9db5829c403432fddece257c75ece0
parent 34496a91
...@@ -9,6 +9,7 @@ Build-Depends: bison, ...@@ -9,6 +9,7 @@ Build-Depends: bison,
debhelper (>= 9), debhelper (>= 9),
dh-apparmor, dh-apparmor,
dh-exec, dh-exec,
dh-systemd,
gdb, gdb,
libaio-dev [linux-any], libaio-dev [linux-any],
libboost-dev, libboost-dev,
...@@ -20,6 +21,7 @@ Build-Depends: bison, ...@@ -20,6 +21,7 @@ Build-Depends: bison,
libpam0g-dev, libpam0g-dev,
libpcre3-dev (>= 2:8.35-3.2~), libpcre3-dev (>= 2:8.35-3.2~),
libreadline-gplv2-dev, libreadline-gplv2-dev,
libsystemd-dev,
libxml2-dev, libxml2-dev,
lsb-release, lsb-release,
perl, perl,
......
...@@ -5,11 +5,15 @@ debian/additions/mariadb.conf.d/50-mysqld_safe.cnf etc/mysql/mariadb.conf.d ...@@ -5,11 +5,15 @@ debian/additions/mariadb.conf.d/50-mysqld_safe.cnf etc/mysql/mariadb.conf.d
debian/additions/mariadb.conf.d/50-server.cnf etc/mysql/mariadb.conf.d debian/additions/mariadb.conf.d/50-server.cnf etc/mysql/mariadb.conf.d
debian/additions/source_mariadb-10.1.py usr/share/apport/package-hooks debian/additions/source_mariadb-10.1.py usr/share/apport/package-hooks
etc/apparmor.d/usr.sbin.mysqld etc/apparmor.d/usr.sbin.mysqld
lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf
usr/bin/aria_chk usr/bin/aria_chk
usr/bin/aria_dump_log usr/bin/aria_dump_log
usr/bin/aria_ftdump usr/bin/aria_ftdump
usr/bin/aria_pack usr/bin/aria_pack
usr/bin/aria_read_log usr/bin/aria_read_log
usr/bin/galera_new_cluster
usr/bin/galera_recovery
usr/bin/mariadb-service-convert
usr/bin/msql2mysql usr/bin/msql2mysql
usr/bin/my_print_defaults usr/bin/my_print_defaults
usr/bin/myisam_ftdump usr/bin/myisam_ftdump
......
...@@ -125,6 +125,10 @@ override_dh_auto_install: ...@@ -125,6 +125,10 @@ override_dh_auto_install:
# If Mroonga plugin was not built skip the package # If Mroonga plugin was not built skip the package
[ -f $(BUILDDIR)/storage/mroonga/ha_mroonga.so ] || sed -i -e "/Package: mariadb-plugin-mroonga/,+11d" debian/control [ -f $(BUILDDIR)/storage/mroonga/ha_mroonga.so ] || sed -i -e "/Package: mariadb-plugin-mroonga/,+11d" debian/control
# Copy systemd files to a location available for dh_installinit
cp $(BUILDDIR)/support-files/mariadb.service debian/mariadb-server-10.1.mariadb.service
cp $(BUILDDIR)/support-files/mariadb@.service debian/mariadb-server-10.1.mariadb@.service
# make install # make install
cd $(BUILDDIR) && $(MAKE) install DESTDIR=$(TMP) cd $(BUILDDIR) && $(MAKE) install DESTDIR=$(TMP)
...@@ -145,10 +149,15 @@ override_dh_auto_install: ...@@ -145,10 +149,15 @@ override_dh_auto_install:
override_dh_installlogrotate-arch: override_dh_installlogrotate-arch:
dh_installlogrotate --name mysql-server 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 # Start mysql at sequence number 19 before 20 where apache, proftpd etc gets
# started which might depend on a running database server. # started which might depend on a running database server.
override_dh_installinit-arch: override_dh_installinit-arch:
dh_installinit --name=mysql -- defaults 19 21 dh_installinit --name=mysql -- defaults 19 21
dh_systemd_start --restart-after-upgrade
override_dh_installcron-arch: override_dh_installcron-arch:
dh_installcron --name mysql-server dh_installcron --name mysql-server
...@@ -157,6 +166,6 @@ get-orig-source: ...@@ -157,6 +166,6 @@ get-orig-source:
uscan --force-download --verbose uscan --force-download --verbose
%: %:
dh $@ --parallel dh $@ --parallel --with systemd
# vim: ts=8 # vim: ts=8
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment