sys-apps/systemd-utils: add 254.24

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2025-03-07 03:39:57 +00:00
parent 0c72e44286
commit 21d2086ec0
2 changed files with 586 additions and 0 deletions

View File

@@ -9,6 +9,7 @@ DIST systemd-stable-254.17.tar.gz 14566862 BLAKE2B fca04c8db285cf22551f7c980da52
DIST systemd-stable-254.21.tar.gz 14664320 BLAKE2B 3814f3ed8561dc096aa66039d63591ee1462184a0ffe3e34417ec47b1bb411b506be586692898862ebd5ea24c16bdcedde9a702826ca558e95329d0a1264f377 SHA512 96e49fb86284642157be173db763f888a1c34c078f12fee987a5c68e91611a75b6c52e67162dd8390f57f6d10798530a38b4940b1f03f10f97123c2cc242897b
DIST systemd-stable-254.22.tar.gz 14667273 BLAKE2B d3bfbd34ef47b73e139c37dd3e961fdc17c969e38674d84976183ecad44030fce1db073da6faf522e9ab232ae65c8e70a8d9a1f15053c57269090d3a9f1756f7 SHA512 5cef3912e68060366d7a8030c13825ae872783dd55a8a3ab15aa5ff2c397b50df8fc6e08b9bd1fdc0d54f08f3f7765484a41af0646ded238512921e3d02b553d
DIST systemd-stable-254.23.tar.gz 14666469 BLAKE2B db685bfd40ed45dd29260085330c8cbe3545d229b50e881e7debb994ab3cc24024cf3e9c9a1c0931013e78701c101fd79e828d8ea3f8dcc19ce46867c0ed1a43 SHA512 e5a02d8e151f48b5fa9c9532d4f0caae56f368e83ed8f33cd4e2172af9209c357269385f99f3177fc92ebf356691f22751e27a6d6356ebaea8d5ad649ecf15e5
DIST systemd-stable-254.24.tar.gz 14718567 BLAKE2B a3389e671f78db398d627f39761cb44a7db9904f4ca987d00073495eb0f80980118459440ee6556d4278c28939bc93167ec8e56885d14eecd17635a2d1aec7da SHA512 f2f5f30c2fd0246ca359bbf04f06fbb49685d58c0d7d4fab6031f98ffebd552141f05ea33c22aeef11338a90ad12389ccb887d9d2d2542d5124b3efd51638343
DIST systemd-stable-255.15.tar.gz 15207869 BLAKE2B 5bd314f008782d5d6148bf6a0ab437be23e71ca4dab1fc0aff61e6cc17e9b43da7fbae5a1bfa7d829ba0d8dcb28b43a1a2fbd4fcd0d79fd4154336f98fb25a25 SHA512 39e4d03da90bcceb30517098b012cea991067cdd88cf577a23243c28341424e38a5dbb8f92e51b32f8f651e880ae6ca48490f7de8d0dc3525e6629250f546000
DIST systemd-stable-255.16.tar.gz 15206112 BLAKE2B a5bc9d73b2ae8e1ebe485ab305bd20161500157b366f8678fccdac56f1844614bd14c849493154dcff40f0283467c910dbe7bf0ca501b40a2be1577c269e7544 SHA512 e2c108af8f895bcdeb47b133b2c26db640d5b5b2bcd1ba548faf8c579fa09b1d88f9e89b3b994a4a396a9f0df56d1a0f5833e71c0c66501d418ae4ea78f37889
DIST systemd-stable-255.17.tar.gz 15206361 BLAKE2B 71b7eb7c90898ee080b258fa6b500b84c588d52bacfd0b3c301b8fd157bc6c6c3ddde11bb3f94a5f162038c527779872586622da1e0cafb9f8685c541ab6a7a6 SHA512 441f27764af708bb1165e671eee8fa5686adbb32f1a4761fef2d89b882d879534d2e74f7e04028ab06457aaa5173fdbcb099aaa20bb0d23b36ed59e8c7ad1887

View File

@@ -0,0 +1,585 @@
# Copyright 2022-2025 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=(
# default is developer, bug 918671
-Dmode=release
$(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
}