From: Michał Górny Date: Thu, 8 Jul 2010 10:58:01 +0000 (+0200) Subject: Fallback to updates from PORTDIR if repository has no 'updates' dir. X-Git-Tag: v2.2_rc68~438 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=c70f90b3cf0d55f569783d07202b3819d11dc018;p=portage.git Fallback to updates from PORTDIR if repository has no 'updates' dir. As a backwards-compatibility measure, if a particular repository doesn't come with an 'updates' directory, fallback to updates from dbapi.porttree_root. --- diff --git a/bin/emaint b/bin/emaint index fb712db8b..2bd17d9fd 100755 --- a/bin/emaint +++ b/bin/emaint @@ -239,6 +239,9 @@ class MoveHandler(object): for repo_name in self._portdb.getRepositories(): repo = self._portdb.getRepositoryPath(repo_name) updpath = os.path.join(repo, "profiles", "updates") + if not os.path.isdir(updpath): + # as a backwards-compatibility measure, fallback to PORTDIR + updpath = os.path.join(self._portdb.porttree_root, "profiles", "updates") try: rawupdates = grab_updates(updpath) except portage.exception.DirectoryNotFound: diff --git a/pym/_emerge/FakeVartree.py b/pym/_emerge/FakeVartree.py index afc74457d..22f9f3739 100644 --- a/pym/_emerge/FakeVartree.py +++ b/pym/_emerge/FakeVartree.py @@ -185,6 +185,9 @@ def grab_global_updates(portdb): for repo_name in portdb.getRepositories(): repo = portdb.getRepositoryPath(repo_name) updpath = os.path.join(repo, "profiles", "updates") + if not os.path.isdir(updpath): + # as a backwards-compatibility measure, fallback to PORTDIR + updpath = os.path.join(portdb.porttree_root, "profiles", "updates") try: rawupdates = grab_updates(updpath) except portage.exception.DirectoryNotFound: diff --git a/pym/portage/_global_updates.py b/pym/portage/_global_updates.py index b287654c0..214052daf 100644 --- a/pym/portage/_global_updates.py +++ b/pym/portage/_global_updates.py @@ -58,6 +58,9 @@ def _global_updates(trees, prev_mtimes): for repo_name in portdb.getRepositories(): repo = portdb.getRepositoryPath(repo_name) updpath = os.path.join(repo, "profiles", "updates") + if not os.path.isdir(updpath): + # as a backwards-compatibility measure, fallback to PORTDIR + updpath = os.path.join(portdb.porttree_root, "profiles", "updates") try: if mysettings.get("PORTAGE_CALLER") == "fixpackages":