diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-05-11 00:01:23 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-05-11 00:01:23 +0100 |
commit | c035b2b83f0e94c4b2e82184f00bcef874e6276b (patch) | |
tree | 8e1ab9b9e65cafbc237de0d455a13bb3c831de92 /sys-apps | |
parent | 17e5f1ea4a2e1c5664f96480ca46348d008e8711 (diff) |
gentoo auto-resync : 11:05:2024 - 00:01:22
Diffstat (limited to 'sys-apps')
20 files changed, 2724 insertions, 11 deletions
diff --git a/sys-apps/Manifest.gz b/sys-apps/Manifest.gz Binary files differindex b831fd236750..05db18a2a37e 100644 --- a/sys-apps/Manifest.gz +++ b/sys-apps/Manifest.gz diff --git a/sys-apps/coreutils/Manifest b/sys-apps/coreutils/Manifest index 1626cdfe29da..b6fb2dba5e35 100644 --- a/sys-apps/coreutils/Manifest +++ b/sys-apps/coreutils/Manifest @@ -14,6 +14,6 @@ DIST coreutils-9.5.tar.xz.sig 833 BLAKE2B 37c29984bceee0ff3bffde76712f71dbb118c2 EBUILD coreutils-8.32-r1.ebuild 5947 BLAKE2B 19f30ddaa57e16326db783e2396ce653c17c8def86422ac517b45ee3869266a6e8c600d926814720b1b79485f1db34e3d8dbad32dcc5ad285987c53ab2dbab27 SHA512 a552a58864edf6a768933f85b6624f82b3bd1bf94c169acf3577394523c2768d6768d5a141283abac760bdab950a1ea394c8f36cf2c0793b8b9a2a1c6dda9622 EBUILD coreutils-9.4-r1.ebuild 8495 BLAKE2B 84709406bb0d596319581de88bd53acee945c89313fe91be573929533013f67d2820aa31b9639e15c9d5a952f5f392172d0b1178ef3a37df37cf87fed0ad4350 SHA512 1a55133b77da5bed19cc301d1def618ea0044e8262dd9c54f729297c75f9f89259daae13826c5d3bc9709414e040ebfee3a7314ce3d9b99f0945143ecff1d4ff EBUILD coreutils-9.4.ebuild 8396 BLAKE2B 726efb986d7746043c9cdff74c12a66ff74b7910ec5f4a9b437c644132589155c0351df548e38c8eec2f5681bf1906594aebac6b5611880f2d7d80eac3f5b888 SHA512 4ec7e3b01025800a50bc1b5f772ab621411c142891e65cd77c4bc7d163962ac10e13d66e3add569a4caa78d873afbde8f662151f330768af49f5a45fb2b07732 -EBUILD coreutils-9.5.ebuild 8359 BLAKE2B dd3778257afd7f85066e25ed006de8eab115f586be47918add7f6e9c64830cfe43e002339d2c65dc9b4a6552cc30366e92dc5c22f1bcfe136e72f49e76ca2555 SHA512 b2b5d5fa01ff9430d94de2cd81a5406b056fd6034c84241262ce6c320e823371a001a49dd3b5b9c863d7e142eef14f4ccbbfe82429d46feac2bb513cbf72c11a +EBUILD coreutils-9.5.ebuild 8454 BLAKE2B 7cc4549786900c7a728f0edd19b0d9d857c2af3f12fe5c4dfb9d67b122b7aad0a29d1c377b8d5e3eafd2c883771eab13265b10826ccb431fd6b27461e44cd1be SHA512 34bb1d653fc6be2999044129ab6bc7e109bb5bbb8f50e071fef19123f795ce24d8445bc6f1f6ea9a64f1b025dc7b45f49f15673b9053ff328e02ed06b9fd5ddd EBUILD coreutils-9999.ebuild 8359 BLAKE2B dd3778257afd7f85066e25ed006de8eab115f586be47918add7f6e9c64830cfe43e002339d2c65dc9b4a6552cc30366e92dc5c22f1bcfe136e72f49e76ca2555 SHA512 b2b5d5fa01ff9430d94de2cd81a5406b056fd6034c84241262ce6c320e823371a001a49dd3b5b9c863d7e142eef14f4ccbbfe82429d46feac2bb513cbf72c11a MISC metadata.xml 1093 BLAKE2B 68a653fe54fc668c7f2c7c01904cfca5a071192de4370dcbba427e673f8e9ec33b5104a868a5493117ef24e277446181383140c621b105689797aec4e077b86e SHA512 bf8f2653a1a81edb6e4090b127c5660e0c5ab41a33c985dea1b5cb05c6656b04f42084ce4e561f4550c3e54630893314d3084011c673e7d5aded022be1c065d1 diff --git a/sys-apps/coreutils/coreutils-9.5.ebuild b/sys-apps/coreutils/coreutils-9.5.ebuild index 187e8ba621a9..7f39a5b81c1d 100644 --- a/sys-apps/coreutils/coreutils-9.5.ebuild +++ b/sys-apps/coreutils/coreutils-9.5.ebuild @@ -88,6 +88,8 @@ RDEPEND+=" QA_CONFIG_IMPL_DECL_SKIP=( # gnulib FPs (bug #898370) unreachable MIN alignof static_assert + # ... and on musl + _exit fpurge statvfs64 re_set_syntax re_compile_pattern re_search re_match ) pkg_setup() { diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest index e8beb6862b20..2fc038f0044c 100644 --- a/sys-apps/portage/Manifest +++ b/sys-apps/portage/Manifest @@ -1,4 +1,5 @@ AUX README.RESCUE 134 BLAKE2B 2cd153e0077388f29e11779670086c50fb1a470b9bb76969a747313021bb85c37b20327ab2feb9b2cc715849245875e7d8a5ae6ceee84b4a33d532996cb793bd SHA512 0df49e479e551648519ea4db0986584463eed498f77b133bd0e517389e71f4ff4069f1a5017c39f349bae62baa2ac32d968048c396261a9045ff00a0e5aa8bf4 +AUX portage-3.0.64-clang-splitdebug.patch 2586 BLAKE2B e650fc4b2d8a1478de3503d4534c23589dd9efdf9ec3a62e64a19923308a83fa5c4c3469f067a26eec6f3c67466da8dbd3c9b7645bcdd2504a62bd1881dd5cc3 SHA512 31107dcb0ae63c6d850229621716578eb047afff3f3ebed0a7e3553fad2193cca6cb4ed6a76fd2e76ea651b187ddad68ffdb84cf490fe00abfabf7731bbd9b3a AUX portage-ccache.conf 60 BLAKE2B b45ac69ba4bf6b221191ab9618aa484948ad8765ae906402e83df4b72fd10e006621523fe5b6d59219318a978e368649047784bb85771cd189b2542a2e19f941 SHA512 36427e57046118ecf982fc3b1a80a3543b5682e3eef7df5dfc8a50b261a5da56f997dd75f63c5194049aceea204c37aee638a3bc383b9f7a0eff8ac9c35f3b1c AUX portage-tmpdir.conf 76 BLAKE2B 79f35df57dbdcd461d94d558212261df7df54253d5205b40a0a0640ce2a7ae553a84d7aa8d8c11a776cac44b7573b842951ec11f8ab393145edb1786d6837e79 SHA512 4810d8ae1f8291d34b756897972841d30d5f50b48597a430cb8ddb102dab07a7f0d78c3901b6fdd6763180e92b5ae90a3cb88ae5a5c1cae845b23b49d03a87fd DIST portage-3.0.59.tar.bz2 1175098 BLAKE2B dbb8a22fd9417a74e60aa24ff064e9da5b4c54bd4936a0a1a4fdb0cd30d8568ca2424ef2a484883b538685a291a85009d942defdbb5cfa4e0072e9d977f238cd SHA512 8c86e0663327125e7cb36150d4aca1d7fcd2bf7ae25634ed916c2ee444809404aafb094adacacc0408509600f447d62d9c53e7bc25dd8c71c61e8758ac674638 @@ -8,6 +9,7 @@ DIST portage-3.0.64.tar.bz2 1187654 BLAKE2B 622cdda85315ab60ca3b1ae7cf1cb1fe479b EBUILD portage-3.0.59-r1.ebuild 6919 BLAKE2B 42d9b40cd255004ae6e3e598940717296163e500434a8c2bdf08b280915aecf8dc9d5f3b6d9eb5dc09c8718f689b459ec6a1f5df03187935d17d447f8b2e0f25 SHA512 59cfb6566b72a82cf81503b40b3ad73bb1616c39a6957d14681c55b53a60b662eb5330b7021d6c860212c4e583c4ed67e64ff5a55738f2f8f1a22d5cf4442e03 EBUILD portage-3.0.61-r1.ebuild 6919 BLAKE2B 42d9b40cd255004ae6e3e598940717296163e500434a8c2bdf08b280915aecf8dc9d5f3b6d9eb5dc09c8718f689b459ec6a1f5df03187935d17d447f8b2e0f25 SHA512 59cfb6566b72a82cf81503b40b3ad73bb1616c39a6957d14681c55b53a60b662eb5330b7021d6c860212c4e583c4ed67e64ff5a55738f2f8f1a22d5cf4442e03 EBUILD portage-3.0.63.ebuild 6920 BLAKE2B 2dd5786898bb5b67597164de65828d52357b109261eafdd03fffe940d53907ed1e0266dd76b28846bc1e337e640d9834cf68f642edf4b43e8833f74d6c0d3bc0 SHA512 865cdf3f7076bf2afd174f5febe920f73abdcb30fcf98763296179f2242531710a90aa2327d1c674d1c862cb0998247ba6e5bf01d3fddd2e4a2eaa11049571da +EBUILD portage-3.0.64-r1.ebuild 6846 BLAKE2B 6405b4cca3e571b57cf302bc4f0f49b208b7ccb0ac3bde08c1fd8274d7111f4a9c4dcfc87a788768c3bed571756fb117fef2a619afe5e1d50fc8f398e632f1f1 SHA512 36fff05c66821fbdf51d9822b2365f0e1167008a2d6636f7607aa3833ba0a21c9059c6a3544ea288cef6ee3dd41e078d2e737501cd846ac91db2affa1c255a7d EBUILD portage-3.0.64.ebuild 6790 BLAKE2B c0c4b0323ecf461cdd38831f8644944803b3c3cc653e11b7ed88ac4495f99ccf6fffc170d1bf41daffa60e5d8d262766a3e9641eac3f106f2dd866b6354722fd SHA512 73def9620f9e55157d298d89064cf7c7011ed0320fe1a2fb597b5ad74cf2ff2696a60ef1a89780883aecd98964bc559ed4d91d2d73f37082795885dc8181f169 EBUILD portage-9999.ebuild 6790 BLAKE2B c0c4b0323ecf461cdd38831f8644944803b3c3cc653e11b7ed88ac4495f99ccf6fffc170d1bf41daffa60e5d8d262766a3e9641eac3f106f2dd866b6354722fd SHA512 73def9620f9e55157d298d89064cf7c7011ed0320fe1a2fb597b5ad74cf2ff2696a60ef1a89780883aecd98964bc559ed4d91d2d73f37082795885dc8181f169 MISC metadata.xml 1539 BLAKE2B 0efa1ae365449d6593909046c32158a9f6755aa9252c34ae00eb866dd29a0b6a5c2e7a4af9293d0f87c4dd9231132fc5361acb0818fb6beff6dd6fbbdc6f409b SHA512 675f5baa1b3079592e3930b11ca18f324e27c42b5515f9ae815a26e53a465640fa6e9c4069df0e2121932b9f1cc73f2c9469c1529728f3c5ed5c3e687743ac0d diff --git a/sys-apps/portage/files/portage-3.0.64-clang-splitdebug.patch b/sys-apps/portage/files/portage-3.0.64-clang-splitdebug.patch new file mode 100644 index 000000000000..04193241debd --- /dev/null +++ b/sys-apps/portage/files/portage-3.0.64-clang-splitdebug.patch @@ -0,0 +1,76 @@ +https://github.com/gentoo/portage/commit/51f6ad158fc3de14df3f87d1242ff950b2189f05 + +From 51f6ad158fc3de14df3f87d1242ff950b2189f05 Mon Sep 17 00:00:00 2001 +From: "Alex Xu (Hello71)" <alex_y_xu@yahoo.ca> +Date: Sat, 11 Mar 2023 12:27:23 -0500 +Subject: [PATCH] estrip: Don't use splitdebug for .o files + +As the process_ar comment explained, object files cannot be splitdebug. + +Bug: https://bugs.gentoo.org/787623 ("www-client/firefox[clang]: .gnu_debuglink is busted when using LLD") +Fixes: 51579fb34c19 ("prepstrip: add support for elfutils strip") +Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca> +Signed-off-by: Sam James <sam@gentoo.org> +--- a/bin/estrip ++++ b/bin/estrip +@@ -280,9 +280,6 @@ dedup_elf_debug() { + + # Usage: save_elf_debug <src> <inode_debug> [splitdebug] + save_elf_debug() { +- ${FEATURES_splitdebug} || return 0 +- ${PORTAGE_RESTRICT_splitdebug} && return 0 +- + debug-print-function "${FUNCNAME}" "$@" + + # NOTE: Debug files must be installed in +@@ -390,7 +387,7 @@ process_elf() { + + if ${strip_this} ; then + # See if we can split & strip at the same time +- if [[ -n ${SPLIT_STRIP_FLAGS} ]] ; then ++ if ${splitdebug} && [[ -n ${SPLIT_STRIP_FLAGS} ]] ; then + local shortname="${x##*/}.debug" + local splitdebug="${tmpdir}/splitdebug/${shortname}.${BASHPID:-$(__bashpid)}" + +@@ -401,7 +398,9 @@ process_elf() { + "${x}" + save_elf_debug "${x}" "${inode_link}_debug" "${splitdebug}" + else +- save_elf_debug "${x}" "${inode_link}_debug" ++ if ${splitdebug} ; then ++ save_elf_debug "${x}" "${inode_link}_debug" ++ fi + ${already_stripped} || ${STRIP} ${strip_flags} "${x}" + fi + fi +@@ -431,7 +430,7 @@ process_ar() { + # There is no concept of splitdebug for objects not yet + # linked in (only for finally linked ELFs), so we have to + # retain the debug info in the archive itself. +- if ! ${FEATURES_splitdebug} || ${PORTAGE_RESTRICT_splitdebug} ; then ++ if ! ${splitdebug} ; then + ${STRIP} -g "${x}" && ${RANLIB} "${x}" + fi + fi +@@ -542,6 +541,12 @@ do + set +o noglob + fi + ++ if ${FEATURES_splitdebug} && ! ${PORTAGE_RESTRICT_splitdebug} ; then ++ splitdebug=true ++ else ++ splitdebug=false ++ fi ++ + # In Prefix we are usually an unprivileged user, so we can't strip + # unwritable objects. Make them temporarily writable for the + # stripping. +@@ -564,6 +569,7 @@ do + ${f} == *"SB shared object"* ]] ; then + process_elf "${x}" "${inode_link}" ${PORTAGE_STRIP_FLAGS} + elif [[ ${f} == *"SB relocatable"* ]] ; then ++ [[ ${x} == *.ko ]] || splitdebug=false + process_elf "${x}" "${inode_link}" ${SAFE_STRIP_FLAGS} + fi + + diff --git a/sys-apps/portage/portage-3.0.64-r1.ebuild b/sys-apps/portage/portage-3.0.64-r1.ebuild new file mode 100644 index 000000000000..80f59b5d3560 --- /dev/null +++ b/sys-apps/portage/portage-3.0.64-r1.ebuild @@ -0,0 +1,246 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( pypy3 python3_{10..12} ) +PYTHON_REQ_USE='bzip2(+),threads(+)' +TMPFILES_OPTIONAL=1 + +inherit meson linux-info python-r1 tmpfiles + +DESCRIPTION="The package management and distribution system for Gentoo" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/portage.git + https://github.com/gentoo/portage.git + " + inherit git-r3 +else + SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +# setuptools is still needed as a workaround for Python 3.12+ for now. +# https://github.com/mesonbuild/meson/issues/7702 +# +# >=meson-1.2.1-r1 for bug #912051 +BDEPEND=" + ${PYTHON_DEPS} + >=app-arch/tar-1.27 + >=dev-build/meson-1.2.1-r1 + || ( + >=dev-build/meson-1.3.0-r1 + <dev-build/meson-1.3.0 + ) + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ' python3_12) + >=sys-apps/sed-4.0.5 + sys-devel/patch + !build? ( $(python_gen_impl_dep 'ssl(+)') ) + apidoc? ( + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-epytext[${PYTHON_USEDEP}] + ) + doc? ( + ~app-text/docbook-xml-dtd-4.4 + app-text/xmlto + ) + test? ( + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-vcs/git + ) +" +# Require sandbox-2.2 for bug #288863. +# For whirlpool hash, require python[ssl] (bug #425046). +RDEPEND=" + ${PYTHON_DEPS} + acct-user/portage + >=app-arch/tar-1.27 + app-arch/zstd + >=app-misc/pax-utils-0.1.17 + dev-lang/python-exec:2 + >=sys-apps/baselayout-2.9 + >=sys-apps/findutils-4.9 + !build? ( + >=app-admin/eselect-1.2 + app-portage/getuto + >=app-shells/bash-5.0:0 + >=sec-keys/openpgp-keys-gentoo-release-20230329 + >=sys-apps/sed-4.0.5 + rsync-verify? ( + >=app-crypt/gnupg-2.2.4-r2[ssl(-)] + >=app-portage/gemato-14.5[${PYTHON_USEDEP}] + ) + ) + elibc_glibc? ( >=sys-apps/sandbox-2.2 ) + elibc_musl? ( >=sys-apps/sandbox-2.2 ) + kernel_linux? ( sys-apps/util-linux ) + selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) + xattr? ( kernel_linux? ( + >=sys-apps/install-xattr-0.3 + ) ) + !<app-admin/logrotate-3.8.0 + !<app-portage/gentoolkit-0.4.6 + !<app-portage/repoman-2.3.10 + !~app-portage/repoman-3.0.0 +" +# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 +# NOTE: FEATURES=installsources requires debugedit and rsync +PDEPEND=" + !build? ( + >=net-misc/rsync-2.6.4 + >=sys-apps/coreutils-6.4 + >=sys-apps/file-5.44-r3 + ) +" + +PATCHES=( + "${FILESDIR}"/${P}-clang-splitdebug.patch +) + +pkg_pretend() { + local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" + + check_extra_config +} + +src_prepare() { + default + + if use prefix-guest; then + sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \ + -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \ + -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \ + -i cnf/repos.conf || die "sed failed" + fi +} + +src_configure() { + local code_only=false + python_foreach_impl my_src_configure +} + +my_src_configure() { + local emesonargs=( + -Dcode-only=${code_only} + -Deprefix="${EPREFIX}" + -Dportage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" + $(meson_use doc) + $(meson_use apidoc) + $(meson_use gentoo-dev) + $(meson_use ipc) + $(meson_use xattr) + ) + + if use native-extensions && [[ "${EPYTHON}" != "pypy3" ]] ; then + emesonargs+=( -Dnative-extensions=true ) + else + emesonargs+=( -Dnative-extensions=false ) + fi + + if use build; then + emesonargs+=( -Drsync-verify=false ) + else + emesonargs+=( $(meson_use rsync-verify) ) + fi + + meson_src_configure + code_only=true +} + +src_compile() { + python_foreach_impl meson_src_compile +} + +src_test() { + local EPYTEST_XDIST=1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + python_foreach_impl epytest +} + +src_install() { + python_foreach_impl my_src_install + dotmpfiles "${FILESDIR}"/portage-{ccache,tmpdir}.conf + + local scripts + mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/{bin,sbin}/* || die) + python_replicate_script "${scripts[@]}" +} + +my_src_install() { + local pydirs=( + "${D}$(python_get_sitedir)" + "${ED}/usr/lib/portage/${EPYTHON}" + ) + + meson_src_install + python_fix_shebang "${pydirs[@]}" + python_optimize "${pydirs[@]}" +} + +pkg_preinst() { + if ! use build && [[ -z ${ROOT} ]]; then + python_setup + local sitedir=$(python_get_sitedir) + [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory" + env -u DISTDIR \ + -u PORTAGE_OVERRIDE_EPREFIX \ + -u PORTAGE_REPOSITORIES \ + -u PORTDIR \ + -u PORTDIR_OVERLAY \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + "${PYTHON}" -m portage._compat_upgrade.default_locations || die + + env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die + + env -u FEATURES -u PORTAGE_REPOSITORIES \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die + + env -u BINPKG_FORMAT \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_format || die + fi + + # elog dir must exist to avoid logrotate error for bug #415911. + # This code runs in preinst in order to bypass the mapping of + # portage:portage to root:root which happens after src_install. + keepdir /var/log/portage/elog + # This is allowed to fail if the user/group are invalid for prefix users. + if chown portage:portage "${ED}"/var/log/portage{,/elog} 2>/dev/null ; then + chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} + fi + + if has_version "<${CATEGORY}/${PN}-2.3.77"; then + elog "The emerge --autounmask option is now disabled by default, except for" + elog "portions of behavior which are controlled by the --autounmask-use and" + elog "--autounmask-license options. For backward compatibility, previous" + elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." + elog "Users can get the old behavior simply by adding --autounmask to the" + elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" + elog "change, see https://bugs.gentoo.org/658648." + fi +} + +pkg_postinst() { + # Warn about obsolete "enotice" script, bug #867010 + local bashrc=${EROOT}/etc/portage/profile/profile.bashrc + if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then + eerror "Obsolete 'enotice' script detected!" + eerror "Please remove this from ${bashrc} to avoid problems." + eerror "See bug 867010 for more details." + fi +} diff --git a/sys-apps/razer-cli/Manifest b/sys-apps/razer-cli/Manifest index 4af68d149a1a..145236efd78a 100644 --- a/sys-apps/razer-cli/Manifest +++ b/sys-apps/razer-cli/Manifest @@ -1,6 +1,6 @@ AUX razer-cli-setup.patch 298 BLAKE2B 18b852425de2b6e7ae1edda4be359ceef99b599397b73646135cde4499611d097737b6f22d1c855bde75a09a3979777232c6db4bc943a25681eae858940192e4 SHA512 fed44c63b22ac0646e34ad830ae6224794511949e91039a2f5ac0e9fed29111e5d71aae86d94e99ab07c2dbc346f82130dff79bd04733b7ef8fdb36dc7540439 DIST razer-cli-2.2.0.gh.tar.gz 6985679 BLAKE2B 2ed6a343759a2fb1a74accc509fd862330226bb407cc1f6c276ab06d1c6719ee5c358041dfd35ad596885499c5affbef79fdc14aed331b466f2d383e5d552b26 SHA512 a82b2bc29bee30a0994c3f061809e63ffb2b8cca651ad09641fcf9bdc3dd370614ca6d6d8305345573810e20dc2cde96a48979bcfad1473a83c509cd322ab471 DIST razer-cli-2.2.1.gh.tar.gz 6985735 BLAKE2B 0ee1f4a123ca7bd853ca71b5962bd26339c0a51941f8d51e478d43ba96559227d89383d9ba8bf054cb9dec708d6abc0903a9537a55a05eecb56b0e4448e78001 SHA512 e0b6302ea599c578f9445ebfba90bc942c9fa1aec02ad836790318ea91b7f07f0c38aca49267b320b0576fdcc11c9ab98da019026eb06476ec016619b5aafe65 -EBUILD razer-cli-2.2.0.ebuild 799 BLAKE2B 3bbc4351e3605afa38c28b1e7e366e4f2c81ae4a88662935f61b9dc5810fb8ec2792b6c94f584e0958dc9fa41a44385671c3428938d0e03281a1d46a7172ff47 SHA512 669e174469bdb03ffdb01ffe52fdadbebab9466101b3aaefbc0d5422219381cb4e6616fd013c5a9b6727f6c3520b7c5272a98e433b04fad3658f86230602032e -EBUILD razer-cli-2.2.1.ebuild 807 BLAKE2B d6f57c4bd25b8d60b21a4379a7e266ebfa43f5cce2d3cdf20bf6ef773bae9e8edd6991616644c6036a2a4d66bae0cb051015f899219c901c638d48411d36a686 SHA512 943674eb01ab5dcc54b742b441b398e41d472d12c5200ef3633e807511a004fed9b2b30808eb1c7ddd1cd814464c6e98d58a5751a0b11a768c0eea67022c34f9 +EBUILD razer-cli-2.2.0-r1.ebuild 800 BLAKE2B 8d87ee2d9cbf4d29f9bdaf86680be837f56171cda471bf1185c96aa08575a2a6f44961af26dc5f56c61966135d78d6ddbdbf598d85ac2e83e6d818437ec44273 SHA512 8532ac8ceb7b55d326e3386f30c227a5a50c629d098a158ccf950e460d095bda5aa16d697af3fd00a60d8c5712dffb951491b73860e2b729df5c04468f6d2f86 +EBUILD razer-cli-2.2.1-r1.ebuild 808 BLAKE2B 1716ff304339291ca4eff0a7e570f8a02a458209b9c3894f24c44ce3c7b1319352af552c2dd1fc6969019720b19035465bfab3f511c996d4e128c3b869653700 SHA512 27a2cd55afe262a4722ec8e482ca972c1d1c22cf078293c067739a5155ffc2f446dad3a1604a4760ca6c8786e863a254cf900cc543ca95a533d9ff9db3201e5c MISC metadata.xml 773 BLAKE2B fcc66443a9656b5862f7b57ae28266d601f509f8637a77c72fd9e4e8a293f3dc665c242de27ac6f3439fe91446fded80b97bf7ba956262925aefa1d696d8e9e5 SHA512 bd5c4dad8daae0716b7d2706aa01af082df8ffc21bca808c0d07d894d52e27197f3d866f305531e40dffbfa99599b7050edbe28f561354c61f668df0c0e462d6 diff --git a/sys-apps/razer-cli/razer-cli-2.2.0.ebuild b/sys-apps/razer-cli/razer-cli-2.2.0-r1.ebuild index 8c9929f1801b..5c523710f54b 100644 --- a/sys-apps/razer-cli/razer-cli-2.2.0.ebuild +++ b/sys-apps/razer-cli/razer-cli-2.2.0-r1.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit distutils-r1 virtualx diff --git a/sys-apps/razer-cli/razer-cli-2.2.1.ebuild b/sys-apps/razer-cli/razer-cli-2.2.1-r1.ebuild index e3bc0dec77e5..ca17fe5b39aa 100644 --- a/sys-apps/razer-cli/razer-cli-2.2.1.ebuild +++ b/sys-apps/razer-cli/razer-cli-2.2.1-r1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit distutils-r1 virtualx diff --git a/sys-apps/shadow/Manifest b/sys-apps/shadow/Manifest index 570dfeca954d..1930db2cbdda 100644 --- a/sys-apps/shadow/Manifest +++ b/sys-apps/shadow/Manifest @@ -13,7 +13,10 @@ DIST shadow-4.14.2.tar.xz 1799548 BLAKE2B 419f0a516753616ef691f71ec9002eef6fd756 DIST shadow-4.14.2.tar.xz.asc 833 BLAKE2B 9e085c79ccd3aa77489eb92e947dd4875dea84be2dbcbd2b8443e70b3dc065d288171ee024f81c6c3bf44d0ebfcabbb69937a906fdb26b6622d5a369aa415e8e SHA512 47a2607fa782a48b0333e353343a32f358115bb40225ea962fab86d4a8dbed1df976eb6231baf5b95f34a13139b99d6b719521626e5d3e9c80fc4c685767d9b7 DIST shadow-4.14.6.tar.xz 1805900 BLAKE2B e910131eab6527c1222afadf02ebd7bd6a3460baf95c23cc9eefa7aa21ddb70c02e58e4f58db2cb24fa8e2996c82b11664420545a8b1af573e4e6a25ceb3f921 SHA512 994a81afbafb19622a1d0f84527f96a84b0955c4ffa5e826682ead82af7940b8e3a091514bd2075622ebdf7638643c9c6b6b7ac3e48d985278db896249d70ae6 DIST shadow-4.14.6.tar.xz.asc 833 BLAKE2B 2fdcbd073687de829006ed9eb3ffd0b5f1312a94fe81b9c6840b25807e1268c58136d378da87f481c3cb53dc262d7afb6d97c77528e14dfbf5d54212fa7f84f2 SHA512 41f8fa92379392d4caa83987f9ea513ec18103dacfc01461f7bfb67ee6738a67e097fe76e7aa1f6004dfe14d5c55973667037c683fdd8ebb082264cb62222d27 +DIST shadow-4.14.7.tar.xz 1805860 BLAKE2B 5cc525292b9ba8fb85ec476a866be0b07a0b113539ad9f11d33eb87a87b95315485900a497c24465ad3b1d40b8f3273b6044a82829444024cc06d656427f3932 SHA512 ec64210b96ca0633683825df076e048ecba8f4794e9ad60125965d1490078c86ad26030bbec2e2ec7b53992d3ca68e4e659d6c460509fc6debb07bb686678885 +DIST shadow-4.14.7.tar.xz.asc 833 BLAKE2B 05c75a1de641cb766860959f1c1ed4788be40a6b0533d73a701b138c1aaf3b70f1e2807b7dafb74e35369091c40edf402abd96c9a5526c18ee644c12c48cd320 SHA512 6d13ddc810f27efd1bb2c9ef61d260b84ba9ce4e5721d844bd1f910fba072ae424360f6d3672b69dfa88c9a0905d93b6de415909791515f8da00d6c17ca79f9a EBUILD shadow-4.13-r4.ebuild 6834 BLAKE2B da0e190f18aa68350ac8689505c0399252ab54036583ee2b4fa865433406f64469d6a43162f422da5e315cf7378e0accc595c8a2eaccf801353947cc504c3983 SHA512 dc4dad7bd7c4f4206f9cbc83166269dde3b868eca3a5a83f2698795efb7696c438468c8c22293963a52597735888efb8b959bccddb6d19b6eefc3cbeb5564dd7 EBUILD shadow-4.14.2.ebuild 7230 BLAKE2B 339fbc2f07bf21238b4b606d1a3c5abff09f3521eda90630a3bb3b0d14ac990ea33369cf8d5914f67a2982d3e6b503d90046b5da946c3288691c273426174154 SHA512 15f1a137409709d23a223db1b346f1dc04543870a29fbf28ab9dd6fda7ce290dbb6aaf2e02ad5f38016c90be733b900636e6592d8b0c13a0e66a1034b385aa31 -EBUILD shadow-4.14.6.ebuild 7238 BLAKE2B 49d886d595c257f2db3f8316a55ca8de5692041d533849ec1f43c49c62936cfc8ae6aef8f97e3b9b06ab17ac4b27634e207571b1305f87fa9e047ada8bfde6d2 SHA512 1a95d6948e5a035d81b3119c12001773c84ce4346af65f5e17b32ac29ebd3f1636182920f767f0aca0c77c0c94daa02ac18079da40fa427d6ae8325b6f52d597 +EBUILD shadow-4.14.6-r1.ebuild 7139 BLAKE2B 2cf98373dffc863ff6866f5b1f5e31efe8132eb7500a345605e72b7b746b6e90eb0f05550e51b12632cbaeab6a9b311b59ebfaf952a44ecb5fbfa0c2128c6ae3 SHA512 fce593403db55462ca87d7efe2f08a1fe2355f85890b781c119030071a701d1e1003ae9bac9f159fb733bc07c090550c2be8124e7e2f456632e63162519425f8 +EBUILD shadow-4.14.7.ebuild 7139 BLAKE2B 2cf98373dffc863ff6866f5b1f5e31efe8132eb7500a345605e72b7b746b6e90eb0f05550e51b12632cbaeab6a9b311b59ebfaf952a44ecb5fbfa0c2128c6ae3 SHA512 fce593403db55462ca87d7efe2f08a1fe2355f85890b781c119030071a701d1e1003ae9bac9f159fb733bc07c090550c2be8124e7e2f456632e63162519425f8 MISC metadata.xml 606 BLAKE2B 2b14042f4702a908f8250c3fb6499ea33d8a8c44072707aa44881a36e3cc710256a821f8cd82c5214b32e9f5632745db4fdf00dd722f6fb7401e2f6b0bfbb4fd SHA512 694e039ae781982e8cbe6670b4e9c93b43455715ce4b9830a5fa61e6bf3eb91abcc284bf29c64fab055ba9754edaeab5d2da8140dbb2794fc1f534e2ccbb2b16 diff --git a/sys-apps/shadow/shadow-4.14.6.ebuild b/sys-apps/shadow/shadow-4.14.6-r1.ebuild index 60ab0fa7c897..2cfb43e405bd 100644 --- a/sys-apps/shadow/shadow-4.14.6.ebuild +++ b/sys-apps/shadow/shadow-4.14.6-r1.ebuild @@ -24,9 +24,7 @@ LANGS=( cs da de es fi fr hu id it ja ko pl pt_BR ru sv tr zh_CN zh_TW ) REQUIRED_USE="?? ( cracklib pam )" -# TODO: Revisit libbsd dep once glibc-2.28 is stable as it provides strlcpy. COMMON_DEPEND=" - dev-libs/libbsd virtual/libcrypt:= acl? ( sys-apps/acl:= ) audit? ( >=sys-process/audit-2.6:= ) @@ -83,8 +81,8 @@ src_configure() { --disable-account-tools-setuid --disable-static --with-btrfs - # shadow uses a bundled copy of readpassphrase if --without-libbsd - --with-libbsd + # Use bundled replacements for readpassphrase and freezero + --without-libbsd --without-group-name-max-length --without-tcb --with-bcrypt diff --git a/sys-apps/shadow/shadow-4.14.7.ebuild b/sys-apps/shadow/shadow-4.14.7.ebuild new file mode 100644 index 000000000000..2cfb43e405bd --- /dev/null +++ b/sys-apps/shadow/shadow-4.14.7.ebuild @@ -0,0 +1,278 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Upstream sometimes pushes releases as pre-releases before marking them +# official. Don't keyword the pre-releases! +# Check https://github.com/shadow-maint/shadow/releases. + +inherit libtool pam verify-sig + +DESCRIPTION="Utilities to deal with user accounts" +HOMEPAGE="https://github.com/shadow-maint/shadow" +SRC_URI="https://github.com/shadow-maint/shadow/releases/download/${PV}/${P}.tar.xz" +SRC_URI+=" verify-sig? ( https://github.com/shadow-maint/shadow/releases/download/${PV}/${P}.tar.xz.asc )" + +LICENSE="BSD GPL-2" +# Subslot is for libsubid's SONAME. +SLOT="0/4" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="acl audit cracklib nls pam selinux skey split-usr su systemd xattr" +# Taken from the man/Makefile.am file. +LANGS=( cs da de es fi fr hu id it ja ko pl pt_BR ru sv tr zh_CN zh_TW ) + +REQUIRED_USE="?? ( cracklib pam )" + +COMMON_DEPEND=" + virtual/libcrypt:= + acl? ( sys-apps/acl:= ) + audit? ( >=sys-process/audit-2.6:= ) + cracklib? ( >=sys-libs/cracklib-2.7-r3:= ) + nls? ( virtual/libintl ) + pam? ( sys-libs/pam:= ) + skey? ( sys-auth/skey:= ) + selinux? ( + >=sys-libs/libselinux-1.28:= + sys-libs/libsemanage:= + ) + systemd? ( sys-apps/systemd:= ) + xattr? ( sys-apps/attr:= ) +" +DEPEND=" + ${COMMON_DEPEND} + >=sys-kernel/linux-headers-4.14 +" +RDEPEND=" + ${COMMON_DEPEND} + !<sys-apps/man-pages-5.11-r1 + !=sys-apps/man-pages-5.12-r0 + !=sys-apps/man-pages-5.12-r1 + nls? ( + !<app-i18n/man-pages-it-5.06-r1 + !<app-i18n/man-pages-ja-20180315-r1 + !<app-i18n/man-pages-ru-5.03.2390.2390.20191017-r1 + ) + pam? ( >=sys-auth/pambase-20150213 ) + su? ( !sys-apps/util-linux[su(-)] ) +" +BDEPEND=" + app-arch/xz-utils + sys-devel/gettext +" + +if [[ ${PV} == *.0 ]]; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-sergehallyn )" + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/sergehallyn.asc +else + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-alejandro-colomar )" + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/alejandro-colomar.asc +fi + +src_prepare() { + default + elibtoolize +} + +src_configure() { + local myeconfargs=( + # Negate new upstream default of disabling for now + --enable-lastlog + --disable-account-tools-setuid + --disable-static + --with-btrfs + # Use bundled replacements for readpassphrase and freezero + --without-libbsd + --without-group-name-max-length + --without-tcb + --with-bcrypt + --with-yescrypt + $(use_enable nls) + # TODO: wire up upstream for elogind too (bug #931119) + $(use_enable systemd logind) + $(use_with acl) + $(use_with audit) + $(use_with cracklib libcrack) + $(use_with elibc_glibc nscd) + $(use_with pam libpam) + $(use_with selinux) + $(use_with skey) + $(use_with su) + $(use_with xattr attr) + ) + + econf "${myeconfargs[@]}" + + if use nls ; then + local l langs="po" # These are the pot files. + for l in ${LANGS[*]} ; do + has ${l} ${LINGUAS-${l}} && langs+=" ${l}" + done + sed -i "/^SUBDIRS = /s:=.*:= ${langs}:" man/Makefile || die + fi +} + +set_login_opt() { + local comment="" opt=${1} val=${2} + if [[ -z ${val} ]]; then + comment="#" + sed -i \ + -e "/^${opt}\>/s:^:#:" \ + "${ED}"/etc/login.defs || die + else + sed -i -r \ + -e "/^#?${opt}\>/s:.*:${opt} ${val}:" \ + "${ED}"/etc/login.defs + fi + local res=$(grep "^${comment}${opt}\>" "${ED}"/etc/login.defs) + einfo "${res:-Unable to find ${opt} in /etc/login.defs}" +} + +src_install() { + emake DESTDIR="${D}" suidperms=4711 install + + # 4.9 regression: https://github.com/shadow-maint/shadow/issues/389 + emake DESTDIR="${D}" -C man install + + find "${ED}" -name '*.la' -type f -delete || die + + insinto /etc + if ! use pam ; then + insopts -m0600 + doins etc/login.access etc/limits + fi + + # needed for 'useradd -D' + insinto /etc/default + insopts -m0600 + doins "${FILESDIR}"/default/useradd + + if use split-usr ; then + # move passwd to / to help recover broke systems #64441 + # We cannot simply remove this or else net-misc/scponly + # and other tools will break because of hardcoded passwd + # location + dodir /bin + mv "${ED}"/usr/bin/passwd "${ED}"/bin/ || die + dosym ../../bin/passwd /usr/bin/passwd + fi + + cd "${S}" || die + insinto /etc + insopts -m0644 + newins etc/login.defs login.defs + + set_login_opt CREATE_HOME yes + if ! use pam ; then + set_login_opt MAIL_CHECK_ENAB no + set_login_opt SU_WHEEL_ONLY yes + set_login_opt CRACKLIB_DICTPATH /usr/lib/cracklib_dict + set_login_opt LOGIN_RETRIES 3 + set_login_opt ENCRYPT_METHOD SHA512 + set_login_opt CONSOLE + else + dopamd "${FILESDIR}"/pam.d-include/shadow + + for x in chsh chfn ; do + newpamd "${FILESDIR}"/pam.d-include/passwd ${x} + done + + for x in chpasswd newusers ; do + newpamd "${FILESDIR}"/pam.d-include/chpasswd ${x} + done + + newpamd "${FILESDIR}"/pam.d-include/shadow-r1 groupmems + + # Comment out login.defs options that pam hates + local opt sed_args=() + for opt in \ + CHFN_AUTH \ + CONSOLE \ + CRACKLIB_DICTPATH \ + ENV_HZ \ + ENVIRON_FILE \ + FAILLOG_ENAB \ + FTMP_FILE \ + LASTLOG_ENAB \ + MAIL_CHECK_ENAB \ + MOTD_FILE \ + NOLOGINS_FILE \ + OBSCURE_CHECKS_ENAB \ + PASS_ALWAYS_WARN \ + PASS_CHANGE_TRIES \ + PASS_MIN_LEN \ + PORTTIME_CHECKS_ENAB \ + QUOTAS_ENAB \ + SU_WHEEL_ONLY + do + set_login_opt ${opt} + sed_args+=( -e "/^#${opt}\>/b pamnote" ) + done + sed -i "${sed_args[@]}" \ + -e 'b exit' \ + -e ': pamnote; i# NOTE: This setting should be configured via /etc/pam.d/ and not in this file.' \ + -e ': exit' \ + "${ED}"/etc/login.defs || die + + # Remove manpages that pam will install for us + # and/or don't apply when using pam + find "${ED}"/usr/share/man -type f \ + '(' -name 'limits.5*' -o -name 'suauth.5*' ')' \ + -delete + + # Remove pam.d files provided by pambase. + rm "${ED}"/etc/pam.d/{login,passwd} || die + if use su ; then + rm "${ED}"/etc/pam.d/su || die + fi + fi + + # Remove manpages that are handled by other packages + find "${ED}"/usr/share/man -type f \ + '(' -name id.1 -o -name getspnam.3 ')' \ + -delete || die + + if ! use su ; then + find "${ED}"/usr/share/man -type f -name su.1 -delete || die + fi + + cd "${S}" || die + dodoc ChangeLog NEWS TODO + newdoc README README.download + cd doc || die + dodoc HOWTO README* WISHLIST *.txt + + if use elibc_musl; then + QA_CONFIG_IMPL_DECL_SKIP+=( sgetsgent ) + fi +} + +pkg_preinst() { + rm -f "${EROOT}"/etc/pam.d/system-auth.new \ + "${EROOT}/etc/login.defs.new" +} + +pkg_postinst() { + # Missing entries from /etc/passwd can cause odd system blips. + # See bug #829872. + if ! pwck -r -q -R "${EROOT:-/}" &>/dev/null ; then + ewarn "Running 'pwck' returned errors. Please run it manually to fix any errors." + fi + + # Enable shadow groups. + if [[ ! -f "${EROOT}"/etc/gshadow ]] ; then + if grpck -r -R "${EROOT:-/}" 2>/dev/null ; then + grpconv -R "${EROOT:-/}" + else + ewarn "Running 'grpck' returned errors. Please run it by hand, and then" + ewarn "run 'grpconv' afterwards!" + fi + fi + + [[ ! -f "${EROOT}"/etc/subgid ]] && + touch "${EROOT}"/etc/subgid + [[ ! -f "${EROOT}"/etc/subuid ]] && + touch "${EROOT}"/etc/subuid + + einfo "The 'adduser' symlink to 'useradd' has been dropped." +} diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest index 7549f6bedcce..87438c726d7f 100644 --- a/sys-apps/systemd-utils/Manifest +++ b/sys-apps/systemd-utils/Manifest @@ -9,10 +9,12 @@ DIST systemd-musl-patches-254.3-r1.tar.gz 29971 BLAKE2B 2568c0ce93c410177d775fed DIST systemd-musl-patches-255.4.tar.gz 31633 BLAKE2B 86fb36fbfa90dfe7d183f3c814600af93a690c7cfefc551cd23e6b8bdc2a48267910f4e5ef119b1b5d8e4e0cb2e6843e1b7147464809febad3085d2c82a728c3 SHA512 86bbb735012ce20bbc0af34ea062e83d6d3adf7883f5710ab00db7188fa6779e8dc361cdac427540042c4cf2f157242e6409ed5fc213c01d06cc13380e0cc95f DIST systemd-stable-254.10.tar.gz 14428960 BLAKE2B 488c27b9657ec7452f876ab6c18bbfe711f1351afa022801f5a646f2dd1d76d63c17e52e6ebf43b38a76807907287b654a7eaca3afdb0688f5b05839e98ad727 SHA512 0c127d38d0ade8655ae12172c2edbaa8af68bd29f42d965b988d75e74626846ae859bcf0b39b535c9a99ad8c709ad7575ed4d5ea5bc95ce8729e3caafdb32b70 DIST systemd-stable-254.11.tar.gz 14439741 BLAKE2B 5103bad91cd01b019ebb431f54f2d795ab995359c90b5c2e7376b5c7b5aec121ea6d070143b8581e3fb0d66ad2ac7e44113fa5e5fae4cb5adbf0e996727264fe SHA512 597c559b27a2879ce3f89efded7adce55d054bbb8ce97cf35efe52b0dcacbfabcbd05b582bd7064d3ba713ec2ec7931241971e67d39f12226e477df23c0d0dc7 +DIST systemd-stable-254.12.tar.gz 14529517 BLAKE2B ed6e4a78363930840e505c4bd789d1d44c238f30d3c0768d435e1cacb43ac3ab07e0dc9085546b4142152bbb4ceb4e2c0a9560e74e1a2b8c09fc885620695e73 SHA512 fa3679915392e641bed73ccb48f5def386ab13ba5ff7efdac952214193c3311543bec4c4370d6880f9599f63e377506b343805c3c56b7dde7eb5e3bbc0dc7a87 DIST systemd-stable-254.8.tar.gz 14418468 BLAKE2B e5a151ece86e57c7224fc95bda1b4ede1277fce4a2ba28d3605ab0431a2aafe1088f90c49a20e3b53a5b56aeef7c0f1f5da0601db740150f5efdf6eae7bbde80 SHA512 a3f35d9fcafcccd8d9c33ab1047241f226146017be95562a67c7dcc9eeb4b77bded92ad80e92f4767f2bf2009df0172a621d4c54a805e07ed5a5ed03940ec28e DIST systemd-stable-255.4.tar.gz 14952427 BLAKE2B 27f5080f83a9e870fbe8e3ebcb500a63c42022f1f96f26f35c76eeeea85dab691291c31ee716cab330b76df5e576910a6a82f51267eff4f766b1d4c304d815c9 SHA512 8a2bde11a55f7f788ba7751789a5e9be6ce9634e88d54e49f6e832c4c49020c6cacaf2a610fe26f92998b0cbf43c6c2150a96b2c0953d23261009f57d71ea979 EBUILD systemd-utils-254.10-r1.ebuild 13329 BLAKE2B a86c581f5fb3af69a590a994169aca5ded7d9cc34c07542ca86292991db5d39a023bd859c9b7bc1dfd9f8fde95b50348cd959c9e6bff08e94675a8753e16483d SHA512 b3f8c8d3c0647ee8701d7a6ebc921a0760540d8e38410fd6e8d257b6b6f11ceb72e1dc12e55df009a52f0d4e15ee7302a1d309bedef4da2a770ed625d0fc60e0 EBUILD systemd-utils-254.11.ebuild 13337 BLAKE2B ca4405757ee54acc143f1f2af2c974cfd90c36a11681d62ee07f3da0c82972aa239dbb280c9bb179022f2da9628e1a37bbae5e0a9c186534e1bf0c937fed4502 SHA512 bcb56e7d0ca145789f7b293155937e7b7d7e3cbf4416b592aafac8fe64641014947606ac950102c6dc0c9371dbb080e4d0603fd915177127a57dcfa5559dc7cd +EBUILD systemd-utils-254.12.ebuild 13337 BLAKE2B ca4405757ee54acc143f1f2af2c974cfd90c36a11681d62ee07f3da0c82972aa239dbb280c9bb179022f2da9628e1a37bbae5e0a9c186534e1bf0c937fed4502 SHA512 bcb56e7d0ca145789f7b293155937e7b7d7e3cbf4416b592aafac8fe64641014947606ac950102c6dc0c9371dbb080e4d0603fd915177127a57dcfa5559dc7cd EBUILD systemd-utils-254.8-r1.ebuild 13369 BLAKE2B fdc9404b69630bbda889014d7e97c96b93a7e99fdd070b8e819867183d7ecdeeca6e4f0b928cc3325d9039b724e60b0f850cd99afcbca12b61da33cabb23aa32 SHA512 e2b92995283a7fc01cfb4a0f5223baabb1bfe1dce65498544a3c6815b54ad5a7bdf85394f5aee422f44e05d85d744c93d268dae35261787a9e2543f49fccba95 EBUILD systemd-utils-255.4.ebuild 13753 BLAKE2B 96ae2f52c47ff4a22d5fe9c8d42bff6e70c00656c50cefc6353e9c96cfe58977b05c589567ef334f591ef0ee8459b44472c9ff06917227a5e563f0eba72d4540 SHA512 e2242b212c0f79cc2a06b0491fa1903b4381b2436dd5e8e844b8be9f39d3c01b8f351f6c20adb6e5d96f0cf1b5bd842e0751b93e44c9745bb637788be0dbd513 MISC metadata.xml 888 BLAKE2B b799e1d62a1208dbbec1a1cfb47592b069d5c79cb18efffef922c72b0d61e30938d26c6f4e0d3951f9c327601dd71de14062dad0a47e6b84a61b1a8b125f1a6b SHA512 6debd964f9c127ba4332e0c0b86e506d3cf10cbe3cd45442bf7955b16e790a9eccdd928d473b3722b11b4a75d34fe5bb91f4867a5dc92e786ba73d9ec3f54712 diff --git a/sys-apps/systemd-utils/systemd-utils-254.12.ebuild b/sys-apps/systemd-utils/systemd-utils-254.12.ebuild new file mode 100644 index 000000000000..9ba529076182 --- /dev/null +++ b/sys-apps/systemd-utils/systemd-utils-254.12.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 + 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 + 60-ukify.install + man/ukify.1 + ) + fi + fi + if use udev; then + targets+=( + udev:shared_library + 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/Manifest b/sys-apps/systemd/Manifest index 3f3c7a4b45b2..bbf9e34c46ab 100644 --- a/sys-apps/systemd/Manifest +++ b/sys-apps/systemd/Manifest @@ -13,13 +13,16 @@ AUX systemd-test-process-util.patch 1077 BLAKE2B 0f01ea7641366cdb01a9e310d326ea7 AUX systemd-user.pam 122 BLAKE2B cccc07cab47dfc0481438e503c34fa1a0b2c6b1f8ab282197719a523421d2a526f19230bb459e0347cbeb2046e35a407c78178a3fb5b79619e987cbc4ac7d5e4 SHA512 c5437677ff00fbb45798fe594e8d61b1c2bfc2d103105d7bd82e476240452477ac263700800f5d0ba91ddc895eb85f4517d5cb15c80611ec1680a686d47cd781 DIST systemd-stable-254.10.tar.gz 14428960 BLAKE2B 488c27b9657ec7452f876ab6c18bbfe711f1351afa022801f5a646f2dd1d76d63c17e52e6ebf43b38a76807907287b654a7eaca3afdb0688f5b05839e98ad727 SHA512 0c127d38d0ade8655ae12172c2edbaa8af68bd29f42d965b988d75e74626846ae859bcf0b39b535c9a99ad8c709ad7575ed4d5ea5bc95ce8729e3caafdb32b70 DIST systemd-stable-254.11.tar.gz 14439741 BLAKE2B 5103bad91cd01b019ebb431f54f2d795ab995359c90b5c2e7376b5c7b5aec121ea6d070143b8581e3fb0d66ad2ac7e44113fa5e5fae4cb5adbf0e996727264fe SHA512 597c559b27a2879ce3f89efded7adce55d054bbb8ce97cf35efe52b0dcacbfabcbd05b582bd7064d3ba713ec2ec7931241971e67d39f12226e477df23c0d0dc7 +DIST systemd-stable-254.12.tar.gz 14529517 BLAKE2B ed6e4a78363930840e505c4bd789d1d44c238f30d3c0768d435e1cacb43ac3ab07e0dc9085546b4142152bbb4ceb4e2c0a9560e74e1a2b8c09fc885620695e73 SHA512 fa3679915392e641bed73ccb48f5def386ab13ba5ff7efdac952214193c3311543bec4c4370d6880f9599f63e377506b343805c3c56b7dde7eb5e3bbc0dc7a87 DIST systemd-stable-254.8.tar.gz 14418468 BLAKE2B e5a151ece86e57c7224fc95bda1b4ede1277fce4a2ba28d3605ab0431a2aafe1088f90c49a20e3b53a5b56aeef7c0f1f5da0601db740150f5efdf6eae7bbde80 SHA512 a3f35d9fcafcccd8d9c33ab1047241f226146017be95562a67c7dcc9eeb4b77bded92ad80e92f4767f2bf2009df0172a621d4c54a805e07ed5a5ed03940ec28e DIST systemd-stable-254.9.tar.gz 14423806 BLAKE2B ab39c0a00b8451b24b40e39f4bf7ecb912ff23d9cd6f8d30fd0545e895936baa635b1ff63c02a83761682b72f44244aac8338bf6506885c9b07cd0c5247b6693 SHA512 a0300693a044cfe4c76deb0e3e48a927125eb97c3952c07ba68936f1e093c93506d8044b249b534b8e778ade6143b43194f8d6b721a8cd520bc7bb4cb3d3e5c1 DIST systemd-stable-255.3.tar.gz 14873273 BLAKE2B e22ef391c691fcf1e765c5112e1a55096d3bba61a9dae3ea1a3958add4e355892a97d5214e63c516ba3b70e2a83bb5d21254812d870f06c16c74a58d4f957d75 SHA512 c2868a53df2176649b0d0c94e5d451c46ba783bcdbc89ce12434ed2d11dba44b4854ffe4c2430f3f64eef2e214cbb51d5f740170afbd9edd66761a8851157453 DIST systemd-stable-255.4.tar.gz 14952427 BLAKE2B 27f5080f83a9e870fbe8e3ebcb500a63c42022f1f96f26f35c76eeeea85dab691291c31ee716cab330b76df5e576910a6a82f51267eff4f766b1d4c304d815c9 SHA512 8a2bde11a55f7f788ba7751789a5e9be6ce9634e88d54e49f6e832c4c49020c6cacaf2a610fe26f92998b0cbf43c6c2150a96b2c0953d23261009f57d71ea979 DIST systemd-stable-255.5.tar.gz 14976055 BLAKE2B 08e2d5e6ed340214f195e8ecc22665c572838af94c19f946de7dc710e0f5e0476dda09d313b6848a7f10f6d545b8cd6b1b7ce234b9f4aad1dbff3a065eda6b76 SHA512 9c0b39379e9ef2af983d885ec3cac0377c90435846341bb4e22abf33c00cc1c9f40abba1d6f598300ffac18e2b27bf917eea41885b1413f63cb9902d2efe9bcc +DIST systemd-stable-255.6.tar.gz 15060034 BLAKE2B 27e14a870bd8ae85e3c7679a69b7dcd6f1165430c4cdea57d3f7092a40a22085bafc3e3e397a7429b53773f7460bde0ad0af9afb6852c6d0c9cc681d25c34c03 SHA512 523c5d973e2ccd47f8ba33d1fb8264a8de58cb639fab22be0d0854f96009dce700d6f022d30aad5ab7b9292b33047cbbc1eefc3c6141328e337b9a245944c237 EBUILD systemd-254.10.ebuild 15353 BLAKE2B 7410306951f635c5642e7b319ec1bf16b895a1447106f1fef65f8a59cb2059fb181411079a7dd6552644e86e0541f3313f71651cac11d04438126425747c6993 SHA512 b4a1dcf7265f0830e12c6e8ffc825dcbe48da8fe515e91e999763b60d6b237fb78c145c7f485e29751726c9d5d1f49183caa535f1a9e69b1784b217de440cc34 EBUILD systemd-254.11.ebuild 15360 BLAKE2B c2c14414ae0960a418d9b4bb78545a51de3576c6f1667b56c883015a8983b66084ee44fe616b563a89457cd3278689b642ec1b7fec3ff02c4a5796faca8a1db0 SHA512 f8e3bda1add84cb9ef1443e708370030aaa816ec135af17af1e059afc9b4dbbd76bb4e60fd9aeeecc44a64faf28dbea430f2710e6ec891d8eeef680b7f9c6652 +EBUILD systemd-254.12.ebuild 15360 BLAKE2B c2c14414ae0960a418d9b4bb78545a51de3576c6f1667b56c883015a8983b66084ee44fe616b563a89457cd3278689b642ec1b7fec3ff02c4a5796faca8a1db0 SHA512 f8e3bda1add84cb9ef1443e708370030aaa816ec135af17af1e059afc9b4dbbd76bb4e60fd9aeeecc44a64faf28dbea430f2710e6ec891d8eeef680b7f9c6652 EBUILD systemd-254.8-r1.ebuild 15472 BLAKE2B 22b00b6cefce875f30858d26a8b900096a99551dddda2b2a6a9d4461ad6278bf875254d0b83eab8dbc8b68ef3c647ec1a35cb4bec9cf6d9fec6e723b2539eeaa SHA512 f70748a5b0066598e7d87ee3dc21d3b472c51f327249a0629fc77d24156294b74820442f76597fe5d7ce1d823a6680805e9b2d4aea7a9c1ad0719d494c9de27b EBUILD systemd-254.9-r1.ebuild 15526 BLAKE2B 8dcef82b133f49b1916c107575b64e695f0aa2e37aeb41adb9f8e5f0dfa5417343dae73df750c752b85830541b0d6eac4979a432fe9b196476e6a176e93077c0 SHA512 35585c7eb25279b5d668db7ed714e81158b3df57385440225d0267a8e8b7f9f479503de18d5fdfe90c5a29f6f528dc476eb270c7fcdfafa30a5beccf6c050694 EBUILD systemd-255.3-r1.ebuild 14914 BLAKE2B 1166b26b9b4f9149007879f9502f6923459a4eb2faa8474fc23ef66e76b81a6d8541069e3382f26b3fb75043c0cac828223632181f3007f6637ffc41a27cc37b SHA512 61b4888e9d4f208bcbd32da4c6da7b101d5b757518ff22b8013bdfcac055a70b20e43ff5cf6bd2debc14b73e97cebd1e0cc48f17b40639fefe56e4e30154fab5 @@ -27,5 +30,6 @@ EBUILD systemd-255.4.ebuild 14942 BLAKE2B 6023a35d0614ba98ca0fe00ebce0621933d62c EBUILD systemd-255.5-r1.ebuild 14932 BLAKE2B 9ad711f9156e83f500d789ff07bf7bdfb573da079c7462f4fb1bab2f54a95809dc5cad2a458a112a8363053ce91762ae90589fb9ec81beb5078a85f6e5fdae77 SHA512 660de7bf8aeb0d7797ef1f27b8abe16dfac51d0d403dc1ff3e73392c4c9ecd98eec7f59d79493a0d0f14e314342a4171cf14d383bca6e5f9f175841017377c64 EBUILD systemd-255.5-r2.ebuild 15002 BLAKE2B 9cb0ece809e4bbe8d76e3798546331e6c28fea70def1da6a030fbb3197d7cbf002565ef78f8f94b2776eca34df6e10dcc26ab6632af0398e7ed3d8633f51496c SHA512 a1cb198768f8e29972e580447938b5a2068e790069107d4e1e9e6bf5ac663291abc07ae8fcb6b08cecec302c9ca5faaeaddc13cb8082c9424876dd7d9851a0fc EBUILD systemd-255.5.ebuild 14899 BLAKE2B 821ecbb2502896c89a293c75047b79695281127336c8fde824834ffd6390187ebb9c3563e55ae66868fc9591bb41857c9db0f54db2d086a60ef1c1f9c831de7a SHA512 faa9ea73c23062b2cd3e6ce973495364d9d410de95b2847364009fe441adff098c79cac13abd34bc52aea06a962c72ced44000e40e930470950ecc317beb154c +EBUILD systemd-255.6.ebuild 14899 BLAKE2B 821ecbb2502896c89a293c75047b79695281127336c8fde824834ffd6390187ebb9c3563e55ae66868fc9591bb41857c9db0f54db2d086a60ef1c1f9c831de7a SHA512 faa9ea73c23062b2cd3e6ce973495364d9d410de95b2847364009fe441adff098c79cac13abd34bc52aea06a962c72ced44000e40e930470950ecc317beb154c EBUILD systemd-9999.ebuild 14899 BLAKE2B 821ecbb2502896c89a293c75047b79695281127336c8fde824834ffd6390187ebb9c3563e55ae66868fc9591bb41857c9db0f54db2d086a60ef1c1f9c831de7a SHA512 faa9ea73c23062b2cd3e6ce973495364d9d410de95b2847364009fe441adff098c79cac13abd34bc52aea06a962c72ced44000e40e930470950ecc317beb154c MISC metadata.xml 2609 BLAKE2B 8947f3b696fbba7b90e838a54fbb4fd933c71907c8011652fc2b7d68d4ce5f78a19f350a309e4c0f66ef0159376c9064ba9c15941ecf1748c359c4ae3b072102 SHA512 dfeea24b7a93f5d4af4ac47b87ba08092d069fb1a4749c0c1f36a669be6115eaea8f67e6183b6a4f155ef90d7714f74299109420d569c2b0545d80584ed0e97e diff --git a/sys-apps/systemd/systemd-254.12.ebuild b/sys-apps/systemd/systemd-254.12.ebuild new file mode 100644 index 000000000000..3fe049811536 --- /dev/null +++ b/sys-apps/systemd/systemd-254.12.ebuild @@ -0,0 +1,536 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..12} ) + +# Avoid QA warnings +TMPFILES_OPTIONAL=1 +UDEV_OPTIONAL=1 + +QA_PKGCONFIG_VERSION=$(ver_cut 1) + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/systemd/systemd.git" + inherit git-r3 +else + if [[ ${PV} == *.* ]]; then + MY_PN=systemd-stable + else + MY_PN=systemd + fi + MY_PV=${PV/_/-} + MY_P=${MY_PN}-${MY_PV} + S=${WORKDIR}/${MY_P} + SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1 +inherit secureboot systemd toolchain-funcs udev usr-ldscript + +DESCRIPTION="System and service manager for Linux" +HOMEPAGE="http://systemd.io/" + +LICENSE="GPL-2 LGPL-2.1 MIT public-domain" +SLOT="0/2" +IUSE=" + acl apparmor audit boot cgroup-hybrid cryptsetup curl +dns-over-tls elfutils + fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod + +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode + +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd +" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + dns-over-tls? ( || ( gnutls openssl ) ) + fido2? ( cryptsetup openssl ) + homed? ( cryptsetup pam openssl ) + importd? ( curl lzma || ( gcrypt openssl ) ) + pwquality? ( homed ) + boot? ( kernel-install ) + ukify? ( boot ) +" +RESTRICT="!test? ( test )" + +MINKV="4.15" + +COMMON_DEPEND=" + >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}] + sys-libs/libcap:0=[${MULTILIB_USEDEP}] + virtual/libcrypt:=[${MULTILIB_USEDEP}] + acl? ( sys-apps/acl:0= ) + apparmor? ( sys-libs/libapparmor:0= ) + audit? ( >=sys-process/audit-2:0= ) + cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= ) + curl? ( net-misc/curl:0= ) + elfutils? ( >=dev-libs/elfutils-0.158:0= ) + fido2? ( dev-libs/libfido2:0= ) + gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] ) + gnutls? ( >=net-libs/gnutls-3.6.0:0= ) + http? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) + idn? ( net-dns/libidn2:= ) + importd? ( + app-arch/bzip2:0= + sys-libs/zlib:0= + ) + kmod? ( >=sys-apps/kmod-15:0= ) + lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] ) + iptables? ( net-firewall/iptables:0= ) + openssl? ( >=dev-libs/openssl-1.1.0:0= ) + pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] ) + pkcs11? ( app-crypt/p11-kit:0= ) + pcre? ( dev-libs/libpcre2 ) + pwquality? ( dev-libs/libpwquality:0= ) + qrcode? ( media-gfx/qrencode:0= ) + seccomp? ( >=sys-libs/libseccomp-2.3.3:0= ) + selinux? ( sys-libs/libselinux:0= ) + tpm? ( app-crypt/tpm2-tss:0= ) + xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= ) + zstd? ( >=app-arch/zstd-1.4.0:0=[${MULTILIB_USEDEP}] ) +" + +# Newer linux-headers needed by ia64, bug #480218 +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-${MINKV} +" + +PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]' + +# baselayout-2.2 has /run +RDEPEND="${COMMON_DEPEND} + >=acct-group/adm-0-r1 + >=acct-group/wheel-0-r1 + >=acct-group/kmem-0-r1 + >=acct-group/tty-0-r1 + >=acct-group/utmp-0-r1 + >=acct-group/audio-0-r1 + >=acct-group/cdrom-0-r1 + >=acct-group/dialout-0-r1 + >=acct-group/disk-0-r1 + >=acct-group/input-0-r1 + >=acct-group/kvm-0-r1 + >=acct-group/lp-0-r1 + >=acct-group/render-0-r1 + acct-group/sgx + >=acct-group/tape-0-r1 + acct-group/users + >=acct-group/video-0-r1 + >=acct-group/systemd-journal-0-r1 + >=acct-user/root-0-r1 + acct-user/nobody + >=acct-user/systemd-journal-remote-0-r1 + >=acct-user/systemd-coredump-0-r1 + >=acct-user/systemd-network-0-r1 + acct-user/systemd-oom + >=acct-user/systemd-resolve-0-r1 + >=acct-user/systemd-timesync-0-r1 + >=sys-apps/baselayout-2.2 + ukify? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep "${PEFILE_DEPEND}") + ) + selinux? ( + sec-policy/selinux-base-policy[systemd] + sec-policy/selinux-ntp + ) + sysv-utils? ( + !sys-apps/openrc[sysv-utils(-)] + !sys-apps/sysvinit + ) + !sysv-utils? ( sys-apps/sysvinit ) + resolvconf? ( !net-dns/openresolv ) + !sys-apps/hwids[udev] + !sys-auth/nss-myhostname + !sys-fs/eudev + !sys-fs/udev +" + +# sys-apps/dbus: the daemon only (+ build-time lib dep for tests) +PDEPEND=">=sys-apps/dbus-1.9.8[systemd] + >=sys-fs/udev-init-scripts-34 + policykit? ( sys-auth/polkit ) + !vanilla? ( sys-apps/gentoo-systemd-integration )" + +BDEPEND=" + app-arch/xz-utils:0 + dev-util/gperf + >=dev-build/meson-0.46 + >=sys-apps/coreutils-8.16 + sys-devel/gettext + virtual/pkgconfig + test? ( + app-text/tree + dev-lang/perl + sys-apps/dbus + ) + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xml-dtd:4.5 + app-text/docbook-xsl-stylesheets + dev-libs/libxslt:0 + ${PYTHON_DEPS} + $(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} ) ) + ") +" + +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" +QA_EXECSTACK="usr/lib/systemd/boot/efi/*" + +pkg_pretend() { + if [[ ${MERGE_TYPE} != buildonly ]]; then + local CONFIG_CHECK="~BLK_DEV_BSG ~CGROUPS + ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE + ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS + ~TIMERFD ~TMPFS_XATTR ~UNIX ~USER_NS + ~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH + ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED + ~!SYSFS_DEPRECATED_V2" + + use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" + use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER" + + if kernel_is -ge 5 10 20; then + CONFIG_CHECK+=" ~KCMP" + else + CONFIG_CHECK+=" ~CHECKPOINT_RESTORE" + fi + + if kernel_is -ge 4 18; then + CONFIG_CHECK+=" ~AUTOFS_FS" + else + CONFIG_CHECK+=" ~AUTOFS4_FS" + fi + + if linux_config_exists; then + local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH) + if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then + ewarn "It's recommended to set an empty value to the following kernel config option:" + ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}" + fi + if linux_chkconfig_present X86; then + CONFIG_CHECK+=" ~DMIID" + fi + fi + + if kernel_is -lt ${MINKV//./ }; then + ewarn "Kernel version at least ${MINKV} required" + fi + + check_extra_config + fi +} + +pkg_setup() { + use boot && secureboot_pkg_setup +} + +src_unpack() { + default + [[ ${PV} != 9999 ]] || git-r3_src_unpack +} + +src_prepare() { + local PATCHES=( + "${FILESDIR}/systemd-test-process-util.patch" + "${FILESDIR}/systemd-253-initrd-generators.patch" + "${FILESDIR}/254-PrivateDevices-userdbd.patch" + ) + + if ! use vanilla; then + PATCHES+=( + "${FILESDIR}/gentoo-generator-path-r2.patch" + "${FILESDIR}/gentoo-journald-audit-r1.patch" + ) + fi + + # Fails with split-usr. + sed -i -e '2i exit 77' test/test-rpm-macros.sh || die + + default +} + +src_configure() { + # Prevent conflicts with i686 cross toolchain, bug 559726 + tc-export AR CC NM OBJCOPY RANLIB + + python_setup + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --localstatedir="${EPREFIX}/var" + -Dsupport-url="https://gentoo.org/support/" + -Dpamlibdir="$(getpam_mod_dir)" + # avoid bash-completion dep + -Dbashcompletiondir="$(get_bashcompdir)" + $(meson_use split-usr) + $(meson_use split-usr split-bin) + -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")" + -Drootlibdir="${EPREFIX}/usr/$(get_libdir)" + # Disable compatibility with sysvinit + -Dsysvinit-path= + -Dsysvrcnd-path= + # Avoid infinite exec recursion, bug 642724 + -Dtelinit-path="${EPREFIX}/lib/sysvinit/telinit" + # no deps + -Dima=true + -Ddefault-hierarchy=$(usex cgroup-hybrid hybrid unified) + # Optional components/dependencies + $(meson_native_use_bool acl) + $(meson_native_use_bool apparmor) + $(meson_native_use_bool audit) + $(meson_native_use_bool boot bootloader) + $(meson_native_use_bool cryptsetup libcryptsetup) + $(meson_native_use_bool curl libcurl) + $(meson_native_use_bool dns-over-tls dns-over-tls) + $(meson_native_use_bool elfutils) + $(meson_native_use_bool fido2 libfido2) + $(meson_use gcrypt) + $(meson_native_use_bool gnutls) + $(meson_native_use_bool homed) + $(meson_native_use_bool http microhttpd) + $(meson_native_use_bool idn) + $(meson_native_use_bool importd) + $(meson_native_use_bool importd bzip2) + $(meson_native_use_bool importd zlib) + $(meson_native_use_bool kernel-install) + $(meson_native_use_bool kmod) + $(meson_use lz4) + $(meson_use lzma xz) + $(meson_use test tests) + $(meson_use zstd) + $(meson_native_use_bool iptables libiptc) + $(meson_native_use_bool openssl) + $(meson_use pam) + $(meson_native_use_bool pkcs11 p11kit) + $(meson_native_use_bool pcre pcre2) + $(meson_native_use_bool policykit polkit) + $(meson_native_use_bool pwquality) + $(meson_native_use_bool qrcode qrencode) + $(meson_native_use_bool seccomp) + $(meson_native_use_bool selinux) + $(meson_native_use_bool tpm tpm2) + $(meson_native_use_bool test dbus) + $(meson_native_use_bool ukify) + $(meson_native_use_bool xkb xkbcommon) + -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org" + # Breaks screen, tmux, etc. + -Ddefault-kill-user-processes=false + -Dcreate-log-dirs=false + + # multilib options + $(meson_native_true backlight) + $(meson_native_true binfmt) + $(meson_native_true coredump) + $(meson_native_true environment-d) + $(meson_native_true firstboot) + $(meson_native_true hibernate) + $(meson_native_true hostnamed) + $(meson_native_true ldconfig) + $(meson_native_true localed) + $(meson_native_true man) + $(meson_native_true networkd) + $(meson_native_true quotacheck) + $(meson_native_true randomseed) + $(meson_native_true rfkill) + $(meson_native_true sysusers) + $(meson_native_true timedated) + $(meson_native_true timesyncd) + $(meson_native_true tmpfiles) + $(meson_native_true vconsole) + ) + + meson_src_configure "${myconf[@]}" +} + +multilib_src_test() { + unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR + local -x COLUMNS=80 + meson_src_test +} + +multilib_src_install_all() { + local rootprefix=$(usex split-usr '' /usr) + local sbin=$(usex split-usr sbin bin) + + # meson doesn't know about docdir + mv "${ED}"/usr/share/doc/{systemd,${PF}} || die + + einstalldocs + dodoc "${FILESDIR}"/nsswitch.conf + + insinto /usr/lib/tmpfiles.d + doins "${FILESDIR}"/legacy.conf + + if ! use resolvconf; then + rm -f "${ED}${rootprefix}/${sbin}"/resolvconf || die + fi + + if ! use sysv-utils; then + rm "${ED}${rootprefix}/${sbin}"/{halt,init,poweroff,reboot,shutdown} || die + rm "${ED}"/usr/share/man/man1/init.1 || die + rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || die + fi + + # https://bugs.gentoo.org/761763 + rm -r "${ED}"/usr/lib/sysusers.d || die + + # Preserve empty dirs in /etc & /var, bug #437008 + keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d} + keepdir /etc/kernel/install.d + keepdir /etc/systemd/{network,system,user} + keepdir /etc/udev/rules.d + + keepdir /etc/udev/hwdb.d + + keepdir "${rootprefix}"/lib/systemd/{system-sleep,system-shutdown} + keepdir /usr/lib/{binfmt.d,modules-load.d} + keepdir /usr/lib/systemd/user-generators + keepdir /var/lib/systemd + keepdir /var/log/journal + + if use pam; then + newpamd "${FILESDIR}"/systemd-user.pam systemd-user + fi + + if use split-usr; then + # Avoid breaking boot/reboot + dosym ../../../lib/systemd/systemd /usr/lib/systemd/systemd + dosym ../../../lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-shutdown + fi + + gen_usr_ldscript -a systemd udev + + if use kernel-install; then + # Dummy config, remove to make room for sys-kernel/installkernel + rm "${ED}/usr/lib/kernel/install.conf" || die + fi + + use ukify && python_fix_shebang "${ED}" + use boot && secureboot_auto_sign +} + +migrate_locale() { + local envd_locale_def="${EROOT}/etc/env.d/02locale" + local envd_locale=( "${EROOT}"/etc/env.d/??locale ) + local locale_conf="${EROOT}/etc/locale.conf" + + if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then + # If locale.conf does not exist... + if [[ -e ${envd_locale} ]]; then + # ...either copy env.d/??locale if there's one + ebegin "Moving ${envd_locale} to ${locale_conf}" + mv "${envd_locale}" "${locale_conf}" + eend ${?} || FAIL=1 + else + # ...or create a dummy default + ebegin "Creating ${locale_conf}" + cat > "${locale_conf}" <<-EOF + # This file has been created by the sys-apps/systemd ebuild. + # See locale.conf(5) and localectl(1). + + # LANG=${LANG} + EOF + eend ${?} || FAIL=1 + fi + fi + + if [[ ! -L ${envd_locale} ]]; then + # now, if env.d/??locale is not a symlink (to locale.conf)... + if [[ -e ${envd_locale} ]]; then + # ...warn the user that he has duplicate locale settings + ewarn + ewarn "To ensure consistent behavior, you should replace ${envd_locale}" + ewarn "with a symlink to ${locale_conf}. Please migrate your settings" + ewarn "and create the symlink with the following command:" + ewarn "ln -s -n -f ../locale.conf ${envd_locale}" + ewarn + else + # ...or just create the symlink if there's nothing here + ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink" + ln -n -s ../locale.conf "${envd_locale_def}" + eend ${?} || FAIL=1 + fi + fi +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/sysctl.conf ]]; then + # Symlink /etc/sysctl.conf for easy migration. + dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf + fi + + if ! use split-usr; then + local dir + for dir in bin sbin lib usr/sbin; do + if [[ ! -L ${EROOT}/${dir} ]]; then + eerror "'${EROOT}/${dir}' is not a symbolic link." + FAIL=1 + fi + done + if [[ ${FAIL} ]]; then + eerror "Migration to system layout with merged directories must be performed before" + eerror "installing ${CATEGORY}/${PN} with USE=\"-split-usr\" to avoid run-time breakage." + die "System layout with split directories still used" + fi + fi + if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then + ewarn "The 'gnuefi' USE flag has been renamed to 'boot'." + ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot." + fi +} + +pkg_postinst() { + systemd_update_catalog + + # Keep this here in case the database format changes so it gets updated + # when required. + systemd-hwdb --root="${ROOT}" update + + udev_reload || FAIL=1 + + # Bug 465468, make sure locales are respected, and ensure consistency + # between OpenRC & systemd + migrate_locale + + if [[ -z ${REPLACING_VERSIONS} ]]; then + if type systemctl &>/dev/null; then + systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1 + fi + elog "To enable a useful set of services, run the following:" + elog " systemctl preset-all --preset-mode=enable-only" + fi + + if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then + rm "${EROOT}/var/lib/systemd/timesync" + fi + + if [[ ${FAIL} ]]; then + eerror "One of the postinst commands failed. Please check the postinst output" + eerror "for errors. You may need to clean up your system and/or try installing" + eerror "systemd again." + eerror + fi + + if use boot; then + optfeature "installing kernels in systemd-boot's native layout and update loader entries" \ + "sys-kernel/installkernel[systemd-boot]" + fi + if use ukify; then + optfeature "generating unified kernel image on each kernel installation" \ + "sys-kernel/installkernel[ukify]" + fi +} + +pkg_prerm() { + # If removing systemd completely, remove the catalog database. + if [[ ! ${REPLACED_BY_VERSION} ]]; then + rm -f -v "${EROOT}"/var/lib/systemd/catalog/database + fi +} diff --git a/sys-apps/systemd/systemd-255.6.ebuild b/sys-apps/systemd/systemd-255.6.ebuild new file mode 100644 index 000000000000..9ebc6c14fa23 --- /dev/null +++ b/sys-apps/systemd/systemd-255.6.ebuild @@ -0,0 +1,529 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..12} ) + +# Avoid QA warnings +TMPFILES_OPTIONAL=1 +UDEV_OPTIONAL=1 + +QA_PKGCONFIG_VERSION=$(ver_cut 1) + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/systemd/systemd.git" + inherit git-r3 +else + if [[ ${PV} == *.* ]]; then + MY_PN=systemd-stable + else + MY_PN=systemd + fi + MY_PV=${PV/_/-} + MY_P=${MY_PN}-${MY_PV} + S=${WORKDIR}/${MY_P} + SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz" + + if [[ ${PV} != *rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi +fi + +inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1 +inherit secureboot systemd toolchain-funcs udev + +DESCRIPTION="System and service manager for Linux" +HOMEPAGE="http://systemd.io/" + +LICENSE="GPL-2 LGPL-2.1 MIT public-domain" +SLOT="0/2" +IUSE=" + acl apparmor audit boot cgroup-hybrid cryptsetup curl +dns-over-tls elfutils + fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod + +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode + +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd +" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + dns-over-tls? ( || ( gnutls openssl ) ) + fido2? ( cryptsetup openssl ) + homed? ( cryptsetup pam openssl ) + importd? ( curl lzma || ( gcrypt openssl ) ) + pwquality? ( homed ) + boot? ( kernel-install ) + ukify? ( boot ) +" +RESTRICT="!test? ( test )" + +MINKV="4.15" + +COMMON_DEPEND=" + >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}] + sys-libs/libcap:0=[${MULTILIB_USEDEP}] + virtual/libcrypt:=[${MULTILIB_USEDEP}] + acl? ( sys-apps/acl:0= ) + apparmor? ( >=sys-libs/libapparmor-2.13:0= ) + audit? ( >=sys-process/audit-2:0= ) + cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= ) + curl? ( >=net-misc/curl-7.32.0:0= ) + elfutils? ( >=dev-libs/elfutils-0.158:0= ) + fido2? ( dev-libs/libfido2:0= ) + gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] ) + gnutls? ( >=net-libs/gnutls-3.6.0:0= ) + http? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) + idn? ( net-dns/libidn2:= ) + importd? ( + app-arch/bzip2:0= + sys-libs/zlib:0= + ) + kmod? ( >=sys-apps/kmod-15:0= ) + lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] ) + iptables? ( net-firewall/iptables:0= ) + openssl? ( >=dev-libs/openssl-1.1.0:0= ) + pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] ) + pkcs11? ( >=app-crypt/p11-kit-0.23.3:0= ) + pcre? ( dev-libs/libpcre2 ) + pwquality? ( >=dev-libs/libpwquality-1.4.1:0= ) + qrcode? ( >=media-gfx/qrencode-3:0= ) + seccomp? ( >=sys-libs/libseccomp-2.3.3:0= ) + selinux? ( >=sys-libs/libselinux-2.1.9:0= ) + tpm? ( app-crypt/tpm2-tss:0= ) + xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= ) + zstd? ( >=app-arch/zstd-1.4.0:0=[${MULTILIB_USEDEP}] ) +" + +# Newer linux-headers needed by ia64, bug #480218 +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-${MINKV} +" + +PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]' + +# baselayout-2.2 has /run +RDEPEND="${COMMON_DEPEND} + >=acct-group/adm-0-r1 + >=acct-group/wheel-0-r1 + >=acct-group/kmem-0-r1 + >=acct-group/tty-0-r1 + >=acct-group/utmp-0-r1 + >=acct-group/audio-0-r1 + >=acct-group/cdrom-0-r1 + >=acct-group/dialout-0-r1 + >=acct-group/disk-0-r1 + >=acct-group/input-0-r1 + >=acct-group/kvm-0-r1 + >=acct-group/lp-0-r1 + >=acct-group/render-0-r1 + acct-group/sgx + >=acct-group/tape-0-r1 + acct-group/users + >=acct-group/video-0-r1 + >=acct-group/systemd-journal-0-r1 + >=acct-user/root-0-r1 + acct-user/nobody + >=acct-user/systemd-journal-remote-0-r1 + >=acct-user/systemd-coredump-0-r1 + >=acct-user/systemd-network-0-r1 + acct-user/systemd-oom + >=acct-user/systemd-resolve-0-r1 + >=acct-user/systemd-timesync-0-r1 + >=sys-apps/baselayout-2.2 + ukify? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep "${PEFILE_DEPEND}") + ) + selinux? ( + sec-policy/selinux-base-policy[systemd] + sec-policy/selinux-ntp + ) + sysv-utils? ( + !sys-apps/openrc[sysv-utils(-)] + !sys-apps/sysvinit + ) + !sysv-utils? ( sys-apps/sysvinit ) + resolvconf? ( !net-dns/openresolv ) + !sys-apps/hwids[udev] + !sys-auth/nss-myhostname + !sys-fs/eudev + !sys-fs/udev +" + +# sys-apps/dbus: the daemon only (+ build-time lib dep for tests) +PDEPEND=">=sys-apps/dbus-1.9.8[systemd] + >=sys-fs/udev-init-scripts-34 + policykit? ( sys-auth/polkit ) + !vanilla? ( sys-apps/gentoo-systemd-integration )" + +BDEPEND=" + app-arch/xz-utils:0 + dev-util/gperf + >=dev-build/meson-0.46 + >=sys-apps/coreutils-8.16 + sys-devel/gettext + virtual/pkgconfig + test? ( + app-text/tree + dev-lang/perl + sys-apps/dbus + ) + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xml-dtd:4.5 + app-text/docbook-xsl-stylesheets + dev-libs/libxslt:0 + ${PYTHON_DEPS} + $(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} ) ) + ") +" + +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" +QA_EXECSTACK="usr/lib/systemd/boot/efi/*" + +pkg_pretend() { + if use split-usr; then + eerror "Please complete the migration to merged-usr." + eerror "https://wiki.gentoo.org/wiki/Merge-usr" + die "systemd no longer supports split-usr" + fi + if [[ ${MERGE_TYPE} != buildonly ]]; then + local CONFIG_CHECK="~BLK_DEV_BSG ~CGROUPS + ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE + ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS + ~TIMERFD ~TMPFS_XATTR ~UNIX ~USER_NS + ~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH + ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED + ~!SYSFS_DEPRECATED_V2" + + use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" + use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER" + + if kernel_is -ge 5 10 20; then + CONFIG_CHECK+=" ~KCMP" + else + CONFIG_CHECK+=" ~CHECKPOINT_RESTORE" + fi + + if kernel_is -ge 4 18; then + CONFIG_CHECK+=" ~AUTOFS_FS" + else + CONFIG_CHECK+=" ~AUTOFS4_FS" + fi + + if linux_config_exists; then + local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH) + if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then + ewarn "It's recommended to set an empty value to the following kernel config option:" + ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}" + fi + if linux_chkconfig_present X86; then + CONFIG_CHECK+=" ~DMIID" + fi + fi + + if kernel_is -lt ${MINKV//./ }; then + ewarn "Kernel version at least ${MINKV} required" + fi + + check_extra_config + fi +} + +pkg_setup() { + use boot && secureboot_pkg_setup +} + +src_unpack() { + default + [[ ${PV} != 9999 ]] || git-r3_src_unpack +} + +src_prepare() { + local PATCHES=( + "${FILESDIR}/systemd-test-process-util.patch" + ) + + if ! use vanilla; then + PATCHES+=( + "${FILESDIR}/gentoo-generator-path-r2.patch" + "${FILESDIR}/gentoo-journald-audit-r1.patch" + ) + fi + + default +} + +src_configure() { + # Prevent conflicts with i686 cross toolchain, bug 559726 + tc-export AR CC NM OBJCOPY RANLIB + + python_setup + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --localstatedir="${EPREFIX}/var" + # default is developer, bug 918671 + -Dmode=release + -Dsupport-url="https://gentoo.org/support/" + -Dpamlibdir="$(getpam_mod_dir)" + # avoid bash-completion dep + -Dbashcompletiondir="$(get_bashcompdir)" + -Dsplit-bin=false + # Disable compatibility with sysvinit + -Dsysvinit-path= + -Dsysvrcnd-path= + # Avoid infinite exec recursion, bug 642724 + -Dtelinit-path="${EPREFIX}/lib/sysvinit/telinit" + # no deps + -Dima=true + -Ddefault-hierarchy=$(usex cgroup-hybrid hybrid unified) + # Match /etc/shells, bug 919749 + -Ddebug-shell="${EPREFIX}/bin/sh" + -Ddefault-user-shell="${EPREFIX}/bin/bash" + # Optional components/dependencies + $(meson_native_use_bool acl) + $(meson_native_use_bool apparmor) + $(meson_native_use_bool audit) + $(meson_native_use_bool boot bootloader) + $(meson_native_use_bool cryptsetup libcryptsetup) + $(meson_native_use_bool curl libcurl) + $(meson_native_use_bool dns-over-tls dns-over-tls) + $(meson_native_use_bool elfutils) + $(meson_native_use_bool fido2 libfido2) + $(meson_use gcrypt) + $(meson_native_use_bool gnutls) + $(meson_native_use_bool homed) + $(meson_native_use_bool http microhttpd) + $(meson_native_use_bool idn) + $(meson_native_use_bool importd) + $(meson_native_use_bool importd bzip2) + $(meson_native_use_bool importd zlib) + $(meson_native_use_bool kernel-install) + $(meson_native_use_bool kmod) + $(meson_use lz4) + $(meson_use lzma xz) + $(meson_use test tests) + $(meson_use zstd) + $(meson_native_use_bool iptables libiptc) + $(meson_native_use_bool openssl) + $(meson_use pam) + $(meson_native_use_bool pkcs11 p11kit) + $(meson_native_use_bool pcre pcre2) + $(meson_native_use_bool policykit polkit) + $(meson_native_use_bool pwquality) + $(meson_native_use_bool qrcode qrencode) + $(meson_native_use_bool seccomp) + $(meson_native_use_bool selinux) + $(meson_native_use_bool tpm tpm2) + $(meson_native_use_bool test dbus) + $(meson_native_use_bool ukify) + $(meson_native_use_bool xkb xkbcommon) + -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org" + # Breaks screen, tmux, etc. + -Ddefault-kill-user-processes=false + -Dcreate-log-dirs=false + + # multilib options + $(meson_native_true backlight) + $(meson_native_true binfmt) + $(meson_native_true coredump) + $(meson_native_true environment-d) + $(meson_native_true firstboot) + $(meson_native_true hibernate) + $(meson_native_true hostnamed) + $(meson_native_true ldconfig) + $(meson_native_true localed) + $(meson_native_true man) + $(meson_native_true networkd) + $(meson_native_true quotacheck) + $(meson_native_true randomseed) + $(meson_native_true rfkill) + $(meson_native_true sysusers) + $(meson_native_true timedated) + $(meson_native_true timesyncd) + $(meson_native_true tmpfiles) + $(meson_native_true vconsole) + $(meson_native_enabled vmspawn) + ) + + meson_src_configure "${myconf[@]}" +} + +multilib_src_test() { + ( + unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR + export COLUMNS=80 + addpredict /dev + addpredict /proc + addpredict /run + addpredict /sys/fs/cgroup + meson_src_test + ) || die +} + +multilib_src_install_all() { + # meson doesn't know about docdir + mv "${ED}"/usr/share/doc/{systemd,${PF}} || die + + einstalldocs + dodoc "${FILESDIR}"/nsswitch.conf + + insinto /usr/lib/tmpfiles.d + doins "${FILESDIR}"/legacy.conf + + if ! use resolvconf; then + rm -f "${ED}"/usr/bin/resolvconf || die + fi + + if ! use sysv-utils; then + rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die + rm "${ED}"/usr/share/man/man1/init.1 || die + rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || die + fi + + # https://bugs.gentoo.org/761763 + rm -r "${ED}"/usr/lib/sysusers.d || die + + # Preserve empty dirs in /etc & /var, bug #437008 + keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d} + keepdir /etc/kernel/install.d + keepdir /etc/systemd/{network,system,user} + keepdir /etc/udev/rules.d + + keepdir /etc/udev/hwdb.d + + keepdir /usr/lib/systemd/{system-sleep,system-shutdown} + keepdir /usr/lib/{binfmt.d,modules-load.d} + keepdir /usr/lib/systemd/user-generators + keepdir /var/lib/systemd + keepdir /var/log/journal + + if use pam; then + newpamd "${FILESDIR}"/systemd-user.pam systemd-user + fi + + if use kernel-install; then + # Dummy config, remove to make room for sys-kernel/installkernel + rm "${ED}/usr/lib/kernel/install.conf" || die + fi + + use ukify && python_fix_shebang "${ED}" + use boot && secureboot_auto_sign +} + +migrate_locale() { + local envd_locale_def="${EROOT}/etc/env.d/02locale" + local envd_locale=( "${EROOT}"/etc/env.d/??locale ) + local locale_conf="${EROOT}/etc/locale.conf" + + if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then + # If locale.conf does not exist... + if [[ -e ${envd_locale} ]]; then + # ...either copy env.d/??locale if there's one + ebegin "Moving ${envd_locale} to ${locale_conf}" + mv "${envd_locale}" "${locale_conf}" + eend ${?} || FAIL=1 + else + # ...or create a dummy default + ebegin "Creating ${locale_conf}" + cat > "${locale_conf}" <<-EOF + # This file has been created by the sys-apps/systemd ebuild. + # See locale.conf(5) and localectl(1). + + # LANG=${LANG} + EOF + eend ${?} || FAIL=1 + fi + fi + + if [[ ! -L ${envd_locale} ]]; then + # now, if env.d/??locale is not a symlink (to locale.conf)... + if [[ -e ${envd_locale} ]]; then + # ...warn the user that he has duplicate locale settings + ewarn + ewarn "To ensure consistent behavior, you should replace ${envd_locale}" + ewarn "with a symlink to ${locale_conf}. Please migrate your settings" + ewarn "and create the symlink with the following command:" + ewarn "ln -s -n -f ../locale.conf ${envd_locale}" + ewarn + else + # ...or just create the symlink if there's nothing here + ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink" + ln -n -s ../locale.conf "${envd_locale_def}" + eend ${?} || FAIL=1 + fi + fi +} + +pkg_preinst() { + if [[ -e ${EROOT}/etc/sysctl.conf ]]; then + # Symlink /etc/sysctl.conf for easy migration. + dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf + fi + + if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then + ewarn "The 'gnuefi' USE flag has been renamed to 'boot'." + ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot." + fi +} + +pkg_postinst() { + systemd_update_catalog + + # Keep this here in case the database format changes so it gets updated + # when required. + systemd-hwdb --root="${ROOT}" update + + udev_reload || FAIL=1 + + # Bug 465468, make sure locales are respected, and ensure consistency + # between OpenRC & systemd + migrate_locale + + if [[ -z ${REPLACING_VERSIONS} ]]; then + if type systemctl &>/dev/null; then + systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1 + fi + elog "To enable a useful set of services, run the following:" + elog " systemctl preset-all --preset-mode=enable-only" + fi + + if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then + rm "${EROOT}/var/lib/systemd/timesync" + fi + + if [[ -z ${ROOT} && -d /run/systemd/system ]]; then + ebegin "Reexecuting system manager (systemd)" + systemctl daemon-reexec + eend $? || FAIL=1 + fi + + if [[ ${FAIL} ]]; then + eerror "One of the postinst commands failed. Please check the postinst output" + eerror "for errors. You may need to clean up your system and/or try installing" + eerror "systemd again." + eerror + fi + + if use boot; then + optfeature "installing kernels in systemd-boot's native layout and update loader entries" \ + "sys-kernel/installkernel[systemd-boot]" + fi + if use ukify; then + optfeature "generating unified kernel image on each kernel installation" \ + "sys-kernel/installkernel[ukify]" + fi +} + +pkg_prerm() { + # If removing systemd completely, remove the catalog database. + if [[ ! ${REPLACED_BY_VERSION} ]]; then + rm -f -v "${EROOT}"/var/lib/systemd/catalog/database + fi +} diff --git a/sys-apps/util-linux/Manifest b/sys-apps/util-linux/Manifest index 94cb1a1904f6..ca6c847f1f74 100644 --- a/sys-apps/util-linux/Manifest +++ b/sys-apps/util-linux/Manifest @@ -9,6 +9,7 @@ AUX util-linux-2.39.3-fix-use-after-free.patch 1598 BLAKE2B 414448281c0f5b13755f AUX util-linux-2.39.3-libblkid-luks.patch 1499 BLAKE2B d08f33f3be0709abb3969a89809a953da06dad98be44d804e1327fc57872331a1cd84d4c9cd4762529df53b3a3a3010ddc7fdcfc8d35e7e6be0447aa1bff055d SHA512 4dd4222a23262a6bfaa472bbfcf17faa0ecd6cbdf85da6459c4ed146f0bdcb0c7e249b6f5286faa4e97d811ebe13285523fb800b280a8eb053224a15bda47bf8 AUX util-linux-2.39.3-libmount-Fix-export-of-mnt_context_is_lazy-and-mnt_c.patch 1710 BLAKE2B 04a3b4db45447556edbf66bdb9bf9c895cdf47a801b41743603b14420bcffe9618c17c8153b6800b872dbc28d1e5c33a55667f2a31e9ff63f7f026c1beb9f524 SHA512 da91fb5f9443907558f6245d4eee3f578e0f0549866a6e9f39bd82d6123868180c1d2aa357e5ef47f163b7ddf67d1c24f6a4768837f21577b2887555a956afe9 AUX util-linux-2.39.3-musl-1.2.5-basename.patch 1814 BLAKE2B 29463f6aedec98cbd7edaa68e3ef0b6c7a4932e6f1b02948237689e75cb720d406970a6521564dd97c68c922b087f23683c219550c5092755057e734f94bc338 SHA512 74f6ccd530766fdbaac55a20becc8e2ce8dc8aeb65aaba3d22430a7c72e19e9483031b508b4448507d245d42e6d730d0d17ec6bc8edb63eaf0cb8ce0365be4d7 +AUX util-linux-2.39.4-umount-readonly.patch 1519 BLAKE2B 80fdd82a9fda61e8cb03a5ceed5f601687cc8a621e8cf2c8d71125bf2aa849d32c413253050d2e4680bbf1636b8add212fe6dd4f7802ccd59b0ff677854b600f SHA512 240863efa932d385aa6b6d999624d4630bbbf0b5ae92f1f341df940167009eeebe0ccec2c460fce69a19988f96a6fa988a740682b3da864ebfc21b1bbeddd3b5 DIST util-linux-2.39.3.tar.sign 833 BLAKE2B 433b9ad6e97d9e2ffbd516addf8406587d009d9c7661ac126ae89b370f22a39f1f1243e86ef383133d656833d3ad35054397d60e0e0c67bd1e9402939903570b SHA512 d9993d7a77531ca8fe3e58458d65e7d721c38aa53838547479fea169941a69b1c07fb02ac90ed5a0360025814b0999167621dbc4215348810584947a9e67756d DIST util-linux-2.39.3.tar.xz 8526168 BLAKE2B cd7b2b3c820e920d4a6ecd46fd807e018fc8e54439292f5e62c5f6863dd0f2505df3ec02c470d9be255a437c6ee8e4077908ac78d19a0d1273854d99eb571df0 SHA512 a2de1672f06ca5d2d431db1265a8499808770c3781019ec4a3a40170df4685826d8e3ca120841dcc5df4681ca8c935a993317bd0dc70465b21bf8e0efef65afa DIST util-linux-2.39.4.tar.sign 833 BLAKE2B cbefaa4968ac82491c9eaa467c5e84e9b4a0c8dac74855aa04536a08f2c924e5f027f1a6389bd75e4366671addfe10a292f293295734041da7dc90971209134c SHA512 3f29551913cf8206c144edb0f3575beabf6e228564cf4aaf8f83d44d45ec8f24c22c7d178cc225804ecdfc66f6c24ee790e3b3660622975fdeec98fe7e2500aa @@ -17,6 +18,7 @@ DIST util-linux-2.40.1.tar.sign 833 BLAKE2B 2f8537cd4f52e0c203360d081a91f17c2db1 DIST util-linux-2.40.1.tar.xz 8823784 BLAKE2B a51fcf9b63c033e470da4f4f0094f0f923fdeb5a649a5c59d2d44888e5e741dfd95e589247355296e050d9ec8dc4334c5898453af055abcb30082af6b835a3e3 SHA512 58ec6eb41d4b6bfc544a80e95c71b5f3798ab4d2a9435d3ee9e5edd56f9b3f09bcb154bdd70e002dc018938937e2e946ae731dcda0f86b362fc43423689e41fc EBUILD util-linux-2.39.3-r2.ebuild 10872 BLAKE2B c44068bc288acf9c77d4c697cc8b7848e3c85ab0d548672283cc76bf34eae1bf80aa39cc9afaa7105e5ad9bf0ed0494ddbebe062e7dba6aa9ec0616ee77a7eb2 SHA512 b8cc2a20122f1c094cfbd4fb3652672cf7def1d6d9b38971f2f52511893f9de1e7774ed06c03a17c4b19d58cc564a1291833974ffe0c43778d077165f6f6f538 EBUILD util-linux-2.39.3-r7.ebuild 11232 BLAKE2B 09dcc169238dbec2e428420511062be1571484086784925f8c727ad89c10e4db37d164f2777c7f259f43ef6399c8a36d7478fe2ccb5215fbb683f6e79a81a73a SHA512 ca017f44d330ca86e64413fc78353118cbb75304e60d8c700f1e30e466a614fd888670e9232a12445311828bc356fa00008ea60b935840115da7b96347b40e42 +EBUILD util-linux-2.39.4-r1.ebuild 11142 BLAKE2B 1ee7d40ec8a47faafe30845a712be27f31689db47882d95195474970d0ad4dc8fc741782a6b2e8b46e8ed6a87d106f689f226c86e65bfd155bd7739271a282f8 SHA512 f7767ef10dfde3b1c8342a87f576ec2994018b7d22283e9dde2fed33e0711ade68d95f8a2d8e31ba2fea883f8720a9f6024ce02068950fead868436b9fc5ddaa EBUILD util-linux-2.39.4.ebuild 11092 BLAKE2B eddaf690fd796e95c66a8965c207960ba8184833e40593b590d78d58baf58bfaa369055d1a5766a6ff8c7a33a549289d6dec316c0661ac1c7b2e632375e89acb SHA512 43467deb4af0e6a9de45f3c9f9af49b741e457d564e6cb5928a580d3e605b09c8f612b09d5493f0903a0e8cb1a0e1b2b1f58c4e7ef43dc467a2bec32bfc1f2d7 EBUILD util-linux-2.40.1.ebuild 10990 BLAKE2B 3475fd3c526682b3472ca51b06837c45e8b497a55329571ada5d942af015e3437ee086225d650d65be6087825dc0f11925ec99c65f376b151ba2c73c0e22254c SHA512 4762cf9a4df02848c55a1ee2ff807f795b22b82c9806f9ce0568739dc8afa36ff6eed04f95e67eaf0894f65f10e0889c9e8a399fd08b630acfdc00cfa790689a EBUILD util-linux-9999.ebuild 10934 BLAKE2B 7fdf6877800c580544ea5a31b7e09276822fadeb54fccb5d14f7e5087ba6706c7fc9740455a9e8c5911af214f79a86e532b381ac87684843cf5510ec30ebe537 SHA512 ad84402170eb5fa1afba21bb7c99470544532186d7546254fc486c4f774961ab7cdedb40120dbc4a580557347892c3e932bd2b9d007d301f4675218e6731b8ba diff --git a/sys-apps/util-linux/files/util-linux-2.39.4-umount-readonly.patch b/sys-apps/util-linux/files/util-linux-2.39.4-umount-readonly.patch new file mode 100644 index 000000000000..57c8903348af --- /dev/null +++ b/sys-apps/util-linux/files/util-linux-2.39.4-umount-readonly.patch @@ -0,0 +1,35 @@ +https://github.com/util-linux/util-linux/commit/9ba8eb5d89f0ebba8b3a542c041a5838e10a0d75 +https://bugs.gentoo.org/573760#c11 + +From 9ba8eb5d89f0ebba8b3a542c041a5838e10a0d75 Mon Sep 17 00:00:00 2001 +From: Karel Zak <kzak@redhat.com> +Date: Tue, 23 Apr 2024 10:29:37 +0200 +Subject: [PATCH] libmount: fix umount --read-only +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Reported-by: Krzysztof Olędzki <ole@ans.pl> +Signed-off-by: Karel Zak <kzak@redhat.com> +(cherry picked from commit a20e7e23a8565e01b1c84de6924d1fbbdb1cfccc) +--- a/libmount/src/context_umount.c ++++ b/libmount/src/context_umount.c +@@ -267,6 +267,9 @@ static int lookup_umount_fs_by_statfs(struct libmnt_context *cxt, const char *tg + * So, let's use statfs() if possible (it's bad idea for --lazy/--force + * umounts as target is probably unreachable NFS, also for --detach-loop + * as this additionally needs to know the name of the loop device). ++ * ++ * For the "umount --read-only" command, we need to read the mountinfo ++ * to obtain the mount source. + */ + if (mnt_context_is_restricted(cxt) + || *tgt != '/' +@@ -275,6 +278,7 @@ static int lookup_umount_fs_by_statfs(struct libmnt_context *cxt, const char *tg + || mnt_context_is_lazy(cxt) + || mnt_context_is_nocanonicalize(cxt) + || mnt_context_is_loopdel(cxt) ++ || mnt_context_is_rdonly_umount(cxt) + || mnt_safe_stat(tgt, &st) != 0 || !S_ISDIR(st.st_mode) + || has_utab_entry(cxt, tgt)) + return 1; /* not found */ + diff --git a/sys-apps/util-linux/util-linux-2.39.4-r1.ebuild b/sys-apps/util-linux/util-linux-2.39.4-r1.ebuild new file mode 100644 index 000000000000..0230482e78cd --- /dev/null +++ b/sys-apps/util-linux/util-linux-2.39.4-r1.ebuild @@ -0,0 +1,417 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 \ + pam python-r1 multilib-minimal multiprocessing systemd + +MY_PV="${PV/_/-}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="Various useful Linux utilities" +HOMEPAGE="https://www.kernel.org/pub/linux/utils/util-linux/ https://github.com/util-linux/util-linux" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git" + inherit autotools git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/karelzak.asc + inherit verify-sig + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos" + fi + + SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz" + SRC_URI+=" verify-sig? ( https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.sign )" +fi + +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain" +SLOT="0" +IUSE="audit build caps +cramfs cryptsetup fdformat +hardlink kill +logger magic ncurses nls pam python +readline rtas selinux slang static-libs +su +suid systemd test tty-helpers udev unicode" + +# Most lib deps here are related to programs rather than our libs, +# so we rarely need to specify ${MULTILIB_USEDEP}. +RDEPEND=" + virtual/libcrypt:= + audit? ( >=sys-process/audit-2.6:= ) + caps? ( sys-libs/libcap-ng ) + cramfs? ( sys-libs/zlib:= ) + cryptsetup? ( >=sys-fs/cryptsetup-2.1.0 ) + hardlink? ( dev-libs/libpcre2:= ) + ncurses? ( + sys-libs/ncurses:=[unicode(+)?] + magic? ( sys-apps/file:0= ) + ) + nls? ( virtual/libintl[${MULTILIB_USEDEP}] ) + pam? ( sys-libs/pam ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:0= ) + rtas? ( sys-libs/librtas ) + selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] ) + slang? ( sys-libs/slang ) + !build? ( + systemd? ( sys-apps/systemd ) + udev? ( virtual/libudev:= ) + ) +" +BDEPEND=" + virtual/pkgconfig + nls? ( + app-text/po4a + sys-devel/gettext + ) + test? ( app-alternatives/bc ) +" +DEPEND=" + ${RDEPEND} + virtual/os-headers + acct-group/root +" +RDEPEND+=" + hardlink? ( !app-arch/hardlink ) + logger? ( !>=app-admin/sysklogd-2.0[logger] ) + kill? ( + !sys-apps/coreutils[kill] + !sys-process/procps[kill] + ) + su? ( + !<sys-apps/shadow-4.7-r2 + !>=sys-apps/shadow-4.7-r2[su] + ) + !net-wireless/rfkill +" + +if [[ ${PV} == 9999 ]] ; then + # Required for man-page generation + BDEPEND+=" dev-ruby/asciidoctor" +else + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-karelzak-20230517 )" +fi + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) su? ( pam )" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.39.2-fincore-test.patch + "${FILESDIR}"/${PN}-2.39.2-backport-1d4456d.patch + "${FILESDIR}"/${PN}-2.39.3-musl-1.2.5-basename.patch + "${FILESDIR}"/${PN}-2.39.3-libmount-Fix-export-of-mnt_context_is_lazy-and-mnt_c.patch + "${FILESDIR}"/${PN}-2.39.3-fix-use-after-free.patch + "${FILESDIR}"/${PN}-2.39.4-umount-readonly.patch +) + +pkg_pretend() { + if use su && ! use suid ; then + elog "su will be installed as suid despite USE=-suid (bug #832092)" + elog "To use su without suid, see e.g. Portage's suidctl feature." + fi +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + return + fi + + if use verify-sig ; then + mkdir "${T}"/verify-sig || die + pushd "${T}"/verify-sig &>/dev/null || die + + # Upstream sign the decompressed .tar + # Let's do it separately in ${T} then cleanup to avoid external + # effects on normal unpack. + cp "${DISTDIR}"/${MY_P}.tar.xz . || die + xz -d ${MY_P}.tar.xz || die + verify-sig_verify_detached ${MY_P}.tar "${DISTDIR}"/${MY_P}.tar.sign + + popd &>/dev/null || die + rm -r "${T}"/verify-sig || die + fi + + default +} + +src_prepare() { + default + + if use test ; then + # Known-failing tests + # TODO: investigate these + local known_failing_tests=( + # Subtest 'options-maximum-size-8192' fails + hardlink/options + + # Fails in sandbox + lsns/ioctl_ns + + lsfd/mkfds-symlink + lsfd/mkfds-rw-character-device + # Fails with network-sandbox at least in nspawn + lsfd/option-inet + utmp/last-ipv6 + ) + + local known_failing_test + for known_failing_test in "${known_failing_tests[@]}" ; do + einfo "Removing known-failing test: ${known_failing_test}" + rm tests/ts/${known_failing_test} || die + done + fi + + if [[ ${PV} == 9999 ]] ; then + po/update-potfiles + eautoreconf + else + elibtoolize + fi +} + +python_configure() { + local myeconfargs=( + "${commonargs[@]}" + --disable-all-programs + --disable-bash-completion + --without-systemdsystemunitdir + --with-python + --enable-libblkid + --enable-libmount + --enable-pylibmount + ) + + mkdir "${BUILD_DIR}" || die + pushd "${BUILD_DIR}" >/dev/null || die + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + popd >/dev/null || die +} + +multilib_src_configure() { + # The scanf test in a run-time test which fails while cross-compiling. + # Blindly assume a POSIX setup since we require libmount, and libmount + # itself fails when the scanf test fails. bug #531856 + tc-is-cross-compiler && export scanf_cv_alloc_modifier=ms + + # bug #485486 + export ac_cv_header_security_pam_misc_h=$(multilib_native_usex pam) + # bug #545042 + export ac_cv_header_security_pam_appl_h=$(multilib_native_usex pam) + + # Undo bad ncurses handling by upstream. Fall back to pkg-config. + # bug #601530 + export NCURSES6_CONFIG=false NCURSES5_CONFIG=false + export NCURSESW6_CONFIG=false NCURSESW5_CONFIG=false + + # Avoid automagic dependency on ppc* + export ac_cv_lib_rtas_rtas_get_sysparm=$(usex rtas) + + # configure args shared by python and non-python builds + local commonargs=( + --localstatedir="${EPREFIX}/var" + --runstatedir="${EPREFIX}/run" + --enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin" + + # Temporary workaround until ~2.39.2. 2.39.x introduced a big rewrite. + # https://github.com/util-linux/util-linux/issues/2287#issuecomment-1576640373 + --disable-libmount-mountfd-support + ) + + local myeconfargs=( + "${commonargs[@]}" + --with-bashcompletiondir="$(get_bashcompdir)" + --without-python + $(multilib_native_use_enable suid makeinstall-chown) + $(multilib_native_use_enable suid makeinstall-setuid) + $(multilib_native_use_with readline) + $(multilib_native_use_with slang) + $(multilib_native_usex ncurses "$(use_with magic libmagic)" '--without-libmagic') + $(multilib_native_usex ncurses "$(use_with unicode ncursesw)" '--without-ncursesw') + $(multilib_native_usex ncurses "$(use_with !unicode ncurses)" '--without-ncurses') + $(multilib_native_use_with audit) + $(tc-has-tls || echo --disable-tls) + $(use_enable nls) + $(use_enable nls poman) + $(use_enable unicode widechar) + $(use_enable static-libs static) + $(use_with ncurses tinfo) + $(use_with selinux) + + # TODO: Wire this up (bug #931118) + --without-econf + ) + + if use build ; then + myeconfargs+=( + --without-systemd + --without-udev + ) + else + myeconfargs+=( + $(multilib_native_use_with systemd) + $(multilib_native_use_with udev) + ) + fi + + if multilib_is_native_abi ; then + myeconfargs+=( + --disable-chfn-chsh + --disable-login + --disable-newgrp + --disable-nologin + --disable-pylibmount + --disable-raw + --disable-vipw + --enable-agetty + --enable-bash-completion + --enable-line + --enable-partx + --enable-rename + --enable-rfkill + --enable-schedutils + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + $(use_enable caps setpriv) + $(use_enable cramfs) + $(use_enable fdformat) + $(use_enable hardlink) + $(use_enable kill) + $(use_enable logger) + $(use_enable ncurses pg) + $(use_enable su) + $(use_enable tty-helpers mesg) + $(use_enable tty-helpers wall) + $(use_enable tty-helpers write) + $(use_with cryptsetup) + ) + if [[ ${PV} == *9999 ]] ; then + myeconfargs+=( --enable-asciidoc ) + else + # Upstream is shipping pre-generated man-pages for releases + myeconfargs+=( --disable-asciidoc ) + fi + else + myeconfargs+=( + --disable-all-programs + --disable-asciidoc + --disable-bash-completion + --without-systemdsystemunitdir + --disable-poman + + # build libraries + --enable-libuuid + --enable-libblkid + --enable-libsmartcols + --enable-libfdisk + --enable-libmount + ) + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + + if multilib_is_native_abi && use python ; then + python_foreach_impl python_configure + fi +} + +src_configure() { + append-lfs-flags + multilib-minimal_src_configure +} + +python_compile() { + pushd "${BUILD_DIR}" >/dev/null || die + emake all + popd >/dev/null || die +} + +multilib_src_compile() { + emake all + + if multilib_is_native_abi && use python ; then + python_foreach_impl python_compile + fi +} + +python_test() { + pushd "${BUILD_DIR}" >/dev/null || die + emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot" + popd >/dev/null || die +} + +multilib_src_test() { + emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot" + if multilib_is_native_abi && use python ; then + python_foreach_impl python_test + fi +} + +python_install() { + pushd "${BUILD_DIR}" >/dev/null || die + emake DESTDIR="${D}" install + python_optimize + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi && use python ; then + python_foreach_impl python_install + fi + + # This needs to be called AFTER python_install call, bug #689190 + emake DESTDIR="${D}" install +} + +multilib_src_install_all() { + dodoc AUTHORS NEWS README* Documentation/{TODO,*.txt,releases/*} + + dosym hexdump /usr/bin/hd + newman - hd.1 <<< '.so man1/hexdump.1' + + # e2fsprogs-libs didn't install .la files, and .pc work fine + find "${ED}" -name "*.la" -delete || die + + if use pam ; then + # See https://github.com/util-linux/util-linux/blob/master/Documentation/PAM-configuration.txt + newpamd "${FILESDIR}/runuser.pamd" runuser + newpamd "${FILESDIR}/runuser-l.pamd" runuser-l + + newpamd "${FILESDIR}/su-l.pamd" su-l + fi + + if use su && ! use suid ; then + # Always force suid su, even when USE=-suid, as su is useless + # for the overwhelming-majority case without suid. + # Users who wish to truly have a no-suid su can strip it out + # via e.g. Portage's suidctl or some other hook. + # See bug #832092 + fperms u+s /bin/su + fi + + # Note: + # Bash completion for "runuser" command is provided by same file which + # would also provide bash completion for "su" command. However, we don't + # use "su" command from this package. + # This triggers a known QA warning which we ignore for now to magically + # keep bash completion for "su" command which shadow package does not + # provide. + + local ver=$(tools/git-version-gen .tarballversion) + local major=$(ver_cut 1 ${ver}) + local minor=$(ver_cut 2 ${ver}) + local release=$(ver_cut 3 ${ver}) + export QA_PKGCONFIG_VERSION="${major}.${minor}.${release:-0}" +} + +pkg_postinst() { + if ! use tty-helpers ; then + elog "The mesg/wall/write tools have been disabled due to USE=-tty-helpers." + fi + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog "The agetty util now clears the terminal by default. You" + elog "might want to add --noclear to your /etc/inittab lines." + fi +} |