mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-28 07:43:55 +01:00
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:
parent
b57c5846c4
commit
b35a50944c
3 changed files with 25 additions and 25 deletions
|
|
@ -14,13 +14,13 @@ jw-maintainer = jan
|
||||||
[build]
|
[build]
|
||||||
libname = none
|
libname = none
|
||||||
|
|
||||||
[pkg.required.os]
|
[pkg.requires.os]
|
||||||
build = cvs, make, inkscape
|
build = cvs, make, inkscape
|
||||||
|
|
||||||
[pkg.required.suse]
|
[pkg.requires.suse]
|
||||||
release = rpmbuild
|
release = rpmbuild
|
||||||
|
|
||||||
[pkg.required.debian]
|
[pkg.requires.debian]
|
||||||
release = devscripts, debhelper, dput, libparse-debcontrol-perl, fakeroot
|
release = devscripts, debhelper, dput, libparse-debcontrol-perl, fakeroot
|
||||||
|
|
||||||
[pkg.run.post]
|
[pkg.run.post]
|
||||||
|
|
|
||||||
|
|
@ -156,7 +156,7 @@ prefix.done:
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
echo-prereq-build:
|
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-files echo-files:
|
||||||
@$(LIST_VCS_FILES) -f
|
@$(LIST_VCS_FILES) -f
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ import subprocess
|
||||||
import re
|
import re
|
||||||
import platform
|
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
|
# 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
|
# 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
|
# 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 r
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def pkg_required_os_cascade():
|
def pkg_requires_os_cascade():
|
||||||
os = get_os()
|
os = get_os()
|
||||||
name = re.sub('-.*', '', os)
|
name = re.sub('-.*', '', os)
|
||||||
# e.g. os, linux, suse, suse-tumbleweed
|
# 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
|
# -L needs to contain more paths than libs linked with -l would require
|
||||||
def get_ldpathflags(names, exclude = []):
|
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)
|
scope = 2, add_self=True, names_only=True)
|
||||||
r = ''
|
r = ''
|
||||||
for m in deps:
|
for m in deps:
|
||||||
|
|
@ -226,7 +226,7 @@ def get_ldpathflags(names, exclude = []):
|
||||||
|
|
||||||
def get_ldflags(names, exclude = []):
|
def get_ldflags(names, exclude = []):
|
||||||
#print(names)
|
#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)
|
scope = 1, add_self=False, names_only=True)
|
||||||
#print(deps)
|
#print(deps)
|
||||||
r = ''
|
r = ''
|
||||||
|
|
@ -266,37 +266,37 @@ def cmd_test(args_):
|
||||||
args=parser.parse_args(args_)
|
args=parser.parse_args(args_)
|
||||||
print("blah = " + args.blah)
|
print("blah = " + args.blah)
|
||||||
|
|
||||||
def cmd_required_pkg(args_):
|
def cmd_requires_pkg(args_):
|
||||||
parser = argparse.ArgumentParser(description='required-pkg')
|
parser = argparse.ArgumentParser(description='requires-pkg')
|
||||||
parser.add_argument('module', nargs='*', help='Modules')
|
parser.add_argument('module', nargs='*', help='Modules')
|
||||||
parser.add_argument('--flavours', help='Dependency flavours', default='build')
|
parser.add_argument('--flavours', help='Dependency flavours', default='build')
|
||||||
args=parser.parse_args(args_)
|
args=parser.parse_args(args_)
|
||||||
flavours = args.flavours.split()
|
flavours = args.flavours.split()
|
||||||
debug("flavours = " + args.flavours)
|
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)
|
scope = 2, add_self=True, names_only=True)
|
||||||
subsecs = pkg_required_os_cascade()
|
subsecs = pkg_requires_os_cascade()
|
||||||
debug("subsecs = ", subsecs)
|
debug("subsecs = ", subsecs)
|
||||||
required = []
|
requires = []
|
||||||
for s in subsecs:
|
for s in subsecs:
|
||||||
for f in flavours:
|
for f in flavours:
|
||||||
vals = collect_values(deps, 'pkg.required.' + s, f)
|
vals = collect_values(deps, 'pkg.requires.' + s, f)
|
||||||
if vals:
|
if vals:
|
||||||
required = required + vals
|
requires = requires + vals
|
||||||
# TODO: add all not in build tree as -devel
|
# TODO: add all not in build tree as -devel
|
||||||
r = ''
|
r = ''
|
||||||
for m in required:
|
for m in requires:
|
||||||
r = r + ' ' + m
|
r = r + ' ' + m
|
||||||
print(r[1:])
|
print(r[1:])
|
||||||
|
|
||||||
def cmd_os_cascade(args_):
|
def cmd_os_cascade(args_):
|
||||||
print(' '.join(pkg_required_os_cascade()))
|
print(' '.join(pkg_requires_os_cascade()))
|
||||||
|
|
||||||
def cmd_ldlibpath(args_):
|
def cmd_ldlibpath(args_):
|
||||||
parser = argparse.ArgumentParser(description='ldlibpath')
|
parser = argparse.ArgumentParser(description='ldlibpath')
|
||||||
parser.add_argument('module', nargs='*', help='Modules')
|
parser.add_argument('module', nargs='*', help='Modules')
|
||||||
args=parser.parse_args(args_)
|
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)
|
scope = 2, add_self=True, names_only=True)
|
||||||
r = ''
|
r = ''
|
||||||
for m in deps:
|
for m in deps:
|
||||||
|
|
@ -307,7 +307,7 @@ def cmd_exepath(args_):
|
||||||
parser = argparse.ArgumentParser(description='exepath')
|
parser = argparse.ArgumentParser(description='exepath')
|
||||||
parser.add_argument('module', nargs='*', help='Modules')
|
parser.add_argument('module', nargs='*', help='Modules')
|
||||||
args=parser.parse_args(args_)
|
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)
|
scope = 2, add_self=True, names_only=True)
|
||||||
r = ''
|
r = ''
|
||||||
for m in deps:
|
for m in deps:
|
||||||
|
|
@ -331,7 +331,7 @@ def cmd_cflags(args_):
|
||||||
parser = argparse.ArgumentParser(description='cflags')
|
parser = argparse.ArgumentParser(description='cflags')
|
||||||
parser.add_argument('module', nargs='*', help='Modules')
|
parser.add_argument('module', nargs='*', help='Modules')
|
||||||
args=parser.parse_args(args_)
|
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)
|
scope = 2, add_self=True, names_only=True)
|
||||||
r = ''
|
r = ''
|
||||||
for m in reversed(deps):
|
for m in reversed(deps):
|
||||||
|
|
@ -342,7 +342,7 @@ def cmd_path(args_):
|
||||||
parser = argparse.ArgumentParser(description='path')
|
parser = argparse.ArgumentParser(description='path')
|
||||||
parser.add_argument('module', nargs='*', help='Modules')
|
parser.add_argument('module', nargs='*', help='Modules')
|
||||||
args=parser.parse_args(args_)
|
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)
|
scope = 2, add_self=True, names_only=True)
|
||||||
r = ''
|
r = ''
|
||||||
for m in deps:
|
for m in deps:
|
||||||
|
|
@ -354,7 +354,7 @@ def cmd_prereq(args_):
|
||||||
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')
|
||||||
args=parser.parse_args(args_)
|
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)
|
args.flavour, scope = 2, add_self=False, names_only=True)
|
||||||
print(' '.join(deps))
|
print(' '.join(deps))
|
||||||
|
|
||||||
|
|
@ -372,13 +372,13 @@ def cmd_pkg_requires(args_):
|
||||||
args=parser.parse_args(args_)
|
args=parser.parse_args(args_)
|
||||||
debug('flavour = ', args.flavour, ', vendor = ', args.vendor)
|
debug('flavour = ', args.flavour, ', vendor = ', args.vendor)
|
||||||
version_pattern=re.compile("[0-9-.]*")
|
version_pattern=re.compile("[0-9-.]*")
|
||||||
subsecs = pkg_required_os_cascade()
|
subsecs = pkg_requires_os_cascade()
|
||||||
subsecs.append('jw')
|
subsecs.append('jw')
|
||||||
debug("subsecs = ", subsecs)
|
debug("subsecs = ", subsecs)
|
||||||
r = []
|
r = []
|
||||||
for s in subsecs:
|
for s in subsecs:
|
||||||
for m in args.module:
|
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:
|
if not value:
|
||||||
continue
|
continue
|
||||||
deps = value.split(',')
|
deps = value.split(',')
|
||||||
|
|
@ -449,7 +449,7 @@ def read_dep_graph(modules, section, graph):
|
||||||
for m in modules:
|
for m in modules:
|
||||||
if m in graph:
|
if m in graph:
|
||||||
continue
|
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)
|
scope = 1, add_self=False, names_only=True)
|
||||||
if not deps is None:
|
if not deps is None:
|
||||||
graph[m] = deps
|
graph[m] = deps
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue