summaryrefslogtreecommitdiff
path: root/sys-apps
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-03-28 19:13:18 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-03-28 19:13:18 +0000
commit9173ac495b70d91abace8e732906b844522cdb3b (patch)
treed4dced96e0b1f492507e987b1ced7cf582a985e4 /sys-apps
parentac4d0ec6279a51ce08af9e3293666bc339be6b6f (diff)
gentoo auto-resync : 28:03:2024 - 19:13:18
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/Manifest.gzbin50823 -> 50826 bytes
-rw-r--r--sys-apps/coreutils/Manifest6
-rw-r--r--sys-apps/coreutils/coreutils-9.5.ebuild (renamed from sys-apps/coreutils/coreutils-9.4_p20240326.ebuild)0
-rw-r--r--sys-apps/util-linux/Manifest2
-rw-r--r--sys-apps/util-linux/files/util-linux-2.39.3-CVE-2024-28085.patch25
-rw-r--r--sys-apps/util-linux/util-linux-2.39.3-r6.ebuild415
6 files changed, 445 insertions, 3 deletions
diff --git a/sys-apps/Manifest.gz b/sys-apps/Manifest.gz
index c85bffc540a5..e64f7a226238 100644
--- a/sys-apps/Manifest.gz
+++ b/sys-apps/Manifest.gz
Binary files differ
diff --git a/sys-apps/coreutils/Manifest b/sys-apps/coreutils/Manifest
index ac3b103166bb..da3f62c17e52 100644
--- a/sys-apps/coreutils/Manifest
+++ b/sys-apps/coreutils/Manifest
@@ -8,12 +8,12 @@ DIST coreutils-8.32.tar.xz 5547836 BLAKE2B 0ad99c176c19ec214fcfd0845523e5362f015
DIST coreutils-9.4-patches.tar.xz 6756 BLAKE2B 677454409ccb629fd0efde1e15d8f9c13f208391e63a17816011e84d4ca3fb2a42c2a60853f213ade2a53c821d76fd8924c59388d160c6e7c7fa5755e1db4c68 SHA512 2025c80b5ada92bafb479c678917862be208534becd8b347d335032c6b4cc23c7b7630f15ca7dd3b5d691567cb70f3491753e29441cc54d8700cc3d966a5e743
DIST coreutils-9.4.tar.xz 5979200 BLAKE2B 83d41c48804c1d470c0e5eed38e692bb6875436dda3f6e2c29784ad6ef563d86e8e066a050e222621b400f78ea4630b1e127d20fc9b76f12096528c42677e35d SHA512 7c55ee23b685a0462bbbd118b04d25278c902604a0dcf3bf4f8bf81faa0500dee5a7813cba6f586d676c98e520cafd420f16479619305e94ea6798d8437561f5
DIST coreutils-9.4.tar.xz.sig 833 BLAKE2B 870f7eb28e8851f41954820c7f4f4b43a965e6650b303b79541dfdf98ca0cd52fe964d7eec72bea68066452d7ad21a01df5e4db9e5bc4c20bf26d8b416856446 SHA512 9674f783f592c4f3e5c708ff31426ac009bf132fd0005019571bf39c8a1627efb5351c6cecc7faecb1eff8fa2970318666593bffc0eda9c750159e174ef42524
-DIST coreutils-9.4_p20240326.tar.xz 5995388 BLAKE2B 2aed1aae692182a657cd2c2a405c2e9939d8ca9cd0e15c7dbd4d6505a6e10704c8d958fa2f89736e27d4fe99be87bdffff50238610c6dd104aedc64532ac4828 SHA512 77d9f747adb1f2d40c9348f5fa14bb93e29807dfa8970d617d4ea543c95bce1c85e937229bd450373f74c511de8debd8645e7f86a508bc866b580bd1712ed300
-DIST coreutils-9.4_p20240326.tar.xz.sig 833 BLAKE2B 158521535c2f1410c324e957bd199c0519d68f1927c16453dfb521af20a64fd277c3dfa3e83b46822b9dfeb0583471b100c04b92167949f622a6770b4bb60c73 SHA512 7f4578c4665bb3d4504eba4a2bb12bb23b71da0f511f06e32495a6d6ad5c893aab19f5f65793caf399b9c68089d837894987154d1d3b2f4e600603f5a787b288
DIST coreutils-9.5-patches.tar.xz 5912 BLAKE2B 873fbe1a60f8f8034b3d35796146765ce388952d649c32dc81ca0e4c2823c9f2f00b69bc5cb3af686434867459b6dc378fb9a6d59563d28b87c3ee1eceeedbb3 SHA512 4b4ad356615d046b8d67ea35b789f887a787ab01ece3234f6344518aef33cd30ca364fef5d85e11acfdb24003114c16ffdab82922fb135d5425fbcd541064a76
+DIST coreutils-9.5.tar.xz 6007136 BLAKE2B 6fd3a77697c9e85f31415c6ad66559faf18acc7d346677a89d4a999c2027886551e78842a7283e7b3b44fe8ef2fde04ba2f88df32a7844d5f69d45bcb7a04b6f SHA512 2ca0deac4dc10a80fd0c6fd131252e99d457fd03b7bd626a6bc74fe5a0529c0a3d48ce1f5da1d3b3a7a150a1ce44f0fbb6b68a6ac543dfd5baa3e71f5d65401c
+DIST coreutils-9.5.tar.xz.sig 833 BLAKE2B 37c29984bceee0ff3bffde76712f71dbb118c228e328dc230d5c53c37da12f5ec2130e0123b97fda4a561f556c3be307fdbe1f0c21279db2c84030818386f626 SHA512 029997e0f4ee64e561853cff7c8a124f58cc891598595b44c4a46f9813b4b71c9d677464bc8a26d294e9971832f4b87c23777fea4fac6e8e30f06ad93b9957d5
EBUILD coreutils-8.32-r1.ebuild 5947 BLAKE2B 19f30ddaa57e16326db783e2396ce653c17c8def86422ac517b45ee3869266a6e8c600d926814720b1b79485f1db34e3d8dbad32dcc5ad285987c53ab2dbab27 SHA512 a552a58864edf6a768933f85b6624f82b3bd1bf94c169acf3577394523c2768d6768d5a141283abac760bdab950a1ea394c8f36cf2c0793b8b9a2a1c6dda9622
EBUILD coreutils-9.4-r1.ebuild 8496 BLAKE2B ce3e8aefe60819c930e5f9282faef2bdc2f5013f49968ed52923c6d652a46c213655add76134dfb5a2b48b3183e98fad1a13bee51b544ceee284d5f1f92af5ef SHA512 cba56fc3152ffc851b9afe2d5bde574ca85a0f1dcc099311395cafc74d72d31b2b771f698b3b0bef6a04810d50b76fee90c0dc7f2a7c10e700301811a8a4a7be
EBUILD coreutils-9.4.ebuild 8396 BLAKE2B 726efb986d7746043c9cdff74c12a66ff74b7910ec5f4a9b437c644132589155c0351df548e38c8eec2f5681bf1906594aebac6b5611880f2d7d80eac3f5b888 SHA512 4ec7e3b01025800a50bc1b5f772ab621411c142891e65cd77c4bc7d163962ac10e13d66e3add569a4caa78d873afbde8f662151f330768af49f5a45fb2b07732
-EBUILD coreutils-9.4_p20240326.ebuild 8359 BLAKE2B dd3778257afd7f85066e25ed006de8eab115f586be47918add7f6e9c64830cfe43e002339d2c65dc9b4a6552cc30366e92dc5c22f1bcfe136e72f49e76ca2555 SHA512 b2b5d5fa01ff9430d94de2cd81a5406b056fd6034c84241262ce6c320e823371a001a49dd3b5b9c863d7e142eef14f4ccbbfe82429d46feac2bb513cbf72c11a
+EBUILD coreutils-9.5.ebuild 8359 BLAKE2B dd3778257afd7f85066e25ed006de8eab115f586be47918add7f6e9c64830cfe43e002339d2c65dc9b4a6552cc30366e92dc5c22f1bcfe136e72f49e76ca2555 SHA512 b2b5d5fa01ff9430d94de2cd81a5406b056fd6034c84241262ce6c320e823371a001a49dd3b5b9c863d7e142eef14f4ccbbfe82429d46feac2bb513cbf72c11a
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.4_p20240326.ebuild b/sys-apps/coreutils/coreutils-9.5.ebuild
index 187e8ba621a9..187e8ba621a9 100644
--- a/sys-apps/coreutils/coreutils-9.4_p20240326.ebuild
+++ b/sys-apps/coreutils/coreutils-9.5.ebuild
diff --git a/sys-apps/util-linux/Manifest b/sys-apps/util-linux/Manifest
index 5e0e7f66c022..1c4ad1f13346 100644
--- a/sys-apps/util-linux/Manifest
+++ b/sys-apps/util-linux/Manifest
@@ -4,6 +4,7 @@ AUX su-l.pamd 140 BLAKE2B 34f00c8814d454c8caa6bd5f0dd0bb89b24c12dbc0e39e852dc459
AUX util-linux-2.39.2-backport-1d4456d.patch 993 BLAKE2B c65d13ece5de1486044b857e7b158ebdf239ba48600c74dff2401c2f96b670e9a369b36ba91c61eb6d7724b545799fc76a1632e0adcf097b25017290b6796c2e SHA512 76f057fee52a57d9305c50738ccc57adcfcdf92dbad05e8596ce9edcee0e0b8c126db2b9554e70a71fa80b59b35229d17c8e6ad79f768ce3c548eb7219c57f56
AUX util-linux-2.39.2-backport-pr2251.patch 6779 BLAKE2B bb8d4be48a55931e7f45a95953c1dd6e7ff59f7559b27ad254c2c3643cf0e6410fcd49da3a7d21af70ea1066a883e9db7c75e425baa983ed3a2918ec517fce82 SHA512 8c949125525a4e13086c63595da6c7423a747165ecf3357f2fbcf95cd5cf7840c7c33e992cf66151598a52d5d6e1fe04f5d6059efe044b41882002b808ff937c
AUX util-linux-2.39.2-fincore-test.patch 848 BLAKE2B 8320b3ddc561907f6c34e6cf916202c30ab1671cd3e4f7a41187ecbe4efab7fd172d48271073d3d8aadc5c3ae2ee06c5a73b54af0165e5a885e1c5690db40eff SHA512 0562d2102fe1dea0579afcf1353844c8b84c61c6ed1ccfce3a2f010889000623f931fd2d2a0046f570ef5e8ffa0df98b19ce046903090043b292a0529b1db4b9
+AUX util-linux-2.39.3-CVE-2024-28085.patch 840 BLAKE2B 220232e6330b201b2a524a1ff75340e899f277590ee988cba6dd9c1450d99a86269a6aefadda3847657fbb150a422bf180d308f13f3399a5c8d4195d1ce7fdc1 SHA512 445cced246202ef174b96f3280ad380eb44e69a0759f1217e70a290444d5e5363d1df7f6d8757afb1e289486e838a97fa7d6b2602845f04a8fdf37b239859095
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
@@ -11,5 +12,6 @@ DIST util-linux-2.39.3.tar.sign 833 BLAKE2B 433b9ad6e97d9e2ffbd516addf8406587d00
DIST util-linux-2.39.3.tar.xz 8526168 BLAKE2B cd7b2b3c820e920d4a6ecd46fd807e018fc8e54439292f5e62c5f6863dd0f2505df3ec02c470d9be255a437c6ee8e4077908ac78d19a0d1273854d99eb571df0 SHA512 a2de1672f06ca5d2d431db1265a8499808770c3781019ec4a3a40170df4685826d8e3ca120841dcc5df4681ca8c935a993317bd0dc70465b21bf8e0efef65afa
EBUILD util-linux-2.39.3-r2.ebuild 10816 BLAKE2B 675a18c3b90136b7f9dcdf80f32af95e762c34499fafb8955a4e65e8aafd275e1c1fd26ff42602c43e5448e45e657de00bf1e073d28b7a27724353fdc9384356 SHA512 549a47fb5864403951a9b4829d920e7856770d35758fb4fd00b6294dfe5926bbc538dbe70d62781f6de600650a14480f15a859c9d051c6cc74037ce360741efc
EBUILD util-linux-2.39.3-r5.ebuild 11079 BLAKE2B c78e6ddad8fb281d0aae058db0d275110f6b63b3b149a2eb743c3a3b231641cf79b8bb2572bc81f27e0ad28894709788084d95968eb6a174e681596f32771f87 SHA512 10eeee14a9564dd3e35bbe4300d0a591cf66366d7c5e9796f15e7be1c87a2558606184958eb22001539cf5d16047f9e6ac26097bb176f0be97f77c5b672e2ab0
+EBUILD util-linux-2.39.3-r6.ebuild 11130 BLAKE2B 0bc7dd8134172de2a660ca6bdd49ca63c8e4647c76ba19607bea18947e3e63a78d92ba4f74d8086d533bbd667f8fe80b604b20d9c5677e15d73122b973cc2220 SHA512 232c7fc42850b5143af4c822e6d94039918c5c40372de6166834418cc0546dab6468ae35fa673266633aca5b5133a3037ad352b82ace0e1c8f50ba3947878689
EBUILD util-linux-9999.ebuild 10539 BLAKE2B cc0cf0445812fa59abfae68308c8c85052031859aa2fbb5e5da9dbd1de7886d71a784f8a6431596e27a08a87c8d0995b383f90d5ae583385e5a7ad60b70be8eb SHA512 7628e3d91ba9827138bccaebe1a9111695f24b006c535437e258e926b32e2d4722dbb09c863339d72cbc956d3fc46eaa93fbc485a606bb59e6afcd2deb11971f
MISC metadata.xml 1553 BLAKE2B 1c4a18f6d91be4c90bf2505745cae42f6d249a1295c6a46fc1b8ea08297842b4d3a2aa232e679a167af9fef26730ed71f651b2f71b58cbfe66bd7a5cd3743c3b SHA512 e01d390c983ac47b9a6684f70b11cc796cde1355ae7d4c12406b3d6fc5b0897a9471720844e74fceee1648f4c7d685e6b12f157adc1ad951506acefb7441635c
diff --git a/sys-apps/util-linux/files/util-linux-2.39.3-CVE-2024-28085.patch b/sys-apps/util-linux/files/util-linux-2.39.3-CVE-2024-28085.patch
new file mode 100644
index 000000000000..99092c05aa7e
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.39.3-CVE-2024-28085.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/927980
+https://people.rit.edu/sjf5462/6831711781/wall_2_27_2024.txt
+https://github.com/util-linux/util-linux/commit/404b0781f52f7c045ca811b2dceec526408ac253
+
+From 404b0781f52f7c045ca811b2dceec526408ac253 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Thu, 21 Mar 2024 11:16:20 +0100
+Subject: [PATCH] wall: fix escape sequence Injection [CVE-2024-28085]
+
+Let's use for all cases the same output function.
+
+Reported-by: Skyler Ferrante <sjf5462@rit.edu>
+Signed-off-by: Karel Zak <kzak@redhat.com>
+--- a/term-utils/wall.c
++++ b/term-utils/wall.c
+@@ -368,7 +368,7 @@ static char *makemsg(char *fname, char **mvec, int mvecsz,
+ int i;
+
+ for (i = 0; i < mvecsz; i++) {
+- fputs(mvec[i], fs);
++ fputs_careful(mvec[i], fs, '^', true, TERM_WIDTH);
+ if (i < mvecsz - 1)
+ fputc(' ', fs);
+ }
+
diff --git a/sys-apps/util-linux/util-linux-2.39.3-r6.ebuild b/sys-apps/util-linux/util-linux-2.39.3-r6.ebuild
new file mode 100644
index 000000000000..256c7ca3c751
--- /dev/null
+++ b/sys-apps/util-linux/util-linux-2.39.3-r6.ebuild
@@ -0,0 +1,415 @@
+# 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-pr2251.patch
+ "${FILESDIR}"/${PN}-2.39.2-backport-1d4456d.patch
+ "${FILESDIR}"/${PN}-2.39.3-libblkid-luks.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-CVE-2024-28085.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)
+ )
+
+ 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
+}