diff options
author | Otavio Pontes <otaviobp@gmail.com> | 2010-08-03 13:36:43 +0000 |
---|---|---|
committer | Otavio Pontes <otaviobp@gmail.com> | 2010-08-03 13:36:43 +0000 |
commit | 4cd78f38e7d97b56eef4a6450e1d6b388e10b8c3 (patch) | |
tree | 14a446dbe451029d0bea8fa66331634e78653c44 | |
parent | Merge branch 'master' of git://git.overlays.gentoo.org/proj/portage (diff) | |
parent | Make ExtendedAtomDict.__getitem__() return the value directly from (diff) | |
download | portage-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.py | 3 | ||||
-rw-r--r-- | pym/_emerge/main.py | 3 | ||||
-rw-r--r-- | pym/portage/dep/__init__.py | 22 | ||||
-rw-r--r-- | pym/portage/package/ebuild/config.py | 18 |
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) |