# Template file for 'systemd'
pkgname=systemd
version=201
revision=2
short_desc="A system and service manager for Linux"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.freedesktop.org/wiki/Software/systemd"
license="LGPL-2.1, GPL-2, MIT"
distfiles="http://www.freedesktop.org/software/$pkgname/$pkgname-$version.tar.xz"
checksum=d6299f1a0bc2122002d731808d3825c6b566d1ffe899c03ed5ebec7e70c8cc10

build_style=gnu-configure
configure_args="--libexecdir=/usr/lib
 --disable-selinux --disable-tcpwrap --with-rootprefix=/usr
 --with-sysvinit-path= --with-sysvrcnd-path=
 --disable-audit --disable-static --disable-ima"

depends="xbps-triggers>=0.64 dbus kbd libcap-progs
 libudev>=${version} systemd-libs>=${version}"

hostmakedepends="which pkg-config intltool gperf libxslt docbook-xsl"

makedepends="acl-devel pam-devel dbus-devel libcap-devel libkmod-devel
 liblzma-devel cryptsetup-devel libblkid-devel libglib-devel libgcrypt-devel
 python-devel gobject-introspection"

# Create systemd-journal (gid 24) system group.
system_groups="systemd-journal:24"

replaces="nss-myhostname>=0 systemd-analyze>0"
subpackages="libgudev libgudev-devel systemd-python"

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

if [ "$CROSS_BUILD" ]; then
	# XXX add support to gudev, introspection and python.
	unset subpackages
	hostmakedepends="libtool automake gettext-devel pkg-config intltool
		     gperf libxslt docbook-xsl libgcrypt-devel"
	makedepends="acl-devel pam-devel dbus-devel libcap-devel
			libkmod-devel liblzma-devel cryptsetup-devel
			libblkid-devel libgcrypt-devel libglib-devel"
	configure_args+=" --without-python --disable-gudev
			--enable-introspection=no
			ac_cv_func_malloc_0_nonnull=yes
			ac_cv_func_realloc_0_nonnull=yes"
	pre_configure() {
		autoreconf -fi
	}
fi

post_install() {
	# Remove useless doc directory.
	rm -rf ${DESTDIR}/usr/share/doc

	# Remove files provided in libudev{,-devel} and systemd-{devel,libs}.
	rm -rf ${DESTDIR}/usr/include/{libudev.h,systemd}
	rm -rf ${DESTDIR}/usr/share/pkgconfig
	rm -rf ${DESTDIR}/usr/share/man/man3
	rm -f ${DESTDIR}/usr/lib/lib{udev,systemd}*
	rm -f ${DESTDIR}/usr/lib/pkgconfig/lib{udev,systemd}*

	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 usr/sbin
	for f in halt poweroff shutdown reboot; do
		ln -sf /usr/bin/systemctl ${DESTDIR}/usr/sbin/${f}
	done
	# Create /usr/sbin/init for compatibility.
	ln -sf /usr/lib/systemd/systemd ${DESTDIR}/usr/sbin/init

	# Remove RPM stuff.
	rm -rf ${DESTDIR}/etc/rpm

	# Disable units in /etc; we do this at post-install time.
	rm -rf ${DESTDIR}/etc/systemd/system/getty.target.wants

	# Create /usr/sbin/udev symlink just for compatibility.
	ln -sf /usr/lib/systemd/systemd-udevd ${DESTDIR}/usr/sbin/udevd

	# Required dirs at run time.
	vinstall ${FILESDIR}/systemd-dirs.tmpfiles 644 \
		usr/lib/tmpfiles.d systemd-dirs.conf
}
