summaryrefslogtreecommitdiff
path: root/extra/systemd
diff options
context:
space:
mode:
Diffstat (limited to 'extra/systemd')
-rw-r--r--extra/systemd/PKGBUILD18
-rw-r--r--extra/systemd/systemd.install20
2 files changed, 17 insertions, 21 deletions
diff --git a/extra/systemd/PKGBUILD b/extra/systemd/PKGBUILD
index c09599940..3a62d466d 100644
--- a/extra/systemd/PKGBUILD
+++ b/extra/systemd/PKGBUILD
@@ -1,13 +1,13 @@
-# $Id: PKGBUILD 155750 2012-04-06 00:06:04Z tomegun $
+# $Id: PKGBUILD 158570 2012-05-04 23:57:21Z allan $
# Maintainer: Dave Reisner <dreisner@archlinux.org>
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')
@@ -25,10 +25,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)
@@ -36,10 +36,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
}
@@ -75,9 +76,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
}