commit:     d9a23f21950ac8dbd49844ea30aaceee5e9dc983
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  6 07:09:18 2021 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Jul  6 07:10:04 2021 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=d9a23f21

Merge tag 'portage-3.0.21' into prefix

portage-3.0.21

Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 .github/workflows/ci.yml                           |   2 +-
 NEWS                                               |  12 ++
 README                                             |   2 +-
 RELEASE-NOTES                                      |  18 +++
 bin/eapi.sh                                        |  76 ++++++++-
 bin/ebuild-helpers/doconfd                         |   8 +-
 bin/ebuild-helpers/doenvd                          |   8 +-
 bin/ebuild-helpers/doheader                        |   8 +-
 bin/ebuild-helpers/doinitd                         |   9 +-
 bin/ebuild-helpers/dosym                           |  67 +++++++-
 bin/ebuild-ipc.py                                  |  26 ++-
 bin/ebuild.sh                                      |  85 +++++++---
 bin/estrip                                         |  14 +-
 bin/install-qa-check.d/10executable-issues         |   2 +-
 bin/install-qa-check.d/10ignored-flags             |   4 +-
 bin/install-qa-check.d/80libraries                 |   2 +-
 bin/isolated-functions.sh                          |   6 +-
 bin/misc-functions.sh                              |  13 +-
 bin/phase-functions.sh                             |  23 ++-
 bin/phase-helpers.sh                               |  62 +++++--
 bin/portageq                                       |   6 +-
 bin/regenworld                                     |   7 +-
 cnf/sets/portage.conf                              |   1 +
 lib/_emerge/EbuildBuild.py                         |  25 ++-
 lib/_emerge/EbuildPhase.py                         |   5 +-
 lib/_emerge/Package.py                             |   8 +-
 lib/_emerge/PackageUninstall.py                    |   2 +-
 lib/_emerge/Scheduler.py                           |  36 +++--
 lib/_emerge/actions.py                             |  30 +++-
 lib/_emerge/depgraph.py                            |   7 +-
 lib/_emerge/main.py                                |   4 +-
 lib/_emerge/unmerge.py                             |  19 ++-
 lib/portage/__init__.py                            |   4 +-
 lib/portage/_emirrordist/FetchIterator.py          |  68 ++++----
 lib/portage/_sets/dbapi.py                         |   8 +-
 lib/portage/cache/metadata.py                      |   4 +-
 lib/portage/const.py                               |   4 +-
 lib/portage/dbapi/bintree.py                       |   7 +-
 lib/portage/dbapi/porttree.py                      |  12 +-
 lib/portage/dbapi/vartree.py                       |   2 +-
 lib/portage/dep/__init__.py                        |   8 +-
 lib/portage/dispatch_conf.py                       |   4 +-
 lib/portage/eapi.py                                |  15 +-
 .../package/ebuild/_config/special_env_vars.py     |   7 +-
 lib/portage/package/ebuild/config.py               |  24 ++-
 lib/portage/package/ebuild/doebuild.py             |  34 +++-
 lib/portage/package/ebuild/fetch.py                |  87 ++++++----
 lib/portage/tests/__init__.py                      | 127 ++++++++-------
 lib/portage/tests/ebuild/test_shell_quote.py       | 126 +++++++++++++++
 lib/portage/tests/emerge/test_simple.py            |  10 +-
 lib/portage/tests/resolver/ResolverPlayground.py   |  39 ++++-
 lib/portage/tests/resolver/test_unmerge_order.py   | 179 +++++++++++++++++++++
 lib/portage/update.py                              |  17 +-
 lib/portage/util/_async/PipeLogger.py              |  35 ++--
 lib/portage/util/env_update.py                     |   5 +
 man/ebuild.5                                       |  33 +++-
 man/make.conf.5                                    |  34 +++-
 man/portage.5                                      |  33 +++-
 repoman/lib/repoman/tests/__init__.py              |  18 +--
 repoman/setup.py                                   |  47 ++++--
 setup.py                                           | 125 +++++++++++---
 61 files changed, 1360 insertions(+), 353 deletions(-)

