Revert "util-linux: upgraded package to upstream"
This reverts commit 1a92a040ae34b69f19f4d25d0f54815f103113ac.
Reason for revert: new fstrim breaks `build_image`
Original change's description:
> util-linux: upgraded package to upstream
>
> Upgraded sys-apps/util-linux to version 2.37.2
>
> BUG=None
> TEST=emerge-trogdor util-linux; cros deploy $DUT util-linux; lscpu,
> dmesg works
>
> Cq-Depend: chromium:3092576
> Change-Id: I983fde9450262fb42f6fab41943b161371aae924
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/3092608
> Commit-Queue: Stephen Boyd <swboyd@chromium.org>
> Tested-by: Stephen Boyd <swboyd@chromium.org>
> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Bug: None
Cq-Depend: chromium:3119905
Change-Id: I71c89eea9f4946182164aba3cc0970cc05ef473f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/3119925
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Commit-Queue: Kalvin Lee <kdlee@chromium.org>
Tested-by: Kalvin Lee <kdlee@chromium.org>
diff --git a/metadata/md5-cache/sys-apps/util-linux-2.37.2 b/metadata/md5-cache/sys-apps/util-linux-2.37.2
deleted file mode 100644
index 069c772..0000000
--- a/metadata/md5-cache/sys-apps/util-linux-2.37.2
+++ /dev/null
@@ -1,16 +0,0 @@
-BDEPEND=virtual/pkgconfig nls? ( sys-devel/gettext ) test? ( sys-devel/bc ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
-DEFINED_PHASES=compile configure install postinst prepare test
-DEPEND=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[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pam? ( sys-libs/pam ) ppc? ( sys-libs/librtas ) ppc64? ( sys-libs/librtas ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) readline? ( sys-libs/readline:0= ) selinux? ( >=sys-libs/libselinux-2.2.2-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) slang? ( sys-libs/slang ) !build? ( systemd? ( sys-apps/systemd ) ) udev? ( virtual/libudev:= ) virtual/os-headers
-DESCRIPTION=Various useful Linux utilities
-EAPI=7
-HOMEPAGE=https://www.kernel.org/pub/linux/utils/util-linux/ https://github.com/karelzak/util-linux
-IUSE=audit build caps +cramfs cryptsetup fdformat hardlink kill +logger magic ncurses nls pam python +readline selinux slang static-libs su +suid systemd test tty-helpers udev unicode userland_GNU split-usr python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
-KEYWORDS=*
-LICENSE=GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain
-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[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) pam? ( sys-libs/pam ) ppc? ( sys-libs/librtas ) ppc64? ( sys-libs/librtas ) python? ( python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) python_targets_python3_9? ( dev-lang/python:3.9 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)] ) readline? ( sys-libs/readline:0= ) selinux? ( >=sys-libs/libselinux-2.2.2-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] ) slang? ( sys-libs/slang ) !build? ( systemd? ( sys-apps/systemd ) ) udev? ( virtual/libudev:= ) 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 !<app-shells/bash-completion-2.7-r1
-REQUIRED_USE=python? ( || ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 python_targets_python3_9 ) )
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://www.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.2.tar.xz
-_eclasses_=bash-completion-r1 47a7402d95930413ce25ba8d857339bb eutils fcb2aa98e1948b835b5ae66ca52868c5 flag-o-matic 5d5921a298e95441da2f85be419894c0 libtool f143db5a74ccd9ca28c1234deffede96 multibuild 40fe59465edacd730c644ec2bc197809 multilib 2477ebe553d3e4d2c606191fe6c33602 multilib-build 1979aa0ff4d356d32507ca4650d9f37d multilib-minimal 8bddda43703ba94d8341f4e247f97566 multiprocessing c3cf317581e5bd068a4b851f03dd8cba pam 3f746974e1cc47cabe3bd488c08cdc8e python-r1 79e26ce8f853c9daebe9a4956e37cc1b python-utils-r1 157a6a7a3e99c7dbdf81acc9dd4f57cd systemd 71fd8d2065d102753fb9e4d20eaf3e9f toolchain-funcs 605c126bed8d87e4378d5ff1645330cb usr-ldscript 766f0a506b45f02361ad1b8ca205b7e1
-_md5_=21fc248cc52cbcce486897e7c7319756
diff --git a/sys-apps/util-linux/Manifest b/sys-apps/util-linux/Manifest
deleted file mode 100644
index c330ae5..0000000
--- a/sys-apps/util-linux/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST util-linux-2.36.2.tar.xz 5348032 BLAKE2B 17e49515f8d0430f3ed26b80bf1d6e811d847141020d0dae1340dc92887549b7b711f3db6e3913120871fc912435def73586a7aef09d8d9cc6ff7ca331b2770f SHA512 6ab141f44ca4cb6b600081f10eae17e15d23abd122a37eb3ac6c845513a6a4396dc9dcff30b3032de80116ddde50e27dfbc86f92708c1051f84f0c919194664b
-DIST util-linux-2.37.1.tar.xz 5628360 BLAKE2B 309ea7202f32c0ec750cb01486cf32c3e9dd457d83e5beab8d6b97a5e7f312332ecfcd1ddbb88ae5ec9ee483bb15452b8d58bce1f931f9dfa35be3ce042da3da SHA512 ec300c830869e10a0d7f8c0b99e9bb46e0b88fc51f3c6c6a4d9752a89f035e8d69d81f25fd103ef8d7d253e81440695ef3f5d72dccc94815ec8d5f6f949f7555
-DIST util-linux-2.37.2.tar.xz 5621624 BLAKE2B 40ab80485781dfc58e6d0e98dae115b96f11ee0cc370524e1e13d3c4a4dfed3a5a4a248311f8ca645f6f84bbaf4785412ca8282b840af4e37a01312764885abe SHA512 38f0fe820445e3bfa79550e6581c230f98c7661566ccc4daa51c7208a5f972c61b4e57dfc86bed074fdbc7c40bc79f856be8f6a05a8860c1c0cecc4208e8b81d
diff --git a/sys-apps/util-linux/files/runuser-l.pamd b/sys-apps/util-linux/files/runuser-l.pamd
deleted file mode 100644
index 7641435..0000000
--- a/sys-apps/util-linux/files/runuser-l.pamd
+++ /dev/null
@@ -1,5 +0,0 @@
-auth include system-local-login
-account include system-local-login
-password include system-local-login
-session optional pam_lastlog.so
-session include system-local-login
diff --git a/sys-apps/util-linux/files/runuser.pamd b/sys-apps/util-linux/files/runuser.pamd
deleted file mode 100644
index 30c2834..0000000
--- a/sys-apps/util-linux/files/runuser.pamd
+++ /dev/null
@@ -1,8 +0,0 @@
-auth sufficient pam_rootok.so
-auth required pam_wheel.so use_uid
-auth include system-auth
-account include system-auth
-password include system-auth
-session include system-auth
-session required pam_env.so
-session optional pam_xauth.so
diff --git a/sys-apps/util-linux/files/util-linux-2.37.1-agetty_ctrl-c_erase.patch b/sys-apps/util-linux/files/util-linux-2.37.1-agetty_ctrl-c_erase.patch
deleted file mode 100644
index 4828fd4..0000000
--- a/sys-apps/util-linux/files/util-linux-2.37.1-agetty_ctrl-c_erase.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 6eb1c01e9dd25a73100f06db37190c63fd57d4d9 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Fri, 30 Jul 2021 11:50:46 +0200
-Subject: [PATCH] agetty: use CTRL+C to erase username
-
-aggety(8) from the beginning ignores ^C (the small exception was
-between 2.32 and 2.34 when this char has been misinterpreted).
-
-This patch forces agetty to interpret ^C like ^U, it means to
-erase the user's input and wait for a completely new username.
-The small difference is that for ^C it does not set 'kill character'.
-
-This change does not affect serial lines where ^C is still ignored like
-in previous decades. I'd like to avoid any regression as I have
-no clue if any serial lines do not send this control char in some
-context ...
-
-Fixes: https://github.com/karelzak/util-linux/issues/1399
-References: https://github.com/karelzak/util-linux/issues/1046
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
- term-utils/agetty.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/term-utils/agetty.c b/term-utils/agetty.c
-index 3b3d5101a..d072d64d3 100644
---- a/term-utils/agetty.c
-+++ b/term-utils/agetty.c
-@@ -2267,6 +2267,11 @@ static char *get_logname(struct issue *ie, struct options *op, struct termios *t
- break;
- case CTL('U'):
- cp->kill = ascval; /* set kill character */
-+ /* fallthrough */
-+ case CTL('C'):
-+ if (key == CTL('C') && !(op->flags & F_VCONSOLE))
-+ /* Ignore CTRL+C on serial line */
-+ break;
- while (bp > logname) {
- if ((tp->c_lflag & ECHO) == 0)
- write_all(1, erase[cp->parity], 3);
-@@ -2275,9 +2280,6 @@ static char *get_logname(struct issue *ie, struct options *op, struct termios *t
- break;
- case CTL('D'):
- exit(EXIT_SUCCESS);
-- case CTL('C'):
-- /* Ignore */
-- break;
- default:
- if ((size_t)(bp - logname) >= sizeof(logname) - 1)
- log_err(_("%s: input overrun"), op->tty);
diff --git a/sys-apps/util-linux/files/util-linux-2.37.1-ipcutils_calloc_check.patch b/sys-apps/util-linux/files/util-linux-2.37.1-ipcutils_calloc_check.patch
deleted file mode 100644
index 44490ce..0000000
--- a/sys-apps/util-linux/files/util-linux-2.37.1-ipcutils_calloc_check.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 86d5de52d43501711586054e7b601fbc57403085 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Tue, 27 Jul 2021 11:58:31 +0200
-Subject: [PATCH] sys-utils/ipcutils: be careful when call calloc() for uint64
- nmembs
-
-Fix: https://github.com/karelzak/util-linux/issues/1395
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
- sys-utils/ipcutils.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sys-utils/ipcutils.c b/sys-utils/ipcutils.c
-index e784c4dcb9..18868cfd38 100644
---- a/sys-utils/ipcutils.c
-+++ b/sys-utils/ipcutils.c
-@@ -218,7 +218,7 @@ static void get_sem_elements(struct sem_data *p)
- {
- size_t i;
-
-- if (!p || !p->sem_nsems || p->sem_perm.id < 0)
-+ if (!p || !p->sem_nsems || p->sem_nsems > SIZE_MAX || p->sem_perm.id < 0)
- return;
-
- p->elements = xcalloc(p->sem_nsems, sizeof(struct sem_elem));
diff --git a/sys-apps/util-linux/files/util-linux-2.37.1-libmount_setgroups_fix.patch b/sys-apps/util-linux/files/util-linux-2.37.1-libmount_setgroups_fix.patch
deleted file mode 100644
index ebde207..0000000
--- a/sys-apps/util-linux/files/util-linux-2.37.1-libmount_setgroups_fix.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 420e914c4cc4c2ba34fd75790ea194d7f4a47d2c Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Thu, 29 Jul 2021 11:50:48 +0200
-Subject: [PATCH] libmount: fix setgroups() use
-
-* keep process in single supplementary group, which is the real group ID for the process
-
-* make sure we have rights to call setgroups(), requires group permissions
-
-Fixes: https://github.com/karelzak/util-linux/issues/1398
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
- include/c.h | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/include/c.h b/include/c.h
-index c1e4c5ffc..a4504e3ba 100644
---- a/include/c.h
-+++ b/include/c.h
-@@ -340,14 +340,16 @@ static inline size_t get_hostname_max(void)
-
- static inline int drop_permissions(void)
- {
-+ gid_t newgid = getgid();
-+
- errno = 0;
-
- /* drop supplementary groups */
-- if (setgroups(0, NULL) != 0)
-+ if (geteuid() == 0 && setgroups(1, &newgid) != 0)
- goto fail;
-
- /* drop GID */
-- if (setgid(getgid()) < 0)
-+ if (setgid(newgid) < 0)
- goto fail;
-
- /* drop UID */
diff --git a/sys-apps/util-linux/files/util-linux-2.37.1-lscpu_NULL_dereference_fix.patch b/sys-apps/util-linux/files/util-linux-2.37.1-lscpu_NULL_dereference_fix.patch
deleted file mode 100644
index 50322e6..0000000
--- a/sys-apps/util-linux/files/util-linux-2.37.1-lscpu_NULL_dereference_fix.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 0d7cef3ddbd2aacbea8c11e8524a3de68dfb8ff6 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Fri, 30 Jul 2021 14:35:25 +0200
-Subject: [PATCH] lscpu: fix NULL dereference
-
-Fixes: https://github.com/karelzak/util-linux/issues/1401
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
- sys-utils/lscpu-cputype.c | 2 +-
- sys-utils/lscpu.c | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/sys-utils/lscpu-cputype.c b/sys-utils/lscpu-cputype.c
-index 795a4acf5..be16199e0 100644
---- a/sys-utils/lscpu-cputype.c
-+++ b/sys-utils/lscpu-cputype.c
-@@ -569,7 +569,7 @@ int lscpu_read_cpuinfo(struct lscpu_cxt *cxt)
- /* Set the default type to CPUs which are missing (or not parsed)
- * in cpuinfo */
- ct = lscpu_cputype_get_default(cxt);
-- for (i = 0; i < cxt->npossibles; i++) {
-+ for (i = 0; ct && i < cxt->npossibles; i++) {
- struct lscpu_cpu *cpu = cxt->cpus[i];
-
- if (cpu && !cpu->type)
-diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
-index 827e84a6d..e11b2f42f 100644
---- a/sys-utils/lscpu.c
-+++ b/sys-utils/lscpu.c
-@@ -991,7 +991,7 @@ static void print_summary(struct lscpu_cxt *cxt)
- *(p - 2) = '\0';
- add_summary_s(tb, sec, _("CPU op-mode(s):"), buf);
- }
-- if (ct->addrsz)
-+ if (ct && ct->addrsz)
- add_summary_s(tb, sec, _("Address sizes:"), ct->addrsz);
- #if !defined(WORDS_BIGENDIAN)
- add_summary_s(tb, sec, _("Byte Order:"), "Little Endian");
-@@ -1033,9 +1033,9 @@ static void print_summary(struct lscpu_cxt *cxt)
- sec = NULL;
-
- /* Section: cpu type description */
-- if (ct->vendor)
-+ if (ct && ct->vendor)
- sec = add_summary_s(tb, NULL, _("Vendor ID:"), ct->vendor);
-- if (ct->bios_vendor)
-+ if (ct && ct->bios_vendor)
- add_summary_s(tb, sec, _("BIOS Vendor ID:"), ct->bios_vendor);
-
- for (i = 0; i < cxt->ncputypes; i++)
diff --git a/sys-apps/util-linux/metadata.xml b/sys-apps/util-linux/metadata.xml
deleted file mode 100644
index 121dd51..0000000
--- a/sys-apps/util-linux/metadata.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
-<use>
- <flag name="audit">Use <pkg>sys-process/audit</pkg> to emit audit messages about system changes</flag>
- <flag name="caps">build setpriv helper (run programs with diff capabilities)</flag>
- <flag name="cramfs">build mkfs/fsck helpers for cramfs filesystems</flag>
- <flag name="cryptsetup">Use <pkg>sys-fs/cryptsetup</pkg> to have built-in dm-verity in libmount</flag>
- <flag name="fdformat">build fdformat (floppy disk format)</flag>
- <flag name="hardlink">build hardlink program</flag>
- <flag name="kill">build the kill program</flag>
- <flag name="logger">build the logger program</flag>
- <flag name="pam">build runuser helper</flag>
- <flag name="su">build the su program</flag>
- <flag name="suid">
- install mount/umount as setuid so non-root users may mount/umount devices,
- and wall/write as setgid so non-root users can notify other users
- </flag>
- <flag name="tty-helpers">install the mesg/wall/write tools for talking to local users</flag>
-</use>
-<upstream>
- <remote-id type="cpe">cpe:/a:andries_brouwer:util-linux</remote-id>
- <remote-id type="github">karelzak/util-linux</remote-id>
-</upstream>
-</pkgmetadata>
diff --git a/sys-apps/util-linux/util-linux-2.37.2.ebuild b/sys-apps/util-linux/util-linux-2.37.2.ebuild
deleted file mode 100644
index c310eed..0000000
--- a/sys-apps/util-linux/util-linux-2.37.2.ebuild
+++ /dev/null
@@ -1,335 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 usr-ldscript \
- pam python-r1 multilib-minimal multiprocessing systemd
-
-MY_PV="${PV/_/-}"
-MY_P="${PN}-${MY_PV}"
-
-if [[ ${PV} == 9999 ]] ; then
- inherit git-r3 autotools
- EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git"
-else
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="*"
- SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz"
-fi
-
-DESCRIPTION="Various useful Linux utilities"
-HOMEPAGE="https://www.kernel.org/pub/linux/utils/util-linux/ https://github.com/karelzak/util-linux"
-
-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 selinux slang static-libs su +suid systemd test tty-helpers udev unicode userland_GNU"
-
-# 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 )
- ppc? ( sys-libs/librtas )
- ppc64? ( sys-libs/librtas )
- python? ( ${PYTHON_DEPS} )
- readline? ( sys-libs/readline:0= )
- 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? ( sys-devel/gettext )
- test? ( sys-devel/bc )
-"
-DEPEND="
- ${RDEPEND}
- virtual/os-headers
-"
-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
- !<app-shells/bash-completion-2.7-r1
-"
-
-# Required for man-page generation
-if [[ "${PV}" == 9999 ]] ; then
- BDEPEND+="
- dev-ruby/asciidoctor
- "
-fi
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.37.1-agetty_ctrl-c_erase.patch #804972
-)
-
-src_prepare() {
- default
-
- # Prevent uuidd test failure due to socket path limit. #593304
- sed -i \
- -e "s|UUIDD_SOCKET=\"\$(mktemp -u \"\${TS_OUTDIR}/uuiddXXXXXXXXXXXXX\")\"|UUIDD_SOCKET=\"\$(mktemp -u \"${T}/uuiddXXXXXXXXXXXXX.sock\")\"|g" \
- tests/ts/uuid/uuidd || die "Failed to fix uuidd test"
-
- if ! use userland_GNU ; then
- # test runner is using GNU-specific xargs call
- sed -i -e 's:xargs:gxargs:' tests/run.sh || die
- # test requires util-linux uuidgen (which we don't build)
- rm tests/ts/uuid/oids || die
- fi
-
- if [[ ${PV} == 9999 ]] ; then
- po/update-potfiles
- eautoreconf
- fi
-
- elibtoolize
-}
-
-lfs_fallocate_test() {
- # Make sure we can use fallocate with LFS #300307
- cat <<-EOF > "${T}"/fallocate.${ABI}.c
- #define _GNU_SOURCE
- #include <fcntl.h>
- main() { return fallocate(0, 0, 0, 0); }
- EOF
- append-lfs-flags
- $(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} "${T}"/fallocate.${ABI}.c -o /dev/null >/dev/null 2>&1 \
- || export ac_cv_func_fallocate=no
- rm -f "${T}"/fallocate.${ABI}.c
-}
-
-python_configure() {
- local myeconfargs=(
- "${commonargs[@]}"
- --disable-all-programs
- --disable-bash-completion
- --without-systemdsystemunitdir
- --with-python
- )
- if use userland_GNU ; then
- myeconfargs+=(
- --enable-libblkid
- --enable-libmount
- --enable-pylibmount
- )
- fi
- mkdir "${BUILD_DIR}" || die
- pushd "${BUILD_DIR}" >/dev/null || die
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
- popd >/dev/null || die
-}
-
-multilib_src_configure() {
- lfs_fallocate_test
- # 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. #531856
- tc-is-cross-compiler && export scanf_cv_alloc_modifier=ms
- export ac_cv_header_security_pam_misc_h=$(multilib_native_usex pam) #485486
- export ac_cv_header_security_pam_appl_h=$(multilib_native_usex pam) #545042
-
- # Undo bad ncurses handling by upstream. Fall back to pkg-config. #601530
- export NCURSES6_CONFIG=false NCURSES5_CONFIG=false
- export NCURSESW6_CONFIG=false NCURSESW5_CONFIG=false
-
- # configure args shared by python and non-python builds
- local commonargs=(
- --enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin"
- )
-
- 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_use_with systemd)
- $(multilib_native_use_with udev)
- $(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 unicode widechar)
- $(use_enable static-libs static)
- $(use_with ncurses tinfo)
- $(use_with selinux)
- )
- # build programs only on GNU, on *BSD we want libraries only
- if multilib_is_native_abi && use userland_GNU ; then
- myeconfargs+=(
- --disable-chfn-chsh
- --disable-login
- --disable-newgrp
- --disable-nologin
- --disable-pylibmount
- --disable-vipw
- --enable-agetty
- --enable-bash-completion
- --enable-line
- --enable-partx
- --enable-raw
- --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
- # We ship pre-generated man-pages for releases
- myeconfargs+=( --disable-asciidoc )
- fi
- else
- myeconfargs+=(
- --disable-all-programs
- --disable-asciidoc
- --disable-bash-completion
- --without-systemdsystemunitdir
- # build libraries
- --enable-libuuid
- --enable-libblkid
- --enable-libsmartcols
- --enable-libfdisk
- )
- if use userland_GNU ; then
- # those libraries don't work on *BSD
- myeconfargs+=(
- --enable-libmount
- )
- fi
- fi
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-
- if multilib_is_native_abi && use python ; then
- python_foreach_impl python_configure
- fi
-}
-
-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 (#689190)
- emake DESTDIR="${D}" install
-
- if multilib_is_native_abi && use userland_GNU ; then
- # need the libs in /
- gen_usr_ldscript -a blkid fdisk mount smartcols uuid
- fi
-}
-
-multilib_src_install_all() {
- dodoc AUTHORS NEWS README* Documentation/{TODO,*.txt,releases/*}
-
- # e2fsprogs-libs didnt install .la files, and .pc work fine
- find "${ED}" -name "*.la" -delete || die
-
- if ! use userland_GNU ; then
- # manpage collisions
- # TODO: figure out a good way to keep them
- rm "${ED}"/usr/share/man/man3/uuid* || die
- fi
-
- if use pam ; then
- newpamd "${FILESDIR}/runuser.pamd" runuser
- newpamd "${FILESDIR}/runuser-l.pamd" runuser-l
- 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.
-}
-
-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
-}