mirror of
ssh://git.janware.com/janware/proj/jw-pkg
synced 2026-04-24 17:23:36 +02:00
cmds.projects.CmdRequiredOsPkg: Select devel with release
The output of jw.pkg.py projects required-os-pkg --flavours release should include all packages required by flavour devel, because during the release process, -devel and -run packages are both installed, and installing the -devel package is only possible if its dependencies are installed. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
d97cf111da
commit
2e1115e722
1 changed files with 7 additions and 5 deletions
|
|
@ -25,10 +25,12 @@ class CmdRequiredOsPkg(Cmd): # export
|
|||
|
||||
async def _run(self, args: Namespace) -> None:
|
||||
modules = args.module
|
||||
flavours = args.flavours.split()
|
||||
if 'build' in flavours and not 'run' in flavours:
|
||||
flavours = set(args.flavours.split())
|
||||
if 'build' in flavours:
|
||||
# TODO: This adds too much. Only the run dependencies of the build dependencies would be needed.
|
||||
flavours.append('run')
|
||||
flavours.add('run')
|
||||
if 'release' in flavours:
|
||||
flavours |= set(['run', 'devel', 'build'])
|
||||
log(DEBUG, "flavours = " + args.flavours)
|
||||
deps = self.app.get_project_refs(modules, ['pkg.requires.jw'], flavours,
|
||||
scope = Scope.Subtree, add_self=True, names_only=True)
|
||||
|
|
@ -38,12 +40,12 @@ class CmdRequiredOsPkg(Cmd): # export
|
|||
deps.remove(d)
|
||||
subsecs = self.app.os_cascade()
|
||||
log(DEBUG, "subsecs = ", subsecs)
|
||||
requires = []
|
||||
requires: set[str] = set()
|
||||
for sec in subsecs:
|
||||
for flavour in flavours:
|
||||
vals = self.app.get_values(deps, ['pkg.requires.' + sec], [flavour])
|
||||
if vals:
|
||||
requires = requires + vals
|
||||
requires |= set(vals)
|
||||
if args.quote:
|
||||
requires = [f'"{dep}"' for dep in requires]
|
||||
# TODO: add all not in build tree as -devel
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue