From abb7c534eee48795354ae3ab1b17ef319bf5e6e3 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 7 Oct 2010 12:45:08 -0700 Subject: repoman: Don't count git snapshots as live. This solves bug #339939 by searching for a EGIT_COMMIT variable definition. --- bin/repoman | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/bin/repoman b/bin/repoman index 1308ec717..e20accf10 100755 --- a/bin/repoman +++ b/bin/repoman @@ -442,6 +442,8 @@ live_eclasses = frozenset([ "tla", ]) +_git_snapshot_re = re.compile('^\s*EGIT_COMMIT=') + suspect_rdepend = frozenset([ "app-arch/cabextract", "app-arch/rpm2targz", @@ -1466,6 +1468,19 @@ for x in scanlist: eapi = myaux["EAPI"] inherited = pkg.inherited live_ebuild = live_eclasses.intersection(inherited) + if len(live_ebuild) == 1 and next(iter(live_ebuild)) == 'git': + is_snapshot = False + f = codecs.open(_unicode_encode(full_path, + encoding=_encodings['fs'], errors='strict'), + mode='r', encoding=_encodings['repo.content'], + errors='replace') + for line in f: + if _git_snapshot_re.match(line) is not None: + is_snapshot = True + break + f.close() + if is_snapshot: + live_ebuild = frozenset() for k, v in myaux.items(): if not isinstance(v, basestring): -- cgit v1.2.3-1-g7c22