commit:     4b80e35db38b006cb49268d8b6f4d34e8c8d918b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 28 04:06:05 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul 28 04:06:05 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b80e35d

sys-apps/systemd-utils: add 254.16

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-apps/systemd-utils/Manifest                    |   1 +
 sys-apps/systemd-utils/systemd-utils-254.16.ebuild | 583 +++++++++++++++++++++
 2 files changed, 584 insertions(+)

diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest
index 903ebffefeea..d6e0d1df3cd0 100644
--- a/sys-apps/systemd-utils/Manifest
+++ b/sys-apps/systemd-utils/Manifest
@@ -3,5 +3,6 @@ DIST systemd-musl-patches-255.6.tar.gz 31529 BLAKE2B 
14b737968168238c62a776052bd
 DIST systemd-stable-254.13.tar.gz 14533359 BLAKE2B 
6f37bf5f1868840f122652fdca270e1f97ba78f8280f45100b1b5b33c3531cf79587b596ccbbe594f1e623d918c1fdf19f2231d677e27b5421f1852fbe3225b3
 SHA512 
852cbc992128dc3ab6ded4215c2540fa3c0b7c7ad98e54036f3981d77a2162f5393ee50960773419133e0d584844af329d3726f45829a56c00b1827e33edf3e1
 DIST systemd-stable-254.14.tar.gz 14533129 BLAKE2B 
1db933e0f0cdfcabc7a4f3ecfe6e0cf1b10d4b2fa0aee02629d786cb022b18c501a0c48445f9b537a003af22ee64803271fa007e3889b833ec119b4d1346c410
 SHA512 
bd4e5ce7529f488f7e7199a1ff5976c10cf8e7040893dcf312a23dda5e32eb5c7f40c9ce3676f4a60d5d39197efc3bb1f2a577004b1654d1d0be9a1c617cfcdb
 DIST systemd-stable-254.15.tar.gz 14537162 BLAKE2B 
cd8235d2522986ec4044306b65f186ab13c1c420e33177fd901254b216910f445b920655aad5ffefca8607ed00ff8a01800f4a8efe56c1577f0ace8d1b2ba9be
 SHA512 
3d6b3e719c9164721f746986a337ab791f7ce7d0bd6e42980bfc0b4232806c3a141e2e93b0f98c1cd33073439a81061e329f3821eafe05a359096dafa71c9966
+DIST systemd-stable-254.16.tar.gz 14564160 BLAKE2B 
fdf028b128fa8181bc1a4c2d3b5f761431e55613149bee5055a6c2697055a06a52573c4f2ea5a2b9633080a0b7a8d4312d95cb4b61d3943f918bdadf45bc5586
 SHA512 
0958859610c50f1625a10d67e373c9841678f63dc091abec9d8e7e57bff7e82d2f34a1d54e8ec3c44952f8dc2a5581e65ee54cfbb48c3589561f5bd8658498e0
 DIST systemd-stable-255.8.tar.gz 15070471 BLAKE2B 
b437404af7fd73ef527f80d9d14d46a781444103d1756c27494ecf2664c9c5efe1169c85b91148a3bf190dc7c5e31cf8d42a13c84102d101ea7e4a0570e8d719
 SHA512 
7692be761a393924669a90f6f343998a85707a9daa3ce169ce67f62ae2a39338c2c3496066b2659c6500849104fab0529fca5704a3eb32375f2f44131216d1f1
 DIST systemd-stable-255.9.tar.gz 15072970 BLAKE2B 
e720eca0e239293c5488feb8caf3f2df49ebe581cbf3a7ac8eb569d1b9a5c669c3eea28e7fd35a9902208116dc7e626166503bccf628258e2041b9e8f77bcbed
 SHA512 
75b46e443bcbe5e4ae812b6cbbd4ea6485caf5b4addea78a0b42365147a0bdc390a288b4aeda1fc7f3e9a46abf2881cda0e45bb8cb782daa50ea5661514b1af8

diff --git a/sys-apps/systemd-utils/systemd-utils-254.16.ebuild 
b/sys-apps/systemd-utils/systemd-utils-254.16.ebuild
new file mode 100644
index 000000000000..d76d79f1f07f
--- /dev/null
+++ b/sys-apps/systemd-utils/systemd-utils-254.16.ebuild
@@ -0,0 +1,583 @@
+# 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 ~ia64 ~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/jinja[\${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
+}

Reply via email to