cmds.projects.CmdRequiredOsPkg|BaseCmdPkgRelations: Align APIs

In a push to eventually merge the classes, somewhat align the
command-line API of CmdRequiredOsPkg to the one of
BaseCmdPkgRelations by using dependency flavours as mandatory, first
argument.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-03-15 13:20:14 +01:00
commit 5b3118319c
3 changed files with 13 additions and 13 deletions

View file

@ -183,13 +183,13 @@ build-order-%: $(filter-out $(UNAVAILABLE_TARGETS),pull.done)
build-order: build-order-all build-order: build-order-all
echo-build-deps: echo-build-deps:
$(Q)$(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded --flavours "build" $(TARGET_PROJECTS) $(Q)$(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded "build" $(TARGET_PROJECTS)
echo-install-deps: echo-install-deps:
$(Q)$(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded --flavours "build run" $(TARGET_PROJECTS) $(Q)$(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded "build,run" $(TARGET_PROJECTS)
echo-release-deps: echo-release-deps:
$(Q)$(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded --flavours "build run release" $(TARGET_PROJECTS) $(Q)$(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded "build,run,release" $(TARGET_PROJECTS)
echo-os: echo-os:
$(Q)$(JW_PKG_PY) distro info $(Q)$(JW_PKG_PY) distro info
@ -246,10 +246,10 @@ pkg-manager-dup:
$(PKG_MANAGER) dup $(PKG_MANAGER) dup
pkg-install-build-deps: pkg-install-build-deps:
$(PKG_MANAGER) install $(shell $(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded --flavours build $(TARGET_PROJECTS)) $(PKG_MANAGER) install $(shell $(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded "build" $(TARGET_PROJECTS))
pkg-install-release-deps: pkg-install-release-deps:
$(PKG_MANAGER) install $(shell $(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded --flavours 'build run release' $(TARGET_PROJECTS)) $(PKG_MANAGER) install $(shell $(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded "build,run,release" $(TARGET_PROJECTS))
pkg-release-reinstall: $(PREREQ_RELEASE) pkg-release-reinstall: $(PREREQ_RELEASE)

View file

@ -193,7 +193,7 @@ prefix.done:
touch $@ touch $@
echo-build-deps: echo-build-deps:
$(Q)echo $(call proj_query, required-os-pkg --quote --flavours "build" $(PROJECT)) $(Q)echo $(call proj_query, required-os-pkg --quote "build" $(PROJECT))
git-ssh-%: git-ssh-%:
bash -c "`git remote get-url --push $* | sed 's|ssh://||; s|\([^/]\+\)/\(.*\)|LC_CDPATH=/\2 ssh -o SendEnv=LC_CDPATH \1|'`" bash -c "`git remote get-url --push $* | sed 's|ssh://||; s|\([^/]\+\)/\(.*\)|LC_CDPATH=/\2 ssh -o SendEnv=LC_CDPATH \1|'`"
@ -215,10 +215,10 @@ pkg-manager-refresh:
$(PKG_MANAGER) refresh $(PKG_MANAGER) refresh
pkg-install-build-deps: pkg-install-build-deps:
$(PKG_MANAGER) install $(shell $(proj_query_cmd) required-os-pkg --quote --skip-excluded --flavours "build" $(PROJECT)) $(PKG_MANAGER) install $(shell $(proj_query_cmd) required-os-pkg --quote --skip-excluded "build" $(PROJECT))
pkg-install-release-deps: pkg-install-release-deps:
$(PKG_MANAGER) install $(shell $(proj_query_cmd) required-os-pkg --quote --skip-excluded --flavours "build run release" $(PROJECT)) $(PKG_MANAGER) install $(shell $(proj_query_cmd) required-os-pkg --quote --skip-excluded "build,run,release" $(PROJECT))
pkg-install-testbuild-deps: pkg-install-release-deps pkg-install-testbuild-deps: pkg-install-release-deps

View file

@ -16,16 +16,16 @@ class CmdRequiredOsPkg(Cmd): # export
def add_arguments(self, parser: ArgumentParser) -> None: def add_arguments(self, parser: ArgumentParser) -> None:
super().add_arguments(parser) super().add_arguments(parser)
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') parser.add_argument('modules', nargs='*', help='Modules')
parser.add_argument('--skip-excluded', action='store_true', default=False, parser.add_argument('--skip-excluded', action='store_true', default=False,
help='Output empty prerequisite list if module is excluded') help='Output empty prerequisite list for excluded modules')
parser.add_argument('--quote', action='store_true', default=False, parser.add_argument('--quote', action='store_true', default=False,
help='Put double quotes around each listed dependency') help='Put double quotes around each listed dependency')
async def _run(self, args: Namespace) -> None: async def _run(self, args: Namespace) -> None:
modules = args.module modules = args.modules
flavours = set(args.flavours.split()) flavours = set(args.flavours.split(','))
if 'build' in flavours: if 'build' in flavours:
# TODO: This adds too much. Only the run dependencies of the build dependencies would be needed. # TODO: This adds too much. Only the run dependencies of the build dependencies would be needed.
flavours.add('run') flavours.add('run')