summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOtavio Pontes <otaviobp@gmail.com>2010-08-03 13:36:43 +0000
committerOtavio Pontes <otaviobp@gmail.com>2010-08-03 13:36:43 +0000
commit4cd78f38e7d97b56eef4a6450e1d6b388e10b8c3 (patch)
tree14a446dbe451029d0bea8fa66331634e78653c44
parentMerge branch 'master' of git://git.overlays.gentoo.org/proj/portage (diff)
parentMake ExtendedAtomDict.__getitem__() return the value directly from (diff)
downloadportage-multirepo-4cd78f38e7d97b56eef4a6450e1d6b388e10b8c3.tar.gz
portage-multirepo-4cd78f38e7d97b56eef4a6450e1d6b388e10b8c3.tar.bz2
portage-multirepo-4cd78f38e7d97b56eef4a6450e1d6b388e10b8c3.zip
Merge branch 'master' of git://git.overlays.gentoo.org/proj/portage
-rw-r--r--pym/_emerge/SpawnProcess.py3
-rw-r--r--pym/_emerge/main.py3
-rw-r--r--pym/portage/dep/__init__.py22
-rw-r--r--pym/portage/package/ebuild/config.py18
4 files changed, 29 insertions, 17 deletions
diff --git a/pym/_emerge/SpawnProcess.py b/pym/_emerge/SpawnProcess.py
index a4a6d87e..bacbc2f3 100644
--- a/pym/_emerge/SpawnProcess.py
+++ b/pym/_emerge/SpawnProcess.py
@@ -148,7 +148,8 @@ class SpawnProcess(SubProcess):
buf = array.array('B')
try:
buf.fromfile(files.process, self._bufsize)
- except EOFError:
+ # EOFError was raised in Python <2.6.6 and <2.7.1.
+ except (EOFError, IOError):
pass
if buf:
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
index e6c41e10..b7008658 100644
--- a/pym/_emerge/main.py
+++ b/pym/_emerge/main.py
@@ -1336,7 +1336,8 @@ def emerge_main():
# Freeze the portdbapi for performance (memoize all xmatch results).
mydb.freeze()
- if "--usepkg" in myopts:
+ if myaction in ('search', None) and \
+ "--usepkg" in myopts:
# Populate the bintree with current --getbinpkg setting.
# This needs to happen before expand_set_arguments(), in case
# any sets use the bintree.
diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py
index 87d1d859..bc77ec54 100644
--- a/pym/portage/dep/__init__.py
+++ b/pym/portage/dep/__init__.py
@@ -802,6 +802,9 @@ class ExtendedAtomDict(portage.cache.mappings.MutableMapping):
if not isinstance(cp, basestring):
raise KeyError(cp)
+ if '*' in cp:
+ return self._extended[cp]
+
ret = self._value_class()
normal_match = self._normal.get(cp)
match = False
@@ -815,26 +818,15 @@ class ExtendedAtomDict(portage.cache.mappings.MutableMapping):
else:
raise NotImplementedError()
- if '*' in cp:
- v = self._extended.get(cp)
- if v is not None:
+ for extended_cp in self._extended:
+ if extended_cp_match(extended_cp, cp):
match = True
if hasattr(ret, "update"):
- ret.update(v)
+ ret.update(self._extended[extended_cp])
elif hasattr(ret, "extend"):
- ret.extend(v)
+ ret.extend(self._extended[extended_cp])
else:
raise NotImplementedError()
- else:
- for extended_cp in self._extended:
- if extended_cp_match(extended_cp, cp):
- match = True
- if hasattr(ret, "update"):
- ret.update(self._extended[extended_cp])
- elif hasattr(ret, "extend"):
- ret.extend(self._extended[extended_cp])
- else:
- raise NotImplementedError()
if not match:
raise KeyError(cp)
diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
index 8baba79d..b57bed37 100644
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@ -803,6 +803,12 @@ class config(object):
pusedict = grabdict_package(
os.path.join(abs_user_config, "package.use"), recursive=1, allow_wildcard=True)
+ v = pusedict.pop("*/*", None)
+ if v is not None:
+ if "USE" in self.configdict["conf"]:
+ self.configdict["conf"]["USE"] += " " + " ".join(v)
+ else:
+ self.configdict["conf"]["USE"] = " ".join(v)
for k, v in pusedict.items():
self.pusedict.setdefault(k.cp, {})[k] = v
@@ -828,6 +834,12 @@ class config(object):
#package.license
licdict = grabdict_package(os.path.join(
abs_user_config, "package.license"), recursive=1, allow_wildcard=True)
+ v = licdict.pop("*/*", None)
+ if v is not None:
+ if "ACCEPT_LICENSE" in self.configdict["conf"]:
+ self.configdict["conf"]["ACCEPT_LICENSE"] += " " + " ".join(v)
+ else:
+ self.configdict["conf"]["ACCEPT_LICENSE"] = " ".join(v)
for k, v in licdict.items():
cp = k.cp
cp_dict = self._plicensedict.get(cp)
@@ -839,6 +851,12 @@ class config(object):
#package.properties
propdict = grabdict_package(os.path.join(
abs_user_config, "package.properties"), recursive=1, allow_wildcard=True)
+ v = propdict.pop("*/*", None)
+ if v is not None:
+ if "ACCEPT_PROPERTIES" in self.configdict["conf"]:
+ self.configdict["conf"]["ACCEPT_PROPERTIES"] += " " + " ".join(v)
+ else:
+ self.configdict["conf"]["ACCEPT_PROPERTIES"] = " ".join(v)
for k, v in propdict.items():
cp = k.cp
cp_dict = self._ppropertiesdict.get(cp)