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

Reply via email to