commit:     900023af32d8ef72e7c6069af67d513ccf50048a
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Jan  8 19:11:46 2020 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Jan  8 19:11:46 2020 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=900023af

Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix

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

 .travis.yml                                        |  18 +-
 NEWS                                               |  31 +
 RELEASE-NOTES                                      | 154 +++++
 bin/dispatch-conf                                  |  11 +-
 bin/eapi.sh                                        |  46 +-
 bin/ebuild                                         |  10 +-
 bin/ebuild-helpers/doins                           |   3 +-
 bin/ebuild.sh                                      |  33 +-
 bin/emerge-webrsync                                |  48 +-
 bin/glsa-check                                     | 112 ++--
 bin/helper-functions.sh                            |   7 +-
 bin/install.py                                     |  24 +-
 bin/isolated-functions.sh                          |  18 +-
 bin/phase-functions.sh                             |  28 +-
 bin/phase-helpers.sh                               | 103 ++--
 bin/pid-ns-init                                    |   2 +-
 bin/quickpkg                                       |  34 +-
 bin/socks5-server.py                               |   2 +-
 cnf/make.globals                                   |   4 +-
 cnf/repos.conf                                     |   6 +-
 cnf/sets/portage.conf                              |  12 +-
 doc/package/ebuild.docbook                         |   1 -
 doc/package/ebuild/eapi/5-hdepend.docbook          |  32 --
 doc/portage.docbook                                |   1 -
 lib/_emerge/Binpkg.py                              |  96 ++--
 lib/_emerge/EbuildExecuter.py                      |   6 +-
 lib/_emerge/EbuildPhase.py                         |   2 +-
 lib/_emerge/Package.py                             |   6 +-
 lib/_emerge/Scheduler.py                           |  17 +-
 lib/_emerge/actions.py                             |  45 +-
 lib/_emerge/create_depgraph_params.py              |  39 ++
 lib/_emerge/depgraph.py                            | 628 +++++++++++++--------
 lib/_emerge/main.py                                |  32 +-
 lib/_emerge/resolver/backtracking.py               |  20 +-
 lib/_emerge/resolver/slot_collision.py             |  17 +-
 lib/portage/__init__.py                            |   5 +-
 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/metadata.py                      |   2 +-
 lib/portage/const.py                               |   6 +-
 lib/portage/dbapi/__init__.py                      |   5 +-
 lib/portage/dbapi/bintree.py                       | 155 ++++-
 lib/portage/dbapi/porttree.py                      |   2 +-
 lib/portage/dbapi/vartree.py                       | 233 +++++++-
 lib/portage/dep/__init__.py                        | 152 +++--
 lib/portage/dep/_slot_operator.py                  |   3 -
 lib/portage/dep/dep_check.py                       |  10 +
 lib/portage/eapi.py                                |  18 +-
 lib/portage/emaint/modules/binhost/binhost.py      |  21 +-
 lib/portage/exception.py                           |   6 +-
 lib/portage/glsa.py                                |  15 +-
 lib/portage/locks.py                               |   6 +-
 .../package/ebuild/_config/special_env_vars.py     |   4 +-
 lib/portage/package/ebuild/config.py               |  27 +-
 lib/portage/package/ebuild/doebuild.py             |  17 +-
 lib/portage/package/ebuild/fetch.py                | 286 +++++++++-
 lib/portage/process.py                             | 100 +++-
 lib/portage/repository/config.py                   |  14 +-
 lib/portage/sync/modules/rsync/rsync.py            |   7 +
 lib/portage/sync/modules/webrsync/webrsync.py      |   1 +
 lib/portage/sync/syncbase.py                       |  10 +-
 lib/portage/tests/dep/test_use_reduce.py           |  72 ++-
 lib/portage/tests/ebuild/test_fetch.py             | 252 ++++++++-
 lib/portage/tests/emerge/test_simple.py            |   3 +-
 lib/portage/tests/glsa/test_security_set.py        |   2 +-
 lib/portage/tests/process/test_unshare_net.py      |  38 ++
 lib/portage/tests/resolver/ResolverPlayground.py   |  13 +
 .../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_merge_order.py     |  28 +-
 .../resolver/test_slot_conflict_mask_update.py     |   5 +-
 .../resolver/test_slot_conflict_update_virt.py     |  79 +++
 .../resolver/test_slot_operator_autounmask.py      |   4 +-
 .../resolver/test_slot_operator_complete_graph.py  |   2 +-
 .../test_slot_operator_runtime_pkg_mask.py         |   4 +-
 .../resolver/test_virtual_minimize_children.py     |  39 ++
 lib/portage/tests/resolver/test_with_test_deps.py  |  39 +-
 .../util/futures/asyncio/test_child_watcher.py     |  19 +-
 .../util/futures/asyncio/test_subprocess_exec.py   |  36 +-
 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/_urlopen.py                       |   6 +-
 lib/portage/util/_xattr.py                         |   6 +-
 lib/portage/util/futures/_asyncio/__init__.py      |   5 +-
 lib/portage/util/netlink.py                        |  98 ++++
 man/ebuild.5                                       | 194 +++++--
 man/emerge.1                                       |  63 ++-
 man/emirrordist.1                                  |  10 +
 man/glsa-check.1                                   |  53 ++
 man/make.conf.5                                    |  38 +-
 misc/emerge-delta-webrsync                         |  33 +-
 repoman/RELEASE-NOTES                              |  28 +
 repoman/cnf/linechecks/linechecks.yaml             |  46 +-
 repoman/cnf/qa_data/qa_data.yaml                   |   1 +
 repoman/cnf/repository/linechecks.yaml             |   1 -
 repoman/cnf/repository/qa_data.yaml                |   1 +
 repoman/lib/repoman/actions.py                     |  15 +-
 repoman/lib/repoman/argparser.py                   |   7 +
 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 +-
 .../repoman/modules/linechecks/patches/patches.py  |   2 +-
 .../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 +-
 .../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                                           |   4 +-
 tox.ini                                            |   8 +-
 136 files changed, 3799 insertions(+), 1141 deletions(-)

