mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
projects.py pkg-requires: Add options to query naked projects list
- Remove --vendor (-V), was dysfunctional, anyway - Add options to strip the results: --subsections (-S) --delimiter (-d) --no-subpackages (-p) --no-version Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
f8747fcdbd
commit
4827389e26
1 changed files with 17 additions and 6 deletions
|
|
@ -206,19 +206,26 @@ def pkg_relations(rel_type, args_):
|
||||||
parser = argparse.ArgumentParser(description='pkg-' + rel_type)
|
parser = argparse.ArgumentParser(description='pkg-' + rel_type)
|
||||||
# TODO: implement Vendor evaluation
|
# TODO: implement Vendor evaluation
|
||||||
|
|
||||||
parser.add_argument('--vendor', '-V', nargs='?', default='jw', help='Package Vendor')
|
parser.add_argument('--subsections', '-S', nargs='?', default=None, help='Subsections to consider, comma-separated')
|
||||||
|
parser.add_argument('--delimiter', '-d', nargs='?', default=', ', help='Output words delimiter')
|
||||||
parser.add_argument('flavour', help='Flavour')
|
parser.add_argument('flavour', help='Flavour')
|
||||||
parser.add_argument('module', nargs='*', help='Modules')
|
parser.add_argument('module', nargs='*', help='Modules')
|
||||||
|
parser.add_argument('--no-subpackages', '-p', action='store_true',
|
||||||
|
default=False, help='Cut -run and -devel from package names')
|
||||||
|
parser.add_argument('--no-version', action='store_true',
|
||||||
|
default=False, help='Don\'t report version information')
|
||||||
parser.add_argument('--dont-strip-revision', action='store_true',
|
parser.add_argument('--dont-strip-revision', action='store_true',
|
||||||
default=False, help='Always treat VERSION macro as VERSION-REVISION')
|
default=False, help='Always treat VERSION macro as VERSION-REVISION')
|
||||||
parser.add_argument('--dont-expand-version-macros', action='store_true',
|
parser.add_argument('--dont-expand-version-macros', action='store_true',
|
||||||
default=False, help='Don\'t expand VERSION and REVISION macros')
|
default=False, help='Don\'t expand VERSION and REVISION macros')
|
||||||
args=parser.parse_args(args_)
|
args=parser.parse_args(args_)
|
||||||
debug('flavour = ', args.flavour, ', vendor = ', args.vendor)
|
|
||||||
version_pattern=re.compile("[0-9-.]*")
|
version_pattern=re.compile("[0-9-.]*")
|
||||||
subsecs = os_cascade()
|
if args.subsections is None:
|
||||||
subsecs.append('jw')
|
subsecs = os_cascade()
|
||||||
debug("subsecs = ", subsecs)
|
subsecs.append('jw')
|
||||||
|
else:
|
||||||
|
subsecs = args.subsections.split(',')
|
||||||
|
debug('flavour = ', args.flavour, ', subsecs = ', ' '.join(subsecs))
|
||||||
r = []
|
r = []
|
||||||
for s in subsecs:
|
for s in subsecs:
|
||||||
for m in args.module:
|
for m in args.module:
|
||||||
|
|
@ -228,6 +235,10 @@ def pkg_relations(rel_type, args_):
|
||||||
deps = value.split(',')
|
deps = value.split(',')
|
||||||
for spec in deps:
|
for spec in deps:
|
||||||
dep = re.split('([=><]+)', spec)
|
dep = re.split('([=><]+)', spec)
|
||||||
|
if args.no_version:
|
||||||
|
dep = dep[:1]
|
||||||
|
if args.no_subpackages:
|
||||||
|
dep[0] = re.sub('-devel$|-run$', '', dep[0])
|
||||||
for i, item in enumerate(dep):
|
for i, item in enumerate(dep):
|
||||||
dep[i] = item.strip()
|
dep[i] = item.strip()
|
||||||
if len(dep) == 3:
|
if len(dep) == 3:
|
||||||
|
|
@ -249,7 +260,7 @@ def pkg_relations(rel_type, args_):
|
||||||
else:
|
else:
|
||||||
raise Exception("Unknown version specifier in " + spec)
|
raise Exception("Unknown version specifier in " + spec)
|
||||||
r.append(' '.join(dep))
|
r.append(' '.join(dep))
|
||||||
print(', '.join(r))
|
print(args.delimiter.join(r))
|
||||||
|
|
||||||
def get_libname(names):
|
def get_libname(names):
|
||||||
vals = get_modules_from_project_txt(names, 'build', 'libname',
|
vals = get_modules_from_project_txt(names, 'build', 'libname',
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue