From c70f90b3cf0d55f569783d07202b3819d11dc018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Thu, 8 Jul 2010 12:58:01 +0200 Subject: 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. --- bin/emaint | 3 +++ pym/_emerge/FakeVartree.py | 3 +++ pym/portage/_global_updates.py | 3 +++ 3 files changed, 9 insertions(+) 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": -- cgit v1.2.3-1-g7c22