commit: a757c986855dee5574a1b773f45d3d976d55edd0
Author: Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 26 11:49:34 2019 +0000
Commit: Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Thu Dec 26 11:55:34 2019 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=a757c986
Merge portage-2.3.83
Signed-off-by: Thomas Sachau <tommy <AT> gentoo.org>
.travis.yml | 15 +-
NEWS | 40 ++
RELEASE-NOTES | 200 ++++++++
bin/dispatch-conf | 11 +-
bin/eapi.sh | 4 +
bin/ebuild | 10 +-
bin/ebuild-helpers/doins | 3 +-
bin/ebuild.sh | 13 +-
bin/emerge-webrsync | 47 +-
bin/estrip | 41 +-
bin/glsa-check | 112 +++--
bin/helper-functions.sh | 7 +-
bin/install-qa-check.d/10ignored-flags | 2 +-
bin/install-qa-check.d/80libraries | 21 +-
bin/install-qa-check.d/95empty-dirs | 4 +-
bin/install.py | 24 +-
bin/isolated-functions.sh | 28 +-
bin/phase-functions.sh | 41 +-
bin/phase-helpers.sh | 119 ++---
bin/pid-ns-init | 2 +-
bin/quickpkg | 34 +-
bin/socks5-server.py | 2 +-
cnf/make.conf.example | 21 +-
cnf/make.globals | 10 +-
cnf/repos.conf | 8 +-
cnf/sets/portage.conf | 12 +-
lib/_emerge/Binpkg.py | 96 ++--
lib/_emerge/BinpkgVerifier.py | 4 +-
lib/_emerge/EbuildExecuter.py | 6 +-
lib/_emerge/EbuildPhase.py | 2 +-
lib/_emerge/PollScheduler.py | 6 +-
lib/_emerge/Scheduler.py | 17 +-
lib/_emerge/actions.py | 46 +-
lib/_emerge/create_depgraph_params.py | 39 ++
lib/_emerge/depgraph.py | 528 +++++++++++++--------
lib/_emerge/emergelog.py | 2 +-
lib/_emerge/main.py | 32 +-
lib/_emerge/resolver/backtracking.py | 20 +-
lib/_emerge/resolver/slot_collision.py | 17 +-
lib/portage/__init__.py | 31 +-
.../{sync/modules => _compat_upgrade}/__init__.py | 0
lib/portage/_compat_upgrade/default_locations.py | 93 ++++
lib/portage/_emirrordist/Config.py | 10 +-
lib/portage/_emirrordist/DeletionIterator.py | 38 +-
lib/portage/_emirrordist/DeletionTask.py | 47 +-
lib/portage/_emirrordist/FetchTask.py | 120 +++--
lib/portage/_emirrordist/main.py | 12 +
lib/portage/_sets/__init__.py | 14 +-
lib/portage/_sets/dbapi.py | 18 +-
lib/portage/cache/flat_hash.py | 4 +-
lib/portage/cache/mappings.py | 30 +-
lib/portage/const.py | 6 +-
lib/portage/dbapi/__init__.py | 9 +-
lib/portage/dbapi/bintree.py | 148 +++++-
lib/portage/dbapi/porttree.py | 27 +-
lib/portage/dbapi/vartree.py | 250 +++++++++-
lib/portage/dep/__init__.py | 244 ++++++----
lib/portage/dep/dep_check.py | 10 +
lib/portage/dep/soname/multilib_category.py | 51 +-
lib/portage/emaint/modules/binhost/binhost.py | 21 +-
lib/portage/emaint/modules/sync/sync.py | 6 +-
lib/portage/exception.py | 6 +-
lib/portage/glsa.py | 15 +-
lib/portage/locks.py | 6 +-
lib/portage/news.py | 5 +-
lib/portage/package/ebuild/_config/helper.py | 4 +-
.../package/ebuild/_config/special_env_vars.py | 9 +-
lib/portage/package/ebuild/_spawn_nofetch.py | 6 +-
lib/portage/package/ebuild/config.py | 41 +-
lib/portage/package/ebuild/doebuild.py | 54 +--
lib/portage/package/ebuild/fetch.py | 381 +++++++++++++--
lib/portage/process.py | 102 +++-
lib/portage/repository/config.py | 29 +-
lib/portage/sync/__init__.py | 5 +-
lib/portage/sync/controller.py | 5 +-
lib/portage/sync/modules/rsync/rsync.py | 7 +
lib/portage/sync/modules/webrsync/webrsync.py | 1 +
lib/portage/sync/syncbase.py | 13 +-
lib/portage/tests/dep/testAtom.py | 16 +-
lib/portage/tests/dep/test_use_reduce.py | 72 ++-
lib/portage/tests/ebuild/test_fetch.py | 476 +++++++++++++++++++
lib/portage/tests/emerge/test_emerge_slot_abi.py | 14 +-
lib/portage/tests/emerge/test_simple.py | 3 +-
lib/portage/tests/glsa/test_security_set.py | 2 +-
lib/portage/tests/news/test_NewsItem.py | 4 +-
lib/portage/tests/process/test_poll.py | 20 +-
lib/portage/tests/process/test_unshare_net.py | 38 ++
lib/portage/tests/resolver/ResolverPlayground.py | 17 +-
.../test_aggressive_backtrack_downgrade.py | 91 ++++
lib/portage/tests/resolver/test_autounmask.py | 39 +-
lib/portage/tests/resolver/test_blocker.py | 87 +++-
.../tests/resolver/test_circular_choices.py | 109 ++++-
lib/portage/tests/resolver/test_keywords.py | 15 +-
lib/portage/tests/resolver/test_slot_abi.py | 42 +-
.../tests/resolver/test_slot_abi_downgrade.py | 32 +-
lib/portage/tests/resolver/test_slot_collisions.py | 6 +-
.../resolver/test_slot_conflict_mask_update.py | 5 +-
.../resolver/test_slot_conflict_update_virt.py | 79 +++
.../resolver/test_slot_operator_autounmask.py | 22 +-
.../resolver/test_slot_operator_complete_graph.py | 2 +-
.../test_slot_operator_runtime_pkg_mask.py | 4 +-
lib/portage/tests/resolver/test_targetroot.py | 24 +-
.../resolver/test_virtual_minimize_children.py | 39 ++
lib/portage/tests/resolver/test_with_test_deps.py | 39 +-
lib/portage/tests/update/test_move_slot_ent.py | 18 +-
.../util/futures/asyncio/test_child_watcher.py | 19 +-
.../util/futures/asyncio/test_subprocess_exec.py | 36 +-
.../util/futures/asyncio/test_wakeup_fd_sigchld.py | 10 +-
lib/portage/tests/util/test_file_copier.py | 48 ++
lib/portage/tests/util/test_getconfig.py | 4 +-
lib/portage/update.py | 6 +-
lib/portage/util/_async/FileCopier.py | 26 +-
lib/portage/util/_compare_files.py | 103 ++++
lib/portage/util/_dyn_libs/LinkageMapELF.py | 5 +-
lib/portage/util/_eventloop/asyncio_event_loop.py | 5 +
lib/portage/util/_get_vm_info.py | 9 +-
lib/portage/util/_urlopen.py | 6 +-
lib/portage/util/_xattr.py | 6 +-
lib/portage/util/elf/constants.py | 10 +-
lib/portage/util/futures/_asyncio/__init__.py | 23 +-
lib/portage/util/install_mask.py | 8 +-
lib/portage/util/netlink.py | 98 ++++
lib/portage/util/socks5.py | 10 +-
lib/portage/xml/metadata.py | 16 +-
man/ebuild.5 | 299 +++++++-----
man/emerge.1 | 60 ++-
man/emirrordist.1 | 10 +
man/glsa-check.1 | 53 +++
man/make.conf.5 | 65 ++-
man/portage.5 | 37 +-
man/quickpkg.1 | 4 +-
misc/emerge-delta-webrsync | 32 +-
repoman/RELEASE-NOTES | 51 ++
repoman/cnf/linechecks/linechecks.yaml | 47 +-
repoman/cnf/qa_data/qa_data.yaml | 1 +
repoman/cnf/repository/qa_data.yaml | 1 +
repoman/lib/repoman/__init__.py | 4 +-
repoman/lib/repoman/actions.py | 15 +-
repoman/lib/repoman/argparser.py | 40 +-
repoman/lib/repoman/modules/linechecks/base.py | 5 +-
.../lib/repoman/modules/linechecks/controller.py | 12 +-
.../modules/linechecks/deprecated/inherit.py | 19 +-
repoman/lib/repoman/modules/linechecks/do/dosym.py | 6 +-
.../lib/repoman/modules/linechecks/eapi/checks.py | 10 +-
.../lib/repoman/modules/linechecks/emake/emake.py | 2 +-
.../modules/linechecks/gentoo_header/header.py | 51 +-
.../lib/repoman/modules/linechecks/phases/phase.py | 4 +-
.../repoman/modules/linechecks/portage/internal.py | 7 +-
.../repoman/modules/linechecks/quotes/quoteda.py | 2 +-
.../repoman/modules/linechecks/useless/dodoc.py | 2 +-
.../repoman/modules/linechecks/whitespace/blank.py | 2 +-
.../lib/repoman/modules/scan/depend/__init__.py | 3 +-
.../repoman/modules/scan/depend/_depend_checks.py | 14 +
repoman/lib/repoman/modules/scan/depend/profile.py | 9 +-
repoman/lib/repoman/modules/scan/ebuild/ebuild.py | 3 +-
.../modules/scan/metadata/ebuild_metadata.py | 4 +-
.../lib/repoman/modules/scan/metadata/restrict.py | 6 +-
repoman/lib/repoman/scanner.py | 9 +
repoman/lib/repoman/tests/commit/test_commitmsg.py | 2 +-
repoman/lib/repoman/tests/simple/test_simple.py | 1 +
repoman/man/repoman.1 | 9 +-
repoman/runtests | 6 +-
repoman/setup.py | 2 +-
runtests | 6 +-
setup.py | 6 +-
tox.ini | 8 +-
166 files changed, 4728 insertions(+), 1488 deletions(-)
diff --cc bin/phase-functions.sh
index fd17e6377,73f8cee9b..f98d78f8a
--- a/bin/phase-functions.sh
+++ b/bin/phase-functions.sh
@@@ -678,25 -594,9 +664,25 @@@ __dyn_install()
export _E_DOCDESTTREE_=""
__ebuild_phase src_install
+
+ if ( [[ " ${FEATURES} " == *" force-multilib "* ]] &&
is_auto-multilib ) ; then
+ _finalize_abi_install
+ cp "${T}"/environment
"${PORTAGE_BUILDDIR}"/build-info/environment.${LOOP_ABI} || die
+ fi
+ done
+ if [[ -d "${D}" ]]; then
+ if [[ " ${FEATURES} " == *" force-multilib "* ]]; then
+ if [[ ${CATEGORY}/${PN} == sys-devel/libtool ]] ; then
+ ewarn "Preserving libltdl.la because of
extensive usage"
+ ewarn "even in m4 macros of libtool"
+ else
+ find "${D}" -name '*.la' ! -exec grep -q
shouldnotlink=yes {} \; -exec rm {} \;
+ fi
+ fi
+
>> "$PORTAGE_BUILDDIR/.installed" || \
die "Failed to create $PORTAGE_BUILDDIR/.installed"
- __vecho ">>> Completed installing ${PF} into ${D}"
+ __vecho ">>> Completed installing ${CATEGORY}/${PF} into ${D}"
__vecho
__ebuild_phase post_src_install
diff --cc bin/phase-helpers.sh
index 07f4c68ce,b5691bd70..0a326b7d9
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@@ -237,10 -237,9 +237,10 @@@ use()
# Make sure we have this USE flag in IUSE, but exempt binary
# packages for API consumers like Entropy which do not require
# a full profile with IUSE_IMPLICIT and stuff (see bug #456830).
- elif [[ -n $PORTAGE_IUSE && -n $EBUILD_PHASE &&
- -n $PORTAGE_INTERNAL_CALLER ]] ; then
+ elif declare -f ___in_portage_iuse >/dev/null &&
+ [[ -n ${EBUILD_PHASE} && -n ${PORTAGE_INTERNAL_CALLER} ]] ; then
+ if ( [[ ! " ${FEATURES} " == *" force-multilib "* && $u ==
multilib ]] && \
- [[ ! $u =~ $PORTAGE_IUSE ]] ) ; then
+ if ! ___in_portage_iuse "${u}"; then
if [[ ${EMERGE_FROM} != binary &&
! ${EAPI} =~ ^(0|1|2|3|4|4-python|4-slot-abi)$
]] ; then
# This is only strict starting with EAPI 5,
since implicit IUSE