sys-apps/util-linux: Removed old

Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
This commit is contained in:
Lars Wendler
2019-11-19 09:30:42 +01:00
parent 8fedc77dda
commit 42b3a2fd4a
5 changed files with 0 additions and 711 deletions

View File

@@ -1,4 +1,2 @@
DIST util-linux-2.33.1.tar.xz 4650936 BLAKE2B 9ee6bc1a1b800e8537f5552c28cf608f32e89c8ab716434a2de6b4b5e257c53065b9c11cd355f2ef759f69069071ef930790ecd55806deef300ce77f31e38e98 SHA512 94ada47e472b62a612c26fd5a5b7423e09366690a8a96f777191a5d920981eb0f224474bc2f128e827299bf60062770011332757e1551a8cd3764b5c70ae4ba2
DIST util-linux-2.33.2.tar.xz 4707024 BLAKE2B fdeed0a236edd26d268bccca8cde2cf1b7ecbff521ede9fa26ea22c8e5cdfc380a416a168789504b303f1b569d163e41f6630ee28829be7f2b2129fa14c4fffa SHA512 ac88790a0272366b384b54df19cb28318014d98819d5d96aa05528ff17ab57a8c66d012a2f1b59caca4c5d4ea669e8c041e1123517c1f1c2d9960ef701aaf749
DIST util-linux-2.33.tar.xz 4663072 BLAKE2B df601f6aa6dd1e77c722d5e7350a3b14c6099057487384eb8cd7adee8693711c1d24663f76682c958884559fddf61cc4b6d987bdca70f88e6cb14109e328e8a9 SHA512 5eb419607c5a2634117a604d425d6413763d1e48910acabc7e19d574a4c3fb0ceb34a68671a8e4fe396a4c6d611932082f77cd669d009e218bf64095da0d5689
DIST util-linux-2.34.tar.xz 4974812 BLAKE2B d26b2f74d490eaee0a40d4c75a1a351ba165b4a52f9bbf6cf9d1afd7ae1382a3a3dfe41180584e97e9aaad6950f604cad928f30747590e3e1e669c8797689758 SHA512 2d0b76f63d32e7afb7acf61a83fabbfd58baa34ab78b3a331ce87f9c676a5fd71c56a493ded95039540d2c46b6048caaa38d7fb4491eb3d52d7b09dc54655cd7

View File

@@ -1,41 +0,0 @@
From 8f93c8c71d264e90bdcecf98c9ac372bbcdc53aa Mon Sep 17 00:00:00 2001
From: Thomas Deutschmann <whissi@gentoo.org>
Date: Sun, 11 Nov 2018 02:17:55 +0100
Subject: [PATCH] tests: run oids test only when uuidgen tool was built
oids test did not check if uuidgen was available.
oids test was also calling uuidgen from PATH which could result
in wrong results if uuidgen from a previous util-linux installation
was used.
With this commit we will check if uuidgen was built and make sure
that we only call the uuidgen binary we just built. If uuidgen is
not available we will skip this test.
---
tests/ts/uuid/oids | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/tests/ts/uuid/oids b/tests/ts/uuid/oids
index 3b005c5b2..77e010c1d 100755
--- a/tests/ts/uuid/oids
+++ b/tests/ts/uuid/oids
@@ -20,12 +20,14 @@ ts_init "$*"
: . > $TS_OUTPUT
-uuidgen --md5 --namespace @dns --name "www.widgets.com" >> $TS_OUTPUT
+ts_check_test_command "$TS_CMD_UUIDGEN"
-uuidgen --md5 --namespace @dns --name "www.example.com" >> $TS_OUTPUT
+$TS_CMD_UUIDGEN --md5 --namespace @dns --name "www.widgets.com" >> $TS_OUTPUT
-uuidgen --sha1 --namespace @dns --name "www.example.com" >> $TS_OUTPUT
+$TS_CMD_UUIDGEN --md5 --namespace @dns --name "www.example.com" >> $TS_OUTPUT
-uuidgen --sha1 --namespace @oid --hex --name "525400fc0f5e" >> $TS_OUTPUT
+$TS_CMD_UUIDGEN --sha1 --namespace @dns --name "www.example.com" >> $TS_OUTPUT
+
+$TS_CMD_UUIDGEN --sha1 --namespace @oid --hex --name "525400fc0f5e" >> $TS_OUTPUT
ts_finalize

