mirror of
ssh://git.janware.com/janware/proj/jw-pkg
synced 2026-04-24 17:23:36 +02:00
jw.pkg.cmds.projects.CmdRequiredOsPkg: Support --quote
--quote puts double quotation marks around the listed dependencies, protecting version requirements (>= 1.0) and parenthesis "perl(GD)" from the shell. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
26bfda109c
commit
2bbf5bd8e7
3 changed files with 12 additions and 8 deletions
|
|
@ -183,13 +183,13 @@ build-order-%: $(filter-out $(UNAVAILABLE_TARGETS),pull.done)
|
|||
build-order: build-order-all
|
||||
|
||||
echo-build-deps:
|
||||
$(Q)$(JW_PKG_PY_PROJECTS) required-os-pkg --skip-excluded --flavours "build" $(TARGET_PROJECTS)
|
||||
$(Q)$(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded --flavours "build" $(TARGET_PROJECTS)
|
||||
|
||||
echo-install-deps:
|
||||
$(Q)$(JW_PKG_PY_PROJECTS) required-os-pkg --skip-excluded --flavours "build run" $(TARGET_PROJECTS)
|
||||
$(Q)$(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded --flavours "build run" $(TARGET_PROJECTS)
|
||||
|
||||
echo-release-deps:
|
||||
$(Q)$(JW_PKG_PY_PROJECTS) required-os-pkg --skip-excluded --flavours "build run release" $(TARGET_PROJECTS)
|
||||
$(Q)$(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded --flavours "build run release" $(TARGET_PROJECTS)
|
||||
echo-os:
|
||||
$(Q)$(GET_OS_SH)
|
||||
|
||||
|
|
@ -241,10 +241,10 @@ pkg-manager-refresh:
|
|||
$(PKG_MANAGER) refresh
|
||||
|
||||
pkg-install-build-deps:
|
||||
$(PKG_MANAGER) install $(BASE_PKGS) $(shell $(JW_PKG_PY_PROJECTS) required-os-pkg --skip-excluded --flavours build $(TARGET_PROJECTS))
|
||||
$(PKG_MANAGER) install $(BASE_PKGS) $(shell $(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded --flavours build $(TARGET_PROJECTS))
|
||||
|
||||
pkg-install-release-deps:
|
||||
$(PKG_MANAGER) install $(BASE_PKGS) $(shell $(JW_PKG_PY_PROJECTS) required-os-pkg --skip-excluded --flavours 'build run release' $(TARGET_PROJECTS))
|
||||
$(PKG_MANAGER) install $(BASE_PKGS) $(shell $(JW_PKG_PY_PROJECTS) required-os-pkg --quote --skip-excluded --flavours 'build run release' $(TARGET_PROJECTS))
|
||||
|
||||
pkg-release-reinstall: $(PREREQ_RELEASE)
|
||||
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@ prefix.done:
|
|||
touch $@
|
||||
|
||||
echo-build-deps:
|
||||
$(Q)echo $(call proj_query, required-os-pkg --flavours "build" $(PROJECT))
|
||||
$(Q)echo $(call proj_query, required-os-pkg --quote --flavours "build" $(PROJECT))
|
||||
|
||||
git-ssh-%:
|
||||
bash -c "`git remote get-url --push $* | sed 's|ssh://||; s|\([^/]\+\)/\(.*\)|LC_CDPATH=/\2 ssh -o SendEnv=LC_CDPATH \1|'`"
|
||||
|
|
@ -213,10 +213,10 @@ pkg-manager-refresh:
|
|||
$(PKG_MANAGER) refresh
|
||||
|
||||
pkg-install-build-deps:
|
||||
$(PKG_MANAGER) install $(BASE_PKGS) $(shell $(proj_query_cmd) required-os-pkg --skip-excluded --flavours "build" $(PROJECT))
|
||||
$(PKG_MANAGER) install $(BASE_PKGS) $(shell $(proj_query_cmd) required-os-pkg --quote --skip-excluded --flavours "build" $(PROJECT))
|
||||
|
||||
pkg-install-release-deps:
|
||||
$(PKG_MANAGER) install $(BASE_PKGS) $(shell $(proj_query_cmd) required-os-pkg --skip-excluded --flavours "build run release" $(PROJECT))
|
||||
$(PKG_MANAGER) install $(BASE_PKGS) $(shell $(proj_query_cmd) required-os-pkg --quote --skip-excluded --flavours "build run release" $(PROJECT))
|
||||
|
||||
pkg-install-testbuild-deps:
|
||||
$(PKG_MANAGER) install $(BASE_PKGS) $(shell $(proj_query_cmd) pkg-requires --delimiter=' ' --no-version build,run,release $(PROJECT))
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ class CmdRequiredOsPkg(Cmd): # export
|
|||
parser.add_argument('--flavours', help='Dependency flavours', default='build')
|
||||
parser.add_argument('--skip-excluded', action='store_true', default=False,
|
||||
help='Output empty prerequisite list if module is excluded')
|
||||
parser.add_argument('--quote', action='store_true', default=False,
|
||||
help='Put double quotes around each listed dependency')
|
||||
|
||||
async def _run(self, args: Namespace) -> None:
|
||||
modules = args.module
|
||||
|
|
@ -41,6 +43,8 @@ class CmdRequiredOsPkg(Cmd): # export
|
|||
vals = self.app.collect_values(deps, 'pkg.requires.' + s, f)
|
||||
if vals:
|
||||
requires = requires + vals
|
||||
if args.quote:
|
||||
requires = [f'"{dep}"' for dep in requires]
|
||||
# TODO: add all not in build tree as -devel
|
||||
r = ''
|
||||
for m in requires:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue