summaryrefslogtreecommitdiffstats
path: root/bin/repoman
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-04-02 10:22:38 -0700
committerZac Medico <zmedico@gentoo.org>2010-04-02 10:22:38 -0700
commit7a33618e8189384861b412176a3ddbef240b6777 (patch)
tree3c13576422a40d36d8f52e2c8d660c4565019b70 /bin/repoman
parent0840af0260786b6d9d5b5d03eab269c6c545e722 (diff)
downloadportage-7a33618e8189384861b412176a3ddbef240b6777.tar.gz
portage-7a33618e8189384861b412176a3ddbef240b6777.tar.bz2
portage-7a33618e8189384861b412176a3ddbef240b6777.zip
Handle missing $PORTDIR/metadata/herds.xml. Thanks to Arfrever for reporting.
Diffstat (limited to 'bin/repoman')
-rwxr-xr-xbin/repoman9
1 files changed, 6 insertions, 3 deletions
diff --git a/bin/repoman b/bin/repoman
index ffc4c948b..a76bc8de5 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -68,10 +68,9 @@ import portage.checksum
import portage.const
import portage.dep
portage.dep._dep_check_strict = True
-import portage.exception
from portage import cvstree, normalize_path
from portage import util
-from portage.exception import ParseError
+from portage.exception import FileNotFound, ParseError, PermissionDenied
from portage.manifest import Manifest
from portage.process import find_binary, spawn
from portage.output import bold, create_color_func, darkgreen, \
@@ -984,8 +983,12 @@ thirdpartymirrors = portage.flatten(list(repoman_settings.thirdpartymirrors().va
try:
herd_base = make_herd_base(os.path.join(repoman_settings["PORTDIR"], "metadata/herds.xml"))
-except (EnvironmentError, ParseError) as e:
+except (EnvironmentError, ParseError, PermissionDenied) as e:
err(str(e))
+except FileNotFound:
+ # TODO: Download as we do for metadata.dtd, but add a way to
+ # disable for non-gentoo repoman users who may not have herds.
+ herd_base = None
for x in scanlist:
#ebuilds and digests added to cvs respectively.