diff --cc bin/eapi.sh
index 26df37328,362cc07c0..1aaaa19e8
--- a/bin/eapi.sh
+++ b/bin/eapi.sh
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 2012-2018 Gentoo Foundation
+ # Copyright 2012-2021 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  # PHASES
diff --cc bin/ebuild-helpers/doconfd
index e32c9d5c0,572629a54..a1b8146f7
--- a/bin/ebuild-helpers/doconfd
+++ b/bin/ebuild-helpers/doconfd
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2018 Gentoo Foundation
+ # Copyright 1999-2021 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1
diff --cc bin/ebuild-helpers/doenvd
index 4e8068659,f1310c848..1d2c90b8c
--- a/bin/ebuild-helpers/doenvd
+++ b/bin/ebuild-helpers/doenvd
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2018 Gentoo Foundation
+ # Copyright 1999-2021 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1
diff --cc bin/ebuild-helpers/doheader
index a87536c33,2f21a5a2a..bf11ecdb0
--- a/bin/ebuild-helpers/doheader
+++ b/bin/ebuild-helpers/doheader
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2018 Gentoo Foundation
+ # Copyright 1999-2021 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1
diff --cc bin/ebuild-helpers/doinitd
index 883858320,1863aedac..ad8bb0347
--- a/bin/ebuild-helpers/doinitd
+++ b/bin/ebuild-helpers/doinitd
@@@ -1,7 -1,9 +1,9 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2010 Gentoo Foundation
+ # Copyright 1999-2021 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
+ source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1
+ 
  if [[ $# -lt 1 ]] ; then
        source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1
        __helpers_die "${0##*/}: at least one argument needed"
diff --cc bin/ebuild-ipc.py
index c523572a7,fa6ac4395..a0735fee5
--- a/bin/ebuild-ipc.py
+++ b/bin/ebuild-ipc.py
@@@ -1,5 -1,5 +1,5 @@@
 -#!/usr/bin/python -b
 +#!@PREFIX_PORTAGE_PYTHON@ -b
- # Copyright 2010-2018 Gentoo Foundation
+ # Copyright 2010-2021 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  #
  # This is a helper which ebuild processes can use
diff --cc bin/ebuild.sh
index dddaada87,5916bedfc..9f0eb24a2
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2018 Gentoo Foundation
+ # Copyright 1999-2021 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  # Prevent aliases from causing portage to act inappropriately.
diff --cc bin/isolated-functions.sh
index c16f0c42f,b495ae6c7..5232fcf7f
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2020 Gentoo Authors
+ # Copyright 1999-2021 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  source "${PORTAGE_BIN_PATH}/eapi.sh" || exit 1
diff --cc bin/misc-functions.sh
index ed35414b0,bd1fb7553..53a15aef7
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@@ -240,15 -201,18 +240,20 @@@ install_qa_check_elf() 
                        echo "${QA_SONAME_NO_SYMLINK}" > \
                        "${PORTAGE_BUILDDIR}"/build-info/QA_SONAME_NO_SYMLINK
  
-               if has binchecks ${RESTRICT} && \
-                       [ -s "${PORTAGE_BUILDDIR}/build-info/NEEDED.ELF.2" ] ; 
then
-                       eqawarn "QA Notice: RESTRICT=binchecks prevented checks 
on these ELF files:"
-                       eqawarn "$(while read -r x; do x=${x#*;} ; x=${x%%;*} ; 
echo "${x#${EPREFIX}}" ; done < "${PORTAGE_BUILDDIR}"/build-info/NEEDED.ELF.2)"
+               if [[ -s ${PORTAGE_BUILDDIR}/build-info/NEEDED.ELF.2 ]]; then
+                       if grep -qs '<stabilize-allarches/>' 
"${EBUILD%/*}/metadata.xml"; then
+                               eqawarn "QA Notice: <stabilize-allarches/> 
found on package installing ELF files"
+                       fi
+ 
+                       if has binchecks ${PORTAGE_RESTRICT}; then
+                               eqawarn "QA Notice: RESTRICT=binchecks 
prevented checks on these ELF files:"
+                               eqawarn "$(while read -r x; do x=${x#*;} ; 
x=${x%%;*} ; echo "${x#${EPREFIX}}" ; done < 
"${PORTAGE_BUILDDIR}"/build-info/NEEDED.ELF.2)"
+                       fi
                fi
        fi
 +}
  
 +install_qa_check_misc() {
        # Portage regenerates this on the installed system.
        rm -f "${ED%/}"/usr/share/info/dir{,.gz,.bz2} || die "rm failed!"
  }
