summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-12-01 10:13:56 +0000
committerSam James <sam@gentoo.org>2024-12-01 10:13:56 +0000
commitf50de1faf8bfe05caa13ea4aed66da00d7f6ee23 (patch)
tree36167b22b69e283ab2571149497adaee3a9ead63 /sys-apps
parentsys-apps/systemd-utils: drop 254.13, 254.16 (diff)
downloadgentoo-f50de1faf8bfe05caa13ea4aed66da00d7f6ee23.tar.gz
gentoo-f50de1faf8bfe05caa13ea4aed66da00d7f6ee23.tar.bz2
gentoo-f50de1faf8bfe05caa13ea4aed66da00d7f6ee23.zip
sys-apps/systemd-utils: drop 254.18, 254.19
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/systemd-utils/Manifest2
-rw-r--r--sys-apps/systemd-utils/systemd-utils-254.18.ebuild583
-rw-r--r--sys-apps/systemd-utils/systemd-utils-254.19.ebuild583
3 files changed, 0 insertions, 1168 deletions
diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest
index cdc8b5f3d63d..c13d1c3e4d65 100644
--- a/sys-apps/systemd-utils/Manifest
+++ b/sys-apps/systemd-utils/Manifest
@@ -5,8 +5,6 @@ DIST systemd-musl-patches-255.14.tar.gz 31519 BLAKE2B 1ada38b3536370f3f20f94abb1
DIST systemd-musl-patches-255.6.tar.gz 31529 BLAKE2B 14b737968168238c62a776052bdb97a3cee87c076317f260147939051f24f9ee8f39dec5e38f9b2ce61ea4737422eece680c4d15dd1fdcc5f3e61b6e5ec5f5c4 SHA512 0ab39a653d42d7b58ad875176270aed93e03ba28b33616520548a01e7d06d170379f9206b4a2b280a588d4f7084af10a2a0ec7a6cb724902ddff149e512d789d
DIST systemd-musl-patches-256.8.tar.gz 27395 BLAKE2B c387670f46bb7a484ca320ee8c80397b765721100db9441cbf08e86373df2094e9a718201d6616dcb63c3e943c5d0614b1c49c6a938fd945c5ab1cae6d97fb73 SHA512 6f88ca3c0cf133b5a8c534894fc49535b2a68b5a5ffd9ccec884437880948a3756fc5d381458cb1765d048fb17062c67912a752c8ddc2cdece55f7c8af32faf0
DIST systemd-stable-254.17.tar.gz 14566862 BLAKE2B fca04c8db285cf22551f7c980da52a8aa3ef3eb78d6005b38cdece4b53ac43a69aa401f8498ee00fcab037dbb22c996b8c626db32c6e4be481f41f752e7a848b SHA512 11ae971e5463fb511c32fbc1ce4012765c73cf87d68ca44c36b85a2ed12f73655b6d071975008c6dd56a27963d1dff5d3c22039fc813bff30be23e6f2dd425ae
-DIST systemd-stable-254.18.tar.gz 14567354 BLAKE2B 30605ae63bdb650d380bcf4697eeaaba96f5e7a32051aa103ad9f8d32bb9a0c3bd9859ca23fda6b4e6ffab98a814748bc30638a01d03473191013758a958c70b SHA512 437db125a15021a5f51f59f8cc66992c8d2d767fd3fa13331c41502d1d362a3fd0024058a708602bb2760689bd61ec656c6faffcb22932776d54e9815a43d4ed
-DIST systemd-stable-254.19.tar.gz 14571542 BLAKE2B d24cc18737d8155638320c8ae715df879925b3197bf47beba4af8856dd5935505cb1fd06f0188f05bd4ae11c9b034770daadc136d21f00aec550f45ac52375c3 SHA512 736475ea64b0293de79ec56c1448682e2e1698fcd5dfa51f1348d7f51887e9d92457c557f3371ed1d6b43e1e845cf2af5fad91da831e38d3e2dc26982acab5a0
DIST systemd-stable-254.20.tar.gz 14646038 BLAKE2B 00dd374c6338eb1e4bd7d05413ba8f9c970fab974b0a7885a7e0bd14030e807e191607404932e2fb2047951fd948f704a1229119dd64d1cfd3c58f6b84e43333 SHA512 072a5b516c74e7d53c459f22fee9efbf11bf4a9504ee6e60a9ae7075623487a0764b49d770205413c8662cdb9a467dabc3dae2ed07ccf313f24355e1edc3090c
DIST systemd-stable-254.21.tar.gz 14664320 BLAKE2B 3814f3ed8561dc096aa66039d63591ee1462184a0ffe3e34417ec47b1bb411b506be586692898862ebd5ea24c16bdcedde9a702826ca558e95329d0a1264f377 SHA512 96e49fb86284642157be173db763f888a1c34c078f12fee987a5c68e91611a75b6c52e67162dd8390f57f6d10798530a38b4940b1f03f10f97123c2cc242897b
DIST systemd-stable-255.10.tar.gz 15102376 BLAKE2B ef35c243e98c43230682904a75f36201ea0f6776a5f17026e98c6a697746e5eebbcd19d614bd1107905c5bf23fbf5913918e7b4790a5d01bbd7a2ec79529234c SHA512 f672cfff18ab80136dedb34908b73d8152f9cb07776c27405a90eb2ad49e22ef86b979a5125c66c6b17d9c76ea516ed920cdbc8e929dda1382f632b414a03df0
diff --git a/sys-apps/systemd-utils/systemd-utils-254.18.ebuild b/sys-apps/systemd-utils/systemd-utils-254.18.ebuild
deleted file mode 100644
index d286731a7dd0..000000000000
--- a/sys-apps/systemd-utils/systemd-utils-254.18.ebuild
+++ /dev/null
@@ -1,583 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
-
-QA_PKGCONFIG_VERSION=$(ver_cut 1)
-
-inherit bash-completion-r1 flag-o-matic linux-info meson-multilib optfeature
-inherit python-single-r1 secureboot toolchain-funcs udev
-
-DESCRIPTION="Utilities split out from systemd for OpenRC users"
-HOMEPAGE="https://systemd.io/"
-
-if [[ ${PV} == *.* ]]; then
- MY_P="systemd-stable-${PV}"
- S="${WORKDIR}/${MY_P}"
- SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
-else
- MY_P="systemd-${PV}"
- S="${WORKDIR}/${MY_P}"
- SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
-fi
-
-MUSL_PATCHSET="systemd-musl-patches-254.3-r1"
-SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test +udev ukify"
-REQUIRED_USE="
- || ( kernel-install tmpfiles sysusers udev )
- boot? ( kernel-install )
- ukify? ( boot )
- ${PYTHON_REQUIRED_USE}
-"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- elibc_musl? ( >=sys-libs/musl-1.2.3 )
- selinux? ( sys-libs/libselinux:0= )
- tmpfiles? (
- acl? ( sys-apps/acl:0= )
- )
- udev? (
- >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl:0= )
- kmod? ( >=sys-apps/kmod-15:0= )
- )
- !udev? (
- >=sys-apps/util-linux-2.30:0=
- sys-libs/libcap:0=
- virtual/libcrypt:=
- )
-"
-DEPEND="${COMMON_DEPEND}
- >=sys-kernel/linux-headers-3.11
-"
-
-PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
-
-RDEPEND="${COMMON_DEPEND}
- boot? ( !<sys-boot/systemd-boot-250 )
- ukify? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "${PEFILE_DEPEND}")
- )
- tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 )
- udev? (
- acct-group/audio
- acct-group/cdrom
- acct-group/dialout
- acct-group/disk
- acct-group/floppy
- acct-group/input
- acct-group/kmem
- acct-group/kvm
- acct-group/lp
- acct-group/render
- acct-group/sgx
- acct-group/tape
- acct-group/tty
- acct-group/usb
- acct-group/video
- !sys-apps/gentoo-systemd-integration
- !sys-apps/hwids[udev]
- !<sys-fs/udev-250
- !sys-fs/eudev
- )
- !sys-apps/systemd
-"
-PDEPEND="
- udev? ( >=sys-fs/udev-init-scripts-34 )
-"
-BDEPEND="
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- dev-util/gperf
- >=sys-apps/coreutils-8.16
- sys-devel/gettext
- virtual/pkgconfig
- $(python_gen_cond_dep "
- dev-python/jinja2[\${PYTHON_USEDEP}]
- dev-python/lxml[\${PYTHON_USEDEP}]
- boot? ( >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] )
- ukify? ( test? ( ${PEFILE_DEPEND} ) )
- ")
-"
-
-TMPFILES_OPTIONAL=1
-UDEV_OPTIONAL=1
-
-QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
-QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
-
-CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED
- ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then
- linux-info_pkg_setup
- fi
- use boot && secureboot_pkg_setup
-}
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/${PN}-254.3-add-link-kernel-install-shared-option.patch"
- )
-
- if use elibc_musl; then
- PATCHES+=(
- "${WORKDIR}/${MUSL_PATCHSET}"
- )
- fi
- default
-
- # Remove install_rpath; we link statically
- local rpath_pattern="install_rpath : rootpkglibdir,"
- grep -q -e "${rpath_pattern}" meson.build || die
- sed -i -e "/${rpath_pattern}/d" meson.build || die
-}
-
-src_configure() {
- python_setup
- meson-multilib_src_configure
-}
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_use split-usr)
- $(meson_use split-usr split-bin)
- -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
- -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
- -Dsysvinit-path=
- $(meson_native_use_bool boot bootloader)
- $(meson_native_use_bool kernel-install)
- $(meson_native_use_bool selinux)
- $(meson_native_use_bool sysusers)
- $(meson_use test tests)
- $(meson_native_use_bool tmpfiles)
- $(meson_use udev hwdb)
- $(meson_native_use_bool ukify)
-
- # Link staticly with libsystemd-shared
- -Dlink-boot-shared=false
- -Dlink-kernel-install-shared=false
- -Dlink-udev-shared=false
-
- # systemd-tmpfiles has a separate "systemd-tmpfiles.standalone" target
- -Dstandalone-binaries=true
-
- # Disable all optional features
- -Dadm-group=false
- -Danalyze=false
- -Dapparmor=false
- -Daudit=false
- -Dbacklight=false
- -Dbinfmt=false
- -Dbpf-framework=false
- -Dbzip2=false
- -Dcoredump=false
- -Ddbus=false
- -Delfutils=false
- -Denvironment-d=false
- -Dfdisk=false
- -Dgcrypt=false
- -Dglib=false
- -Dgshadow=false
- -Dgnutls=false
- -Dhibernate=false
- -Dhostnamed=false
- -Didn=false
- -Dima=false
- -Dinitrd=false
- -Dfirstboot=false
- -Dldconfig=false
- -Dlibcryptsetup=false
- -Dlibcurl=false
- -Dlibfido2=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dlocaled=false
- -Dlogind=false
- -Dlz4=false
- -Dmachined=false
- -Dmicrohttpd=false
- -Dnetworkd=false
- -Dnscd=false
- -Dnss-myhostname=false
- -Dnss-resolve=false
- -Dnss-systemd=false
- -Doomd=false
- -Dopenssl=false
- -Dp11kit=false
- -Dpam=false
- -Dpcre2=false
- -Dpolkit=false
- -Dportabled=false
- -Dpstore=false
- -Dpwquality=false
- -Drandomseed=false
- -Dresolve=false
- -Drfkill=false
- -Dseccomp=false
- -Dsmack=false
- -Dsysext=false
- -Dtimedated=false
- -Dtimesyncd=false
- -Dtpm=false
- -Dqrencode=false
- -Dquotacheck=false
- -Duserdb=false
- -Dutmp=false
- -Dvconsole=false
- -Dwheel-group=false
- -Dxdg-autostart=false
- -Dxkbcommon=false
- -Dxz=false
- -Dzlib=false
- -Dzstd=false
- )
-
- if use tmpfiles || use udev; then
- emesonargs+=( $(meson_native_use_bool acl) )
- else
- emesonargs+=( -Dacl=false )
- fi
-
- if use udev; then
- emesonargs+=( $(meson_native_use_bool kmod) )
- else
- emesonargs+=( -Dkmod=false )
- fi
-
- if use elibc_musl; then
- # Avoid redefinition of struct ethhdr.
- append-cppflags -D__UAPI_DEF_ETHHDR=0
- fi
-
- if multilib_is_native_abi || use udev; then
- meson_src_configure
- fi
-}
-
-efi_arch() {
- case "$(tc-arch)" in
- amd64) echo x64 ;;
- arm) echo arm ;;
- arm64) echo aa64 ;;
- x86) echo x86 ;;
- esac
-}
-
-multilib_src_compile() {
- local targets=()
- if multilib_is_native_abi; then
- if use boot; then
- targets+=(
- bootctl
- man/bootctl.1
- src/boot/efi/linux$(efi_arch).efi.stub
- src/boot/efi/systemd-boot$(efi_arch).efi
- )
- fi
- if use kernel-install; then
- targets+=(
- kernel-install
- src/kernel-install/90-loaderentry.install
- man/kernel-install.8
- )
- fi
- if use sysusers; then
- targets+=(
- systemd-sysusers.standalone
- man/sysusers.d.5
- man/systemd-sysusers.8
- )
- if use test; then
- targets+=(
- systemd-runtest.env
- )
- fi
- fi
- if use tmpfiles; then
- targets+=(
- systemd-tmpfiles.standalone
- man/tmpfiles.d.5
- man/systemd-tmpfiles.8
- tmpfiles.d/{etc,static-nodes-permissions,var}.conf
- )
- if use test; then
- targets+=( test-tmpfile-util )
- fi
- fi
- if use udev; then
- targets+=(
- udevadm
- systemd-hwdb
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/fido_id
- src/udev/mtd_probe
- src/udev/scsi_id
- src/udev/udev.pc
- src/udev/v4l_id
- man/udev.conf.5
- man/systemd.link.5
- man/hwdb.7
- man/udev.7
- man/systemd-hwdb.8
- man/systemd-udevd.service.8
- man/udevadm.8
- man/libudev.3
- man/udev_device_get_syspath.3
- man/udev_device_has_tag.3
- man/udev_device_new_from_syspath.3
- man/udev_enumerate_add_match_subsystem.3
- man/udev_enumerate_new.3
- man/udev_enumerate_scan_devices.3
- man/udev_list_entry.3
- man/udev_monitor_filter_update.3
- man/udev_monitor_new_from_netlink.3
- man/udev_monitor_receive_device.3
- man/udev_new.3
- hwdb.d/60-autosuspend-chromiumos.hwdb
- rules.d/50-udev-default.rules
- rules.d/60-persistent-storage.rules
- rules.d/64-btrfs.rules
- )
- if use test; then
- targets+=(
- test-fido-id-desc
- test-udev-builtin
- test-udev-event
- test-udev-node
- test-udev-util
- udev-rule-runner
- )
- fi
- fi
- if use ukify; then
- targets+=(
- ukify
- src/kernel-install/60-ukify.install
- man/ukify.1
- )
- fi
- fi
- if use udev; then
- targets+=(
- libudev
- src/libudev/libudev.pc
- )
- if use test; then
- targets+=(
- test-libudev
- test-libudev-sym
- test-udev-device-thread
- )
- fi
- fi
- if multilib_is_native_abi || use udev; then
- meson_src_compile "${targets[@]}"
- fi
-}
-
-multilib_src_test() {
- local tests=()
- if multilib_is_native_abi; then
- if use sysusers; then
- tests+=(
- test-sysusers.standalone
- )
- fi
- if use tmpfiles; then
- tests+=(
- test-systemd-tmpfiles.standalone
- test-tmpfile-util
- )
- fi
- if use udev; then
- tests+=(
- rule-syntax-check
- test-fido-id-desc
- test-udev
- test-udev-builtin
- test-udev-event
- test-udev-node
- test-udev-util
- )
- fi
- fi
- if use udev; then
- tests+=(
- test-libudev
- test-libudev-sym
- test-udev-device-thread
- )
- fi
- if [[ ${#tests[@]} -ne 0 ]]; then
- meson_src_test "${tests[@]}"
- fi
-}
-
-src_install() {
- local rootprefix="$(usex split-usr '' /usr)"
- meson-multilib_src_install
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- if use boot; then
- into /usr
- dobin bootctl
- doman man/bootctl.1
- insinto usr/lib/systemd/boot/efi
- doins src/boot/efi/{linux$(efi_arch).{efi,elf}.stub,systemd-boot$(efi_arch).efi}
- fi
- if use kernel-install; then
- dobin kernel-install
- doman man/kernel-install.8
- exeinto usr/lib/kernel/install.d
- doexe src/kernel-install/*.install
- fi
- if use sysusers; then
- into "${rootprefix:-/}"
- newbin systemd-sysusers{.standalone,}
- doman man/{systemd-sysusers.8,sysusers.d.5}
- fi
- if use tmpfiles; then
- into "${rootprefix:-/}"
- newbin systemd-tmpfiles{.standalone,}
- doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
- insinto /usr/lib/tmpfiles.d
- doins tmpfiles.d/{etc,static-nodes-permissions,var}.conf
- fi
- if use udev; then
- into "${rootprefix:-/}"
- dobin udevadm systemd-hwdb
- dosym ../../bin/udevadm "${rootprefix}"/lib/systemd/systemd-udevd
-
- exeinto "${rootprefix}"/lib/udev
- doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
-
- rm -f rules.d/99-systemd.rules
- insinto "${rootprefix}"/lib/udev/rules.d
- doins rules.d/*.rules
-
- insinto "${rootprefix}"/lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- insinto /usr/share/pkgconfig
- doins src/udev/udev.pc
-
- doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8}
- newman man/systemd-udevd.service.8 systemd-udevd.8
- doman man/libudev.3
- doman man/udev_*.3
- fi
- if use ukify; then
- exeinto "${rootprefix}"/lib/systemd/
- doexe ukify
- doman man/ukify.1
- fi
- fi
- if use udev; then
- meson_install --no-rebuild --tags libudev
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
- if use boot; then
- into /usr
- dobashcomp shell-completion/bash/bootctl
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/{_bootctl,_kernel-install}
- fi
- if use kernel-install; then
- exeinto usr/lib/kernel/install.d
- doexe src/kernel-install/*.install
- fi
- if use tmpfiles; then
- doinitd "${FILESDIR}"/systemd-tmpfiles-setup
- doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
- exeinto /etc/cron.daily
- doexe "${FILESDIR}"/systemd-tmpfiles-clean
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_systemd-tmpfiles
- insinto /usr/lib/tmpfiles.d
- doins tmpfiles.d/x11.conf
- doins "${FILESDIR}"/{legacy,tmp}.conf
- fi
- if use udev; then
- doheader src/libudev/libudev.h
-
- insinto /etc/udev
- doins src/udev/udev.conf
- keepdir /etc/udev/{hwdb.d,rules.d}
-
- insinto "${rootprefix}"/lib/systemd/network
- doins network/99-default.link
-
- # Remove to avoid conflict with elogind
- # https://bugs.gentoo.org/856433
- rm rules.d/70-power-switch.rules || die
- insinto "${rootprefix}"/lib/udev/rules.d
- doins rules.d/*.rules
- doins "${FILESDIR}"/40-gentoo.rules
-
- insinto "${rootprefix}"/lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
- fi
-
- use ukify && python_fix_shebang "${ED}"
- use boot && secureboot_auto_sign
-}
-
-add_service() {
- local initd=$1
- local runlevel=$2
-
- ebegin "Adding '${initd}' service to the '${runlevel}' runlevel"
- mkdir -p "${EROOT}/etc/runlevels/${runlevel}" &&
- ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
- eend $?
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- add_service systemd-tmpfiles-setup-dev sysinit
- add_service systemd-tmpfiles-setup boot
- fi
- if use udev; then
- ebegin "Updating hwdb"
- systemd-hwdb --root="${ROOT}" update
- eend $?
- udev_reload
- fi
-
- if use boot; then
- optfeature "automatically installing the kernels in systemd-boot's native layout and updating the bootloader configuration" \
- "sys-kernel/installkernel[systemd-boot]"
- fi
- if use ukify; then
- optfeature "automatically generating an unified kernel image on each kernel installation" \
- "sys-kernel/installkernel[ukify]"
- fi
-}
diff --git a/sys-apps/systemd-utils/systemd-utils-254.19.ebuild b/sys-apps/systemd-utils/systemd-utils-254.19.ebuild
deleted file mode 100644
index d286731a7dd0..000000000000
--- a/sys-apps/systemd-utils/systemd-utils-254.19.ebuild
+++ /dev/null
@@ -1,583 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
-
-QA_PKGCONFIG_VERSION=$(ver_cut 1)
-
-inherit bash-completion-r1 flag-o-matic linux-info meson-multilib optfeature
-inherit python-single-r1 secureboot toolchain-funcs udev
-
-DESCRIPTION="Utilities split out from systemd for OpenRC users"
-HOMEPAGE="https://systemd.io/"
-
-if [[ ${PV} == *.* ]]; then
- MY_P="systemd-stable-${PV}"
- S="${WORKDIR}/${MY_P}"
- SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
-else
- MY_P="systemd-${PV}"
- S="${WORKDIR}/${MY_P}"
- SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
-fi
-
-MUSL_PATCHSET="systemd-musl-patches-254.3-r1"
-SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )"
-
-LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test +udev ukify"
-REQUIRED_USE="
- || ( kernel-install tmpfiles sysusers udev )
- boot? ( kernel-install )
- ukify? ( boot )
- ${PYTHON_REQUIRED_USE}
-"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- elibc_musl? ( >=sys-libs/musl-1.2.3 )
- selinux? ( sys-libs/libselinux:0= )
- tmpfiles? (
- acl? ( sys-apps/acl:0= )
- )
- udev? (
- >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl:0= )
- kmod? ( >=sys-apps/kmod-15:0= )
- )
- !udev? (
- >=sys-apps/util-linux-2.30:0=
- sys-libs/libcap:0=
- virtual/libcrypt:=
- )
-"
-DEPEND="${COMMON_DEPEND}
- >=sys-kernel/linux-headers-3.11
-"
-
-PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
-
-RDEPEND="${COMMON_DEPEND}
- boot? ( !<sys-boot/systemd-boot-250 )
- ukify? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep "${PEFILE_DEPEND}")
- )
- tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 )
- udev? (
- acct-group/audio
- acct-group/cdrom
- acct-group/dialout
- acct-group/disk
- acct-group/floppy
- acct-group/input
- acct-group/kmem
- acct-group/kvm
- acct-group/lp
- acct-group/render
- acct-group/sgx
- acct-group/tape
- acct-group/tty
- acct-group/usb
- acct-group/video
- !sys-apps/gentoo-systemd-integration
- !sys-apps/hwids[udev]
- !<sys-fs/udev-250
- !sys-fs/eudev
- )
- !sys-apps/systemd
-"
-PDEPEND="
- udev? ( >=sys-fs/udev-init-scripts-34 )
-"
-BDEPEND="
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- dev-util/gperf
- >=sys-apps/coreutils-8.16
- sys-devel/gettext
- virtual/pkgconfig
- $(python_gen_cond_dep "
- dev-python/jinja2[\${PYTHON_USEDEP}]
- dev-python/lxml[\${PYTHON_USEDEP}]
- boot? ( >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] )
- ukify? ( test? ( ${PEFILE_DEPEND} ) )
- ")
-"
-
-TMPFILES_OPTIONAL=1
-UDEV_OPTIONAL=1
-
-QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
-QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
-
-CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED
- ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then
- linux-info_pkg_setup
- fi
- use boot && secureboot_pkg_setup
-}
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/${PN}-254.3-add-link-kernel-install-shared-option.patch"
- )
-
- if use elibc_musl; then
- PATCHES+=(
- "${WORKDIR}/${MUSL_PATCHSET}"
- )
- fi
- default
-
- # Remove install_rpath; we link statically
- local rpath_pattern="install_rpath : rootpkglibdir,"
- grep -q -e "${rpath_pattern}" meson.build || die
- sed -i -e "/${rpath_pattern}/d" meson.build || die
-}
-
-src_configure() {
- python_setup
- meson-multilib_src_configure
-}
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_use split-usr)
- $(meson_use split-usr split-bin)
- -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
- -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
- -Dsysvinit-path=
- $(meson_native_use_bool boot bootloader)
- $(meson_native_use_bool kernel-install)
- $(meson_native_use_bool selinux)
- $(meson_native_use_bool sysusers)
- $(meson_use test tests)
- $(meson_native_use_bool tmpfiles)
- $(meson_use udev hwdb)
- $(meson_native_use_bool ukify)
-
- # Link staticly with libsystemd-shared
- -Dlink-boot-shared=false
- -Dlink-kernel-install-shared=false
- -Dlink-udev-shared=false
-
- # systemd-tmpfiles has a separate "systemd-tmpfiles.standalone" target
- -Dstandalone-binaries=true
-
- # Disable all optional features
- -Dadm-group=false
- -Danalyze=false
- -Dapparmor=false
- -Daudit=false
- -Dbacklight=false
- -Dbinfmt=false
- -Dbpf-framework=false
- -Dbzip2=false
- -Dcoredump=false
- -Ddbus=false
- -Delfutils=false
- -Denvironment-d=false
- -Dfdisk=false
- -Dgcrypt=false
- -Dglib=false
- -Dgshadow=false
- -Dgnutls=false
- -Dhibernate=false
- -Dhostnamed=false
- -Didn=false
- -Dima=false
- -Dinitrd=false
- -Dfirstboot=false
- -Dldconfig=false
- -Dlibcryptsetup=false
- -Dlibcurl=false
- -Dlibfido2=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dlocaled=false
- -Dlogind=false
- -Dlz4=false
- -Dmachined=false
- -Dmicrohttpd=false
- -Dnetworkd=false
- -Dnscd=false
- -Dnss-myhostname=false
- -Dnss-resolve=false
- -Dnss-systemd=false
- -Doomd=false
- -Dopenssl=false
- -Dp11kit=false
- -Dpam=false
- -Dpcre2=false
- -Dpolkit=false
- -Dportabled=false
- -Dpstore=false
- -Dpwquality=false
- -Drandomseed=false
- -Dresolve=false
- -Drfkill=false
- -Dseccomp=false
- -Dsmack=false
- -Dsysext=false
- -Dtimedated=false
- -Dtimesyncd=false
- -Dtpm=false
- -Dqrencode=false
- -Dquotacheck=false
- -Duserdb=false
- -Dutmp=false
- -Dvconsole=false
- -Dwheel-group=false
- -Dxdg-autostart=false
- -Dxkbcommon=false
- -Dxz=false
- -Dzlib=false
- -Dzstd=false
- )
-
- if use tmpfiles || use udev; then
- emesonargs+=( $(meson_native_use_bool acl) )
- else
- emesonargs+=( -Dacl=false )
- fi
-
- if use udev; then
- emesonargs+=( $(meson_native_use_bool kmod) )
- else
- emesonargs+=( -Dkmod=false )
- fi
-
- if use elibc_musl; then
- # Avoid redefinition of struct ethhdr.
- append-cppflags -D__UAPI_DEF_ETHHDR=0
- fi
-
- if multilib_is_native_abi || use udev; then
- meson_src_configure
- fi
-}
-
-efi_arch() {
- case "$(tc-arch)" in
- amd64) echo x64 ;;
- arm) echo arm ;;
- arm64) echo aa64 ;;
- x86) echo x86 ;;
- esac
-}
-
-multilib_src_compile() {
- local targets=()
- if multilib_is_native_abi; then
- if use boot; then
- targets+=(
- bootctl
- man/bootctl.1
- src/boot/efi/linux$(efi_arch).efi.stub
- src/boot/efi/systemd-boot$(efi_arch).efi
- )
- fi
- if use kernel-install; then
- targets+=(
- kernel-install
- src/kernel-install/90-loaderentry.install
- man/kernel-install.8
- )
- fi
- if use sysusers; then
- targets+=(
- systemd-sysusers.standalone
- man/sysusers.d.5
- man/systemd-sysusers.8
- )
- if use test; then
- targets+=(
- systemd-runtest.env
- )
- fi
- fi
- if use tmpfiles; then
- targets+=(
- systemd-tmpfiles.standalone
- man/tmpfiles.d.5
- man/systemd-tmpfiles.8
- tmpfiles.d/{etc,static-nodes-permissions,var}.conf
- )
- if use test; then
- targets+=( test-tmpfile-util )
- fi
- fi
- if use udev; then
- targets+=(
- udevadm
- systemd-hwdb
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/fido_id
- src/udev/mtd_probe
- src/udev/scsi_id
- src/udev/udev.pc
- src/udev/v4l_id
- man/udev.conf.5
- man/systemd.link.5
- man/hwdb.7
- man/udev.7
- man/systemd-hwdb.8
- man/systemd-udevd.service.8
- man/udevadm.8
- man/libudev.3
- man/udev_device_get_syspath.3
- man/udev_device_has_tag.3
- man/udev_device_new_from_syspath.3
- man/udev_enumerate_add_match_subsystem.3
- man/udev_enumerate_new.3
- man/udev_enumerate_scan_devices.3
- man/udev_list_entry.3
- man/udev_monitor_filter_update.3
- man/udev_monitor_new_from_netlink.3
- man/udev_monitor_receive_device.3
- man/udev_new.3
- hwdb.d/60-autosuspend-chromiumos.hwdb
- rules.d/50-udev-default.rules
- rules.d/60-persistent-storage.rules
- rules.d/64-btrfs.rules
- )
- if use test; then
- targets+=(
- test-fido-id-desc
- test-udev-builtin
- test-udev-event
- test-udev-node
- test-udev-util
- udev-rule-runner
- )
- fi
- fi
- if use ukify; then
- targets+=(
- ukify
- src/kernel-install/60-ukify.install
- man/ukify.1
- )
- fi
- fi
- if use udev; then
- targets+=(
- libudev
- src/libudev/libudev.pc
- )
- if use test; then
- targets+=(
- test-libudev
- test-libudev-sym
- test-udev-device-thread
- )
- fi
- fi
- if multilib_is_native_abi || use udev; then
- meson_src_compile "${targets[@]}"
- fi
-}
-
-multilib_src_test() {
- local tests=()
- if multilib_is_native_abi; then
- if use sysusers; then
- tests+=(
- test-sysusers.standalone
- )
- fi
- if use tmpfiles; then
- tests+=(
- test-systemd-tmpfiles.standalone
- test-tmpfile-util
- )
- fi
- if use udev; then
- tests+=(
- rule-syntax-check
- test-fido-id-desc
- test-udev
- test-udev-builtin
- test-udev-event
- test-udev-node
- test-udev-util
- )
- fi
- fi
- if use udev; then
- tests+=(
- test-libudev
- test-libudev-sym
- test-udev-device-thread
- )
- fi
- if [[ ${#tests[@]} -ne 0 ]]; then
- meson_src_test "${tests[@]}"
- fi
-}
-
-src_install() {
- local rootprefix="$(usex split-usr '' /usr)"
- meson-multilib_src_install
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- if use boot; then
- into /usr
- dobin bootctl
- doman man/bootctl.1
- insinto usr/lib/systemd/boot/efi
- doins src/boot/efi/{linux$(efi_arch).{efi,elf}.stub,systemd-boot$(efi_arch).efi}
- fi
- if use kernel-install; then
- dobin kernel-install
- doman man/kernel-install.8
- exeinto usr/lib/kernel/install.d
- doexe src/kernel-install/*.install
- fi
- if use sysusers; then
- into "${rootprefix:-/}"
- newbin systemd-sysusers{.standalone,}
- doman man/{systemd-sysusers.8,sysusers.d.5}
- fi
- if use tmpfiles; then
- into "${rootprefix:-/}"
- newbin systemd-tmpfiles{.standalone,}
- doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
- insinto /usr/lib/tmpfiles.d
- doins tmpfiles.d/{etc,static-nodes-permissions,var}.conf
- fi
- if use udev; then
- into "${rootprefix:-/}"
- dobin udevadm systemd-hwdb
- dosym ../../bin/udevadm "${rootprefix}"/lib/systemd/systemd-udevd
-
- exeinto "${rootprefix}"/lib/udev
- doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
-
- rm -f rules.d/99-systemd.rules
- insinto "${rootprefix}"/lib/udev/rules.d
- doins rules.d/*.rules
-
- insinto "${rootprefix}"/lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- insinto /usr/share/pkgconfig
- doins src/udev/udev.pc
-
- doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8}
- newman man/systemd-udevd.service.8 systemd-udevd.8
- doman man/libudev.3
- doman man/udev_*.3
- fi
- if use ukify; then
- exeinto "${rootprefix}"/lib/systemd/
- doexe ukify
- doman man/ukify.1
- fi
- fi
- if use udev; then
- meson_install --no-rebuild --tags libudev
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
- if use boot; then
- into /usr
- dobashcomp shell-completion/bash/bootctl
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/{_bootctl,_kernel-install}
- fi
- if use kernel-install; then
- exeinto usr/lib/kernel/install.d
- doexe src/kernel-install/*.install
- fi
- if use tmpfiles; then
- doinitd "${FILESDIR}"/systemd-tmpfiles-setup
- doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
- exeinto /etc/cron.daily
- doexe "${FILESDIR}"/systemd-tmpfiles-clean
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_systemd-tmpfiles
- insinto /usr/lib/tmpfiles.d
- doins tmpfiles.d/x11.conf
- doins "${FILESDIR}"/{legacy,tmp}.conf
- fi
- if use udev; then
- doheader src/libudev/libudev.h
-
- insinto /etc/udev
- doins src/udev/udev.conf
- keepdir /etc/udev/{hwdb.d,rules.d}
-
- insinto "${rootprefix}"/lib/systemd/network
- doins network/99-default.link
-
- # Remove to avoid conflict with elogind
- # https://bugs.gentoo.org/856433
- rm rules.d/70-power-switch.rules || die
- insinto "${rootprefix}"/lib/udev/rules.d
- doins rules.d/*.rules
- doins "${FILESDIR}"/40-gentoo.rules
-
- insinto "${rootprefix}"/lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
- fi
-
- use ukify && python_fix_shebang "${ED}"
- use boot && secureboot_auto_sign
-}
-
-add_service() {
- local initd=$1
- local runlevel=$2
-
- ebegin "Adding '${initd}' service to the '${runlevel}' runlevel"
- mkdir -p "${EROOT}/etc/runlevels/${runlevel}" &&
- ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
- eend $?
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- add_service systemd-tmpfiles-setup-dev sysinit
- add_service systemd-tmpfiles-setup boot
- fi
- if use udev; then
- ebegin "Updating hwdb"
- systemd-hwdb --root="${ROOT}" update
- eend $?
- udev_reload
- fi
-
- if use boot; then
- optfeature "automatically installing the kernels in systemd-boot's native layout and updating the bootloader configuration" \
- "sys-kernel/installkernel[systemd-boot]"
- fi
- if use ukify; then
- optfeature "automatically generating an unified kernel image on each kernel installation" \
- "sys-kernel/installkernel[ukify]"
- fi
-}