# Template file for 'systemd'
pkgname=systemd
version=197
revision=3
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="dbus run-parts kbd libcap-progs"
makedepends="pkg-config intltool gperf libxslt docbook-xsl acl-devel pam-devel
 dbus-devel libcap-devel libkmod-devel liblzma-devel cryptsetup-devel
 libblkid-devel glib-devel libgcrypt-devel python-devel qrencode-devel
 gobject-introspection which"
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=e6857ea21ae24d7056e7b0f4c2aaaba73b8bf57025b8949c0a8af0c1bc9774b5

replaces="nss-myhostname>=0"
subpackages="libgudev libgudev-devel systemd-analyze 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/udev/udev.conf"

if [ -n "$XBPS_CROSS_TRIPLET" ]; then
	# XXX add support to gudev, introspectin and python.
	subpackages="systemd-analyze"
	makedepends="automake gettext-devel pkg-config intltool
		     gperf libxslt docbook-xsl libgcrypt-devel"
	crossmakedepends="acl-devel pam-devel dbus-devel libcap-devel
			  libkmod-devel liblzma-devel cryptsetup-devel
			  libblkid-devel libgcrypt-devel libglib-devel
			  qrencode-devel"
	configure_args="${configure_args} --without-python --disable-gudev
			--enable-introspection=no
			ac_cv_func_malloc_0_nonnull=yes
			ac_cv_func_realloc_0_nonnull=yes
			PKG_CONFIG_SYSROOT_DIR=/usr/$XBPS_CROSS_TRIPLET
			PKG_CONFIG_LIBDIR=/usr/$XBPS_CROSS_TRIPLET/lib/pkgconfig"
	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

	# Install local-d.service.
	vinstall ${FILESDIR}/local-d.service 644 usr/lib/systemd/system

	# 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
}
