# Template file for 'systemd'
pkgname=systemd
version=202
revision=1
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=8c43073252a52eb9f9ab9bd698be0192bcb2175ba5daba6057250083dd64e059

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"

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"

if [ "$CROSS_BUILD" ]; then
	# XXX add support to gudev, introspection and python.
	hostmakedepends+=" libtool automake gettext-devel 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
}

if [ -z "$CROSS_BUILD" ]; then

libgudev_package() {
	short_desc="GObject-based wrapper library for libudev"
	depends="libudev>=${version}"
	pkg_install() {
		vmove "usr/lib/libgudev*.so*"
		vmove usr/lib/girepository-1.0
	}
}

libgudev-devel_package() {
	depends="libglib-devel libudev-devel libgudev>=${version}"
	short_desc="GObject-based wrapper library for libudev - development files"
	pkg_install() {
		vmove usr/include/gudev-1.0
		vmove "usr/lib/pkgconfig/gudev*"
		vmove usr/share/gir-1.0
	}
}

systemd-python_package() {
	short_desc="${sourcepkg} - python bindings"
	pycompile_module="systemd"
	pkg_install() {
		vmove "usr/lib/python*"
	}
}

fi # !CROSS_BUILD

systemd_package() {
	# Create systemd-journal (gid 24) system group.
	system_groups="systemd-journal:24"
	replaces="nss-myhostname>=0 systemd-analyze>0"
	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"
	depends="xbps-triggers>=0.64 dbus kbd libcap-progs
		libudev>=${version} systemd-libs>=${version} shadow"
	pkg_install() {
		vmove all
	}
}
