commit e5f31a3469d12289bf36c6912baa77df89e76585
Author: Mateusz Korniak <[email protected]>
Date:   Sat Feb 20 23:49:24 2016 +0100

    Added handling lxc-stop SIGPWR via stolen from Ubuntu service.

 sigpwr-container-shutdown.service |  7 +++++++
 systemd.spec                      | 12 +++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)
---
diff --git a/systemd.spec b/systemd.spec
index 3bc27ee..1f3c6f1 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -28,7 +28,7 @@ Summary(pl.UTF-8):    systemd - zarządca systemu i usług dla 
Linuksa
 Name:          systemd
 # Verify ChangeLog and NEWS when updating (since there are 
incompatible/breaking changes very often)
 Version:       221
-Release:       12
+Release:       12.1
 Epoch:         1
 License:       GPL v2+ (udev), LGPL v2.1+ (the rest)
 Group:         Base
@@ -49,6 +49,8 @@ Source16:     pld-rc-inetd-generator.sh
 Source17:      rc-inetd.service
 Source18:      default.preset
 Source19:      prefdm.service
+Source20:      sigpwr-container-shutdown.service
+
 # rules
 Source101:     udev-alsa.rules
 Source102:     udev.rules
@@ -824,6 +826,11 @@ ln -s ../pld-storage-init-late.service 
$RPM_BUILD_ROOT%{systemdunitdir}/local-fs
 ln -s ../pld-storage-init.service 
$RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants
 ln -s ../pld-clean-tmp.service 
$RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants
 
+# Add inside container only SIGPWR handler which is used by lxc-stop
+install -p %{SOURCE20} 
$RPM_BUILD_ROOT%{systemdunitdir}/sigpwr-container-shutdown.service
+install -d $RPM_BUILD_ROOT%{systemdunitdir}/sigpwr.target.wants
+ln -s  ../sigpwr-container-shutdown.service  
$RPM_BUILD_ROOT%{systemdunitdir}/sigpwr.target.wants
+
 # As of 207 the systemd-sysctl tool no longer natively reads the file 
/etc/sysctl.conf.
 # If desired, the file should be symlinked from /etc/sysctl.d/99-sysctl.conf.
 ln -s /etc/sysctl.conf $RPM_BUILD_ROOT/etc/sysctl.d/99-sysctl.conf
@@ -1570,6 +1577,7 @@ fi
 %{systemdunitdir}/rescue.service
 %{systemdunitdir}/[email protected]
 %{systemdunitdir}/single.service
+%{systemdunitdir}/sigpwr-container-shutdown.service
 %{systemdunitdir}/sys-kernel-config.service
 %{systemdunitdir}/systemd-ask-password-console.service
 %{systemdunitdir}/systemd-ask-password-wall.service
@@ -1711,6 +1719,7 @@ fi
 %dir %{systemdunitdir}/rescue.target.wants
 %dir %{systemdunitdir}/runlevel[12345].target.wants
 %dir %{systemdunitdir}/shutdown.target.wants
+%dir %{systemdunitdir}/sigpwr.target.wants
 %dir %{systemdunitdir}/sockets.target.wants
 %dir %{systemdunitdir}/sysinit.target.wants
 %dir %{systemdunitdir}/syslog.target.wants
@@ -1741,6 +1750,7 @@ fi
 %{systemdunitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service
 %{systemdunitdir}/multi-user.target.wants/systemd-user-sessions.service
 %{systemdunitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service
+%{systemdunitdir}/sigpwr.target.wants/sigpwr-container-shutdown.service
 %{systemdunitdir}/sockets.target.wants/systemd-initctl.socket
 %{systemdunitdir}/sockets.target.wants/systemd-journald-audit.socket
 %{systemdunitdir}/sockets.target.wants/systemd-journald-dev-log.socket
diff --git a/sigpwr-container-shutdown.service 
b/sigpwr-container-shutdown.service
new file mode 100644
index 0000000..3abc69e
--- /dev/null
+++ b/sigpwr-container-shutdown.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Shut down containers on SIGPWR
+ConditionVirtualization=container
+
+[Service]
+Type=oneshot
+ExecStart=/bin/systemctl --no-block poweroff
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/systemd.git/commitdiff/e5f31a3469d12289bf36c6912baa77df89e76585

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to