1c5f4690e6
That means that version comparators are not supported anymore in hostmakedepends and makedepends. This will ensure that a pkg is always built with the same build dependencies everywhere, if the srcpkgs tree is uptodate.
169 lines
4.7 KiB
Bash
169 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@gmail.com>"
|
|
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.*"
|
|
}
|
|
}
|