From 486628dd25d0731808d10b4832afefad90ee8959 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 28 Mar 2008 12:39:35 +0000 Subject: Bug #211294 - Make repoman bail out if arch.list contains unrecognized lines since we don't want people to commit with old versions of portage that don't support the current arch.list format. (trunk r9504) svn path=/main/branches/2.1.2/; revision=9568 --- bin/repoman | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'bin/repoman') diff --git a/bin/repoman b/bin/repoman index 7552bc58f..db1dbd90c 100755 --- a/bin/repoman +++ b/bin/repoman @@ -814,15 +814,24 @@ elif repolevel==3: scanlist.sort() profiles={} +valid_profile_types = frozenset(["dev", "exp", "stable"]) descfile=portdir+"/profiles/profiles.desc" if os.path.exists(descfile): - for x in portage.grabfile(descfile): + for i, x in enumerate(open(descfile, 'rb')): if x[0]=="#": continue arch=x.split() - if len(arch)!=3: - print "wrong format: \""+red(x)+"\" in "+descfile + if len(arch) == 0: continue + if len(arch)!=3: + err("wrong format: \"" + bad(x.strip()) + "\" in " + \ + descfile + " line %d" % (i+1, )) + elif arch[0] not in kwlist: + err("invalid arch: \"" + bad(arch[0]) + "\" in " + \ + descfile + " line %d" % (i+1, )) + elif arch[2] not in valid_profile_types: + err("invalid profile type: \"" + bad(arch[2]) + "\" in " + \ + descfile + " line %d" % (i+1, )) if not os.path.isdir(portdir+"/profiles/"+arch[1]): print "Invalid "+arch[2]+" profile ("+arch[1]+") for arch "+arch[0] continue -- cgit v1.2.3-1-g7c22