From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 226ED138334 for ; Thu, 26 Dec 2019 11:56:37 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E81D9E0D34; Thu, 26 Dec 2019 11:56:35 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id BE759E0D34 for ; Thu, 26 Dec 2019 11:56:35 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 35C4834DBA1 for ; Thu, 26 Dec 2019 11:56:34 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id B865235 for ; Thu, 26 Dec 2019 11:56:32 +0000 (UTC) From: "Thomas Sachau" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Thomas Sachau" Message-ID: <1577361334.a757c986855dee5574a1b773f45d3d976d55edd0.tommy@gentoo> Subject: [gentoo-commits] proj/portage:multilib commit in: / X-VCS-Repository: proj/portage X-VCS-Committer: tommy X-VCS-Committer-Name: Thomas Sachau X-VCS-Revision: a757c986855dee5574a1b773f45d3d976d55edd0 X-VCS-Branch: multilib Date: Thu, 26 Dec 2019 11:56:32 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 31f8444d-9370-4b3f-a2d2-3bd912285934 X-Archives-Hash: eeb8b48e43831973253411fbdfa5d5b0 commit: a757c986855dee5574a1b773f45d3d976d55edd0 Author: Thomas Sachau gentoo org> AuthorDate: Thu Dec 26 11:49:34 2019 +0000 Commit: Thomas Sachau gentoo 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 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