diff options
| author | Crucible <crucible@localhost> | 2026-09-22 18:47:35 -0500 |
|---|---|---|
| committer | Crucible <crucible@localhost> | 2026-09-22 18:47:35 -0500 |
| commit | cde96c5ea0c81397fd3214d455a374f76179a7aa (patch) | |
| tree | 12c86d59eb88887c244b1145411db084ae5a6c1f /sys-apps | |
| parent | 47516b9667518dacb1efd6d257f7b3e6a481ec93 (diff) | |
| download | baldeagleos-repo-cde96c5ea0c81397fd3214d455a374f76179a7aa.tar.gz baldeagleos-repo-cde96c5ea0c81397fd3214d455a374f76179a7aa.tar.xz baldeagleos-repo-cde96c5ea0c81397fd3214d455a374f76179a7aa.zip | |
Publish baldeagleos-repo candidate 0000000325-20260922-184323
Diffstat (limited to 'sys-apps')
22 files changed, 1520 insertions, 15 deletions
diff --git a/sys-apps/bleachbit/bleachbit-6.0.0.ebuild b/sys-apps/bleachbit/bleachbit-6.0.0.ebuild index e0b973616f48..b22b2dae54af 100644 --- a/sys-apps/bleachbit/bleachbit-6.0.0.ebuild +++ b/sys-apps/bleachbit/bleachbit-6.0.0.ebuild @@ -22,7 +22,7 @@ SRC_URI=" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sys-apps/epoch/epoch-1.3.0-r1.ebuild b/sys-apps/epoch/epoch-1.3.0-r1.ebuild index 625ed5dc2b24..483facc36eef 100644 --- a/sys-apps/epoch/epoch-1.3.0-r1.ebuild +++ b/sys-apps/epoch/epoch-1.3.0-r1.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}_${PV/rc/RC}" LICENSE="public-domain" SLOT="0" -KEYWORDS="~amd64 arm ~x86" +KEYWORDS="amd64 arm x86" pkg_pretend() { local CONFIG_CHECK="~PROC_FS" diff --git a/sys-apps/miller/miller-6.20.2.ebuild b/sys-apps/miller/miller-6.20.2.ebuild index 4ed6cdc18db7..10b8df87344a 100644 --- a/sys-apps/miller/miller-6.20.2.ebuild +++ b/sys-apps/miller/miller-6.20.2.ebuild @@ -14,7 +14,7 @@ SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/ LICENSE="Apache-2.0 BSD BSD-2 ISC MIT Unlicense" SLOT="0" -KEYWORDS="~amd64 arm ~x86" +KEYWORDS="amd64 arm x86" BDEPEND=" >=dev-lang/go-1.25.0 diff --git a/sys-apps/moor/moor-2.17.0.ebuild b/sys-apps/moor/moor-2.17.0.ebuild index bab32334725a..82c9851d6381 100644 --- a/sys-apps/moor/moor-2.17.0.ebuild +++ b/sys-apps/moor/moor-2.17.0.ebuild @@ -16,7 +16,7 @@ LICENSE="BSD-2 BSD MIT" # Dependent licenses LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT" SLOT="0" -KEYWORDS="~amd64 ~arm arm64 ~ppc64" +KEYWORDS="amd64 ~arm arm64 ~ppc64" IUSE="test l10n_ru" RESTRICT="!test? ( test )" diff --git a/sys-apps/most/most-5.2.0-r1.ebuild b/sys-apps/most/most-5.2.0-r1.ebuild index 37afde5d2727..f4267da626ad 100644 --- a/sys-apps/most/most-5.2.0-r1.ebuild +++ b/sys-apps/most/most-5.2.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,7 +12,7 @@ SRC_URI=" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm ~arm64 ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos" RDEPEND=">=sys-libs/slang-2.1.3" DEPEND="${RDEPEND}" diff --git a/sys-apps/portage/portage-3.0.82.2.ebuild b/sys-apps/portage/portage-3.0.82.2.ebuild index 36bc4a481031..ac6ba9f834ba 100644 --- a/sys-apps/portage/portage-3.0.82.2.ebuild +++ b/sys-apps/portage/portage-3.0.82.2.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi LICENSE="GPL-2" diff --git a/sys-apps/s6-linux-init/s6-linux-init-1.2.0.1.ebuild b/sys-apps/s6-linux-init/s6-linux-init-1.2.0.1.ebuild index 1a52019289c7..5ee41561fecf 100644 --- a/sys-apps/s6-linux-init/s6-linux-init-1.2.0.1.ebuild +++ b/sys-apps/s6-linux-init/s6-linux-init-1.2.0.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz" LICENSE="ISC" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~mips ~x86" +KEYWORDS="~alpha amd64 arm ~mips ~x86" IUSE="+sysv-utils" RDEPEND=" diff --git a/sys-apps/s6-linux-utils/s6-linux-utils-2.6.4.1.ebuild b/sys-apps/s6-linux-utils/s6-linux-utils-2.6.4.1.ebuild index 0281f5cff15f..59533db02de2 100644 --- a/sys-apps/s6-linux-utils/s6-linux-utils-2.6.4.1.ebuild +++ b/sys-apps/s6-linux-utils/s6-linux-utils-2.6.4.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz" LICENSE="ISC" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" +KEYWORDS="amd64 arm ~arm64 ~x86" RDEPEND=">=dev-libs/skalibs-2.15.0.0:=" DEPEND=" diff --git a/sys-apps/s6-portable-utils/s6-portable-utils-2.3.1.2.ebuild b/sys-apps/s6-portable-utils/s6-portable-utils-2.3.1.2.ebuild index 6c784b3fde88..857a206d4177 100644 --- a/sys-apps/s6-portable-utils/s6-portable-utils-2.3.1.2.ebuild +++ b/sys-apps/s6-portable-utils/s6-portable-utils-2.3.1.2.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz" LICENSE="ISC" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="amd64 arm ~x86" RDEPEND=">=dev-libs/skalibs-2.15.0.0:=" DEPEND="${RDEPEND}" diff --git a/sys-apps/s6-rc/s6-rc-0.6.1.1.ebuild b/sys-apps/s6-rc/s6-rc-0.6.1.1.ebuild index 2ace8036b227..a7592f71cf8e 100644 --- a/sys-apps/s6-rc/s6-rc-0.6.1.1.ebuild +++ b/sys-apps/s6-rc/s6-rc-0.6.1.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz" LICENSE="ISC" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="amd64 arm ~x86" IUSE="system-init" RDEPEND=" diff --git a/sys-apps/s6/s6-2.15.0.0.ebuild b/sys-apps/s6/s6-2.15.0.0.ebuild index f04ab2bd53c1..4f9e6d33a394 100644 --- a/sys-apps/s6/s6-2.15.0.0.ebuild +++ b/sys-apps/s6/s6-2.15.0.0.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz" LICENSE="ISC" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="~alpha amd64 arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86" IUSE="+execline" RDEPEND=" diff --git a/sys-apps/shadow/shadow-4.20.2.ebuild b/sys-apps/shadow/shadow-4.20.2.ebuild index eba759681baf..31664a96159d 100644 --- a/sys-apps/shadow/shadow-4.20.2.ebuild +++ b/sys-apps/shadow/shadow-4.20.2.ebuild @@ -20,7 +20,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="BSD GPL-2" # Subslot is for libsubid's SONAME. SLOT="0/6" -KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="acl audit nls pam selinux skey split-usr su systemd test" RESTRICT="!test? ( test )" diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest index 18fbfa5a74ea..9b8df89c70ff 100644 --- a/sys-apps/systemd-utils/Manifest +++ b/sys-apps/systemd-utils/Manifest @@ -1 +1,3 @@ DIST systemd-260.1.tar.gz 17581096 BLAKE2B 072424e7288f8796be1e6952fadc5452c2ab54633b356796a29872609a03b4cc2edbc0cac0df7542bc969b06d265d2cbf52f9174742c5a570a5a3d7a7664cfa8 SHA512 9f975dce6861853a817a7ceab18a24449a85d1bda6939b3a5173430c02a4d8a9a2b34ebb8cce1c51db9b0ff9078fcc65da7b0f44e3bdcbbe013b9e04bb6f0ff9 +DIST systemd-musl-patches-255.14.tar.gz 31519 BLAKE2B 1ada38b3536370f3f20f94abb122b6dc72e2dac6d34baad49ae0c154810197dab6d225457f81c2b78c58cf7fe14070da9ca1902bec6d8f892d55394af67155b5 SHA512 ff9cb11f687e7895b93b55933c330f69067546d48cc0f23a029990e095245c78e046023636f82d11fec1b03a5349d4d747c9625fd34ef7f9445a54a44b25cccb +DIST systemd-stable-255.18.tar.gz 15258834 BLAKE2B 03b97b0bb6f5cd8f93bf72c40cf52426c07ab5fa74bd19caf771d54e823fa321de633ef3cc6e482210250c1408e092a6dae6710e992ac2a4b3c5e9670d803adc SHA512 4550fa313a45b277dc32df74a13cfd06486ced724f40c1eebc61a9ba76f79b58dd4372da851710cb5d8bb13e98a5cfcb377fe22171ef5bee0209f4bf067c87ad diff --git a/sys-apps/systemd-utils/files/musl-efi-wchar.patch b/sys-apps/systemd-utils/files/musl-efi-wchar.patch new file mode 100644 index 000000000000..a3681552d33f --- /dev/null +++ b/sys-apps/systemd-utils/files/musl-efi-wchar.patch @@ -0,0 +1,29 @@ +From c4050bd401611f6223c00e58ac9c26b9caccd286 Mon Sep 17 00:00:00 2001 +From: Violet Purcell <vimproved@inventati.org> +Date: Sat, 9 Sep 2023 13:10:53 -0400 +Subject: [PATCH] efi: append -D__DEFINED_wchar_t to LDFLAGS + +This forces systemd-boot to use the wchar_t type defined from +__WCHAR_TYPE__ in efi.h, instead of the wchar_t defined in musl's +alltypes.h. Adapted from openembedded's solution. + +Signed-off-by: Violet Purcell <vimproved@inventati.org> +--- + src/boot/efi/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build +index 2773eaf286..3c1e09c729 100644 +--- a/src/boot/efi/meson.build ++++ b/src/boot/efi/meson.build +@@ -130,6 +130,7 @@ efi_includes = [fundamental_include, include_directories('.')] + + efi_c_args = [ + '-DSD_BOOT=1', ++ '-D__DEFINED_wchar_t', + '-ffreestanding', + '-fno-strict-aliasing', + '-fshort-wchar', +-- +2.42.0 + diff --git a/sys-apps/systemd-utils/files/systemd-256-test-echo.patch b/sys-apps/systemd-utils/files/systemd-256-test-echo.patch new file mode 100644 index 000000000000..499e4c394c8b --- /dev/null +++ b/sys-apps/systemd-utils/files/systemd-256-test-echo.patch @@ -0,0 +1,35 @@ +https://github.com/systemd/systemd/pull/40607 + +From 3eba9932b163a5b40ae0485f3629109730b71dd2 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Sun, 8 Feb 2026 19:12:30 -0500 +Subject: [PATCH] meson: use printf instead of echo + +The echo builtin provided by some shells (mksh) will interpret \x2d as +an escape sequence. This causes meson to fail: + +``` +test/fuzz/meson.build:93:52: ERROR: File fuzz-unit-file/dm-back-slash.swap does not exist. +``` + +Bug: https://bugs.gentoo.org/969789 +--- + test/fuzz/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/fuzz/meson.build b/test/fuzz/meson.build +index 54cbb75532..9e0e50f45b 100644 +--- a/test/fuzz/meson.build ++++ b/test/fuzz/meson.build +@@ -74,7 +74,7 @@ if git.found() and fs.is_dir(project_source_root / '.git') + 'ls-files', ':/@0@/*/*'.format(fuzz_testsdir), + check: true) + else +- out = run_command(sh, '-c', 'cd "@0@"; echo @1@/*/*'.format(project_source_root, fuzz_testsdir), check: true) ++ out = run_command(sh, '-c', 'cd "@0@"; printf "%s " @1@/*/*'.format(project_source_root, fuzz_testsdir), check: true) + endif + + # Add crafted fuzz inputs we have in the repo +-- +2.53.0 + diff --git a/sys-apps/systemd-utils/files/systemd-utils-255-musl-fgetxxent.patch b/sys-apps/systemd-utils/files/systemd-utils-255-musl-fgetxxent.patch new file mode 100644 index 000000000000..682c0c7c21af --- /dev/null +++ b/sys-apps/systemd-utils/files/systemd-utils-255-musl-fgetxxent.patch @@ -0,0 +1,61 @@ +https://github.com/systemd/systemd/pull/33252 + +From 85277a97b222ce19cf951d2c99b1693e8c34fc45 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Fri, 7 Jun 2024 12:28:41 -0400 +Subject: [PATCH] user-util: fix fgetxxent_sane on musl + +musl's implementation does not set errno to ENOENT when the end of file +is reached. It returns NULL and leaves errno unchanged. +--- + src/basic/user-util.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/basic/user-util.c b/src/basic/user-util.c +index b3df413be6b06..6bdf5bf1cdc9a 100644 +--- a/src/basic/user-util.c ++++ b/src/basic/user-util.c +@@ -977,8 +977,8 @@ int fgetpwent_sane(FILE *stream, struct passwd **pw) { + + errno = 0; + struct passwd *p = fgetpwent(stream); +- if (!p && errno != ENOENT) +- return errno_or_else(EIO); ++ if (!p && !IN_SET(errno, 0, ENOENT)) ++ return -errno; + + *pw = p; + return !!p; +@@ -990,8 +990,8 @@ int fgetspent_sane(FILE *stream, struct spwd **sp) { + + errno = 0; + struct spwd *s = fgetspent(stream); +- if (!s && errno != ENOENT) +- return errno_or_else(EIO); ++ if (!s && !IN_SET(errno, 0, ENOENT)) ++ return -errno; + + *sp = s; + return !!s; +@@ -1003,8 +1003,8 @@ int fgetgrent_sane(FILE *stream, struct group **gr) { + + errno = 0; + struct group *g = fgetgrent(stream); +- if (!g && errno != ENOENT) +- return errno_or_else(EIO); ++ if (!g && !IN_SET(errno, 0, ENOENT)) ++ return -errno; + + *gr = g; + return !!g; +@@ -1017,8 +1017,8 @@ int fgetsgent_sane(FILE *stream, struct sgrp **sg) { + + errno = 0; + struct sgrp *s = fgetsgent(stream); +- if (!s && errno != ENOENT) +- return errno_or_else(EIO); ++ if (!s && !IN_SET(errno, 0, ENOENT)) ++ return -errno; + + *sg = s; + return !!s; diff --git a/sys-apps/systemd-utils/systemd-utils-255.18.ebuild b/sys-apps/systemd-utils/systemd-utils-255.18.ebuild new file mode 100644 index 000000000000..4deea94130eb --- /dev/null +++ b/sys-apps/systemd-utils/systemd-utils-255.18.ebuild @@ -0,0 +1,623 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{13..14} ) + +QA_PKGCONFIG_VERSION=$(ver_cut 1) + +inherit bash-completion-r1 flag-o-matic linux-info meson-multilib ninja-utils +inherit python-single-r1 secureboot 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-255.14" +SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )" + +LICENSE="GPL-2 LGPL-2.1 MIT public-domain" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test +udev ukify" +REQUIRED_USE=" + || ( kernel-install tmpfiles sysusers udev ) + boot? ( kernel-install ) + ukify? ( boot ) + ${PYTHON_REQUIRED_USE} +" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + elibc_musl? ( >=sys-libs/musl-1.2.3 ) + selinux? ( sys-libs/libselinux:0= ) + tmpfiles? ( + acl? ( sys-apps/acl:0= ) + ) + udev? ( + >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}] + sys-libs/libcap:0=[${MULTILIB_USEDEP}] + virtual/libcrypt:=[${MULTILIB_USEDEP}] + acl? ( sys-apps/acl:0= ) + kmod? ( >=sys-apps/kmod-15:0= ) + ) + !udev? ( + >=sys-apps/util-linux-2.30:0= + sys-libs/libcap:0= + virtual/libcrypt:= + ) +" +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-3.11 +" + +PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]' + +RDEPEND="${COMMON_DEPEND} + boot? ( !<sys-boot/systemd-boot-250 ) + ukify? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep "${PEFILE_DEPEND}") + ) + tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 ) + udev? ( + acct-group/audio + acct-group/cdrom + acct-group/dialout + acct-group/disk + acct-group/floppy + acct-group/input + acct-group/kmem + acct-group/kvm + acct-group/lp + acct-group/render + acct-group/sgx + acct-group/tape + acct-group/tty + acct-group/usb + acct-group/video + !sys-apps/gentoo-systemd-integration + !<sys-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 + dev-util/patchelf + >=sys-apps/coreutils-8.16 + sys-devel/gettext + virtual/pkgconfig + $(python_gen_cond_dep " + dev-python/jinja2[\${PYTHON_USEDEP}] + boot? ( + >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] + 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}/systemd-utils-255-musl-fgetxxent.patch" + "${FILESDIR}/systemd-256-test-echo.patch" + ) + + if use elibc_musl; then + PATCHES+=( + "${WORKDIR}/${MUSL_PATCHSET}" + "${FILESDIR}/musl-efi-wchar.patch" + ) + fi + default +} + +src_configure() { + python_setup + meson-multilib_src_configure +} + +multilib_src_configure() { + local emesonargs=( + # default is developer, bug 918671 + -Dmode=release + -Dsysvinit-path= + $(meson_native_use_feature boot bootloader) + $(meson_native_use_bool kernel-install) + $(meson_native_use_feature selinux) + $(meson_native_use_bool sysusers) + $(meson_use test tests) + $(meson_native_use_bool tmpfiles) + $(meson_use udev hwdb) + $(meson_native_use_feature ukify) + + # Disable all optional features + -Dadm-group=false + -Danalyze=false + -Dapparmor=disabled + -Daudit=disabled + -Dbacklight=false + -Dbinfmt=false + -Dbpf-framework=disabled + -Dbzip2=disabled + -Dcoredump=false + -Ddbus=disabled + -Delfutils=disabled + -Denvironment-d=false + -Dfdisk=disabled + -Dgcrypt=disabled + -Dglib=disabled + -Dgshadow=false + -Dgnutls=disabled + -Dhibernate=false + -Dhostnamed=false + -Didn=false + -Dima=false + -Dinitrd=false + -Dfirstboot=false + -Dldconfig=false + -Dlibcryptsetup=disabled + -Dlibcurl=disabled + -Dlibfido2=disabled + -Dlibidn=disabled + -Dlibidn2=disabled + -Dlibiptc=disabled + -Dlocaled=false + -Dlogind=false + -Dlz4=disabled + -Dmachined=false + -Dmicrohttpd=disabled + -Dnetworkd=false + -Dnscd=false + -Dnss-myhostname=false + -Dnss-resolve=disabled + -Dnss-systemd=false + -Doomd=false + -Dopenssl=disabled + -Dp11kit=disabled + -Dpam=disabled + -Dpcre2=disabled + -Dpolkit=disabled + -Dportabled=false + -Dpstore=false + -Dpwquality=disabled + -Drandomseed=false + -Dresolve=false + -Drfkill=false + -Dseccomp=disabled + -Dsmack=false + -Dsysext=false + -Dtimedated=false + -Dtimesyncd=false + -Dtpm=false + -Dqrencode=disabled + -Dquotacheck=false + -Duserdb=false + -Dutmp=false + -Dvconsole=false + -Dwheel-group=false + -Dxdg-autostart=false + -Dxkbcommon=disabled + -Dxz=disabled + -Dzlib=disabled + -Dzstd=disabled + ) + + if use tmpfiles || use udev; then + emesonargs+=( $(meson_native_use_feature acl) ) + else + emesonargs+=( -Dacl=disabled ) + fi + + if use udev; then + emesonargs+=( $(meson_native_use_feature kmod) ) + else + emesonargs+=( -Dkmod=disabled ) + 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 +} + +have_dmi() { + # see dmi_arches in meson.build + case ${CHOST} in + mips64*) + return 1 ;; + aarch64*|arm*|ia64*|i?86*|loongarch64*|mips*|x86_64*) + return 0 ;; + esac + return 1 +} + +multilib_src_compile() { + local targets=() optional_targets=() + if multilib_is_native_abi; then + if use boot; then + local efi_arch= efi_arch_alt= + case ${CHOST} in + aarch64*) efi_arch=aa64 ;; + arm*) efi_arch=arm ;; + loongarch32*) efi_arch=loongarch32 ;; + loongarch64*) efi_arch=loongarch64 ;; + riscv32*) efi_arch=riscv32 ;; + riscv64*) efi_arch=riscv64 ;; + x86_64*) efi_arch=x64 efi_arch_alt=ia32;; + i?86*) efi_arch=ia32 ;; + esac + targets+=( + bootctl + man/bootctl.1 + src/boot/efi/systemd-boot${efi_arch}.efi + src/boot/efi/linux${efi_arch}.efi.stub + src/boot/efi/addon${efi_arch}.efi.stub + ) + if [[ -n ${efi_arch_alt} ]]; then + # If we have a multilib toolchain, meson.build will build the + # "alt" arch (ia32). There's no easy way to detect this, so try + # to build it and ignore failure. + optional_targets+=( + src/boot/efi/systemd-boot${efi_arch_alt}.efi + src/boot/efi/linux${efi_arch_alt}.efi.stub + src/boot/efi/addon${efi_arch_alt}.efi.stub + ) + fi + + fi + if use kernel-install; then + targets+=( + kernel-install + src/kernel-install/90-loaderentry.install + man/kernel-install.8 + ) + fi + if use sysusers; then + targets+=( + systemd-sysusers + 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 + man/tmpfiles.d.5 + man/systemd-tmpfiles.8 + tmpfiles.d/{etc,static-nodes-permissions,var}.conf + ) + if use test; then + targets+=( + test-offline-passwd + test-tmpfile-util + ) + fi + fi + if use udev; then + targets+=( + udevadm + systemd-hwdb + ata_id + cdrom_id + fido_id + iocost + mtd_probe + scsi_id + v4l_id + src/udev/udev.pc + 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 + # Needed for tests + rules.d/99-systemd.rules + ) + if have_dmi; then + targets+=( dmi_memory_id ) + fi + if use test; then + targets+=( + test-fido-id-desc + test-link-config-tables + test-udev-builtin + test-udev-device-thread + test-udev-format + test-udev-manager + test-udev-node + test-udev-rule-runner + test-udev-rules + test-udev-spawn + test-udev-util + ) + fi + fi + if use ukify; then + targets+=( + ukify + src/kernel-install/60-ukify.install + man/ukify.1 + ) + fi + fi + if use udev; then + targets+=( + libudev + src/libudev/libudev.pc + ) + if use test; then + targets+=( + test-libudev + test-libudev-sym + test-udev-device-thread + ) + fi + fi + if [[ ${#targets[@]} -ne 0 ]]; then + meson_src_compile "${targets[@]}" + fi + if [[ ${#optional_targets[@]} -ne 0 ]]; then + ninja ${NINJAOPTS} "${optional_targets[@]}" + fi +} + +multilib_src_test() { + local tests=() + if multilib_is_native_abi; then + if use boot; then + tests+=( --suite boot ) + fi + if use kernel-install; then + tests+=( --suite kernel-install ) + fi + if use sysusers; then + tests+=( --suite sysusers ) + fi + if use tmpfiles; then + tests+=( --suite tmpfiles ) + fi + if use udev; then + tests+=( --suite udev ) + fi + fi + if use udev; then + tests+=( --suite libudev ) + fi + if [[ ${#tests[@]} -ne 0 ]]; then + meson_src_test --no-rebuild "${tests[@]}" + fi +} + +src_install() { + meson-multilib_src_install +} + +set_rpath() { + patchelf --set-rpath "${EPREFIX}/usr/$(get_libdir)/systemd" "$@" || die "patchelf failed" +} + +multilib_src_install() { + if multilib_is_native_abi; then + exeinto "/usr/$(get_libdir)/systemd" + doexe src/shared/libsystemd-shared-${PV%%.*}.so + if use boot; then + set_rpath bootctl + dobin bootctl + doman man/bootctl.1 + meson_install --no-rebuild --tags systemd-boot + fi + if use kernel-install; then + set_rpath kernel-install + dobin kernel-install + doman man/kernel-install.8 + exeinto /usr/lib/kernel/install.d + doexe src/kernel-install/*.install + fi + if use sysusers; then + set_rpath systemd-sysusers + dobin systemd-sysusers + doman man/{systemd-sysusers.8,sysusers.d.5} + fi + if use tmpfiles; then + set_rpath systemd-tmpfiles + dobin systemd-tmpfiles + 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 + set_rpath udevadm systemd-hwdb + dobin udevadm systemd-hwdb + dosym ../../bin/udevadm /usr/lib/systemd/systemd-udevd + if use split-usr; then + # elogind installs udev rules that hard-code /bin/udevadm + dosym ../usr/bin/udevadm /bin/udevadm + fi + + exeinto /usr/lib/udev + set_rpath {ata_id,cdrom_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id} + doexe {ata_id,cdrom_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id} + + if have_dmi; then + set_rpath dmi_memory_id + doexe dmi_memory_id + fi + + rm -f rules.d/99-systemd.rules + insinto /usr/lib/udev/rules.d + doins rules.d/*.rules + + insinto /usr/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 + dobin ukify + dosym ../../bin/ukify /usr/lib/systemd/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 + 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 /usr/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 /usr/lib/udev/rules.d + doins rules.d/*.rules + doins "${FILESDIR}"/40-gentoo.rules + + insinto /usr/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_preinst() { + # Migrate /lib/{systemd,udev} to /usr/lib + if use split-usr; then + local d + for d in systemd udev; do + dosym ../usr/lib/${d} /lib/${d} + if [[ -e ${EROOT}/lib/${d} && ! -L ${EROOT}/lib/${d} ]]; then + einfo "Copying files from '${EROOT}/lib/${d}' to '${EROOT}/usr/lib/${d}'" + cp -rpPT "${EROOT}/lib/${d}" "${EROOT}/usr/lib/${d}" || die + einfo "Removing '${EROOT}/lib/${d}'" + rm -r "${EROOT}/lib/${d}" || die + fi + done + fi +} + +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 +} diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest index e5e7b2f3cc8f..ffaa674943c5 100644 --- a/sys-apps/systemd/Manifest +++ b/sys-apps/systemd/Manifest @@ -8,3 +8,4 @@ DIST systemd-261.3.tar.gz 18560547 BLAKE2B d0809439fea1f8c8b00a597ea5a09ff045500 DIST systemd-261.tar.gz 18390754 BLAKE2B 3e307fa237911ee18e9dca2e3e26eac4859fe19bd856c970d9c557ed2a3420944a20affad60bf10dc4cada657778bac38a1a529fc0081ba255550bfd4c1a1f06 SHA512 6a21c2a9bd83d962db4e6c095078ec79259d8109583b59094d17e76c0826e96a6183778f46b64352b0fe62cb8890736e9331f35e9a4c8b65f9b574fa915f9fd8 DIST systemd-262-rc1.tar.gz 18982539 BLAKE2B b2164077a03d0a473fc2182b8f8926d4429b2ec49c48754db47a1c9fcdd4fcdbd13097c92747c611a09975edf5866d8a6a5b9537febf4d956285db4c1d145779 SHA512 5bd4ed38246de1ea17b46fcc6f921f94a53047cec4dc53b005afd4ca75cd50d631b92c6662204871ad2c0808694244ec15d90732b1251d15bf5f9d74b6a2a7f0 DIST systemd-262-rc2.tar.gz 19014998 BLAKE2B 8121400c571d74afde0d4d6e89358704c77dbab46fe7338871d268f39134e1f3b5d5b42a7a5a97ce4a721d2a38930d5d47c84ee04ef6787090deba31d676cee4 SHA512 8d4f8d41e0af6b058d922490896bdbc8487927b2b1db488a9c24614bac4fc3a14bafcd50901251d4ad4095cc2f56782f900fb32e0a70aab56f6a69fdfd257442 +DIST systemd-262.tar.gz 19038647 BLAKE2B 5dbc27b589a4d7e320eed48a8f0f1a55212137fdd29e5be5303008a70e0265b0cdf66c245b8f82f92dfec323665ecac87a530f6fbe12802c925af395a3c28266 SHA512 4765e29d37c716dbe629d88bf1ed07b857d373333e64966832039c0031aa46ed7e76efd7b112eb199508adffc8afbf185b3360c9a66d100da052c407bd3f02d5 diff --git a/sys-apps/systemd/systemd-262.ebuild b/sys-apps/systemd/systemd-262.ebuild new file mode 100644 index 000000000000..1eec59af0d54 --- /dev/null +++ b/sys-apps/systemd/systemd-262.ebuild @@ -0,0 +1,620 @@ +# Copyright 2011-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +# 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 + MY_PV=${PV/_/-} + MY_P=${PN}-${MY_PV} + S=${WORKDIR}/${MY_P} + SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz" + + if [[ ${PV} != *rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi +fi + +inherit branding flag-o-matic linux-info meson-multilib optfeature pam python-single-r1 +inherit secureboot shell-completion systemd toolchain-funcs udev xdg-utils + +DESCRIPTION="System and service manager for Linux" +HOMEPAGE="https://systemd.io/" + +LICENSE="GPL-2 LGPL-2.1 MIT public-domain" +SLOT="0/2" +IUSE=" + acl apparmor audit boot bpf cryptsetup curl +dns-over-tls elfutils fido2 + +gcrypt gnutls homed idn imds importd +kernel-install +kmod +libarchive + +lz4 lzma +openssl pam passwdqc pcre pkcs11 policykit pwquality qrcode + remote +resolvconf +seccomp selinux sysv-utils test tpm ukify vanilla xkb + +zstd +" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + boot? ( kernel-install ) + dns-over-tls? ( openssl ) + fido2? ( cryptsetup openssl ) + homed? ( cryptsetup pam openssl ) + imds? ( curl ) + importd? ( curl libarchive lzma openssl ) + ?? ( passwdqc pwquality ) + passwdqc? ( homed ) + pwquality? ( homed ) + remote? ( curl ) + ukify? ( boot ) +" +RESTRICT="!test? ( test )" + +MINKV="5.10" + +COMMON_DEPEND=" + >=sys-apps/util-linux-2.37 + acl? ( sys-apps/acl ) + apparmor? ( >=sys-libs/libapparmor-2.13 ) + audit? ( >=sys-process/audit-2 ) + bpf? ( >=dev-libs/libbpf-1.4.0 ) + cryptsetup? ( >=sys-fs/cryptsetup-2.4.0:= ) + curl? ( >=net-misc/curl-7.32.0:0= ) + elfutils? ( >=dev-libs/elfutils-0.177 ) + elibc_glibc? ( + >=sys-libs/glibc-2.34 + >=sys-libs/libxcrypt-4.4.0 + ) + elibc_musl? ( + >=sys-libs/musl-1.2.6 + sys-libs/libucontext + virtual/libcrypt + ) + fido2? ( + dev-libs/libfido2 + ) + gcrypt? ( >=dev-libs/libgcrypt-1.4.5 ) + gnutls? ( >=net-libs/gnutls-3.6.0:0= ) + remote? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) + idn? ( net-dns/libidn2 ) + importd? ( + app-arch/bzip2:0= + virtual/zlib:= + ) + kmod? ( >=sys-apps/kmod-15:0= ) + libarchive? ( >=app-arch/libarchive-3.0:0= ) + lz4? ( >=app-arch/lz4-0_p131:0= ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:0= ) + openssl? ( >=dev-libs/openssl-3.0.0:0= ) + pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] ) + passwdqc? ( sys-auth/passwdqc ) + pkcs11? ( >=app-crypt/p11-kit-0.23.3 ) + pcre? ( dev-libs/libpcre2 ) + pwquality? ( >=dev-libs/libpwquality-1.4.1 ) + qrcode? ( >=media-gfx/qrencode-3:0= ) + seccomp? ( >=sys-libs/libseccomp-2.4.0 ) + selinux? ( >=sys-libs/libselinux-2.1.9 ) + tpm? ( app-crypt/tpm2-tss ) + xkb? ( >=x11-libs/libxkbcommon-0.4.1 ) + zstd? ( >=app-arch/zstd-1.4.0:0= ) +" + +# 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/clock + >=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 + imds? ( acct-user/systemd-imds ) + 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-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 ) + !sysv-utils? ( sys-apps/systemd-initctl ) + !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 + bpf? ( + >=dev-util/bpftool-7.0.0 + sys-devel/bpf-toolchain + ) + test? ( + app-text/tree + dev-lang/perl + >=dev-libs/glib-2.22.0:2 + 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/jinja2[\${PYTHON_USEDEP}] + dev-python/lxml[\${PYTHON_USEDEP}] + boot? ( + >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] + 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 + ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED + ~!SYSFS_DEPRECATED_V2" + + use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" + use bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF" + 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=( + ) + + if ! use vanilla; then + PATCHES+=( + "${FILESDIR}/gentoo-journald-audit-r4.patch" + ) + fi + + default +} + +src_configure() { + # Prevent conflicts with i686 cross toolchain, bug 559726 + tc-export AR CC NM OBJCOPY RANLIB + + # Our toolchain sets F_S=2 by default w/ >= -O2, so we need + # to unset F_S first, then explicitly set 2, to negate any default + # and anything set by the user if they're choosing 3 (or if they've + # modified GCC to set 3). + # + # malloc_usable_size doesn't play well with _F_S=3: + # https://github.com/systemd/systemd/issues/41459 (bug #971773) + if tc-is-clang && tc-enables-fortify-source ; then + # We can't unconditionally do this b/c we fortify needs + # some level of optimisation. + filter-flags -D_FORTIFY_SOURCE=3 + append-cppflags -U_FORTIFY_SOURCE -D_GENTOO_NO_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 + fi + + python_setup + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --localstatedir="${EPREFIX}/var" + -Ddocdir="share/doc/${PF}" + -Dmode=release # default is developer, bug 918671 + -Dlibc=$(usex elibc_musl musl glibc) + -Dsupport-url="${BRANDING_OS_SUPPORT_URL}" + -Dpamlibdir="$(getpam_mod_dir)" + -Dbashcompletiondir="$(get_bashcompdir)" + -Dzshcompletiondir="$(get_zshcompdir)" + -Dsplit-bin=false + -Dima=true # no deps + -Ddebug-shell="${EPREFIX}/bin/sh" # Match /etc/shells, bug 919749 + -Ddefault-user-shell="${EPREFIX}/bin/bash" + -Dbpf-compiler=gcc + -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 + -Dlibcrypt=enabled + -Dcompat-mutable-uid-boundaries=true + + # options affecting multilib + $(meson_use !elibc_musl nss-myhostname) + $(meson_feature !elibc_musl nss-mymachines) + $(meson_feature !elibc_musl nss-resolve) + $(meson_use !elibc_musl nss-systemd) + $(meson_feature pam) + ) + + # workaround for bug 969103 + if [[ ${CHOST} == riscv32* ]] ; then + myconf+=( -Dtests=true ) + else + myconf+=( $(meson_use test tests) ) + fi + + if multilib_is_native_abi; then + myconf+=( + --auto-features=enabled + -Dman=enabled + -Dxenctrl=disabled + + # Optional components/dependencies + $(meson_feature acl) + $(meson_feature apparmor) + $(meson_feature audit) + $(meson_feature boot bootloader) + $(meson_feature bpf bpf-framework) + $(meson_feature cryptsetup libcryptsetup) + $(meson_feature cryptsetup libcryptsetup-plugins) + $(meson_feature curl libcurl) + $(meson_use dns-over-tls dns-over-tls) + $(meson_feature elfutils) + $(meson_feature fido2 libfido2) + $(meson_feature gcrypt) + $(meson_feature gnutls) + $(meson_feature homed) + $(meson_use idn) + $(meson_feature imds) + $(meson_feature importd) + $(meson_feature importd bzip2) + $(meson_feature importd sysupdate) + $(meson_feature importd zlib) + $(meson_use kernel-install) + $(meson_feature kmod) + $(meson_feature libarchive) + $(meson_feature lz4) + $(meson_feature lzma xz) + $(meson_feature zstd) + $(meson_feature openssl) + $(meson_feature passwdqc) + $(meson_feature pkcs11 p11kit) + $(meson_feature pcre pcre2) + $(meson_feature policykit polkit) + $(meson_feature pwquality) + $(meson_feature qrcode qrencode) + $(meson_feature remote) + $(meson_feature remote microhttpd) + $(meson_feature seccomp) + $(meson_feature selinux) + $(meson_feature tpm tpm2) + $(meson_feature test dbus) + $(meson_feature test glib) + $(meson_feature ukify) + $(meson_feature xkb xkbcommon) + ) + + case $(tc-arch) in + amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86) + # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE + myconf+=( -Dvmspawn=enabled ) ;; + *) + myconf+=( -Dvmspawn=disabled ) ;; + esac + else + myconf+=( + --auto-features=disabled + ) + fi + + meson_src_configure "${myconf[@]}" +} + +multilib_src_compile() { + local args=() + if ! multilib_is_native_abi; then + args+=( + devel libsystemd libudev + $(usex elibc_musl '' nss) + $(usev pam) + ) + fi + meson_src_compile "${args[@]}" +} + +multilib_src_test() { + local args=( --timeout-multiplier=10 ) + if ! multilib_is_native_abi; then + args+=( + --suite libsystemd --suite libudev + $(usex elibc_musl '' '--suite nss') + $(usex pam '--suite pam' '') + ) + fi + ( + unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR + export COLUMNS=80 + addpredict /dev + addpredict /proc + addpredict /run + addpredict /sys/fs/cgroup + meson_src_test "${args[@]}" + ) || die +} + +multilib_src_install() { + local args=() + if ! multilib_is_native_abi; then + local tags=devel,libsystemd,libudev + use !elibc_musl && tags+=,nss + use pam && tags+=,pam + args+=( --tags "${tags}" ) + fi + meson_src_install "${args[@]}" +} + +multilib_src_install_all() { + 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 + if use selinux; then + newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user + else + newpamd "${FILESDIR}"/systemd-user.pam systemd-user + fi + 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() { + xdg_mimeinfo_database_update + systemd_update_catalog + + # Keep this here in case the database format changes so it gets updated + # when required. + udev_hwdb_update || FAIL=1 + udev_reload || FAIL=1 + + # Bug 465468, make sure locales are respected, and ensure consistency + # between OpenRC & systemd + migrate_locale + + # Bug 971385, 974688 + local autovt=${EROOT}/etc/systemd/system/autovt@.service + if [[ ! -e ${autovt} && ! -L ${autovt} ]]; then + ln -s "${EPREFIX}/usr/lib/systemd/system/getty@.service" "${autovt}" || FAIL=1 + fi + + 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 + + # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html + ebegin "Signaling user managers to reexec" + systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service' + eend $? + 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 +} + +pkg_postrm() { + xdg_mimeinfo_database_update +} diff --git a/sys-apps/uutils-coreutils/Manifest b/sys-apps/uutils-coreutils/Manifest index 7c2f0b106c6b..8eb01a33729a 100644 --- a/sys-apps/uutils-coreutils/Manifest +++ b/sys-apps/uutils-coreutils/Manifest @@ -1,8 +1,10 @@ DIST coreutils-0.10.0-crates.tar.xz 28595532 BLAKE2B 1f25501e19dc7b033b56c47aeb83c1c808024a4ce07fe55d5b7a83999b04894791f433f4d63aa5f45a53cb760c3d54b565ef1be9e9712f919692813519809cda SHA512 2a85e2fbe0d5f5c5f5e66ff83776197a0a512c4bb46504c960325461a2270749f532c780f14c31ea5f62c6e2b0a8a0ddb3ca55a4f08b75de36107703da184680 +DIST coreutils-0.12.0-crates.tar.xz 38598220 BLAKE2B 4d273bf2f28ad9ed68fe073c16e7934d521b502a5b1f6f4ccccc75f967327ef35d93b093798aa8203f3d2bfbb3aec83ea907ad3ce98df1bdd179e73a872bdee5 SHA512 ab6c0ec2cab46f54fd29b98ec6e5b60eb15e27dded698bcbe279c75c1da6c1e9e2b5821396dcb0610ad6a71e1d6b039322ae86fb1eb3061e6d9e99a24e950e59 DIST coreutils-0.7.0-crates.tar.xz 22825916 BLAKE2B 810e8f398488ea8182da6a8edb7192d232ad04213326f6340f214f3eed514bba13112e32a9c0b91f869770c0cc808227661a53d288df7975caa2df75f24c1092 SHA512 940f6351d85e626ca4030555af38dec1ad2fcb9897bcf4f33958eb0576816d8e29ce9ab8d5144e819877b02cf14433f6d122ea6f5dc77a169fc40563534601cc DIST coreutils-0.8.0-crates.tar.xz 23791272 BLAKE2B b5f413dbe58cc4bc4ed5370857873a2a33bdcd1deb88a4b366b8d281dc54c4f41587640b3ec41702fbdeb5babe6c1720816661621d1ee54f0259d9cbbd2ea6c0 SHA512 d92cfb7301c07a5566146dcde60356de6daa879c5545b183ef9f5d0546ac38d191b99f32b046d3f11001e222cee1fc454c588828c8366f9af0b90f167c7ea683 DIST coreutils-0.9.0-crates.tar.xz 24001836 BLAKE2B eafd12ab64d7f174db1e9984ef992c59b4636dbae683bb6efd67d6fed00382abf19ec1254f98586c2078952ab87d2bda0e4d4cfd5008fdb97fbfdcc3a4dba464 SHA512 e9a3a15f8af8f0bd8fa8889dd685b6c671a7924e72324fda2ccb6630b3e677e5839c9f35e21f22187f24d6e751d011809438701ce5dc403ed1b1cdd2cc552b9b DIST uutils-coreutils-0.10.0.tar.gz 2671039 BLAKE2B 529ca972be2fcaf72a99560dfdf973f3d197fdff3a735c7a8cc5e9b19c2a02f98fffbd66304e4d355c8f8bd9a3f746ac7a4530750eca43e56ecea6dcb7eaeae2 SHA512 cd5bc2b491ad36e559678aa45578c1646d48f4421abb1944195282acea4e5c6c1f9556c3fd2758cc7e37a1995fd5e2e1b94dfb91b6826f4e4c9bf8ddb7e50fd8 +DIST uutils-coreutils-0.12.0.tar.gz 2911221 BLAKE2B bdb49cfe10b216522b8cb6b5ef7b85427d2b24cb923a7dcd137f024eda062a073796e62e03df0353c45398c856b46737cba77a82ab5784678ed86da0a4faa8d7 SHA512 535bbc0c25c057908e2738aca9ad7869f8795a166bcc9de0980b9ded09c64de580f0b079b4ee20ad930ba6bac8abeb9db1af10635161dbba54e5409361c70e4d DIST uutils-coreutils-0.7.0.tar.gz 3137923 BLAKE2B ef7539429324b64adb710dcb93981f9e5bbd8e7b54af462dfb419d2877270c1cb88c67b170ee5098e7490766cfe0ea4a9807e06103ea5d6100006f84226eb4b7 SHA512 e6d01d9320050efaa64ac261d86fddbb79895a0768c388248b412be571989ec4fc78c094e9606d56154abab06b3f66bd4784c55dbf8129db183e78df4bd7c43c DIST uutils-coreutils-0.8.0.tar.gz 3189526 BLAKE2B 834d816187989e2651a710f2cb6eae3a475615bd9793a5abde6bab5a78647640fcb9d9088fca7fea31d90bffedf6dcb49b407ee736991c24829fcf13c9702b44 SHA512 fb586a10c31d041a04ad5a61219569263a3b2a85314d1f5a032e5a599488a47c03289d5783ed41ad26b024b3c01c31cc787fa7a7c4a262521dc08c4694f3cfa6 DIST uutils-coreutils-0.9.0.tar.gz 3242091 BLAKE2B 6e3f174250dbca54ce9328d01baec4c73d5192150862f079607f969a118d1cad96da63b7250ec4fb2687d0a20684c08e3369547c4fff9be153a0bca563a7675e SHA512 66aa65d208b4488c308702fec2a4fecc79afbba9d6725a0077969022aca4f26f71e46022eee31800b907fe75d3914f81a35f9d660bdbc74e166ea03acded839b diff --git a/sys-apps/uutils-coreutils/uutils-coreutils-0.12.0.ebuild b/sys-apps/uutils-coreutils/uutils-coreutils-0.12.0.ebuild new file mode 100644 index 000000000000..a20abe2d9cb9 --- /dev/null +++ b/sys-apps/uutils-coreutils/uutils-coreutils-0.12.0.ebuild @@ -0,0 +1,132 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.6.2 + +EAPI=8 + +CRATES=" +" + +RUST_MIN_VER="1.88.0" +LLVM_COMPAT=( {17..22} ) +inherit cargo flag-o-matic llvm-r2 multiprocessing + +DESCRIPTION="GNU coreutils rewritten in Rust" +HOMEPAGE="https://uutils.github.io/coreutils/ https://github.com/uutils/coreutils" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/uutils/coreutils" + inherit git-r3 +elif [[ ${PV} == *_p* ]] ; then + COREUTILS_COMMIT="" + SRC_URI="https://github.com/uutils/coreutils/archive/${COREUTILS_COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}"/coreutils-${COREUTILS_COMMIT} +else + SRC_URI="https://github.com/uutils/coreutils/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}"/coreutils-${PV} + + KEYWORDS="~amd64 ~arm64 ~ppc64" +fi + +if [[ ${PV} != 9999 ]] ; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/coreutils/releases/download/${PV}/coreutils-${PV}-crates.tar.xz + " +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC MIT Unicode-3.0 ZLIB +" +SLOT="0" +IUSE="debug selinux test" +RESTRICT="!test? ( test )" + +DEPEND=" + dev-libs/oniguruma:= + selinux? ( sys-libs/libselinux ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + test? ( dev-util/cargo-nextest ) + selinux? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + ) +" +QA_FLAGS_IGNORED=".*" + +pkg_setup() { + llvm-r2_pkg_setup + rust_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + # This is should be a set of env vars in upstream CI + rm -f "${S}/.cargo/config.toml" + + # Upstream convention for bash-completions clashes with our own + sed -i -e 's:\.bash::' "${S}/GNUmakefile" || die +} + +src_compile() { + # normally cargo_src_compile sets this for us, but we don't use it + filter-lto + + # By default, the crate uses a system version if it can. This just guarantees + # that it will error out instead of building a vendored copy. + export RUSTONIG_SYSTEM_LIBONIG=1 + + makeargs=( + # Disable output synchronisation as make calls cargo + -Onone + + V=1 + + PROFILE=$(usex debug debug release) + + PREFIX="${EPREFIX}/usr" + PROG_PREFIX="uu-" + MULTICALL=y + MANDIR="/share/man/man1" + + SELINUX_ENABLED=$(usex selinux 1 0) + + # pinky, uptime, users, and who require utmpx (not available on musl) + # bug #832868 + SKIP_UTILS="$(usev elibc_musl "pinky uptime users who")" + + # bug #963516 + LIBSTDBUF_DIR="${EPREFIX}/usr/libexec/${PN}" + ) + + emake "${makeargs[@]}" +} + +src_test() { + local -x RUST_BACKTRACE=full + local -x NEXTEST_TEST_THREADS="$(makeopts_jobs)" + + # Nicer output for nextest vs test + emake "${makeargs[@]}" \ + CARGOFLAGS="${CARGOFLAGS} $(usev !debug --release)" \ + TEST_NO_FAIL_FAST="--no-fail-fast" \ + nextest +} + +src_install() { + emake "${makeargs[@]}" DESTDIR="${D}" install +} diff --git a/sys-apps/xdg-desktop-portal-umbriel/xdg-desktop-portal-umbriel-0.0.0_pre20260912.ebuild b/sys-apps/xdg-desktop-portal-umbriel/xdg-desktop-portal-umbriel-0.0.0_pre20260912.ebuild index 39d4aa28de42..7cbb0141c2f5 100644 --- a/sys-apps/xdg-desktop-portal-umbriel/xdg-desktop-portal-umbriel-0.0.0_pre20260912.ebuild +++ b/sys-apps/xdg-desktop-portal-umbriel/xdg-desktop-portal-umbriel-0.0.0_pre20260912.ebuild @@ -24,12 +24,12 @@ DEPEND=" >=x11-libs/libdrm-2.4.122 gui-libs/gtk:4 dev-cpp/sdbus-c++ - media-video/pipewire + dev-cpp/nlohmann_json + media-video/pipewire:= " RDEPEND=" ${DEPEND} " BDEPEND=" >=dev-libs/wayland-protocols-1.24 - >=dev-build/meson-1.3 " |
