[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#816686: jessie-pu: package systemd/215-17+deb8u4



Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu

Dear release team,

a few fixes have piled up in our systemd jessie branch, so I'd like to
make a stable upload for 8.4.

The annotated changelog is:

systemd (215-17+deb8u4) stable; urgency=medium

  [ Martin Pitt ]
  * debian/udev.prerm: Add missing "deconfigure" action. (Closes: #809744)

https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/commit/?h=jessie&id=966a8a4098478e13694e054b90c3567474293d37

  * udev.postinst: Don't call addgroup with --quiet, so that if the "input"
    group already exists as a non-system group you get a sensible error
    message. Some broken tutorials forget the --system option.
    (Closes: #769948, LP: #1455956)
  * systemd.postinst: Drop the --quiet from the addgroup calls as well, same
    reason as above. (Closes: #762275)

https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/commit/?h=jessie&id=22dbdc16557cd294a24bf0ed319e93c6788409e1

  [ Michael Biebl ]
  * Make sure all swap units are ordered before the swap target. This avoids
    that swap devices are being stopped prematurely during shutdown.
    (Closes: #805133)

https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/commit/?h=jessie&id=c4793975137d5d522fee104b7dab94a79547effd

This is a rather important fix. Software might need the swap space on
shutdown. Not having it around might lead to corrupt data.

This fix has been in unstable/testing for a while.

  * Only skip the filesystem check for /usr if the /run/initramfs/fsck-usr
    flag file exists. Otherwise we break booting with dracut which uses
    systemd inside the initramfs. (Closes: #810748)

https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/commit/?h=jessie&id=447f0bc15b247550bc50306e1c6000a56d8d68b0

Without this fix, having split-usr and dracut installed will result in
an unbootable system. The fix has been in unstable/testing for a while.

  * Fix --network-interface in systemd-nspawn to not fail when modifying an
    existing link. (Closes: #813696)

https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/commit/?h=jessie&id=df6ebb6fa044c71e38a585e1bbd4d1dc0907d993

Obvious bug fix. Not a terribly important bug, but we had users asking for
an explit backport/cherry-pick of this upstream fix an I see no good
reason why no. Low/No regression potential.

 -- Michael Biebl <biebl@debian.org>  Thu, 03 Mar 2016 19:51:22 +0100

Full debdiff is attached.

Please let me know if I can proceed with the upload.

Regards,
Michael


-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (200, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.4.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff --git a/debian/changelog b/debian/changelog
index e7f31e9..974bbb0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,26 @@
+systemd (215-17+deb8u4) stable; urgency=medium
+
+  [ Martin Pitt ]
+  * debian/udev.prerm: Add missing "deconfigure" action. (Closes: #809744)
+  * udev.postinst: Don't call addgroup with --quiet, so that if the "input"
+    group already exists as a non-system group you get a sensible error
+    message. Some broken tutorials forget the --system option.
+    (Closes: #769948, LP: #1455956)
+  * systemd.postinst: Drop the --quiet from the addgroup calls as well, same
+    reason as above. (Closes: #762275)
+
+  [ Michael Biebl ]
+  * Make sure all swap units are ordered before the swap target. This avoids
+    that swap devices are being stopped prematurely during shutdown.
+    (Closes: #805133)
+  * Only skip the filesystem check for /usr if the /run/initramfs/fsck-usr
+    flag file exists. Otherwise we break booting with dracut which uses
+    systemd inside the initramfs. (Closes: #810748)
+  * Fix --network-interface in systemd-nspawn to not fail when modifying an
+    existing link. (Closes: #813696)
+
+ -- Michael Biebl <biebl@debian.org>  Thu, 03 Mar 2016 19:51:22 +0100
+
 systemd (215-17+deb8u3) stable; urgency=medium
 
   * Fix namespace breakage due to incorrect path sorting. (Closes: #787758)
diff --git a/debian/patches/Skip-filesystem-check-if-already-done-by-the-initram.patch b/debian/patches/Skip-filesystem-check-if-already-done-by-the-initram.patch
index 70ab1ed..851d1a6 100644
--- a/debian/patches/Skip-filesystem-check-if-already-done-by-the-initram.patch
+++ b/debian/patches/Skip-filesystem-check-if-already-done-by-the-initram.patch
@@ -1,35 +1,48 @@
-From: Michael Biebl <biebl@debian.org>
-Date: Mon, 13 Apr 2015 19:34:23 +0200
+From: Nis Martensen <nis.martensen@web.de>
+Date: Tue, 19 Jan 2016 22:01:43 +0100
 Subject: Skip filesystem check if already done by the initramfs
 
 Newer versions of initramfs-tools already fsck and mount / and /usr in
 the initramfs. Skip the filesystem check in this case.
 
+Based on a previous patch by Michael Biebl <biebl@debian.org>.
+
 Closes: #782522
+Closes: #810748
 ---
- src/fstab-generator/fstab-generator.c | 4 +++-
- units/systemd-fsck-root.service.in    | 1 +
- 2 files changed, 4 insertions(+), 1 deletion(-)
+ src/fstab-generator/fstab-generator.c | 11 ++++++++---
+ units/systemd-fsck-root.service.in    |  1 +
+ 2 files changed, 9 insertions(+), 3 deletions(-)
 
 diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
-index cb3d9dc..3323884 100644
+index cb3d9dc..1557fb2 100644
 --- a/src/fstab-generator/fstab-generator.c
 +++ b/src/fstab-generator/fstab-generator.c
-@@ -163,11 +163,13 @@ static bool mount_is_network(struct mntent *me) {
- }
- 
- static bool mount_in_initrd(struct mntent *me) {
+@@ -188,6 +188,7 @@ static int add_mount(
+                 *filtered = NULL;
+         _cleanup_fclose_ FILE *f = NULL;
+         int r;
 +        struct stat sb;
-+
-         assert(me);
  
-         return
-                 hasmntopt(me, "x-initrd.mount") ||
--                streq(me->mnt_dir, "/usr");
-+                (streq(me->mnt_dir, "/usr") && stat("/run/initramfs/fsck-usr", &sb) == 0);
- }
+         assert(what);
+         assert(where);
+@@ -241,9 +242,13 @@ static int add_mount(
+                 fprintf(f, "Before=%s\n", post);
+ 
+         if (passno != 0) {
+-                r = generator_write_fsck_deps(f, arg_dest, what, where, fstype);
+-                if (r < 0)
+-                        return r;
++                if (streq(where, "/usr") && stat("/run/initramfs/fsck-usr", &sb) == 0)
++                        ; /* skip /usr fsck if it has already been checked in the initramfs */
++                else {
++                        r = generator_write_fsck_deps(f, arg_dest, what, where, fstype);
++                        if (r < 0)
++                                return r;
++                }
+         }
  
- static int add_mount(
+         fprintf(f,
 diff --git a/units/systemd-fsck-root.service.in b/units/systemd-fsck-root.service.in
 index 4162983..0668107 100644
 --- a/units/systemd-fsck-root.service.in
diff --git a/debian/patches/make-sure-all-swap-units-are-ordered-before-the-swap-targ.patch b/debian/patches/make-sure-all-swap-units-are-ordered-before-the-swap-targ.patch
new file mode 100644
index 0000000..a3bd750
--- /dev/null
+++ b/debian/patches/make-sure-all-swap-units-are-ordered-before-the-swap-targ.patch
@@ -0,0 +1,45 @@
+From: Franck Bui <fbui@suse.com>
+Date: Mon, 23 Nov 2015 11:14:10 +0100
+Subject: make sure all swap units are ordered before the swap target
+
+When shutting down the system, the swap devices can be disabled long
+time before the swap target is stopped. They're actually the first
+units systemd turns off on my system.
+
+This is incorrect and due to swap devices having multiple associated
+swap unit files. The main one is usually created by the fstab
+generator and is used to start the swap device.
+
+Once done, systemd creates some 'alias' units for the same swap
+device, one for each swap dev link. But those units are missing an
+ordering dependencies which was created by the fstab generator for the
+main swap unit.
+
+Therefore during shutdown those 'alias' units can be stopped at
+anytime before unmount.target target.
+
+This patch makes sure that all swap units are stopped after the
+swap.target target.
+
+(cherry-picked from commit 8bf23dc757dacaaf5a8d2c21aabf71aee08d1a04)
+---
+ src/core/swap.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/core/swap.c b/src/core/swap.c
+index 020cbcb..cddb6b2 100644
+--- a/src/core/swap.c
++++ b/src/core/swap.c
+@@ -224,6 +224,12 @@ static int swap_add_default_dependencies(Swap *s) {
+         if (detect_container(NULL) > 0)
+                 return 0;
+ 
++        /* swap units generated for the swap dev links are missing the
++         * ordering dep against the swap target. */
++        r = unit_add_dependency_by_name(UNIT(s), UNIT_BEFORE, SPECIAL_SWAP_TARGET, NULL, true);
++        if (r < 0)
++                return r;
++
+         r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true);
+         if (r < 0)
+                 return r;
diff --git a/debian/patches/nspawn-fix-network-interface.patch b/debian/patches/nspawn-fix-network-interface.patch
new file mode 100644
index 0000000..10fa74f
--- /dev/null
+++ b/debian/patches/nspawn-fix-network-interface.patch
@@ -0,0 +1,22 @@
+From: Tom Gundersen <teg@jklm.no>
+Date: Thu, 28 Aug 2014 12:15:51 +0200
+Subject: nspawn: fix --network-interface
+
+Use SETLINK when modifying an existing link.
+---
+ src/nspawn/nspawn.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
+index c13e625..85191ce 100644
+--- a/src/nspawn/nspawn.c
++++ b/src/nspawn/nspawn.c
+@@ -1760,7 +1760,7 @@ static int move_network_interfaces(pid_t pid) {
+                 if (ifi < 0)
+                         return ifi;
+ 
+-                r = sd_rtnl_message_new_link(rtnl, &m, RTM_NEWLINK, ifi);
++                r = sd_rtnl_message_new_link(rtnl, &m, RTM_SETLINK, ifi);
+                 if (r < 0) {
+                         log_error("Failed to allocate netlink message: %s", strerror(-r));
+                         return r;
diff --git a/debian/patches/series b/debian/patches/series
index c5ca9d2..3d80328 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -156,6 +156,8 @@ cryptsetup-Fix-timeout-on-dm-device.patch
 core-only-set-the-kernel-s-timezone-when-the-RTC-runs-in-.patch
 delta-Fix-broken-separator-support.patch
 sd-dhcp-client-make-request-broadcasts-configurable.patch
+make-sure-all-swap-units-are-ordered-before-the-swap-targ.patch
+nspawn-fix-network-interface.patch
 
 ## Debian specific patches:
 Add-back-support-for-Debian-specific-config-files.patch
diff --git a/debian/systemd.postinst b/debian/systemd.postinst
index 7a45dbf..1e7290c 100644
--- a/debian/systemd.postinst
+++ b/debian/systemd.postinst
@@ -97,7 +97,7 @@ fi
 systemd-machine-id-setup
 
 # Setup system users and groups
-addgroup --quiet --system systemd-journal
+addgroup --system systemd-journal
 
 adduser --quiet --system --group --no-create-home --home /run/systemd \
     --gecos "systemd Time Synchronization" systemd-timesync
diff --git a/debian/udev.postinst b/debian/udev.postinst
index c2ac854..5d17fe8 100644
--- a/debian/udev.postinst
+++ b/debian/udev.postinst
@@ -147,7 +147,7 @@ case "$1" in
     update_hwdb
 
     # Add new system group used by udev rules
-    addgroup --quiet --system input
+    addgroup --system input
 
     if [ -z "$2" ]; then # first install
       if ! chrooted && ! in_debootstrap; then
diff --git a/debian/udev.prerm b/debian/udev.prerm
index 31e105c..3449049 100644
--- a/debian/udev.prerm
+++ b/debian/udev.prerm
@@ -20,7 +20,7 @@ case "$1" in
     fi
     ;;
 
-    upgrade)
+    upgrade|deconfigure)
     ;;
 
     *)

Reply to: