From 81bcd5f2230b7862d91bf9032be6e63f55c91862 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Sat, 5 May 2012 13:41:51 -0400 Subject: [PATCH] extra/systemd to 44-7 --- extra/systemd/PKGBUILD | 16 ++++++++-------- extra/systemd/systemd.install | 20 ++++++++------------ 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/extra/systemd/PKGBUILD b/extra/systemd/PKGBUILD index 50a673feb..4c8bd25a1 100644 --- a/extra/systemd/PKGBUILD +++ b/extra/systemd/PKGBUILD @@ -9,10 +9,10 @@ plugrel=1 pkgbase=systemd pkgname=('systemd' 'libsystemd') pkgver=44 -pkgrel=5 +pkgrel=7 arch=('i686' 'x86_64') url="http://www.freedesktop.org/wiki/Software/systemd" -license=('GPL2') +license=('GPL2' 'LGPL2.1' 'MIT') makedepends=('acl' 'cryptsetup' 'dbus-core' 'docbook-xsl' 'gperf' 'intltool' 'kmod' 'libcap' 'libxslt' 'linux-api-headers' 'pam' 'udev' 'xz') options=('!libtool') @@ -32,10 +32,10 @@ md5sums=('11f44ff74c87850064e4351518bcff17' build() { cd "$pkgname-$pkgver" - # https://bugzilla.redhat.com/show_bug.cgi?id=803358 + # https://bugzilla.redhat.com/show_bug.cgi?id=803358 (upstream 5ebff53375) patch -Np1 <"$srcdir/0001-util-never-follow-symlinks-in-rm_rf_children.patch" - # https://bugs.archlinux.org/task/28386 + # https://bugs.archlinux.org/task/28386 (upstream 75c8e3cffd) patch -Np1 <"$srcdir/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch" # Fix broken 'systemctl list-unit-files' (upstream fb5ef067c49) @@ -46,10 +46,11 @@ build() { ./configure --sysconfdir=/etc \ --libexecdir=/usr/lib \ - --with-pamlibdir=/lib/security \ + --with-pamlibdir=/usr/lib/security \ --localstatedir=/var \ --with-distro=arch \ - --enable-split-usr + --enable-split-usr \ + --disable-ima make } @@ -85,9 +86,8 @@ package_systemd() { chmod 644 "$pkgdir/usr/lib/tmpfiles.d/console.conf" # symlink to /bin/systemd for compat and sanity - install -dm755 "$pkgdir/bin" "$pkgdir/lib/systemd" + install -dm755 "$pkgdir/bin" ln -s ../usr/lib/systemd/systemd "$pkgdir/bin/systemd" - ln -s ../../usr/lib/systemd/systemd "$pkgdir/lib/systemd/systemd" # use python2 for systemd-analyze sed -i '1s/python$/python2/' "$pkgdir/usr/bin/systemd-analyze" diff --git a/extra/systemd/systemd.install b/extra/systemd/systemd.install index 822108c0f..0c3e9abee 100644 --- a/extra/systemd/systemd.install +++ b/extra/systemd/systemd.install @@ -29,18 +29,14 @@ post_upgrade() { fi if sd_booted; then - systemctl daemon-reload - systemctl daemon-reexec - fi - - newpkgver=${1%-*} - oldpkgver=${2%-*} - - # catch v31 need for restarting systemd-logind.service - if [ "$newpkgver" -ge 31 ] && [ "$oldpkgver" -lt 31 ]; then - # but only if systemd is running - if sd_booted; then - systemctl try-restart systemd-logind.service + # we moved the binary in 44-2 to /usr, so a reexec leads to a + # coredump. refuse this reexec and warn the user that they should + # reboot instead. + if [ "$(vercmp 44-2 "$2")" -eq 1 ]; then + echo "warning: refusing to reexec systemd. the system should be rebooted." + else + systemctl daemon-reload + systemctl daemon-reexec fi fi }