diff --cc .travis.yml
index 4f94e36a3,5123141ac..dc8e2857c
--- a/.travis.yml
+++ b/.travis.yml
@@@ -19,24 -12,11 +12,25 @@@ install
  
  script:
      - printf "[build_ext]\nportage-ext-modules=true" >> setup.cfg
 +    - find . -type f -exec
 +          sed -e "s|@PORTAGE_EPREFIX@||"
 +              -e "s|@PORTAGE_BASE@|${PWD}|"
 +              -e "s|@PORTAGE_MV@|$(type -P mv)|"
 +              -e "s|@PORTAGE_BASH@|$(type -P bash)|"
 +              -e "s|@PREFIX_PORTAGE_PYTHON@|$(type -P python)|"
 +              -e "s|@EXTRA_PATH@|/usr/sbin:/sbin|"
 +              -e "s|@portagegroup@|$(id -gn)|"
 +              -e "s|@portageuser@|$(id -un)|"
 +              -e "s|@rootuser@|$(id -un)|"
 +              -e "s|@rootuid@|$(id -u)|"
 +              -e "s|@rootgid@|$(id -g)|"
 +              -e "s|@sysconfdir@|/etc|"
 +              -i '{}' +
      - ./setup.py test
      - ./setup.py install --root=/tmp/install-root
-     - if [[ ${TRAVIS_PYTHON_VERSION} == ?.? ]]; then
-         tox -e py${TRAVIS_PYTHON_VERSION/./};
+     - if [[ ${TRAVIS_PYTHON_VERSION/-dev/} == ?.? ]]; then
+         TOX_PYTHON_VERSION=${TRAVIS_PYTHON_VERSION/-dev/};
+         tox -e py${TOX_PYTHON_VERSION/./};
        else
          tox -e ${TRAVIS_PYTHON_VERSION};
        fi
diff --cc bin/dispatch-conf
index fb16cb63f,62ab3f6cc..c05215fc3
--- a/bin/dispatch-conf
+++ b/bin/dispatch-conf
@@@ -1,5 -1,5 +1,5 @@@
 -#!/usr/bin/python -b
 +#!@PREFIX_PORTAGE_PYTHON@ -b
- # Copyright 1999-2017 Gentoo Foundation
+ # Copyright 1999-2019 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  #
diff --cc bin/ebuild
index 9e5c3b68e,460aa0fd1..a57dd4941
--- a/bin/ebuild
+++ b/bin/ebuild
@@@ -1,5 -1,5 +1,5 @@@
 -#!/usr/bin/python -b
 +#!@PREFIX_PORTAGE_PYTHON@ -b
- # Copyright 1999-2018 Gentoo Foundation
+ # Copyright 1999-2019 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  from __future__ import print_function
diff --cc bin/ebuild-helpers/doins
index cf843bce5,24fe48121..825a421af
--- a/bin/ebuild-helpers/doins
+++ b/bin/ebuild-helpers/doins
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2018 Gentoo Foundation
+ # Copyright 1999-2019 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/emerge-webrsync
index f9da96ffa,db39b272e..6ac7e3328
--- a/bin/emerge-webrsync
+++ b/bin/emerge-webrsync
@@@ -50,16 -50,10 +50,16 @@@ eval "$("${portageq}" envvar -v DISTDI
        FETCHCOMMAND GENTOO_MIRRORS \
        PORTAGE_BIN_PATH PORTAGE_CONFIGROOT PORTAGE_GPG_DIR \
        PORTAGE_NICENESS PORTAGE_REPOSITORIES PORTAGE_RSYNC_EXTRA_OPTS \
-       PORTAGE_RSYNC_OPTS PORTAGE_TMPDIR \
+       PORTAGE_RSYNC_OPTS PORTAGE_TEMP_GPG_DIR PORTAGE_TMPDIR \
 -      USERLAND http_proxy ftp_proxy)"
 +      USERLAND http_proxy ftp_proxy \
 +      PORTAGE_USER PORTAGE_GROUP)"
  export http_proxy ftp_proxy
  
 +# PREFIX LOCAL: use Prefix servers, just because we want this and infra
 +# can't support us yet
 +GENTOO_MIRRORS="http://rsync.prefix.bitzolder.nl";
 +# END PREFIX LOCAL
 +
  source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1
  
  repo_name=gentoo
