Fix systemd_ RPM macros usage on Debian-based distributions
Debian-based distributions do not seem to provide RPM macros for dealing with systemd pre- and post- (un)install actions: this results in errors when installing or upgrading .deb packages because the resulting control scripts contain the following unresolved macros: * %systemd_post * %systemd_preun * %systemd_postun Fix this by providing default values for postinstall, preuninstall and postuninstall scripts when these macros are not defined. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov> Signed-off-by: loli10K <ezomori.nozomu@gmail.com> Closes #7074 Closes #7100
This commit is contained in:
parent
ecc972c7f0
commit
29b79dcfe9
|
@ -245,8 +245,15 @@ find %{?buildroot}%{_libdir} -name '*.la' -exec rm -f {} \;
|
|||
|
||||
%post
|
||||
%if 0%{?_systemd}
|
||||
%if 0%{?systemd_post:1}
|
||||
%systemd_post %{systemd_svcs}
|
||||
%else
|
||||
if [ "$1" = "1" -o "$1" = "install" ] ; then
|
||||
# Initial installation
|
||||
systemctl preset %{systemd_svcs} >/dev/null || true
|
||||
fi
|
||||
%endif
|
||||
%else
|
||||
if [ -x /sbin/chkconfig ]; then
|
||||
/sbin/chkconfig --add zfs-import
|
||||
/sbin/chkconfig --add zfs-mount
|
||||
|
@ -258,9 +265,17 @@ exit 0
|
|||
|
||||
%preun
|
||||
%if 0%{?_systemd}
|
||||
%if 0%{?systemd_preun:1}
|
||||
%systemd_preun %{systemd_svcs}
|
||||
%else
|
||||
if [ "$1" = "0" ] && [ -x /sbin/chkconfig ]; then
|
||||
if [ "$1" = "0" -o "$1" = "remove" ] ; then
|
||||
# Package removal, not upgrade
|
||||
systemctl --no-reload disable %{systemd_svcs} >/dev/null || true
|
||||
systemctl stop %{systemd_svcs} >/dev/null || true
|
||||
fi
|
||||
%endif
|
||||
%else
|
||||
if [ "$1" = "0" -o "$1" = "remove" ] && [ -x /sbin/chkconfig ]; then
|
||||
/sbin/chkconfig --del zfs-import
|
||||
/sbin/chkconfig --del zfs-mount
|
||||
/sbin/chkconfig --del zfs-share
|
||||
|
@ -271,7 +286,11 @@ exit 0
|
|||
|
||||
%postun
|
||||
%if 0%{?_systemd}
|
||||
%if 0%{?systemd_postun:1}
|
||||
%systemd_postun %{systemd_svcs}
|
||||
%else
|
||||
systemctl --system daemon-reload >/dev/null || true
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%files
|
||||
|
|
Loading…
Reference in New Issue