diff options
Diffstat (limited to 'community/systemd')
-rw-r--r-- | community/systemd/PKGBUILD | 65 | ||||
-rw-r--r-- | community/systemd/os-release | 4 | ||||
-rw-r--r-- | community/systemd/systemd.install | 50 |
3 files changed, 119 insertions, 0 deletions
diff --git a/community/systemd/PKGBUILD b/community/systemd/PKGBUILD new file mode 100644 index 000000000..fb4e9f3e2 --- /dev/null +++ b/community/systemd/PKGBUILD @@ -0,0 +1,65 @@ +# $Id: PKGBUILD 43947 2011-04-01 02:11:49Z dreisner $ +# Maintainer: Dave Reisner <d@falconindy.com> + +pkgname=systemd +pkgver=22 +pkgrel=2 +pkgdesc="Session and Startup manager" +arch=('i686' 'x86_64') +url="http://www.freedesktop.org/wiki/Software/systemd" +license=('GPL2') +depends=('dbus-core' 'initscripts' 'sysvinit' 'util-linux>=2.19') +makedepends=('docbook-xsl' 'libxslt' 'cryptsetup' 'gtk2' 'libnotify') +optdepends=('cryptsetup: required for encrypted block devices' + 'initscripts-systemd: native boot and initialization scripts' + 'dbus-python: systemd-analyze' + 'gtk2: systemadm' + 'libnotify: systemadm' + 'systemd-arch-units: collection of native unit files for Arch daemon/init scripts') +groups=('systemd') +options=('!libtool') +backup=(etc/systemd/system.conf + etc/tmpfiles.d/systemd.conf + etc/tmpfiles.d/x11.conf) +install=systemd.install +source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.bz2" + "os-release") +md5sums=('79cfbca526eaa5833723b48adeb0b323' + 'f9922299150b4adda7b89e10bca33033') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --with-rootdir=/ \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib \ + --localstatedir=/var \ + --disable-audit \ + --disable-tcpwrap + + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + + install -Dm644 "$srcdir/os-release" "$pkgdir/etc/os-release" + install -dm755 "$pkgdir/etc/modules-load.d" "$pkgdir/run" + printf "d /var/run/console 755 root root\n" > "$pkgdir/etc/tmpfiles.d/console.conf" + + # fix systemd-analyze for python2 + sed -i '1s/python$/python2/' "$pkgdir/usr/bin/systemd-analyze" + + # install target doesn't bring in plymouth units + install -m644 units/plymouth-* "$pkgdir/lib/systemd/system" + + # rename man pages to avoid conflicts with sysvinit + cd "$pkgdir/usr/share/man/man8" + for manpage in telinit halt reboot poweroff runlevel shutdown; do + mv {,systemd.}"$manpage.8" + done +} + diff --git a/community/systemd/os-release b/community/systemd/os-release new file mode 100644 index 000000000..0b45d5265 --- /dev/null +++ b/community/systemd/os-release @@ -0,0 +1,4 @@ +NAME=Arch Linux +ID=arch +PRETTY_NAME=Arch Linux +ANSI_COLOR=1;36
\ No newline at end of file diff --git a/community/systemd/systemd.install b/community/systemd/systemd.install new file mode 100644 index 000000000..259d09b9e --- /dev/null +++ b/community/systemd/systemd.install @@ -0,0 +1,50 @@ +#!/bin/sh + +checkgroups() { + getent group lock >/dev/null || groupadd -g 54 lock + + utmpent=$(getent group utmp) + if [ -z $utmpent ]; then + getent group utmp >/dev/null || groupadd -g 32 utmp + elif [ $(echo $utmpent | cut -d: -f3) = '22' ]; then + groupmod -g 32 utmp + fi +} + +post_install() { + checkgroups + + [ -f /etc/machine-id ] || /bin/systemd-machine-id-setup + + # Try to read default runlevel from the old inittab if it exists + runlevel=$(/bin/awk -F':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) + if [ -z "$runlevel" ]; then + target="/lib/systemd/system/graphical.target" + else + target="/lib/systemd/system/runlevel$runlevel.target" + fi + + # And symlink what we found to the new-style default.target + /bin/ln -sf "$target" /etc/systemd/system/default.target + + echo "systemd has been installed to /bin/systemd. Please ensure you append" + echo "init=/bin/systemd to your kernel command line in your bootloader." +} + +post_upgrade() { + checkgroups + + [ -f /etc/machine-id ] || /bin/systemd-machine-id-setup + /bin/systemctl daemon-reexec >/dev/null || : +} + +pre_remove() { + /bin/rm -f /etc/systemd/system/default.target +} + +post_remove() { + getent group lock >/dev/null && groupdel lock + getent group utmp >/dev/null && groupdel utmp +} + +# vim:set ts=2 sw=2 et: |