172 lines
4.9 KiB
Text
172 lines
4.9 KiB
Text
# Template file for 'systemd'
|
|
pkgname=systemd
|
|
version=202
|
|
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=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
|
|
|
|
# Package build options
|
|
build_options="efi microhttpd qrencode tcpwrappers"
|
|
desc_option_efi="Enable support for EFI"
|
|
desc_option_microhttpd="Enable support for microhttpd"
|
|
desc_option_qrencode="Enable support for qrencode"
|
|
desc_option_tcpwrappers="Enable support for 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-tcpwrappers"
|
|
makedepends+=" tcp_wrappers-devel"
|
|
else
|
|
configure_args+=" --disable-tcpwrappers"
|
|
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+=" - 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
|
|
}
|
|
}
|