portage: apply CoreOS patches to 2.2.18 ebuild

This commit is contained in:
Michael Marineau 2015-04-27 18:48:52 -07:00
parent 51d04bbe3a
commit 002ecf6ed9
4 changed files with 124 additions and 1 deletions

View File

@ -0,0 +1,51 @@
From 1b8ccc0e487a523aa6d974b3ebe26548ad6502b6 Mon Sep 17 00:00:00 2001
From: Alex Crawford <alex.crawford@coreos.com>
Date: Mon, 14 Apr 2014 12:43:56 -0700
Subject: [PATCH 1/3] portage/repository/config.py: add disabled attribute to
repos.conf
This flag allows a repos.conf file to disable a previously-defined repository.
---
pym/portage/repository/config.py | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py
index a884156..a2f1a5a 100644
--- a/pym/portage/repository/config.py
+++ b/pym/portage/repository/config.py
@@ -80,7 +80,7 @@ class RepoConfig(object):
"""Stores config of one repository"""
__slots__ = ('aliases', 'allow_missing_manifest', 'allow_provide_virtual',
- 'auto_sync', 'cache_formats', 'create_manifest', 'disable_manifest',
+ 'auto_sync', 'cache_formats', 'create_manifest', 'disabled', 'disable_manifest',
'eapi', 'eclass_db', 'eclass_locations', 'eclass_overrides',
'find_invalid_path_char', 'force', 'format', 'local_config', 'location',
'main_repo', 'manifest_hashes', 'masters', 'missing_repo_name',
@@ -194,6 +194,11 @@ class RepoConfig(object):
location = None
self.location = location
+ disabled = repo_opts.get('disabled')
+ if disabled is not None:
+ disabled = disabled.strip().lower() == 'true'
+ self.disabled = disabled or False
+
missing = True
self.name = name
if self.location is not None:
@@ -654,7 +659,10 @@ class RepoConfigLoader(object):
# Do this before expanding aliases, so that location_map and
# treemap consistently map unaliased names whenever available.
for repo_name, repo in list(prepos.items()):
- if repo.location is None:
+ if repo.disabled:
+ del prepos[repo_name]
+ continue
+ elif repo.location is None:
if repo_name != 'DEFAULT':
# Skip this warning for repoman (bug #474578).
if settings.local_config and paths:
--
2.0.5

View File

@ -0,0 +1,35 @@
From f1ca1359c9cc2bd9e867305e1b07506d3d6722cc Mon Sep 17 00:00:00 2001
From: Michael Marineau <mike@marineau.org>
Date: Sun, 20 Jul 2014 20:27:43 -0700
Subject: [PATCH 2/3] environment: Filter EROOT for all EAPIs
This variable is often defined in older EAPIs with "${EROOT:=$ROOT}"
but it should never be preserved since ROOT may change. Bug #490014
---
bin/phase-functions.sh | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh
index def2080..f4b5a8d 100644
--- a/bin/phase-functions.sh
+++ b/bin/phase-functions.sh
@@ -101,10 +101,13 @@ __filter_readonly_variables() {
filtered_vars="$readonly_bash_vars $bash_misc_vars
$PORTAGE_READONLY_VARS $misc_garbage_vars"
- # Don't filter/interfere with prefix variables unless they are
- # supported by the current EAPI.
+ # Always filter EROOT to ensure it is redefined based on ROOT
+ filtered_vars+=" EROOT"
+
+ # Don't filter/interfere with the other prefix variables unless
+ # they are supported by the current EAPI.
if ___eapi_has_prefix_variables; then
- filtered_vars+=" ED EPREFIX EROOT"
+ filtered_vars+=" ED EPREFIX"
fi
if has --filter-sandbox $* ; then
--
2.0.5

View File

@ -0,0 +1,35 @@
From a4329f54504afedc0840d42faf5f15a158fdaada Mon Sep 17 00:00:00 2001
From: Michael Marineau <mike@marineau.org>
Date: Mon, 27 Apr 2015 18:33:11 -0700
Subject: [PATCH 3/3] depgraph: ensure slot rebuilds happen in the correct root
https://bugs.gentoo.org/show_bug.cgi?id=520112
---
pym/_emerge/depgraph.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 37292a6..e3ce8d2 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -3950,13 +3950,13 @@ class depgraph(object):
a favorite list."""
debug = "--debug" in self._frozen_config.myopts
onlydeps = "--onlydeps" in self._frozen_config.myopts
- myroot = self._frozen_config.target_root
- pkgsettings = self._frozen_config.pkgsettings[myroot]
- pprovideddict = pkgsettings.pprovideddict
- virtuals = pkgsettings.getvirtuals()
args = self._dynamic_config._initial_arg_list[:]
for arg in self._expand_set_args(args, add_to_digraph=True):
+ myroot = arg.root_config.root
+ pkgsettings = self._frozen_config.pkgsettings[myroot]
+ pprovideddict = pkgsettings.pprovideddict
+ virtuals = pkgsettings.getvirtuals()
for atom in arg.pset.getAtoms():
self._spinner_update()
dep = Dependency(atom=atom, onlydeps=onlydeps,
--
2.0.5

View File

@ -12,7 +12,7 @@ PYTHON_COMPAT=(
# Note: substituted below # Note: substituted below
PYTHON_REQ_USE='bzip2(+)' PYTHON_REQ_USE='bzip2(+)'
inherit distutils-r1 multilib inherit distutils-r1 eutils multilib
DESCRIPTION="Portage is the package management and distribution system for Gentoo" DESCRIPTION="Portage is the package management and distribution system for Gentoo"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
@ -80,6 +80,8 @@ SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
python_prepare_all() { python_prepare_all() {
distutils-r1_python_prepare_all distutils-r1_python_prepare_all
epatch "${FILESDIR}/${P}"-*.patch
if ! use ipc ; then if ! use ipc ; then
einfo "Disabling ipc..." einfo "Disabling ipc..."
sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \