From: Zac Medico Date: Fri, 28 Mar 2008 12:39:35 +0000 (-0000) Subject: Bug #211294 - Make repoman bail out if arch.list contains unrecognized X-Git-Tag: v2.1.5~322 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=486628dd25d0731808d10b4832afefad90ee8959;p=portage.git 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 --- 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