From 870286a74f6142709671fd3437944382f29bf352 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 6 Apr 2012 00:01:15 +0000 Subject: Fri Apr 6 00:01:15 UTC 2012 --- ...for-proper-return-from-dirent_ensure_type.patch | 28 ++++++++++++++++++++++ testing/systemd/PKGBUILD | 19 +++++++++++---- 2 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 testing/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch (limited to 'testing/systemd') diff --git a/testing/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch b/testing/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch new file mode 100644 index 000000000..f8f6d1fa5 --- /dev/null +++ b/testing/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch @@ -0,0 +1,28 @@ +From 7e5d190ccce8dc064d5756225e306e65fa534ae9 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Mon, 2 Apr 2012 08:20:34 -0400 +Subject: [PATCH] check for proper return from dirent_ensure_type + +Fixes 'systemctl list-unit-files', which previously returned only: + + Failed to issue method call: No such file or directory +--- + src/install.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/install.c b/src/install.c +index 174d79b..9256116 100644 +--- a/src/install.c ++++ b/src/install.c +@@ -1853,7 +1853,7 @@ int unit_file_get_list( + + r = dirent_ensure_type(d, de); + if (r < 0) { +- if (errno == ENOENT) ++ if (r == -ENOENT) + continue; + + goto finish; +-- +1.7.9.5 + diff --git a/testing/systemd/PKGBUILD b/testing/systemd/PKGBUILD index 2be6d6e31..58ed7a3c5 100644 --- a/testing/systemd/PKGBUILD +++ b/testing/systemd/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 155344 2012-04-01 23:17:08Z dreisner $ +# $Id: PKGBUILD 155508 2012-04-04 13:26:44Z dreisner $ # Maintainer: Dave Reisner pkgbase=systemd pkgname=('systemd' 'libsystemd') pkgver=44 -pkgrel=4 +pkgrel=5 arch=('i686' 'x86_64') url="http://www.freedesktop.org/wiki/Software/systemd" license=('GPL2') @@ -14,11 +14,13 @@ options=('!libtool') source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" "os-release" 0001-util-never-follow-symlinks-in-rm_rf_children.patch - 0001-logind-close-FIFO-before-ending-sessions-cleanly.patch) + 0001-logind-close-FIFO-before-ending-sessions-cleanly.patch + 0001-check-for-proper-return-from-dirent_ensure_type.patch) md5sums=('11f44ff74c87850064e4351518bcff17' '752636def0db3c03f121f8b4f44a63cd' 'b5863d6d4b47e2b5bda8eb57bde0d327' - 'd37833358ef6c23fad622ea4a0941d1f') + 'd37833358ef6c23fad622ea4a0941d1f' + '11f930fd0a3966abc794bf9127a7dde0') build() { cd "$pkgname-$pkgver" @@ -29,6 +31,9 @@ build() { # https://bugs.archlinux.org/task/28386 patch -Np1 <"$srcdir/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch" + # Fix broken 'systemctl list-unit-files' (upstream fb5ef067c49) + patch -Np1 <"$srcdir/0001-check-for-proper-return-from-dirent_ensure_type.patch" + ./configure --sysconfdir=/etc \ --libexecdir=/usr/lib \ --with-pamlibdir=/lib/security \ @@ -41,7 +46,7 @@ build() { package_systemd() { pkgdesc="system and service manager" - depends=('acl' 'dbus' 'dbus-core' 'libsystemd' 'kbd' 'kmod' 'libcap' 'pam' 'util-linux' 'udev' 'xz') + depends=('acl' 'dbus-core' 'libsystemd' 'kbd' 'kmod' 'libcap' 'pam' 'util-linux' 'udev' 'xz') optdepends=('cryptsetup: required for encrypted block devices' 'dbus-python: systemd-analyze' 'initscripts: legacy support for hostname and vconsole setup' @@ -99,6 +104,10 @@ package_systemd() { ln -s systemctl "$pkgdir/usr/share/bash-completion/completions/loginctl" rm -rf "$pkgdir/etc/bash_completion.d" + # fix systemctl where + find "$pkgdir" -type f -name '*.service' -exec \ + sed -i 's@\([=-]\)/bin/systemctl@\1/usr/bin/systemctl@g' {} + + ### split off libsystemd (libs, includes, pkgconfig, man3) install -dm755 "$srcdir"/libsystemd/usr/{include,lib/pkgconfig} -- cgit v1.2.3-54-g00ecf