From f65628136faa35d0c4d3b5e7332275c7b35fcd96 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 3 Nov 2018 08:36:22 +0000 Subject: gentoo resync : 03.11.2018 --- sys-apps/util-linux/Manifest | 5 +- sys-apps/util-linux/util-linux-2.32.1-r1.ebuild | 296 ++++++++++++++++++++++ sys-apps/util-linux/util-linux-2.33_rc2-r1.ebuild | 288 +++++++++++++++++++++ sys-apps/util-linux/util-linux-2.33_rc2.ebuild | 234 ----------------- sys-apps/util-linux/util-linux-9999.ebuild | 70 ++++- 5 files changed, 649 insertions(+), 244 deletions(-) create mode 100644 sys-apps/util-linux/util-linux-2.32.1-r1.ebuild create mode 100644 sys-apps/util-linux/util-linux-2.33_rc2-r1.ebuild delete mode 100644 sys-apps/util-linux/util-linux-2.33_rc2.ebuild (limited to 'sys-apps/util-linux') diff --git a/sys-apps/util-linux/Manifest b/sys-apps/util-linux/Manifest index b35a84bb033d..63f7ba9374f4 100644 --- a/sys-apps/util-linux/Manifest +++ b/sys-apps/util-linux/Manifest @@ -6,7 +6,8 @@ DIST util-linux-2.32.1.tar.xz 4561088 BLAKE2B 9e89b7fa2eacd51ad8c5cf90cc78df73de DIST util-linux-2.32.tar.xz 4550128 BLAKE2B 0ce22bf93f98ac9827632094b2c3d50280da40394b910e483bf697c8751d532fea7006195baeef0dbc14708edd1204db8e2c87b22bd9f799911c61144a531bb0 SHA512 320c8d364f014aba16483dd26564d7cb47804337567c3e9c2dc495f3865f524e7480d3fec7ef5a05b6e99763b0278da70fffe6d2b88f3f1a832ada5932556482 DIST util-linux-2.33-rc2.tar.xz 4613036 BLAKE2B ac17fc3efea4f5d637e00cf367f087dfc25cea9f024aa2d6510262b3db236fb0e0b280db35d32848e9569603a494fd59a516ae02a178f8d7ac1f9f3936493563 SHA512 7a38a7408a42a47f4e67ead068b5418490c8871ed452613cd2459bd7af64b1a218dc4e826197730b2de60d5d757c02ef79dc7e0f8aeb3f24be9cf8934e40a5ad EBUILD util-linux-2.32-r4.ebuild 7269 BLAKE2B 415ff80ef80ad95e10e4fc79c830e0ed5bfeaad4671a049eeb081ac7ee2fa7ff67ec47f9368af0fea2b19896b2b00bbac8cd00e331c8a56241fe116670b26665 SHA512 89746556f3753e5cbbb10bb1e56c275f5dd434b61a6e6d3bc7366cc02dcf7a596f1343eb674caf427909706e8ee00ad0aa6b03a84526028f719e977de2390db3 +EBUILD util-linux-2.32.1-r1.ebuild 8501 BLAKE2B 1516985e647b7c2df8b15c86fbd2b00db3e620ad530a7c28cb61a63254f062fb70abe56eae8cb447178c5b27b6f5bd8382f5c3e129f1b9971c3ad51cd720b3e9 SHA512 3eb54f75017cf4a04c1bd348b8d1d32280c7d1806aff8713dfc411dd780cbdb6f2a245f1585d95b291a241b60fdd60acf5992cae4c7fd6dce7ea88f7ab3c2442 EBUILD util-linux-2.32.1.ebuild 7370 BLAKE2B f613cace23c64e8d7e69dfe785cc1cc4a2e7c77897867d2e84943559e7030841ec929fa8b178d75096ce1ec0adf2af861fcfc99bc7d446760727432637212c2f SHA512 ea7131a22979df1efcbd041ce5539ef3b3ca5df31713ea46952af3fbee143a5b609b114fdc1be6e0d981f23e82d1bfce2fa489f2e5aeae0d19a01ff04530b5ca -EBUILD util-linux-2.33_rc2.ebuild 7106 BLAKE2B 0bd60a716b8e26afd8232c18a802aee9c290c27a17d3d827538726c511f74a0a96b9ef37129713156d83292f226ff818f8a129243fd4e876903ad67a8d3f91f7 SHA512 0a407281f42dab3413e6861bd809dd92cdb6d9bb21618934193bd78f74b1ba4e1c3e4aef5fe3da1b8cf51e413b1d09111c05fad83474c533c07faaaec51c6462 -EBUILD util-linux-9999.ebuild 7109 BLAKE2B 6b87ab1217a31c3387048d6c32331e2f7f3e428791eb6c1affab05de219814cefd8f25cc2ac7ca237e60a38dcda27a1966e4ba46908cee4970acebd9dfd2c166 SHA512 2e3ee3b8c31486e3ac92e2e3838e619671e34755393f48bd2389582ba00b17b8abd8c92e026cd81d87ab6e10b5a0b4f213059ed43e91180c6c2371f195997986 +EBUILD util-linux-2.33_rc2-r1.ebuild 8240 BLAKE2B ca8992075b02fb86f2c5e74438228058a948cb0ef9ce84c6aaf20399a1e513ee66b520f5d44c3df6b4e8ea03cca35a8c0a200b843b87bf7cac40ea601d29d3b6 SHA512 3a8729e25f36bb00b9cf2d5fbf8059fcf94ddd9ce9bfa297471e6ceae4307696b76aa18a2aadd7c2a14b16b3be1d201bf8da184f3cbdd5d903b5459c0336f7e9 +EBUILD util-linux-9999.ebuild 8240 BLAKE2B ca8992075b02fb86f2c5e74438228058a948cb0ef9ce84c6aaf20399a1e513ee66b520f5d44c3df6b4e8ea03cca35a8c0a200b843b87bf7cac40ea601d29d3b6 SHA512 3a8729e25f36bb00b9cf2d5fbf8059fcf94ddd9ce9bfa297471e6ceae4307696b76aa18a2aadd7c2a14b16b3be1d201bf8da184f3cbdd5d903b5459c0336f7e9 MISC metadata.xml 1005 BLAKE2B 37870785b249a3d630c74fbec873b3cc096f2194faf92e211344a9b359c43ba52826709eea6aa0534920a444b73812f75c835e626230a9c18836bfcc7429b500 SHA512 c14641961bc6aeb75bda7b166dfc45ba1b5be4d21722062269a2a749057a8a0dcf74290855965d739563c8340e60913d8bb9eb470a82f69f8f7371bd2163d133 diff --git a/sys-apps/util-linux/util-linux-2.32.1-r1.ebuild b/sys-apps/util-linux/util-linux-2.32.1-r1.ebuild new file mode 100644 index 000000000000..8334aa825c11 --- /dev/null +++ b/sys-apps/util-linux/util-linux-2.32.1-r1.ebuild @@ -0,0 +1,296 @@ +# Copyright 1999-2018 Gentoo Authors +# Copyright 2018 Sony Interactive Entertainment Inc. +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} ) + +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}" + +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 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux" + SRC_URI="mirror://kernel/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 + ! "${T}"/fallocate.${ABI}.c + #define _GNU_SOURCE + #include + 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) + $(usex ncurses '' '--without-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() { + 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 + + if multilib_is_native_abi && use python; then + python_foreach_impl python_install + 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 +} diff --git a/sys-apps/util-linux/util-linux-2.33_rc2-r1.ebuild b/sys-apps/util-linux/util-linux-2.33_rc2-r1.ebuild new file mode 100644 index 000000000000..cdfc75a44ba2 --- /dev/null +++ b/sys-apps/util-linux/util-linux-2.33_rc2-r1.ebuild @@ -0,0 +1,288 @@ +# Copyright 1999-2018 Gentoo Authors +# Copyright 2018 Sony Interactive Entertainment Inc. +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} ) + +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}" + +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 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux" + SRC_URI="mirror://kernel/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 + ! "${T}"/fallocate.${ABI}.c + #define _GNU_SOURCE + #include + 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) + $(usex ncurses '' '--without-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() { + 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 + + if multilib_is_native_abi && use python; then + python_foreach_impl python_install + 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 +} diff --git a/sys-apps/util-linux/util-linux-2.33_rc2.ebuild b/sys-apps/util-linux/util-linux-2.33_rc2.ebuild deleted file mode 100644 index 7060ef533f6d..000000000000 --- a/sys-apps/util-linux/util-linux-2.33_rc2.ebuild +++ /dev/null @@ -1,234 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} ) - -inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 \ - pam python-single-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 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux" - SRC_URI="mirror://kernel/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 - ! "${T}"/fallocate.${ABI}.c - #define _GNU_SOURCE - #include - 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 -} - -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)" - $(multilib_native_use_enable suid makeinstall-chown) - $(multilib_native_use_enable suid makeinstall-setuid) - $(multilib_native_use_with python) - $(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) - $(usex ncurses '' '--without-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-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[@]}" -} - -multilib_src_test() { - emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot" -} - -multilib_src_install() { - 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 - - use python && python_optimize - 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 -} diff --git a/sys-apps/util-linux/util-linux-9999.ebuild b/sys-apps/util-linux/util-linux-9999.ebuild index b0e8d25cd4ca..cdfc75a44ba2 100644 --- a/sys-apps/util-linux/util-linux-9999.ebuild +++ b/sys-apps/util-linux/util-linux-9999.ebuild @@ -1,4 +1,5 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors +# Copyright 2018 Sony Interactive Entertainment Inc. # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -6,7 +7,7 @@ EAPI=6 PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} ) inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 \ - pam python-single-r1 multilib-minimal multiprocessing systemd + pam python-r1 multilib-minimal multiprocessing systemd MY_PV="${PV/_/-}" MY_P="${PN}-${MY_PV}" @@ -62,10 +63,6 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" S="${WORKDIR}/${MY_P}" -pkg_setup() { - use python && python-single-r1_pkg_setup -} - src_prepare() { default @@ -108,6 +105,26 @@ lfs_fallocate_test() { 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. @@ -120,9 +137,9 @@ multilib_src_configure() { 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 python) $(multilib_native_use_with readline) $(multilib_native_use_with slang) $(multilib_native_use_with systemd) @@ -142,6 +159,7 @@ multilib_src_configure() { --disable-chfn-chsh --disable-login --disable-nologin + --disable-pylibmount --disable-su --enable-agetty --enable-bash-completion @@ -179,10 +197,44 @@ multilib_src_configure() { 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() { @@ -191,8 +243,10 @@ multilib_src_install() { if multilib_is_native_abi && use userland_GNU; then # need the libs in / gen_usr_ldscript -a blkid fdisk mount smartcols uuid + fi - use python && python_optimize + if multilib_is_native_abi && use python; then + python_foreach_impl python_install fi } -- cgit v1.2.3