From: Jan Rękorajski Date: Fri, 27 Jan 2012 13:08:13 +0000 (+0000) Subject: - added trigger for service migration to systemd, without the need of separate X-Git-Tag: auto/th/rpm-build-macros-1_636-1~2 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?p=packages%2Frpm-build-macros.git;a=commitdiff_plain;h=22fb5d900a49ed86c1a8bb621831a8e2b0557b61;hp=0996175992b34613ba51b5e66a12cfc36ed7a997 - added trigger for service migration to systemd, without the need of separate -systemd subpackages Changed files: rpm.macros -> 1.635 --- diff --git a/rpm.macros b/rpm.macros index b0caa45..31d5443 100644 --- a/rpm.macros +++ b/rpm.macros @@ -2051,34 +2051,50 @@ fi; \ %{nil} -# pre/post script for -systemd subpackages +# pre/post script for packages supporting systemd units # # Author: Bartlomiej Zimon # # Usage: # %systemd_reload # %systemd_post service_name1.service service_name2.service -# %systemd_preun service_name1.service service_name2.service +# %systemd_preun service_name1.service service_name2.service +# %systend_trigger service_name1.service service_name2.service # # Sample: -# %post systemd -# %systemd_reload -# or if service must be enabled by default: -# %post systemd +# %post # %systemd_post %{name}.service # -# %preun systemd +# %preun # %systemd_preun %{name}.service # -# %postun systemd +# %postun # %systemd_reload # +# %triggerpostun -- %{name} < first-version-with-systemd-units +# %systemd_trigger %{name}.service +# # Requirements: # BuildRequires: rpmbuild(macros) >= 1.627 # Requires: systemd-units >= 37-0.10 %systemd_reload /bin/systemd_booted && SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog /bin/systemctl --quiet daemon-reload || : +%systemd_trigger() \ +want_enable_service() { \ + [ -f /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm \ + [ ${RPM_ENABLE_SYSTEMD_SERVICE:-yes} = no ] && return 1 \ + /sbin/chkconfig --list ${1%.service} 2>/dev/null | grep -qsv "[0-6]:on" && return 1 \ + return 0 \ +}\ + export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \ + for s in %{*}; do \ + if want_enable_service $s; then \ + /bin/systemctl --quiet enable $s || : \ + fi \ + done \ +%{nil} + %systemd_post() \ export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \ /bin/systemd_booted && /bin/systemctl --quiet daemon-reload || : \