From: "Nirbheek Chauhan" <nirbheek@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gnome:master commit in: scripts/
Date: Sun, 1 Apr 2012 21:14:48 +0000 (UTC) [thread overview]
Message-ID: <1333314831.74d3c3fe11a25f7413bd4f734a6fa5c839040178.nirbheek@gentoo> (raw)
commit: 74d3c3fe11a25f7413bd4f734a6fa5c839040178
Author: Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 1 21:13:49 2012 +0000
Commit: Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
CommitDate: Sun Apr 1 21:13:51 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=74d3c3fe
scripts/gen_archlist.py: implement what pacho actually wanted
* If the input has no SLOT information, use the latest cpv in *all* slots
---
scripts/gen_archlist.py | 58 +++++++++++++++++++++++++++++-----------------
1 files changed, 36 insertions(+), 22 deletions(-)
diff --git a/scripts/gen_archlist.py b/scripts/gen_archlist.py
index 8f0e9a8..fa26b90 100755
--- a/scripts/gen_archlist.py
+++ b/scripts/gen_archlist.py
@@ -388,6 +388,16 @@ def consolidate_dupes(cpv_kws):
return deduped_cpv_kws
+def get_per_slot_cpvs(cpvs):
+ "Classify the given cpvs into slots, and yield the best atom for each slot"
+ slots = set()
+ for cpv in cpvs:
+ slot = portage.portage.portdb.aux_get(cpv, ['SLOT'])[0]
+ if slot in slots:
+ continue
+ slots.add(slot)
+ yield cpv
+
def append_slots(cpv_kws):
"Append slots at the end of cpv atoms"
slotifyed_cpv_kws = []
@@ -453,32 +463,36 @@ if __name__ == "__main__":
array = []
for i in open(CP_FILE).readlines():
- cpv = i[:-1]
- if cpv.startswith('#') or cpv.isspace() or not cpv:
- ALL_CPV_KWS.append(cpv)
+ cp = i[:-1]
+ if cp.startswith('#') or cp.isspace() or not cp:
+ ALL_CPV_KWS.append(cp)
continue
- if cpv.find('#') is not -1:
+ if cp.find('#') is not -1:
raise Exception('Inline comments are not supported')
- if not portage.catpkgsplit(cpv):
- # It's actually a cp
- cpv = match_wanted_atoms(cpv, release=NEW_REL)
- if not cpv or not cpv[0]:
+ if portage.catpkgsplit(cp):
+ # categ/pkg is already a categ/pkg-ver
+ atoms = [cp]
+ else:
+ # Get all the atoms matching the given cp
+ cpvs = match_wanted_atoms(cp, release=NEW_REL)
+
+ for cpv in get_per_slot_cpvs(cpvs):
+ if not cpv:
debug('%s: Invalid cpv' % cpv)
continue
- cpv = cpv[0]
- kws_missing = max_kws(cpv, release=OLD_REL)
- if kws_missing == []:
- # Current cpv has the max keywords => nothing to do
- nothing_to_be_done(cpv)
- continue
- elif kws_missing == None:
- debug ('No versions with stable keywords for %s' % cpv)
- # No cpv with stable keywords => select latest
- arches = make_unstable(ARCHES)
- kws_missing = [kw[1:] for kw in get_kws(cpv, arches)]
- ALL_CPV_KWS += fix_nesting(gen_cpv_kws(cpv, kws_missing, set()))
- if CHECK_DEPS:
- ALL_CPV_KWS.append(LINE_SEP)
+ kws_missing = max_kws(cpv, release=OLD_REL)
+ if kws_missing == []:
+ # Current cpv has the max keywords => nothing to do
+ nothing_to_be_done(cpv)
+ continue
+ elif kws_missing == None:
+ debug ('No versions with stable keywords for %s' % cpv)
+ # No cpv with stable keywords => select latest
+ arches = make_unstable(ARCHES)
+ kws_missing = [kw[1:] for kw in get_kws(cpv, arches)]
+ ALL_CPV_KWS += fix_nesting(gen_cpv_kws(cpv, kws_missing, set()))
+ if CHECK_DEPS:
+ ALL_CPV_KWS.append(LINE_SEP)
ALL_CPV_KWS = consolidate_dupes(ALL_CPV_KWS)
if APPEND_SLOTS:
next reply other threads:[~2012-04-01 21:15 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-01 21:14 Nirbheek Chauhan [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-04-03 19:42 [gentoo-commits] proj/gnome:master commit in: scripts/ Matt Turner
2020-04-03 19:42 Matt Turner
2020-03-28 8:31 Mart Raudsepp
2020-03-10 22:05 Matt Turner
2019-02-07 11:58 Mart Raudsepp
2018-04-25 10:32 Mart Raudsepp
2018-01-10 3:25 Mart Raudsepp
2012-04-01 19:12 Nirbheek Chauhan
2011-08-18 6:23 Nirbheek Chauhan
2011-07-12 21:15 Nirbheek Chauhan
2011-05-21 18:38 Nirbheek Chauhan
2011-05-19 12:35 Gilles Dartiguelongue
2011-04-13 9:57 Nirbheek Chauhan
2011-04-09 6:29 Nirbheek Chauhan
2011-03-28 16:15 Nirbheek Chauhan
2011-03-28 15:04 Nirbheek Chauhan
2011-03-26 1:58 Nirbheek Chauhan
2011-03-23 21:59 Nirbheek Chauhan
2011-03-23 21:59 Nirbheek Chauhan
2011-03-23 21:59 Nirbheek Chauhan
2011-03-23 19:21 Gilles Dartiguelongue
2011-03-23 10:39 Gilles Dartiguelongue
2011-03-20 8:11 Nirbheek Chauhan
2011-03-18 9:59 Nirbheek Chauhan
2011-03-18 8:23 Nirbheek Chauhan
2011-03-17 17:12 Nirbheek Chauhan
2011-03-15 13:08 Nirbheek Chauhan
2011-03-14 18:41 Nirbheek Chauhan
2011-03-12 20:10 Nirbheek Chauhan
2011-03-04 15:40 Nirbheek Chauhan
2011-02-18 4:40 Nirbheek Chauhan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1333314831.74d3c3fe11a25f7413bd4f734a6fa5c839040178.nirbheek@gentoo \
--to=nirbheek@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox