packages: rpm-build-macros/rpm.macros - added trigger for service migration...
baggins
baggins at pld-linux.org
Fri Jan 27 14:08:18 CET 2012
Author: baggins Date: Fri Jan 27 13:08:18 2012 GMT
Module: packages Tag: HEAD
---- Log message:
- added trigger for service migration to systemd, without the need of separate
-systemd subpackages
---- Files affected:
packages/rpm-build-macros:
rpm.macros (1.634 -> 1.635)
---- Diffs:
================================================================
Index: packages/rpm-build-macros/rpm.macros
diff -u packages/rpm-build-macros/rpm.macros:1.634 packages/rpm-build-macros/rpm.macros:1.635
--- packages/rpm-build-macros/rpm.macros:1.634 Wed Jan 25 23:07:15 2012
+++ packages/rpm-build-macros/rpm.macros Fri Jan 27 14:08:13 2012
@@ -2051,33 +2051,49 @@
%{nil}
-# pre/post script for -systemd subpackages
+# pre/post script for packages supporting systemd units
#
# Author: Bartlomiej Zimon <uzi18 at o2.pl>
#
# 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 \
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/rpm-build-macros/rpm.macros?r1=1.634&r2=1.635&f=u
More information about the pld-cvs-commit
mailing list