From 7495b1a7797df44b29201a3369adc2a42d89439e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Tue, 20 Mar 2018 16:55:12 +0000 Subject: [PATCH] rpm: fix incorrect expansion of macros with line continuations for args MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Macros in RPMs are expanded before line continuations, so when we write %systemd_preun foo \ bar What happens is that it expands to if [ $1 -eq 0 ] ; then # Package removal, not upgrade systemctl --no-reload disable --now foo \ > /dev/null 2>&1 || : fi bar which is obviously complete garbage and not what we expected. It is simply not safe to ever use line continuations in combination with macros. Reviewed-by: Laine Stump Signed-off-by: Daniel P. Berrangé --- libvirt.spec.in | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index d6e387951b..b55a947ec9 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -1519,9 +1519,9 @@ exit 0 %if %{with_systemd} %if %{with_systemd_macros} - %systemd_post virtlockd.socket virtlockd-admin.socket \ - virtlogd.socket virtlogd-admin.socket \ - libvirtd.service + %systemd_post virtlockd.socket virtlockd-admin.socket + %systemd_post virtlogd.socket virtlogd-admin.socket + %systemd_post libvirtd.service %else if [ $1 -eq 1 ] ; then # Initial installation @@ -1556,9 +1556,9 @@ touch %{_localstatedir}/lib/rpm-state/libvirt/restart || : %preun daemon %if %{with_systemd} %if %{with_systemd_macros} - %systemd_preun libvirtd.service \ - virtlogd.socket virtlogd-admin.socket virtlogd.service \ - virtlockd.socket virtlockd-admin.socket virtlockd.service + %systemd_preun libvirtd.service + %systemd_preun virtlogd.socket virtlogd-admin.socket virtlogd.service + %systemd_preun virtlockd.socket virtlockd-admin.socket virtlockd.service %else if [ $1 -eq 0 ] ; then # Package removal, not upgrade -- 2.47.2