From 5c5e1e3a998a54db424b8261fac042ab41745d99 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 28 Nov 2012 02:28:30 -0800 Subject: Wed Nov 28 02:22:26 PST 2012 --- core/systemd/PKGBUILD | 42 ++++++++++++++++------------------- core/systemd/systemd.install | 17 +++++++++++++- core/systemd/use-split-usr-path.patch | 2 +- 3 files changed, 36 insertions(+), 25 deletions(-) (limited to 'core/systemd') diff --git a/core/systemd/PKGBUILD b/core/systemd/PKGBUILD index cce4b8e44..14a6f7910 100644 --- a/core/systemd/PKGBUILD +++ b/core/systemd/PKGBUILD @@ -1,36 +1,31 @@ # Maintainer: Dave Reisner -# Contributor: Tom Gundersen +# Maintainer: Tom Gundersen pkgbase=systemd pkgname=('systemd' 'systemd-sysvcompat') -pkgver=195 +pkgver=196 pkgrel=2 arch=('i686' 'x86_64') url="http://www.freedesktop.org/wiki/Software/systemd" license=('GPL2' 'LGPL2.1' 'MIT') makedepends=('acl' 'cryptsetup' 'dbus-core' 'docbook-xsl' 'gobject-introspection' 'gperf' - 'gtk-doc' 'intltool' 'kmod' 'libcap' 'libgcrypt' 'libxslt' 'linux-api-headers' - 'pam' 'python' 'quota-tools' 'xz') + 'gtk-doc' 'intltool' 'kmod' 'libcap' 'libgcrypt' 'libmicrohttpd' 'libxslt' + 'linux-api-headers' 'pam' 'python' 'quota-tools' 'xz') options=('!libtool') source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" 'initcpio-hook-udev' 'initcpio-install-udev' 'initcpio-install-timestamp' - '0001-Reinstate-TIMEOUT-handling.patch' 'use-split-usr-path.patch') -md5sums=('38e8c8144e7e6e5bc3ce32eb4260e680' +md5sums=('05ebd7f108e420e2b4e4810ea4b3c810' 'e99e9189aa2f6084ac28b8ddf605aeb8' 'fb37e34ea006c79be1c54cbb0f803414' 'df69615503ad293c9ddf9d8b7755282d' - '5543be25f205f853a21fa5ee68e03f0d' - 'fd5b5f04ab0a847373d357555129d4c0') + '76bf83fe34c5b40533abc5dc940576a6') build() { cd "$pkgname-$pkgver" - # still waiting on ipw2x00, et al to get fixed... - patch -Np1 <"$srcdir/0001-Reinstate-TIMEOUT-handling.patch" - # hang onto this until we do the /{,s}bin merge patch -Np1 <"$srcdir/use-split-usr-path.patch" @@ -42,9 +37,7 @@ build() { --enable-gtk-doc \ --disable-audit \ --disable-ima \ - --with-distro=arch \ - --with-usb-ids-path=/usr/share/hwdata/usb.ids \ - --with-pci-ids-path=/usr/share/hwdata/pci.ids + --with-distro=arch make } @@ -60,13 +53,13 @@ package_systemd() { provides=("libsystemd=$pkgver" "systemd-tools=$pkgver" "udev=$pkgver") replaces=('libsystemd' 'systemd-tools' 'udev') conflicts=('libsystemd' 'systemd-tools' 'udev') - optdepends=('initscripts: legacy support for /etc/rc.conf' + optdepends=('cryptsetup: required for encrypted block devices' + 'libmicrohttpd: systemd-journal-gatewayd' + 'quota-tools: kernel-level quota management' 'python: systemd library bindings' 'python2-cairo: systemd-analyze' - 'python2-dbus: systemd-analyze' - 'systemd-sysvcompat: symlink package to provide sysvinit binaries' - 'cryptsetup: required for encrypted block devices' - 'quota-tools: kernel-level quota management') + 'python2-gobject: systemd-analyze' + 'systemd-sysvcompat: symlink package to provide sysvinit binaries') backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf etc/dbus-1/system.d/org.freedesktop.hostname1.conf etc/dbus-1/system.d/org.freedesktop.login1.conf @@ -89,11 +82,17 @@ package_systemd() { # move bash-completion and symlink for *ctl's install -Dm644 "$pkgdir/etc/bash_completion.d/systemd-bash-completion.sh" \ "$pkgdir/usr/share/bash-completion/completions/systemctl" - for ctl in {login,journal,timedate,locale,hostname}ctl; do + for ctl in {login,journal,timedate,locale,hostname,systemd-coredump}ctl udevadm; do ln -s systemctl "$pkgdir/usr/share/bash-completion/completions/$ctl" done rm -rf "$pkgdir/etc/bash_completion.d" + # zsh completion isn't installed as part of 196 + # http://i.imgur.com/hMJgX.jpg + # TODO(dreisner): remove this for 197 + install -Dm644 "$pkgname-$pkgver/shell-completion/systemd-zsh-completion.zsh" \ + "$pkgdir/usr/share/zsh/site-functions/_systemd" + # don't write units to /etc by default -- we'll enable this on post_install # as a sane default rm "$pkgdir/etc/systemd/system/getty.target.wants/getty@tty1.service" @@ -126,9 +125,6 @@ package_systemd() { install -Dm644 "$srcdir/initcpio-hook-udev" "$pkgdir/usr/lib/initcpio/hooks/udev" install -Dm644 "$srcdir/initcpio-install-timestamp" "$pkgdir/usr/lib/initcpio/install/timestamp" - # XXX: kill off coredump rule until the journal can recover coredumps - rm "$pkgdir/usr/lib/sysctl.d/coredump.conf" - ### split out manpages for sysvcompat rm -rf "$srcdir/_sysvcompat" install -dm755 "$srcdir"/_sysvcompat/usr/share/man/man8/ diff --git a/core/systemd/systemd.install b/core/systemd/systemd.install index aad9691b0..457c81cf2 100644 --- a/core/systemd/systemd.install +++ b/core/systemd/systemd.install @@ -4,10 +4,20 @@ sd_booted() { [ -e sys/fs/cgroup/systemd ] } +add_privs() { + if ! setcap "$2" "$1" 2>/dev/null; then + echo "==> Warning: setcap failed, falling back to setuid root on /$1" + chmod u+s "$1" + fi +} + post_common() { systemd-machine-id-setup - setcap cap_dac_override,cap_sys_ptrace+ep usr/bin/systemd-detect-virt + add_privs usr/bin/systemd-detect-virt 'cap_dac_override,cap_sys_ptrace+ep' + + udevadm hwdb --update + journalctl --update-catalog if sd_booted; then systemctl --system daemon-reexec @@ -40,6 +50,11 @@ post_upgrade() { printf ' controlled with the Storage setting in /etc/systemd/journald.conf\n' fi + if [ "$(vercmp 196-1 "$2")" -eq 1 ]; then + printf '==> The legacy configuration options are no longer supported in rc.conf,\n' + printf ' convert your rc.conf to the new configuration formats.\n' + fi + # logind's protocol changed. kindly restart the daemon to avoid locking # out further logins. if [ "$(vercmp 195 "$2")" -eq 1 ]; then diff --git a/core/systemd/use-split-usr-path.patch b/core/systemd/use-split-usr-path.patch index 2fd32998d..40dd62f90 100644 --- a/core/systemd/use-split-usr-path.patch +++ b/core/systemd/use-split-usr-path.patch @@ -1,6 +1,6 @@ --- a/src/core/main.c 2012-09-20 23:02:54.000000000 -0400 +++ b/src/core/main.c 2012-09-20 23:03:13.000000000 -0400 -@@ -1455,11 +1455,7 @@ +@@ -1487,11 +1487,7 @@ int main(int argc, char *argv[]) { /* Set up PATH unless it is already set */ setenv("PATH", -- cgit v1.2.3-54-g00ecf