summaryrefslogtreecommitdiff
path: root/sys-apps/util-linux/util-linux-9999.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-04-06 22:33:41 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-04-06 22:33:41 +0100
commite68d405c5d712af4387159df07e226217bdda049 (patch)
tree009ab0f3d427f0813e62930d71802cb054c07e30 /sys-apps/util-linux/util-linux-9999.ebuild
parent401101f9c8077911929d3f2b60a37098460a5d89 (diff)
gentoo resync : 06.04.2022
Diffstat (limited to 'sys-apps/util-linux/util-linux-9999.ebuild')
-rw-r--r--sys-apps/util-linux/util-linux-9999.ebuild104
1 files changed, 82 insertions, 22 deletions
diff --git a/sys-apps/util-linux/util-linux-9999.ebuild b/sys-apps/util-linux/util-linux-9999.ebuild
index 658e0639ff89..68bb10664cf1 100644
--- a/sys-apps/util-linux/util-linux-9999.ebuild
+++ b/sys-apps/util-linux/util-linux-9999.ebuild
@@ -15,11 +15,19 @@ 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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+ VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/karelzak.asc
+ inherit verify-sig
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+ 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}"
+
DESCRIPTION="Various useful Linux utilities"
HOMEPAGE="https://www.kernel.org/pub/linux/utils/util-linux/ https://github.com/karelzak/util-linux"
@@ -72,18 +80,16 @@ RDEPEND+="
!net-wireless/rfkill
"
-# Required for man-page generation
-if [[ "${PV}" == 9999 ]] ; then
- BDEPEND+="
- dev-ruby/asciidoctor
- "
+if [[ ${PV} == 9999 ]] ; then
+ # Required for man-page generation
+ BDEPEND+=" dev-ruby/asciidoctor"
+else
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-karelzak )"
fi
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) su? ( pam )"
RESTRICT="!test? ( test )"
-S="${WORKDIR}/${MY_P}"
-
pkg_pretend() {
if use su && ! use suid ; then
elog "su will be installed as suid despite USE=-suid (bug #832092)"
@@ -91,30 +97,75 @@ pkg_pretend() {
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
- # 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 test ; then
+ # Prevent uuidd test failure due to socket path limit, bug #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"
+
+ # Known-failing tests
+ # TODO: investigate these
+ local known_failing_tests=(
+ # Subtest 'options-maximum-size-8192' fails
+ hardlink/options
+
+ lsfd/mkfds-symlink
+ lsfd/mkfds-rw-character-device
+ )
+
+ 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
-
- elibtoolize
}
lfs_fallocate_test() {
- # Make sure we can use fallocate with LFS #300307
+ # Make sure we can use fallocate with LFS, bug #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
@@ -131,6 +182,7 @@ python_configure() {
--enable-libmount
--enable-pylibmount
)
+
mkdir "${BUILD_DIR}" || die
pushd "${BUILD_DIR}" >/dev/null || die
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
@@ -139,14 +191,19 @@ python_configure() {
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
+ # itself fails when the scanf test fails. bug #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
+ # 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
@@ -179,6 +236,7 @@ multilib_src_configure() {
$(use_with ncurses tinfo)
$(use_with selinux)
)
+
if multilib_is_native_abi ; then
myeconfargs+=(
--disable-chfn-chsh
@@ -221,6 +279,7 @@ multilib_src_configure() {
--disable-asciidoc
--disable-bash-completion
--without-systemdsystemunitdir
+
# build libraries
--enable-libuuid
--enable-libblkid
@@ -229,6 +288,7 @@ multilib_src_configure() {
--enable-libmount
)
fi
+
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
if multilib_is_native_abi && use python ; then
@@ -275,11 +335,11 @@ multilib_src_install() {
python_foreach_impl python_install
fi
- # This needs to be called AFTER python_install call (#689190)
+ # This needs to be called AFTER python_install call, bug #689190
emake DESTDIR="${D}" install
if multilib_is_native_abi ; then
- # need the libs in /
+ # Need the libs in /
gen_usr_ldscript -a blkid fdisk mount smartcols uuid
fi
}