diff --cc bin/glsa-check
index 470003215,eff01cf31..f9dae110f
--- a/bin/glsa-check
+++ b/bin/glsa-check
@@@ -1,10 -1,11 +1,11 @@@
 -#!/usr/bin/python -b
 +#!@PREFIX_PORTAGE_PYTHON@ -b
- # Copyright 2008-2014 Gentoo Foundation
+ # Copyright 1999-2019 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
- from __future__ import print_function
+ from __future__ import print_function, unicode_literals
  
  import argparse
+ import re
  import sys
  import codecs
  from functools import reduce
diff --cc bin/isolated-functions.sh
index dc0489093,e8d41fd64..efc377575
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2018 Gentoo Foundation
+ # Copyright 1999-2019 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  source "${PORTAGE_BIN_PATH}/eapi.sh" || exit 1
diff --cc bin/phase-helpers.sh
index 74de140e7,020862ba0..d0ab03712
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@@ -1,5 -1,5 +1,5 @@@
 -#!/bin/bash
 +#!@PORTAGE_BASH@
- # Copyright 1999-2018 Gentoo Foundation
+ # Copyright 1999-2019 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 2a303835a,3d7df2437..b2dfc07c1
--- a/lib/_emerge/Package.py
+++ b/lib/_emerge/Package.py
@@@ -48,10 -48,10 +48,10 @@@ 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', 'HDEPEND', 'PDEPEND', 'RDEPEND')
-       _buildtime_keys = ('BDEPEND', 'DEPEND', 'HDEPEND')
+       _dep_keys = ('BDEPEND', 'DEPEND', 'PDEPEND', 'RDEPEND')
+       _buildtime_keys = ('BDEPEND', 'DEPEND')
        _runtime_keys = ('PDEPEND', 'RDEPEND')
        _use_conditional_misc_keys = ('LICENSE', 'PROPERTIES', 'RESTRICT')
        UNKNOWN_REPO = _unknown_repo
diff --cc lib/portage/dbapi/bintree.py
index 3f2f0052f,311c9a78a..2f6c4f343
--- a/lib/portage/dbapi/bintree.py
+++ b/lib/portage/dbapi/bintree.py
@@@ -87,10 -94,10 +94,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", "HDEPEND", "IUSE", "KEYWORDS",
+                       "DEPEND", "EAPI", "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 = {}
@@@ -315,13 -394,13 +394,13 @@@ class binarytree(object)
                        self._pkgindex_aux_keys = \
                                ["BASE_URI", "BDEPEND", "BUILD_ID", 
"BUILD_TIME", "CHOST",
                                "DEFINED_PHASES", "DEPEND", "DESCRIPTION", 
"EAPI",
-                               "HDEPEND", "IUSE", "KEYWORDS", "LICENSE", 
"PDEPEND",
+                               "IUSE", "KEYWORDS", "LICENSE", "PDEPEND",
                                "PKGINDEX_URI", "PROPERTIES", "PROVIDES",
                                "RDEPEND", "repository", "REQUIRES", "RESTRICT",
 -                              "SIZE", "SLOT", "USE"]
 +                              "SIZE", "SLOT", "USE", "EPREFIX"]
                        self._pkgindex_aux_keys = list(self._pkgindex_aux_keys)
                        self._pkgindex_use_evaluated_keys = \
-                               ("BDEPEND", "DEPEND", "HDEPEND", "LICENSE", 
"RDEPEND",
+                               ("BDEPEND", "DEPEND", "LICENSE", "RDEPEND",
                                "PDEPEND", "PROPERTIES", "RESTRICT")
                        self._pkgindex_header = None
                        self._pkgindex_header_keys = set([
diff --cc lib/portage/package/ebuild/fetch.py
index d062ec77c,7ab054874..5f6c40146
--- a/lib/portage/package/ebuild/fetch.py
+++ b/lib/portage/package/ebuild/fetch.py
@@@ -32,10 -42,10 +42,11 @@@ portage.proxy.lazyimport.lazyimport(glo
  from portage import os, selinux, shutil, _encodings, \
        _movefile, _shell_quote, _unicode_encode
  from portage.checksum import (get_valid_checksum_keys, perform_md5, 
verify_all,
-       _filter_unaccelarated_hashes, _hash_filter, _apply_hash_filter)
+       _filter_unaccelarated_hashes, _hash_filter, _apply_hash_filter,
+       checksum_str)
  from portage.const import BASH_BINARY, CUSTOM_MIRRORS_FILE, \
        GLOBAL_CONFIG_PATH
 +from portage.const import rootgid
  from portage.data import portage_gid, portage_uid, secpass, userpriv_groups
  from portage.exception import FileNotFound, OperationNotPermitted, \
        PortageException, TryAgain

Reply via email to