Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 189526 Details for
Bug 267565
app-portage/gentoolkit-dev: rewrite ekeyword in python
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
ekeyword2
ekeyword2 (text/plain), 2.14 KB, created by
michael@smith-li.com
on 2009-04-26 16:02:05 UTC
(
hide
)
Description:
ekeyword2
Filename:
MIME Type:
Creator:
michael@smith-li.com
Created:
2009-04-26 16:02:05 UTC
Size:
2.14 KB
patch
obsolete
>#!/usr/bin/python > ># Output like: ># setuptools-0.6_rc9.ebuild ># < KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd -x86 ~x86-fbsd" ># --- ># > KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd x86 ~x86-fbsd" > >from __future__ import with_statement >from sys import argv >from fnmatch import fnmatch >from shutil import copyfile > >import re > >STABLE_KEYWORDS = frozenset(( > 'alpha', > 'amd64', > 'amd64-fbsd', > 'arm', > 'hppa', > 'ia64', > 'mips', > 'm68k', > 'ppc', > 'ppc-macos', > 'ppc64', > 's390', > 'sparc', > 'sparc-fbsd', > 'sh', > 'x86', > 'x86-fbsd', >)) >TEST_KEYWORDS = frozenset(['~'+k for k in STABLE_KEYWORDS]) >KNOWN_KEYWORDS = STABLE_KEYWORDS | TEST_KEYWORDS > >kw_re = re.compile(r'KEYWORDS="([^"]*)"') >ebuilds = set([x for x in argv[1:] if fnmatch(x, '*.ebuild')]) >pretend = not bool(set(('-p', '--pretend',)) - set(argv)) >keywords = frozenset(argv[1:]) - ebuilds - set(('-p', '--pretend')) > >if not ebuilds: > print 'usage: ekeyword [-p|--pretend] [~] [[~|-]arch [[~|-]arch]...] ebuild [ebuild...]' > >for e in ebuilds: > # TODO: error handling for file I/O > kw = set(keywords) > if not pretend: > try: > copyfile(e, e+'.orig') > except IOError: > print "Can't copy file %s. Check permissions." % e > exit(1) > try: > with open(e) as c: > ebuild = c.read() > except IOError: > print "Can't open file %s. Aborting." % e > exit(1) > > orig = kw_re.search(ebuild) > curkw = set(orig.groups()[0].split()) > > if '~' in kw: > kw.remove('~') > curkw = set(['~'+k if k in STABLE_KEYWORDS else k for k in curkw]) > > for k in kw: > if k[0] == '-': > curkw -= set(('~'+k[1:], k[1:],)) > elif k[0] == '~': > curkw -= set((k[1:],)) > curkw |= set((k,)) > else: > curkw -= set(('~'+k,)) > curkw |= set((k,)) > > result = 'KEYWORDS="%s"' % ' '.join(sorted(curkw)) > if not pretend: > try: > with open(e, 'w') as rebuild: > rebuild.write(kw_re.sub(result, ebuild)) > except IOError: > print "Can't write file %s. Aborting." % e > exit(1) > > unknown_keywords = curkw - KNOWN_KEYWORDS > if unknown_keywords: > print "\nWarning: Unknown keywords '%s'.\n" % ', '.join(sorted(unknown_keywords)) > > print '<<< %s' % orig.group() > print '>>> %s' % result
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 267565
:
189526
|
190332
|
190376