[arch-commits] Commit in systemd/trunk (4 files)

Dave Reisner dreisner at archlinux.org
Thu Jan 26 13:47:16 UTC 2012


    Date: Thursday, January 26, 2012 @ 08:47:15
  Author: dreisner
Revision: 147676

upgpkg: systemd 39-2

- backport patch to fix automount regression
- add $pkgdir/var/lib/systemd for logind

Added:
  systemd/trunk/0001-mount-fix-automount-regression.patch
Modified:
  systemd/trunk/PKGBUILD
Deleted:
  systemd/trunk/0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch
  systemd/trunk/0001-units-make-sure-syslog-socket-goes-away-early-during.patch

-----------------------------------------------------------------+
 0001-mount-fix-automount-regression.patch                       |   45 +++++
 0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch |   87 ----------
 0001-units-make-sure-syslog-socket-goes-away-early-during.patch |   26 --
 PKGBUILD                                                        |   14 +
 4 files changed, 56 insertions(+), 116 deletions(-)

Added: 0001-mount-fix-automount-regression.patch
===================================================================
--- 0001-mount-fix-automount-regression.patch	                        (rev 0)
+++ 0001-mount-fix-automount-regression.patch	2012-01-26 13:47:15 UTC (rev 147676)
@@ -0,0 +1,45 @@
+From da375869ff31f83938123dc0d2a8d5c0f0845a0c Mon Sep 17 00:00:00 2001
+From: Michal Schmidt <mschmidt at redhat.com>
+Date: Thu, 26 Jan 2012 01:19:19 +0100
+Subject: [PATCH] mount: fix automount regression
+
+Tom Gundersen noticed a regression where comment=systemd.automount in
+fstab no longer prevented the adding of the After=foo.mount dependency
+into local-fs.target. He bisected it to commit 9ddc4a26.
+
+It turns out that clearing the default_dependencies flag is necessary
+after all, in order to avoid complementing of Wants= with After= in the
+target unit. We still want to add the dependencies on quota units and
+umount.target though.
+---
+ src/mount.c |    7 ++++++-
+ 1 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/src/mount.c b/src/mount.c
+index 6d0af4e..965f705 100644
+--- a/src/mount.c
++++ b/src/mount.c
+@@ -583,6 +583,11 @@ static int mount_load(Unit *u) {
+ 
+                 if (UNIT(m)->fragment_path)
+                         m->from_fragment = true;
++                else if (m->from_etc_fstab)
++                        /* We always add several default dependencies to fstab mounts,
++                         * but we do not want the implicit complementing of Wants= with After=
++                         * in the target unit that this mount unit will be hooked into. */
++                        UNIT(m)->default_dependencies = false;
+ 
+                 if (!m->where)
+                         if (!(m->where = unit_name_to_path(u->id)))
+@@ -615,7 +620,7 @@ static int mount_load(Unit *u) {
+                 if ((r = mount_add_fstab_links(m)) < 0)
+                         return r;
+ 
+-                if (UNIT(m)->default_dependencies)
++                if (UNIT(m)->default_dependencies || m->from_etc_fstab)
+                         if ((r = mount_add_default_dependencies(m)) < 0)
+                                 return r;
+ 
+-- 
+1.7.8.4
+

Deleted: 0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch
===================================================================
--- 0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch	2012-01-26 13:05:16 UTC (rev 147675)
+++ 0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch	2012-01-26 13:47:15 UTC (rev 147676)
@@ -1,87 +0,0 @@
-From fdcad0c25579a60061b1fda956686e878a80faef Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart at poettering.net>
-Date: Wed, 11 Jan 2012 22:07:35 +0100
-Subject: [PATCH] tmpfiles: fix parsing of /proc/net/unix on 32Bit machines
-
-Tracked down by Michael Meeks
----
- src/tmpfiles.c |   30 ++++++++++++++++++++----------
- 1 files changed, 20 insertions(+), 10 deletions(-)
-
-diff --git a/src/tmpfiles.c b/src/tmpfiles.c
-index 19a7c08..44e5c9d 100644
---- a/src/tmpfiles.c
-+++ b/src/tmpfiles.c
-@@ -117,41 +117,50 @@ static void load_unix_sockets(void) {
-         /* We maintain a cache of the sockets we found in
-          * /proc/net/unix to speed things up a little. */
- 
--        if (!(unix_sockets = set_new(string_hash_func, string_compare_func)))
-+        unix_sockets = set_new(string_hash_func, string_compare_func);
-+        if (!unix_sockets)
-                 return;
- 
--        if (!(f = fopen("/proc/net/unix", "re")))
-+        f = fopen("/proc/net/unix", "re");
-+        if (!f)
-                 return;
- 
--        if (!(fgets(line, sizeof(line), f)))
-+        /* Skip header */
-+        if (!fgets(line, sizeof(line), f))
-                 goto fail;
- 
-         for (;;) {
-                 char *p, *s;
-                 int k;
- 
--                if (!(fgets(line, sizeof(line), f)))
-+                if (!fgets(line, sizeof(line), f))
-                         break;
- 
-                 truncate_nl(line);
- 
--                if (strlen(line) < 53)
-+                p = strchr(line, ':');
-+                if (!p)
-+                        continue;
-+
-+                if (strlen(p) < 37)
-                         continue;
- 
--                p = line + 53;
-+                p += 37;
-                 p += strspn(p, WHITESPACE);
--                p += strcspn(p, WHITESPACE);
-+                p += strcspn(p, WHITESPACE); /* skip one more word */
-                 p += strspn(p, WHITESPACE);
- 
-                 if (*p != '/')
-                         continue;
- 
--                if (!(s = strdup(p)))
-+                s = strdup(p);
-+                if (!s)
-                         goto fail;
- 
-                 path_kill_slashes(s);
- 
--                if ((k = set_put(unix_sockets, s)) < 0) {
-+                k = set_put(unix_sockets, s);
-+                if (k < 0) {
-                         free(s);
- 
-                         if (k != -EEXIST)
-@@ -1059,7 +1068,8 @@ int main(int argc, char *argv[]) {
-         Item *i;
-         Iterator iterator;
- 
--        if ((r = parse_argv(argc, argv)) <= 0)
-+        r = parse_argv(argc, argv);
-+        if (r <= 0)
-                 return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
- 
-         log_set_target(LOG_TARGET_AUTO);
--- 
-1.7.8.3
-

Deleted: 0001-units-make-sure-syslog-socket-goes-away-early-during.patch
===================================================================
--- 0001-units-make-sure-syslog-socket-goes-away-early-during.patch	2012-01-26 13:05:16 UTC (rev 147675)
+++ 0001-units-make-sure-syslog-socket-goes-away-early-during.patch	2012-01-26 13:47:15 UTC (rev 147676)
@@ -1,26 +0,0 @@
-From ead51eb4ed55981f290e40a871ffbca6480c4cd3 Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart at poettering.net>
-Date: Thu, 12 Jan 2012 04:34:50 +0100
-Subject: [PATCH] units: make sure syslog socket goes away early during
- shutdown
-
----
- units/syslog.socket |    2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/units/syslog.socket b/units/syslog.socket
-index 323fa86..657e791 100644
---- a/units/syslog.socket
-+++ b/units/syslog.socket
-@@ -11,6 +11,8 @@
- Description=Syslog Socket
- DefaultDependencies=no
- Before=sockets.target syslog.target
-+Conflicts=shutdown.target
-+Before=shutdown.target
- 
- # Pull in syslog.target to tell people that /dev/log is now accessible
- Wants=syslog.target
--- 
-1.7.8.3
-

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-01-26 13:05:16 UTC (rev 147675)
+++ PKGBUILD	2012-01-26 13:47:15 UTC (rev 147676)
@@ -3,7 +3,7 @@
 
 pkgname=systemd
 pkgver=39
-pkgrel=1
+pkgrel=2
 pkgdesc="Session and Startup manager"
 arch=('i686' 'x86_64')
 url="http://www.freedesktop.org/wiki/Software/systemd"
@@ -27,9 +27,11 @@
         etc/systemd/systemd-logind.conf)
 install=systemd.install
 source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz"
-        "os-release")
+        "os-release"
+        "0001-mount-fix-automount-regression.patch")
 md5sums=('7179b34f6f6553d2a36551ac1dec5f0d'
-         '752636def0db3c03f121f8b4f44a63cd')
+         '752636def0db3c03f121f8b4f44a63cd'
+         '6e42637c1b1d4589909329dab777631b')
 
 build() {
   cd "$pkgname-$pkgver"
@@ -39,6 +41,9 @@
   sed -i -e '/^Environ.*LANG/s/^/#/' \
          -e '/^ExecStart/s/agetty/& -8/' units/getty at .service.m4
 
+  # fix default dependencies for automounts in /etc/fstab
+  patch -Np1 < "$srcdir/0001-mount-fix-automount-regression.patch"
+
   ./configure --sysconfdir=/etc \
               --libexecdir=/usr/lib \
               --libdir=/usr/lib \
@@ -58,6 +63,9 @@
 
   make DESTDIR="$pkgdir" install
 
+  # needed by systemd-loginctl for enable-linger
+  install -dm755 "$pkgdir/var/lib/systemd"
+
   install -Dm644 "$srcdir/os-release" "$pkgdir/etc/os-release"
   printf "d /run/console 755 root root\n" > "$pkgdir/usr/lib/tmpfiles.d/console.conf"
 




More information about the arch-commits mailing list