commit:     f6230e5caf431d35944fa927827fa97ac596251f
Author:     Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 18 12:00:32 2018 +0000
Commit:     Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
CommitDate: Thu Jan 18 12:00:32 2018 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=f6230e5c

sys-apps/portage: rebase prefix-chaining patch

Closes: https://bugs.gentoo.org/642456
Package-Manager: Portage-2.3.19, Repoman-2.3.6

 .../files/portage-2.3.18-prefix-chaining.patch     | 90 ++++++++++++++--------
 1 file changed, 60 insertions(+), 30 deletions(-)

diff --git a/sys-apps/portage/files/portage-2.3.18-prefix-chaining.patch 
b/sys-apps/portage/files/portage-2.3.18-prefix-chaining.patch
index 1c2537eb00..728b3261ba 100644
--- a/sys-apps/portage/files/portage-2.3.18-prefix-chaining.patch
+++ b/sys-apps/portage/files/portage-2.3.18-prefix-chaining.patch
@@ -1,10 +1,8 @@
-From: [email protected]
+From 2ce322b10b0f1971b174067ca9dac373322e4035 Mon Sep 17 00:00:00 2001
 From: Michael Haubenwallner <[email protected]>
 Date: Thu, 23 Mar 2017 13:52:32 +0100
 Subject: [PATCH] add prefix-chaining support
 
-updated for 2.3.18
-
 ---
  bin/install-qa-check.d/05prefix                    | 30 ++++++-
  bin/phase-helpers.sh                               | 28 ++++++
@@ -23,6 +21,8 @@ updated for 2.3.18
  pym/portage/util/_dyn_libs/LinkageMapELF.py        |  4 +-
  15 files changed, 376 insertions(+), 47 deletions(-)
 
