project.conf, topdir.mk, projects.py: Replace pkg.required.xxx by pkg.requires.xxx

This opens up a more concise handling of pkg.conflicts.xxx in the future, and
prepares some code simplification in projects.py.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2017-06-26 09:33:53 +00:00
commit b35a50944c
3 changed files with 25 additions and 25 deletions

View file

@ -14,13 +14,13 @@ jw-maintainer = jan
[build]
libname = none
[pkg.required.os]
[pkg.requires.os]
build = cvs, make, inkscape
[pkg.required.suse]
[pkg.requires.suse]
release = rpmbuild
[pkg.required.debian]
[pkg.requires.debian]
release = devscripts, debhelper, dput, libparse-debcontrol-perl, fakeroot
[pkg.run.post]

View file

@ -156,7 +156,7 @@ prefix.done:
touch $@
echo-prereq-build:
@python $(MOD_SCRIPT_DIR)/projects.py --topdir . $(PROJECTS_PY_EXTRA_ARGS) required-pkg $(RPM_PROJECT)
@python $(MOD_SCRIPT_DIR)/projects.py --topdir . $(PROJECTS_PY_EXTRA_ARGS) requires-pkg $(RPM_PROJECT)
list-files echo-files:
@$(LIST_VCS_FILES) -f

View file

@ -13,7 +13,7 @@ import subprocess
import re
import platform
# meaning of pkg.required.xxx variables
# meaning of pkg.requires.xxx variables
# build: needs to be built and installed before this can be built
# devel: needs to be installed before this-devel can be installed, i.e. before _other_ packages can be built against this
# run: needs to be installed before this-run can be installed, i.e. before this and other packages can run with this
@ -68,7 +68,7 @@ def htdocs_dir(name):
return r
return None
def pkg_required_os_cascade():
def pkg_requires_os_cascade():
os = get_os()
name = re.sub('-.*', '', os)
# e.g. os, linux, suse, suse-tumbleweed
@ -213,7 +213,7 @@ def get_libname(names):
# -L needs to contain more paths than libs linked with -l would require
def get_ldpathflags(names, exclude = []):
deps = get_modules_from_project_txt(names, 'pkg.required.jw', 'build',
deps = get_modules_from_project_txt(names, 'pkg.requires.jw', 'build',
scope = 2, add_self=True, names_only=True)
r = ''
for m in deps:
@ -226,7 +226,7 @@ def get_ldpathflags(names, exclude = []):
def get_ldflags(names, exclude = []):
#print(names)
deps = get_modules_from_project_txt(names, 'pkg.required.jw', 'build',
deps = get_modules_from_project_txt(names, 'pkg.requires.jw', 'build',
scope = 1, add_self=False, names_only=True)
#print(deps)
r = ''
@ -266,37 +266,37 @@ def cmd_test(args_):
args=parser.parse_args(args_)
print("blah = " + args.blah)
def cmd_required_pkg(args_):
parser = argparse.ArgumentParser(description='required-pkg')
def cmd_requires_pkg(args_):
parser = argparse.ArgumentParser(description='requires-pkg')
parser.add_argument('module', nargs='*', help='Modules')
parser.add_argument('--flavours', help='Dependency flavours', default='build')
args=parser.parse_args(args_)
flavours = args.flavours.split()
debug("flavours = " + args.flavours)
deps = get_modules_from_project_txt(args.module, 'pkg.required.jw', flavours,
deps = get_modules_from_project_txt(args.module, 'pkg.requires.jw', flavours,
scope = 2, add_self=True, names_only=True)
subsecs = pkg_required_os_cascade()
subsecs = pkg_requires_os_cascade()
debug("subsecs = ", subsecs)
required = []
requires = []
for s in subsecs:
for f in flavours:
vals = collect_values(deps, 'pkg.required.' + s, f)
vals = collect_values(deps, 'pkg.requires.' + s, f)
if vals:
required = required + vals
requires = requires + vals
# TODO: add all not in build tree as -devel
r = ''
for m in required:
for m in requires:
r = r + ' ' + m
print(r[1:])
def cmd_os_cascade(args_):
print(' '.join(pkg_required_os_cascade()))
print(' '.join(pkg_requires_os_cascade()))
def cmd_ldlibpath(args_):
parser = argparse.ArgumentParser(description='ldlibpath')
parser.add_argument('module', nargs='*', help='Modules')
args=parser.parse_args(args_)
deps = get_modules_from_project_txt(args.module, 'pkg.required.jw', [ 'run', 'build' ],
deps = get_modules_from_project_txt(args.module, 'pkg.requires.jw', [ 'run', 'build' ],
scope = 2, add_self=True, names_only=True)
r = ''
for m in deps:
@ -307,7 +307,7 @@ def cmd_exepath(args_):
parser = argparse.ArgumentParser(description='exepath')
parser.add_argument('module', nargs='*', help='Modules')
args=parser.parse_args(args_)
deps = get_modules_from_project_txt(args.module, 'pkg.required.jw', 'run',
deps = get_modules_from_project_txt(args.module, 'pkg.requires.jw', 'run',
scope = 2, add_self=True, names_only=True)
r = ''
for m in deps:
@ -331,7 +331,7 @@ def cmd_cflags(args_):
parser = argparse.ArgumentParser(description='cflags')
parser.add_argument('module', nargs='*', help='Modules')
args=parser.parse_args(args_)
deps = get_modules_from_project_txt(args.module, 'pkg.required.jw', 'build',
deps = get_modules_from_project_txt(args.module, 'pkg.requires.jw', 'build',
scope = 2, add_self=True, names_only=True)
r = ''
for m in reversed(deps):
@ -342,7 +342,7 @@ def cmd_path(args_):
parser = argparse.ArgumentParser(description='path')
parser.add_argument('module', nargs='*', help='Modules')
args=parser.parse_args(args_)
deps = get_modules_from_project_txt(args.module, 'pkg.required.jw', 'run',
deps = get_modules_from_project_txt(args.module, 'pkg.requires.jw', 'run',
scope = 2, add_self=True, names_only=True)
r = ''
for m in deps:
@ -354,7 +354,7 @@ def cmd_prereq(args_):
parser.add_argument('flavour', help='Flavour')
parser.add_argument('module', nargs='*', help='Modules')
args=parser.parse_args(args_)
deps = get_modules_from_project_txt(args.module, 'pkg.required.jw',
deps = get_modules_from_project_txt(args.module, 'pkg.requires.jw',
args.flavour, scope = 2, add_self=False, names_only=True)
print(' '.join(deps))
@ -372,13 +372,13 @@ def cmd_pkg_requires(args_):
args=parser.parse_args(args_)
debug('flavour = ', args.flavour, ', vendor = ', args.vendor)
version_pattern=re.compile("[0-9-.]*")
subsecs = pkg_required_os_cascade()
subsecs = pkg_requires_os_cascade()
subsecs.append('jw')
debug("subsecs = ", subsecs)
r = []
for s in subsecs:
for m in args.module:
value = get_value(m, 'pkg.required.' + s, args.flavour)
value = get_value(m, 'pkg.requires.' + s, args.flavour)
if not value:
continue
deps = value.split(',')
@ -449,7 +449,7 @@ def read_dep_graph(modules, section, graph):
for m in modules:
if m in graph:
continue
deps = get_modules_from_project_txt([ m ], 'pkg.required.jw', section,
deps = get_modules_from_project_txt([ m ], 'pkg.requires.jw', section,
scope = 1, add_self=False, names_only=True)
if not deps is None:
graph[m] = deps