View File

@@ -1,80 +0,0 @@
From 3fa06e049012218d883d0e1251df86bafbc446bf Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Thu, 22 Nov 2018 11:03:35 +0100
Subject: [PATCH] setarch: fix obscure sparc32bash use-case
Reported-by: Carlos Santos <casantos@datacom.com.br>
Signed-off-by: Karel Zak <kzak@redhat.com>
---
sys-utils/setarch.c | 28 ++++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c
index a733f7b3c..7c0a63fbb 100644
--- a/sys-utils/setarch.c
+++ b/sys-utils/setarch.c
@@ -268,6 +268,7 @@ int main(int argc, char *argv[])
int c;
struct arch_domain *doms, *target;
unsigned long pers_value = 0;
+ char *shell = NULL, *shell_arg = NULL;
/* Options without equivalent short options */
enum {
@@ -310,14 +311,14 @@ int main(int argc, char *argv[])
archwrapper = strcmp(program_invocation_short_name, "setarch") != 0;
if (archwrapper) {
arch = program_invocation_short_name; /* symlinks to setarch */
-#if defined(__sparc64__) || defined(__sparc__)
+
+ /* Don't use ifdef sparc here, we get "Unrecognized architecture"
+ * error message later if necessary */
if (strcmp(arch, "sparc32bash") == 0) {
- if (set_arch(arch, 0L, 0))
- err(EXIT_FAILURE, _("Failed to set personality to %s"), arch);
- execl("/bin/bash", "", NULL);
- errexec("/bin/bash");
+ shell = "/bin/bash";
+ shell_arg = "";
+ goto set_arch;
}
-#endif
} else {
if (1 < argc && *argv[1] != '-') {
arch = argv[1];
@@ -391,6 +392,7 @@ int main(int argc, char *argv[])
argc -= optind;
argv += optind;
+set_arch:
/* get execution domain (architecture) */
if (arch) {
doms = init_arch_domains();
@@ -422,17 +424,23 @@ int main(int argc, char *argv[])
if (arch)
verify_arch_domain(target, arch);
+ if (!argc) {
+ shell = "/bin/sh";
+ shell_arg = "-sh";
+ }
if (verbose) {
- printf(_("Execute command `%s'.\n"), argc ? argv[0] : "/bin/sh");
+ printf(_("Execute command `%s'.\n"), shell ? shell : argv[0]);
/* flush all output streams before exec */
fflush(NULL);
}
- if (!argc) {
- execl("/bin/sh", "-sh", NULL);
- errexec("/bin/sh");
+ /* Execute shell */
+ if (shell) {
+ execl(shell, shell_arg, NULL);
+ errexec(shell);
}
+ /* Execute on command line specified command */
execvp(argv[0], argv);
errexec(argv[0]);
}

View File

@@ -1,292 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
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="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-linux ~x86-linux"
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 LGPL-2.1 BSD-4 MIT public-domain"
SLOT="0"
IUSE="build caps +cramfs fdformat kill ncurses nls pam python +readline selinux slang static-libs +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="caps? ( sys-libs/libcap-ng )
cramfs? ( sys-libs/zlib:= )
ncurses? ( >=sys-libs/ncurses-5.2-r2:0=[unicode?] )
nls? ( virtual/libintl[${MULTILIB_USEDEP}] )
pam? ( sys-libs/pam )
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:= )"
DEPEND="${RDEPEND}
virtual/pkgconfig
nls? ( sys-devel/gettext )
test? ( sys-devel/bc )
virtual/os-headers"
RDEPEND+="
kill? (
!sys-apps/coreutils[kill]
!sys-process/procps[kill]
)
!net-wireless/rfkill
!sys-process/schedutils
!sys-apps/setarch
!<sys-apps/sysvinit-2.88-r7
!<sys-libs/e2fsprogs-libs-1.41.8
!<sys-fs/e2fsprogs-1.41.8
!<app-shells/bash-completion-2.7-r1"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}/util-linux-2.32.1-skip-oids-test-when-uuidgen-is-not-available.patch"
"${FILESDIR}/${P}-sparc-setarch.patch"
)
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
# Undo bad ncurses handling by upstream. #601530
sed -i -E \
-e '/NCURSES_/s:(ncursesw?)[56]-config:$PKG_CONFIG \1:' \
-e 's:(ncursesw?)[56]-config --version:$PKG_CONFIG --exists --print-errors \1:' \
configure || die
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=(
--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
local myeconfargs=(
--enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin"
--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 unicode ncursesw)" '--without-ncursesw')
$(multilib_native_usex ncurses "$(use_with !unicode ncurses)" '--without-ncurses')
$(tc-has-tls || echo --disable-tls)
$(use_enable nls)
$(use_enable unicode widechar)
$(use_enable static-libs static)
$(use_with selinux)
$(use_with ncurses tinfo)
)
# 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-nologin
--disable-pylibmount
--disable-su
--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 tty-helpers mesg)
$(use_enable tty-helpers wall)
$(use_enable tty-helpers write)
$(use_enable kill)
)
else
myeconfargs+=(
--disable-all-programs
--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
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
}