+diff --git a/bin/install-qa-check.d/05prefix b/bin/install-qa-check.d/05prefix
+index 32561e263..0c1147367 100644
 --- a/bin/install-qa-check.d/05prefix
 +++ b/bin/install-qa-check.d/05prefix
 @@ -79,16 +79,42 @@ install_qa_check_prefix() {
@@ -70,6 +70,8 @@ updated for 2.3.18
                                continue
                        else
                                # this is definitely wrong: script in $PATH and 
invalid shebang
+diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
+index 2cac6f426..b7b5c8ce6 100644
 --- a/bin/phase-helpers.sh
 +++ b/bin/phase-helpers.sh
 @@ -868,6 +868,10 @@ has_version() {
@@ -149,6 +151,8 @@ updated for 2.3.18
                retval=$?
                [[ -n ${output} ]] && echo "${output}"
                case "${retval}" in
+diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
+index 1d37d0ece..2b185ef73 100644
 --- a/pym/_emerge/actions.py
 +++ b/pym/_emerge/actions.py
 @@ -39,7 +39,7 @@ from portage import os
@@ -160,7 +164,7 @@ updated for 2.3.18
  from portage.const import GLOBAL_CONFIG_PATH, VCS_DIRS, 
_DEPCLEAN_LIB_CHECK_DEFAULT
  from portage.const import SUPPORTED_BINPKG_FORMATS, TIMESTAMP_FORMAT
  from portage.dbapi.dep_expand import dep_expand
-@@ -65,6 +65,7 @@ from portage.util.SlotObject import Slot
+@@ -65,6 +65,7 @@ from portage.util.SlotObject import SlotObject
  from portage.util._async.run_main_scheduler import run_main_scheduler
  from portage.util._async.SchedulerInterface import SchedulerInterface
  from portage.util._eventloop.global_event_loop import global_event_loop
@@ -168,7 +172,7 @@ updated for 2.3.18
  from portage._global_updates import _global_updates
  from portage.sync.old_tree_timestamp import old_tree_timestamp_warn
  from portage.localization import _
-@@ -2659,6 +2660,9 @@ def missing_sets_warning(root_config, mi
+@@ -2659,6 +2660,9 @@ def missing_sets_warning(root_config, missing_sets):
        if portage.const.EPREFIX:
                global_config_path = os.path.join(portage.const.EPREFIX,
                                portage.const.GLOBAL_CONFIG_PATH.lstrip(os.sep))
@@ -178,6 +182,8 @@ updated for 2.3.18
        msg.append("        This usually means that '%s'" % \
                (os.path.join(global_config_path, "sets/portage.conf"),))
        msg.append("        is missing or corrupt.")
+diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
+index 8d00f93df..fe317f119 100644
 --- a/pym/_emerge/depgraph.py
 +++ b/pym/_emerge/depgraph.py
 @@ -3239,15 +3239,15 @@ class depgraph(object):
@@ -200,18 +206,17 @@ updated for 2.3.18
                                self._priority(buildtime=True,
                                optional=(pkg.built or ignore_hdepend_deps),
                                ignored=ignore_hdepend_deps)),
-@@ -3255,8 +3255,8 @@ class depgraph(object):
+@@ -3255,7 +3255,8 @@ class depgraph(object):
  
                debug = "--debug" in self._frozen_config.myopts
  
 -              for dep_root, dep_string, dep_priority in deps:
--                              if not dep_string:
 +              for dep_root, dep_type, dep_priority in deps:
-+                              if not dep_string:
++                              dep_string = edepend[dep_type]
+                               if not dep_string:
                                        continue
                                if debug:
-                                       writemsg_level("\nParent:    %s\n" % 
(pkg,),
-@@ -3293,7 +3293,7 @@ class depgraph(object):
+@@ -3293,7 +3294,7 @@ class depgraph(object):
  
                                try:
                                        dep_string = 
list(self._queue_disjunctive_deps(
@@ -220,7 +225,7 @@ updated for 2.3.18
                                except portage.exception.InvalidDependString as 
e:
                                        if pkg.installed:
                                                
self._dynamic_config._masked_installed.add(pkg)
-@@ -3308,14 +3308,14 @@ class depgraph(object):
+@@ -3308,14 +3309,14 @@ class depgraph(object):
  
                                if not self._add_pkg_dep_string(
                                        pkg, dep_root, dep_priority, dep_string,
@@ -237,7 +242,7 @@ updated for 2.3.18
                _autounmask_backup = self._dynamic_config._autounmask
                if dep_priority.optional or dep_priority.ignored:
                        # Temporarily disable autounmask for deps that
-@@ -3324,7 +3324,7 @@ class depgraph(object):
+@@ -3324,7 +3325,7 @@ class depgraph(object):
                try:
                        return self._wrapped_add_pkg_dep_string(
                                pkg, dep_root, dep_priority, dep_string,
@@ -246,7 +251,7 @@ updated for 2.3.18
                finally:
                        self._dynamic_config._autounmask = _autounmask_backup
  
-@@ -3360,7 +3360,7 @@ class depgraph(object):
+@@ -3360,7 +3361,7 @@ class depgraph(object):
                        not slot_operator_rebuild
  
        def _wrapped_add_pkg_dep_string(self, pkg, dep_root, dep_priority,
@@ -255,7 +260,7 @@ updated for 2.3.18
                if isinstance(pkg.depth, int):
                        depth = pkg.depth + 1
                else:
-@@ -3384,7 +3384,7 @@ class depgraph(object):
+@@ -3384,7 +3385,7 @@ class depgraph(object):
                try:
                        selected_atoms = self._select_atoms(dep_root,
                                dep_string, myuse=self._pkg_use_enabled(pkg), 
parent=pkg,
@@ -264,7 +269,7 @@ updated for 2.3.18
                except portage.exception.InvalidDependString:
                        if pkg.installed:
                                self._dynamic_config._masked_installed.add(pkg)
-@@ -3691,7 +3691,7 @@ class depgraph(object):
+@@ -3691,7 +3692,7 @@ class depgraph(object):
                                        child_pkgs.sort()
                                yield (atom, child_pkgs[-1])
  
@@ -273,7 +278,7 @@ updated for 2.3.18
                """
                Queue disjunctive (virtual and ||) deps in 
self._dynamic_config._dep_disjunctive_stack.
                Yields non-disjunctive deps. Raises InvalidDependString when
-@@ -3700,33 +3700,33 @@ class depgraph(object):
+@@ -3700,33 +3701,33 @@ class depgraph(object):
                for x in dep_struct:
                        if isinstance(x, list):
                                if x and x[0] == "||":
@@ -314,7 +319,7 @@ updated for 2.3.18
                        return 0
                return 1
  
-@@ -4579,7 +4579,7 @@ class depgraph(object):
+@@ -4579,7 +4580,7 @@ class depgraph(object):
                return self._select_atoms_highest_available(*pargs, **kwargs)
  
        def _select_atoms_highest_available(self, root, depstring,
@@ -323,7 +328,7 @@ updated for 2.3.18
                """This will raise InvalidDependString if necessary. If trees is
                None then self._dynamic_config._filtered_trees is used."""
  
-@@ -4602,6 +4602,13 @@ class depgraph(object):
+@@ -4602,6 +4603,13 @@ class depgraph(object):
                pkgsettings = self._frozen_config.pkgsettings[root]
                if trees is None:
                        trees = self._dynamic_config._filtered_trees
@@ -337,7 +342,7 @@ updated for 2.3.18
                mytrees = trees[root]
                atom_graph = digraph()
                if True:
-@@ -4633,7 +4640,7 @@ class depgraph(object):
+@@ -4633,7 +4641,7 @@ class depgraph(object):
  
                                mycheck = portage.dep_check(depstring, None,
                                        pkgsettings, myuse=myuse,
@@ -346,7 +351,7 @@ updated for 2.3.18
                        finally:
                                # restore state
                                self._dynamic_config._autounmask = 
_autounmask_backup
-@@ -4709,6 +4716,7 @@ class depgraph(object):
+@@ -4709,6 +4717,7 @@ class depgraph(object):
                                                        continue
                                                node_stack.append((child_node, 
node, child_atom))
  
@@ -354,9 +359,11 @@ updated for 2.3.18
                return selected_atoms
  
        def _expand_virt_from_graph(self, root, atom):
+diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output.py
+index e993ce17d..32a942c73 100644
 --- a/pym/_emerge/resolver/output.py
 +++ b/pym/_emerge/resolver/output.py
-@@ -22,11 +22,12 @@ from portage.localization import localiz
+@@ -22,11 +22,12 @@ from portage.localization import localized_size
  from portage.package.ebuild.config import _get_feature_flags
  from portage.package.ebuild._spawn_nofetch import spawn_nofetch
  from portage.output import ( blue, colorize, create_color_func,
@@ -421,9 +428,11 @@ updated for 2.3.18
                self.print_messages(show_repos)
                self.print_blockers()
                if self.conf.verbosity == 3:
+diff --git a/pym/portage/_sets/__init__.py b/pym/portage/_sets/__init__.py
+index 2c9bf9715..6a2784207 100644
 --- a/pym/portage/_sets/__init__.py
 +++ b/pym/portage/_sets/__init__.py
-@@ -21,6 +21,7 @@ from portage.const import _ENABLE_SET_CO
+@@ -21,6 +21,7 @@ from portage.const import _ENABLE_SET_CONFIG
  from portage.exception import PackageSetNotFound
  from portage.localization import _
  from portage.util import writemsg_level
@@ -431,7 +440,7 @@ updated for 2.3.18
  from portage.util.configparser import (SafeConfigParser,
        NoOptionError, ParsingError, read_configs)
  
-@@ -281,6 +282,10 @@ def load_default_config(settings, trees)
+@@ -281,6 +282,10 @@ def load_default_config(settings, trees):
        if portage.const.EPREFIX:
                global_config_path = os.path.join(portage.const.EPREFIX,
                        GLOBAL_CONFIG_PATH.lstrip(os.sep))
@@ -442,6 +451,8 @@ updated for 2.3.18
        vcs_dirs = [_unicode_encode(x, encoding=_encodings['fs']) for x in 
VCS_DIRS]
        def _getfiles():
                for path, dirs, files in 
os.walk(os.path.join(global_config_path, "sets")):
+diff --git a/pym/portage/const.py b/pym/portage/const.py
+index dd4657835..6be443082 100644
 --- a/pym/portage/const.py
 +++ b/pym/portage/const.py
 @@ -189,6 +189,7 @@ SUPPORTED_FEATURES       = frozenset([
@@ -452,7 +463,7 @@ updated for 2.3.18
        "prelink-checksums",
        "preserve-libs",
        "protect-owned",
-@@ -239,6 +240,11 @@ MANIFEST2_IDENTIFIERS    = ("AUX", "MISC
+@@ -239,6 +240,11 @@ MANIFEST2_IDENTIFIERS    = ("AUX", "MISC", "DIST", 
"EBUILD")
  #EPREFIX = ""
  # END PREFIX LOCAL
  
@@ -464,6 +475,8 @@ updated for 2.3.18
  # pick up EPREFIX from the environment if set
  if "PORTAGE_OVERRIDE_EPREFIX" in os.environ:
        EPREFIX = os.environ["PORTAGE_OVERRIDE_EPREFIX"]
+diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
+index d2c35f9e3..79d612b2d 100644
 --- a/pym/portage/dbapi/vartree.py
 +++ b/pym/portage/dbapi/vartree.py
 @@ -195,8 +195,19 @@ class vardbapi(dbapi):
@@ -545,6 +558,8 @@ updated for 2.3.18
                self.settings = settings
                self.dbapi = vardbapi(settings=settings, vartree=self)
                self.populated = 1
+diff --git a/pym/portage/dep/dep_check.py b/pym/portage/dep/dep_check.py
+index 2bb9dc339..cc017a2a7 100644
 --- a/pym/portage/dep/dep_check.py
 +++ b/pym/portage/dep/dep_check.py
 @@ -298,6 +298,95 @@ class _dep_choice(SlotObject):
@@ -643,7 +658,7 @@ updated for 2.3.18
  def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
        """
        Takes an unreduced and reduced deplist and removes satisfied 
dependencies.
-@@ -695,7 +784,7 @@ def dep_zapdeps(unreduced, reduced, myro
+@@ -695,7 +784,7 @@ def dep_zapdeps(unreduced, reduced, myroot, 
use_binaries=0, trees=None):
        assert(False) # This point should not be reachable
  
  def dep_check(depstring, mydbapi, mysettings, use="yes", mode=None, 
myuse=None,
@@ -652,7 +667,7 @@ updated for 2.3.18
        """
        Takes a depend string, parses it, and selects atoms.
        The myroot parameter is unused (use mysettings['EROOT'] instead).
-@@ -796,6 +885,14 @@ def dep_check(depstring, mydbapi, mysett
+@@ -796,6 +885,14 @@ def dep_check(depstring, mydbapi, mysettings, use="yes", 
mode=None, myuse=None,
        writemsg("mysplit:  %s\n" % (mysplit), 1)
        writemsg("mysplit2: %s\n" % (mysplit2), 1)
  
@@ -667,6 +682,8 @@ updated for 2.3.18
        selected_atoms = dep_zapdeps(mysplit, mysplit2, myroot,
                use_binaries=use_binaries, trees=trees)
  
+diff --git a/pym/portage/package/ebuild/_config/LocationsManager.py 
b/pym/portage/package/ebuild/_config/LocationsManager.py
+index 55b8c089a..32e969ed7 100644
 --- a/pym/portage/package/ebuild/_config/LocationsManager.py
 +++ b/pym/portage/package/ebuild/_config/LocationsManager.py
 @@ -307,6 +307,9 @@ class LocationsManager(object):
@@ -679,6 +696,8 @@ updated for 2.3.18
  
        def set_port_dirs(self, portdir, portdir_overlay):
                self.portdir = portdir
+diff --git a/pym/portage/package/ebuild/config.py 
b/pym/portage/package/ebuild/config.py
+index d013b0d5c..fdb1552e9 100644
 --- a/pym/portage/package/ebuild/config.py
 +++ b/pym/portage/package/ebuild/config.py
 @@ -306,6 +306,7 @@ class config(object):
@@ -764,6 +783,8 @@ updated for 2.3.18
                # Prefix variables are supported beginning with EAPI 3, or when
                # force-prefix is in FEATURES, since older EAPIs would 
otherwise be
                # useless with prefix configurations. This brings compatibility 
with
+diff --git a/pym/portage/package/ebuild/doebuild.py 
b/pym/portage/package/ebuild/doebuild.py
+index a24f8fec8..82fcba9e2 100644
 --- a/pym/portage/package/ebuild/doebuild.py
 +++ b/pym/portage/package/ebuild/doebuild.py
 @@ -51,6 +51,7 @@ from portage import bsd_chflags, \
@@ -774,7 +795,7 @@ updated for 2.3.18
        EBUILD_SH_BINARY, INVALID_ENV_FILE, MISC_SH_BINARY, 
PORTAGE_PYM_PACKAGES, EPREFIX, MACOSSANDBOX_PROFILE
  from portage.data import portage_gid, portage_uid, secpass, \
        uid, userpriv_groups
-@@ -72,6 +73,7 @@ from portage.package.ebuild.prepare_buil
+@@ -72,6 +73,7 @@ from portage.package.ebuild.prepare_build_dirs import 
prepare_build_dirs
  from portage.process import find_binary
  from portage.util import ( apply_recursive_permissions,
        apply_secpass_permissions,
@@ -782,7 +803,7 @@ updated for 2.3.18
        noiselimit,
        shlex_split,
        varexpand,
-@@ -79,6 +81,7 @@ from portage.util import ( apply_recursi
+@@ -79,6 +81,7 @@ from portage.util import ( apply_recursive_permissions,
        writemsg_stdout,
        write_atomic
        )
@@ -819,9 +840,11 @@ updated for 2.3.18
        path.extend(rootpath)
        path.extend(extrapath)
        # END PREFIX LOCAL
+diff --git a/pym/portage/package/ebuild/fetch.py 
b/pym/portage/package/ebuild/fetch.py
+index 265d0c9fc..2ec6ff472 100644
 --- a/pym/portage/package/ebuild/fetch.py
 +++ b/pym/portage/package/ebuild/fetch.py
-@@ -43,6 +43,7 @@ from portage.output import colorize, EOu
+@@ -43,6 +43,7 @@ from portage.output import colorize, EOutput
  from portage.util import apply_recursive_permissions, \
        apply_secpass_permissions, ensure_dirs, grabdict, shlex_split, \
        varexpand, writemsg, writemsg_level, writemsg_stdout
@@ -829,7 +852,7 @@ updated for 2.3.18
  from portage.process import spawn
  
  _userpriv_spawn_kwargs = (
-@@ -874,6 +875,9 @@ def fetch(myuris, mysettings, listonly=0
+@@ -874,6 +875,9 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0,
                                global_config_path = GLOBAL_CONFIG_PATH
                                if portage.const.EPREFIX:
                                        global_config_path = 
os.path.join(portage.const.EPREFIX,
@@ -839,6 +862,8 @@ updated for 2.3.18
                                                        
GLOBAL_CONFIG_PATH.lstrip(os.sep))
  
                                missing_file_param = False
+diff --git a/pym/portage/sync/controller.py b/pym/portage/sync/controller.py
+index 3bccf6f74..cacd63797 100644
 --- a/pym/portage/sync/controller.py
 +++ b/pym/portage/sync/controller.py
 @@ -94,19 +94,20 @@ class SyncManager(object):
@@ -875,6 +900,8 @@ updated for 2.3.18
  
        def __getattr__(self, name):
                if name == 'async':
+diff --git a/pym/portage/util/_dyn_libs/LinkageMapELF.py 
b/pym/portage/util/_dyn_libs/LinkageMapELF.py
+index a063621c1..968fbd339 100644
 --- a/pym/portage/util/_dyn_libs/LinkageMapELF.py
 +++ b/pym/portage/util/_dyn_libs/LinkageMapELF.py
 @@ -12,7 +12,7 @@ from portage import _os_merge
@@ -895,3 +922,6 @@ updated for 2.3.18
                        args.extend(os.path.join(root, x.lstrip("." + os.sep)) \
                                for x in plibs)
                        try:
+-- 
+2.13.6
+

Reply via email to