# Template file for 'systemd'
pkgname=systemd
version=43
revision=2
distfiles="http://www.freedesktop.org/software/$pkgname/$pkgname-$version.tar.xz"
build_style=gnu-configure
configure_args="--with-distro=other --with-rootprefix=
--with-pamlibdir=/lib/security --disable-selinux --disable-tcpwrap
--with-sysvinit-path= --with-sysvrcd-path= --disable-audit"
short_desc="A system and service manager for Linux"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.freedesktop.org/wiki/Software/systemd"
license="GPL-2"
checksum=3070e48e43bc0811fa8da5ba4832a11dac73b1625db94d42d4c15dc279335dd7
long_desc="
 systemd is a system and service manager for Linux, compatible with SysV and LSB
 init scripts. systemd provides aggressive parallelization capabilities, uses 
 socket and D-Bus activation for starting services, offers on-demand starting of 
 daemons, keeps track of processes using Linux cgroups, supports snapshotting and 
 restoring of the system state, maintains mount and automount points and 
 implements an elaborate transactional dependency-based service control logic. 
 It can work as a drop-in replacement for sysvinit."

subpackages="systemd-admin systemd-analyze systemd-gnome-passwd-agent"
subpackages="${subpackages} systemd-devel systemd-libs"

system_groups="lock"

conf_files="
/etc/hostname
/etc/vconsole.conf
/etc/locale.conf
/etc/systemd/system.conf
/etc/systemd/user.conf
/etc/systemd/systemd-journald.conf
/etc/systemd/systemd-logind.conf"

# Required by systemd-loginctl enable-linger.
make_dirs="
/etc/local.d 0755 root root
/var/lib/systemd 0755 root root"

Add_dependency run dbus
Add_dependency run run-parts
Add_dependency run kbd ">=1.15.3_5" # switched to /usr.

Add_dependency build pkg-config
Add_dependency build intltool
Add_dependency build gperf
Add_dependency build libxslt
Add_dependency build docbook-xsl
Add_dependency build acl-devel
Add_dependency build libudev-devel
Add_dependency build pam-devel
Add_dependency build dbus-devel
Add_dependency build libcap-devel
Add_dependency build gtk+-devel
Add_dependency build libgee-devel
Add_dependency build libnotify-devel
Add_dependency build vala-devel
Add_dependency build libkmod-devel
Add_dependency build liblzma-devel

pre_configure() {
	sed -i -e "s|/bin/loadkeys|/usr/bin/loadkeys|g" Makefile.in
	sed -i -e "s|/bin/setfont|/usr/bin/setfont|g" Makefile.in
}

post_install() {
	for f in etc/binfmt.d etc/sysctl.d etc/modules-load.d etc/tmpfiles.d \
		etc/systemd/user etc/systemd/system/local-fs.target.wants \
		etc/systemd/system/sysinit.target.wants \
		lib/systemd/system-shutdown \
		lib/systemd/system/graphical.target.wants \
		usr/libexec/systemd/user-generators \
		usr/lib/binfmt.d usr/lib/sysctl.d usr/lib/modules-load.d; do
		vmkdir ${f}
		touch ${DESTDIR}/${f}/.owned
	done

	vinstall ${FILESDIR}/hostname 644 etc
	vinstall ${FILESDIR}/vconsole.conf 644 etc
	vinstall ${FILESDIR}/os-release 644 etc
	vinstall ${FILESDIR}/locale.conf 644 etc

	printf "d /run/console 755 root root\n" > \
		${DESTDIR}/usr/lib/tmpfiles.d/console.conf
	chmod 644 ${DESTDIR}/usr/lib/tmpfiles.d/console.conf

	# Create halt, reboot, shutdown, poweroff compat symlinks. Some
	# applications expect them for "normal" use!
	vmkdir sbin
	for f in halt poweroff shutdown reboot; do
		ln -sf /bin/systemctl ${DESTDIR}/sbin/${f}
	done
	# Create /sbin/init for compatibility.
	ln -sf /lib/systemd/systemd ${DESTDIR}/sbin/init

	# Do not use /sbin/sulogin, sysvinit has been fully removed.
	for f in console-shell emergency rescue; do
		sed -i -e "s|/sbin/sulogin|/bin/sh|" \
			${DESTDIR}/lib/systemd/system/${f}.service
	done
	# Install and enable local-d.service for multi-user.target
	# by default.
	vinstall ${FILESDIR}/local-d.service 644 lib/systemd/system
	ln -sf /lib/systemd/system/local-d.service \
		${DESTDIR}/lib/systemd/system/multi-user.target.wants/local-d.service
}