View File

@@ -1,296 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
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 LGPL-2.1 BSD-4 MIT public-domain"
SLOT="0"
IUSE="build caps +cramfs fdformat kill ncurses nls pam python +readline selinux slang static-libs +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="caps? ( sys-libs/libcap-ng )
cramfs? ( sys-libs/zlib:= )
ncurses? ( >=sys-libs/ncurses-5.2-r2:0=[unicode?] )
nls? ( virtual/libintl[${MULTILIB_USEDEP}] )
pam? ( sys-libs/pam )
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:= )"
DEPEND="${RDEPEND}
virtual/pkgconfig
nls? ( sys-devel/gettext )
test? ( sys-devel/bc )
virtual/os-headers"
RDEPEND+="
kill? (
!sys-apps/coreutils[kill]
!sys-process/procps[kill]
)
!net-wireless/rfkill
!sys-process/schedutils
!sys-apps/setarch
!<sys-apps/sysvinit-2.88-r7
!<sys-libs/e2fsprogs-libs-1.41.8
!<sys-fs/e2fsprogs-1.41.8
!<app-shells/bash-completion-2.7-r1"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
S="${WORKDIR}/${MY_P}"
PATCHES=(
# In glibc-2.29+, a lot of changes were made to arch-specific
# handling of `struct termios', which breaks atleast MIPS.
# The below patch from upstream fixes this, and should be
# in the next release.
# See: https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/?id=963413a1adf6767ab17712097e288e1a346f63a7
"${FILESDIR}/${P}-fix-struct_termios-check.patch"
)
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
# Undo bad ncurses handling by upstream. #601530
sed -i -E \
-e '/NCURSES_/s:(ncursesw?)[56]-config:$PKG_CONFIG \1:' \
-e 's:(ncursesw?)[56]-config --version:$PKG_CONFIG --exists --print-errors \1:' \
configure || die
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=(
--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
local myeconfargs=(
--enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin"
--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 unicode ncursesw)" '--without-ncursesw')
$(multilib_native_usex ncurses "$(use_with !unicode ncurses)" '--without-ncurses')
$(tc-has-tls || echo --disable-tls)
$(use_enable nls)
$(use_enable unicode widechar)
$(use_enable static-libs static)
$(use_with selinux)
$(use_with ncurses tinfo)
)
# 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-nologin
--disable-pylibmount
--disable-su
--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 tty-helpers mesg)
$(use_enable tty-helpers wall)
$(use_enable tty-helpers write)
$(use_enable kill)
)
else
myeconfargs+=(
--disable-all-programs
--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
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
}