From: Václav Pavlín Date: Thu, 25 Oct 2012 10:10:55 +0000 (+0200) Subject: spec: replace scriptlets with new systemd macros X-Git-Tag: CVE-2012-3411~157 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ec02d49dfd98313d1c8c4179e88754f10a82ca46;p=thirdparty%2Flibvirt.git spec: replace scriptlets with new systemd macros https://bugzilla.redhat.com/850186 I added %with_systemd_macros so it should now work in F17 with old scriptlets and in F18+/RHEL7+ with systemd macros (see https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd) I missed libvirt-guests.service because there is no systemctl call for it. So I only added systemd macros calls. --- diff --git a/libvirt.spec.in b/libvirt.spec.in index b6ded04b09..9aa2fb2ed6 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -319,6 +319,13 @@ %define with_rhel5 0 %endif +%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 +%define with_systemd_macros 1 +%else +%define with_systemd_macros 0 +%endif + + Summary: Library providing a simple virtualization API Name: libvirt Version: @VERSION@ @@ -1465,10 +1472,14 @@ done %endif %if %{with_systemd} +%if %{with_systemd_macros} +%systemd_post libvirtd.service +%else if [ $1 -eq 1 ] ; then # Initial installation /bin/systemctl enable libvirtd.service >/dev/null 2>&1 || : fi +%endif %else %if %{with_cgconfig} # Starting with Fedora 16/RHEL-7, systemd automounts all cgroups, @@ -1488,11 +1499,15 @@ fi %preun daemon %if %{with_systemd} +%if %{with_systemd_macros} +%systemd_preun libvirtd.service +%else if [ $1 -eq 0 ] ; then # Package removal, not upgrade /bin/systemctl --no-reload disable libvirtd.service > /dev/null 2>&1 || : /bin/systemctl stop libvirtd.service > /dev/null 2>&1 || : fi +%endif %else if [ $1 = 0 ]; then /sbin/service libvirtd stop 1>/dev/null 2>&1 @@ -1502,12 +1517,16 @@ fi %postun daemon %if %{with_systemd} +%if %{with_systemd_macros} +%systemd_postun_with_restart libvirtd.service +%else /bin/systemctl daemon-reload >/dev/null 2>&1 || : if [ $1 -ge 1 ] ; then # Package upgrade, not uninstall /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : fi %endif +%endif %if %{with_network} %post daemon-config-network @@ -1538,6 +1557,9 @@ fi %preun client %if %{with_systemd} +%if %{with_systemd_macros} +%systemd_preun libvirt-guests.service +%endif %else if [ $1 = 0 ]; then /sbin/chkconfig --del libvirt-guests @@ -1549,6 +1571,9 @@ fi /sbin/ldconfig %if %{with_systemd} +%if %{with_systemd_macros} +%systemd_post libvirt-guests.service +%endif %else /sbin/chkconfig --add libvirt-guests %endif @@ -1556,6 +1581,9 @@ fi %postun client -p /sbin/ldconfig %if %{with_systemd} +%if %{with_systemd_macros} +%systemd_postun_with_restart libvirt-guests.service +%endif %triggerun client -- libvirt < 0.9.4 %{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||: