void-packages/srcpkgs/systemd/template

170 lines
4.7 KiB
Bash

# 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 <xtraeme@voidlinux.eu>"
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.*"
}
}