diff --cc bin/phase-functions.sh
index 78bb5caca,0bb5d86e1..9774b9dff
--- a/bin/phase-functions.sh
+++ b/bin/phase-functions.sh
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2019 Gentoo Authors
+ # Copyright 1999-2021 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  # Hardcoded bash lists are needed for backward compatibility with
diff --cc bin/phase-helpers.sh
index a1b7bfe05,94f4f24f2..95f55780d
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2020 Gentoo Authors
+ # Copyright 1999-2021 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  if ___eapi_has_DESTTREE_INSDESTTREE; then
diff --cc lib/_emerge/Package.py
index f970d87f5,e8809a89d..40e595f36
--- a/lib/_emerge/Package.py
+++ b/lib/_emerge/Package.py
@@@ -36,11 -36,11 +36,11 @@@ class Package(Task)
                "LICENSE", "MD5", "PDEPEND", "PROVIDES",
                "RDEPEND", "repository", "REQUIRED_USE",
                "PROPERTIES", "REQUIRES", "RESTRICT", "SIZE",
 -              "SLOT", "USE", "_mtime_"]
 +              "SLOT", "USE", "_mtime_", "EPREFIX"]
  
-       _dep_keys = ('BDEPEND', 'DEPEND', 'PDEPEND', 'RDEPEND')
+       _dep_keys = ('BDEPEND', 'DEPEND', 'IDEPEND', 'PDEPEND', 'RDEPEND')
        _buildtime_keys = ('BDEPEND', 'DEPEND')
-       _runtime_keys = ('PDEPEND', 'RDEPEND')
+       _runtime_keys = ('IDEPEND', 'PDEPEND', 'RDEPEND')
        _use_conditional_misc_keys = ('LICENSE', 'PROPERTIES', 'RESTRICT')
        UNKNOWN_REPO = _unknown_repo
  
diff --cc lib/portage/const.py
index 285e262cf,896771e14..892766c68
--- a/lib/portage/const.py
+++ b/lib/portage/const.py
@@@ -1,12 -1,7 +1,12 @@@
  # portage: Constants
- # Copyright 1998-2019 Gentoo Authors
+ # Copyright 1998-2021 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
 +# ===========================================================================
 +# autotool supplied constants.
 +# ===========================================================================
 +from portage.const_autotool import *
 +
  import os
  
  # ===========================================================================
diff --cc lib/portage/dbapi/bintree.py
index 6839a7dd9,cb21a8ee5..7e81b7879
--- a/lib/portage/dbapi/bintree.py
+++ b/lib/portage/dbapi/bintree.py
@@@ -83,10 -83,10 +83,10 @@@ class bindbapi(fakedbapi)
                # Selectively cache metadata in order to optimize dep matching.
                self._aux_cache_keys = set(
                        ["BDEPEND", "BUILD_ID", "BUILD_TIME", "CHOST", 
"DEFINED_PHASES",
-                       "DEPEND", "EAPI", "IUSE", "KEYWORDS",
+                       "DEPEND", "EAPI", "IDEPEND", "IUSE", "KEYWORDS",
                        "LICENSE", "MD5", "PDEPEND", "PROPERTIES",
                        "PROVIDES", "RDEPEND", "repository", "REQUIRES", 
"RESTRICT",
 -                      "SIZE", "SLOT", "USE", "_mtime_"
 +                      "SIZE", "SLOT", "USE", "_mtime_", "EPREFIX"
                        ])
                self._aux_cache_slot_dict = 
slot_dict_class(self._aux_cache_keys)
                self._aux_cache = {}
@@@ -384,13 -384,13 +384,13 @@@ class binarytree
                        self._pkgindex_aux_keys = \
                                ["BASE_URI", "BDEPEND", "BUILD_ID", 
"BUILD_TIME", "CHOST",
                                "DEFINED_PHASES", "DEPEND", "DESCRIPTION", 
"EAPI", "FETCHCOMMAND",
-                               "IUSE", "KEYWORDS", "LICENSE", "PDEPEND",
+                               "IDEPEND", "IUSE", "KEYWORDS", "LICENSE", 
"PDEPEND",
                                "PKGINDEX_URI", "PROPERTIES", "PROVIDES",
                                "RDEPEND", "repository", "REQUIRES", 
"RESTRICT", "RESUMECOMMAND",
 -                              "SIZE", "SLOT", "USE"]
 +                              "SIZE", "SLOT", "USE", "EPREFIX"]
                        self._pkgindex_aux_keys = list(self._pkgindex_aux_keys)
                        self._pkgindex_use_evaluated_keys = \
-                               ("BDEPEND", "DEPEND", "LICENSE", "RDEPEND",
+                               ("BDEPEND", "DEPEND", "IDEPEND", "LICENSE", 
"RDEPEND",
                                "PDEPEND", "PROPERTIES", "RESTRICT")
                        self._pkgindex_header = None
                        self._pkgindex_header_keys = set([

Reply via email to