projects-dir.mk, scripts/Makefile, jw-pkg: Move jw-pkg from jw-build to jw-base

jw-pkg is related to, but strictly speaking not indispensible for building and
packaging software. So, in the attempt have a minimal jw-build, move jw-pkg to
jw-base, and fix all packages that use it.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2025-11-17 13:05:43 +01:00
commit 0c9fd98009
3 changed files with 2 additions and 527 deletions

View file

@ -37,7 +37,7 @@ JW_BUILD_REMOTE_BINDIR = /opt/jw-build/bin
SHELL = /bin/bash -o pipefail +H
PROJECTS_TXT ?= projects.txt
JW_BUILD_VERBOSE ?= false
BASE_PKGS = git make sudo time time xdg-utils python3
BASE_PKGS = git make sudo time xdg-utils python3
PREREQ_RELEASE ?= pull
# ------------ evaluate Makefile and environment variables
@ -131,7 +131,6 @@ PURGE_SH = /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR
PKG_MANAGER_SH ?= /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/pkg-manager.sh $(JW_BUILD_BINDIR)/pkg-manager.sh) pkg-manager-not-found)
CREATE_PROJECT_SH ?= /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/jw-build-create-project.sh $(JW_BUILD_BINDIR)/jw-build-create-project.sh) jw-build-create-project-not-found)
LIST_VCS_FILES_SH = /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/scm.sh $(JW_BUILD_BINDIR)/scm.sh) scm-sh-not-found) ls-files
JW_PKG = /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/jw-pkg $(JW_BUILD_BINDIR)/jw-pkg) jw-pkg-not-found)
GIT_SRV_ADMIN_SH = JW_BUILD_SSH_EXTRA_OPTS="$(JW_BUILD_SSH_EXTRA_OPTS)" $(GIT_SSH) $(JANWARE_USER)@git.janware.com $(JW_BUILD_REMOTE_BINDIR)/git-srv-admin.sh
# ------------ projects to be built
@ -238,30 +237,11 @@ pkg-install-build-deps:
pkg-install-release-deps:
$(PKG_MANAGER_SH) install $(DASH_Y) "$(BASE_PKGS) $(shell $(PROJECTS_PY) required-os-pkg --skip-excluded --flavours 'build run release' $(TARGET_PROJECTS))"
pkg-exclude-built-today:
touch $(EXCLUDES_FILE)
$(JW_PKG) built-today > built-today.tmp
cat $(EXCLUDES_FILE) built-today.tmp | sed 's/ */\n/g' | sort -u > $(EXCLUDES_FILE).tmp
mv $(EXCLUDES_FILE).tmp $(EXCLUDES_FILE)
distclean: clean.pkg-exclude-built-today
clean.pkg-exclude-built-today:
rm -f $(EXCLUDES_FILE).tmp built-today.tmp
pkg-exclude-installed:
$(JW_PKG) list-projects | while read p; do sed -i "s/^# *$$p$$/$$p/" $(EXCLUDES_FILE) ; done
pkg-list-groups:
@find . -name project.conf | xargs sed '/^ *group *=/!d; s/group *= *//; s/"//g' | sort -u
pkg-release-reinstall: $(PREREQ_RELEASE)
pkg-release-all:
/bin/bash ./packager-client/scripts/packager-client-2.sh
pkg-fetch-from-%:
ssh $* /opt/jw-base/bin/jw-pkg list -s > $(PROJECTS_TXT).tmp
mv $(PROJECTS_TXT).tmp $(PROJECTS_TXT)
pkg-init-%:
$(CREATE_PROJECT_SH) $*