summaryrefslogtreecommitdiff
path: root/community/systemd
diff options
context:
space:
mode:
Diffstat (limited to 'community/systemd')
-rw-r--r--community/systemd/PKGBUILD65
-rw-r--r--community/systemd/os-release4
-rw-r--r--community/systemd/systemd.install50
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: