summaryrefslogtreecommitdiff
path: root/testing/systemd
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-01-15 23:14:56 +0000
committerroot <root@rshg054.dnsready.net>2012-01-15 23:14:56 +0000
commit0b31296d95d2e0f18abf69f30d0946e3a1f35672 (patch)
treed7348183933db628f7b6be4d50c4c763c50cd71e /testing/systemd
parent2d4aa7f882dac8abb34e973655326c93f584f31f (diff)
Sun Jan 15 23:14:55 UTC 2012
Diffstat (limited to 'testing/systemd')
-rw-r--r--testing/systemd/0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch87
-rw-r--r--testing/systemd/0001-units-make-sure-syslog-socket-goes-away-early-during.patch26
-rw-r--r--testing/systemd/PKGBUILD21
3 files changed, 126 insertions, 8 deletions
diff --git a/testing/systemd/0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch b/testing/systemd/0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch
new file mode 100644
index 000000000..456d679ed
--- /dev/null
+++ b/testing/systemd/0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch
@@ -0,0 +1,87 @@
+From fdcad0c25579a60061b1fda956686e878a80faef Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart@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
+
diff --git a/testing/systemd/0001-units-make-sure-syslog-socket-goes-away-early-during.patch b/testing/systemd/0001-units-make-sure-syslog-socket-goes-away-early-during.patch
new file mode 100644
index 000000000..49248a6a4
--- /dev/null
+++ b/testing/systemd/0001-units-make-sure-syslog-socket-goes-away-early-during.patch
@@ -0,0 +1,26 @@
+From ead51eb4ed55981f290e40a871ffbca6480c4cd3 Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart@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
+
diff --git a/testing/systemd/PKGBUILD b/testing/systemd/PKGBUILD
index da1a936ae..1dea4b12a 100644
--- a/testing/systemd/PKGBUILD
+++ b/testing/systemd/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 146498 2012-01-12 03:32:19Z dreisner $
+# $Id: PKGBUILD 146631 2012-01-14 21:33:48Z dreisner $
# Maintainer: Dave Reisner <dreisner@archlinux.org>
pkgname=systemd
pkgver=38
-pkgrel=1
+pkgrel=2
pkgdesc="Session and Startup manager"
arch=('i686' 'x86_64')
url="http://www.freedesktop.org/wiki/Software/systemd"
license=('GPL2')
-depends=('dbus-core' 'kbd' 'libcap' 'util-linux>=2.19' 'udev>=172' 'xz')
-makedepends=('acl' 'gperf' 'cryptsetup' 'intltool' 'linux-api-headers')
+depends=('acl' 'dbus-core' 'kbd' 'libcap' 'util-linux>=2.19' 'udev>=172' 'xz')
+makedepends=('gperf' 'cryptsetup' 'intltool' 'linux-api-headers')
optdepends=('cryptsetup: required for encrypted block devices'
'dbus-python: systemd-analyze'
'initscripts: legacy support for hostname and vconsole setup'
@@ -28,9 +28,13 @@ backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf
etc/systemd/systemd-logind.conf)
install=systemd.install
source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz"
- "os-release")
+ "os-release"
+ '0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch'
+ '0001-units-make-sure-syslog-socket-goes-away-early-during.patch')
md5sums=('68c66dce5a28c0efd7c210af5d11efed'
- '752636def0db3c03f121f8b4f44a63cd')
+ '752636def0db3c03f121f8b4f44a63cd'
+ '07437e70be65ef14fd4f13c5ec5bd1fe'
+ 'c567ce597f68c07b9bc5b7e835f80f7d')
build() {
cd "$pkgname-$pkgver"
@@ -40,13 +44,14 @@ build() {
sed -i -e '/^Environ.*LANG/s/^/#/' \
-e '/^ExecStart/s/agetty/& -8/' units/getty@.service.m4
+ patch -Np1 < "$srcdir/0001-tmpfiles-fix-parsing-of-proc-net-unix-on-32Bit-machi.patch"
+ patch -Np1 < "$srcdir/0001-units-make-sure-syslog-socket-goes-away-early-during.patch"
./configure --sysconfdir=/etc \
--libexecdir=/usr/lib \
--libdir=/usr/lib \
--localstatedir=/var \
- --with-rootprefix= \
- --with-rootlibdir=/lib
+ --with-rootprefix=
make