# Template file for 'systemd' # # We use the v208 stable branch, which is the branch that does not use IFUNC. _gitbranch="v208-stable" _gitcommit="722b7000a9973c9f3460fd5c41dfd613041a0976" _gitshort="${_gitcommit:0:7}" pkgname=systemd version=208 revision=12 short_desc="A system and service manager for Linux (${_gitbranch} ${_gitshort})" maintainer="Juan RP " homepage="http://www.freedesktop.org/wiki/Software/systemd" license="LGPL-2.1, GPL-2, MIT" build_style=gnu-configure configure_args="--libexecdir=/usr/lib --with-rootprefix=/usr --disable-selinux --with-sysvinit-path= --with-sysvrcnd-path= --with-rc-local-script-path-start= --with-rc-local-script-path-stop= --disable-audit --disable-static --disable-ima --disable-gudev --disable-introspection --without-python" hostmakedepends="automake gettext-devel libtool which pkg-config intltool gperf libxslt docbook-xsl libgcrypt-devel git" makedepends="acl-devel dbus-devel libcap-devel libkmod-devel liblzma-devel cryptsetup-devel libblkid-devel libgcrypt-devel pam-devel" depends="xbps-triggers>=0.64 dbus kbd libcap-progs shadow" # Create systemd-journal (gid 24) and input (gid 25) system groups. system_groups="systemd-journal:24 input:25" 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" lib32disabled=yes # Package build options build_options="efi microhttpd qrencode tcpwrappers" # Enable EFI by default on x86. if [ "$XBPS_TARGET_MACHINE" = "i686" -o "$XBPS_TARGET_MACHINE" = "x86_64" ]; then build_options_default="efi" fi if [ "$build_option_efi" ]; then configure_args+=" --enable-efi" else configure_args+=" --disable-efi" fi if [ "$build_option_microhttpd" ]; then configure_args+=" --enable-microhttpd" makedepends+=" libmicrohttpd-devel" else configure_args+=" --disable-microhttpd" fi if [ "$build_option_qrencode" ]; then configure_args+=" --enable-qrencode" makedepends+=" qrencode-devel" else configure_args+=" --disable-qrencode" fi if [ "$build_option_tcpwrappers" ]; then configure_args+=" --enable-tcpwrap" makedepends+=" tcp_wrappers-devel" else configure_args+=" --disable-tcpwrap" fi do_fetch() { git clone -b ${_gitbranch} git://anongit.freedesktop.org/systemd/systemd-stable ${pkgname}-${version} cd ${pkgname}-${version} git checkout ${_gitcommit} } pre_configure() { ./autogen.sh } post_install() { # Remove useless doc directory. rm -rf ${DESTDIR}/usr/share/doc 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 ${DESTDIR}/usr/lib/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 # fix .so links in manpage stubs find ${DESTDIR}/usr/share/man -type f -name '*.[[:digit:]]' \ -exec sed -ri '1s|^\.so (.*)\.([0-9]+)|.so man\2/\1.\2|' {} + # XXX We don't have pam.d/system-auth, use login pam service instead. sed -e 's,system-auth,login,g' -i ${DESTDIR}/etc/pam.d/systemd-user } libudev-devel_package() { depends="libudev>=${version}_${revision}" short_desc+=" - udev library (development files)" pkg_install() { vmove usr/include/libudev.h vmove usr/lib/pkgconfig/libudev.pc vmove usr/share/pkgconfig/udev.pc vmove "usr/lib/libudev*.so" } } libudev_package() { short_desc+=" - udev library" pkg_install() { vmove "usr/lib/libudev.so.*" } } systemd-devel_package() { depends="systemd-libs>=${version}_${revision}" short_desc+=" - development files" pkg_install() { vmove usr/include vmove usr/lib/pkgconfig vmove "usr/lib/*.so" vmove usr/share/man/man3 vmove usr/share/pkgconfig } } systemd-libs_package() { short_desc+=" - runtime libraries" replaces="systemd<43_1" pkg_install() { vmove "usr/lib/libsystemd*.so.*" } }