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 <mschm...@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 <lenn...@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 <lenn...@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@.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"