defs.mk: Don't use plain /usr/bin/install

In a development tree, $(INSTALL) falls back to plain install(1), which
refuses dead symlinks, so unprivileged "make install" fails outright.
Packaging is unaffected, because the spec exports INSTALL_LOG, which
already routes $(INSTALL) through "pkg.sh log-install"

Route the remaining $(INSTALL) defaults through $(LOG_INSTALL_SH) as
well to address the failures: $(SUDO) jw.pkg log-install -p for
DEVELOPMENT=false, plain jw.pkg log-install otherwise. Move -f $(PKG_FORMAT)
out of $(LOG_INSTALL_SH) and into the two logging call sites, so the
no-log paths don't carry a package format they never use.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-08-18 15:34:02 +02:00
commit 214e4b995e
Signed by: Jan Lindemann
GPG key ID: 3750640C9E25DD61

View file

@ -184,7 +184,7 @@ PKG_VENDOR ?= janware GmbH
# ----- Packaging variables
PKG_SH_EXE := /bin/bash $(JWB_SCRIPT_DIR)/pkg.sh
LOG_INSTALL_SH := $(PKG_SH_EXE) log-install -f $(PKG_FORMAT)
LOG_INSTALL_SH := $(PKG_SH_EXE) log-install
UPDATE_REPO_SH := /opt/packager-server/bin/packager-server schedule-rebuild
ifdef INSTALL_LINK
@ -195,14 +195,14 @@ else ifdef INSTALL_SYMLINK
LINK_LIB = $(SUDO) $(LOG_INSTALL_SH) -LA $(LOG_INSTALL_EXTRA_OPTS)
else
ifdef INSTALL_LOG
INSTALL = $(LOG_INSTALL_SH) -p -l $(INSTALL_LOG) $(LOG_INSTALL_EXTRA_OPTS)
LINK_LIB = $(LOG_INSTALL_SH) -L -l $(INSTALL_LOG) $(LOG_INSTALL_EXTRA_OPTS)
INSTALL = $(LOG_INSTALL_SH) -p -l $(INSTALL_LOG) -f $(PKG_FORMAT) $(LOG_INSTALL_EXTRA_OPTS)
LINK_LIB = $(LOG_INSTALL_SH) -L -l $(INSTALL_LOG) -f $(PKG_FORMAT) $(LOG_INSTALL_EXTRA_OPTS)
else
ifndef INSTALL
ifeq ($(DEVELOPMENT),false)
INSTALL = $(SUDO) install
INSTALL = $(SUDO) $(LOG_INSTALL_SH) -p $(LOG_INSTALL_EXTRA_OPTS)
else
INSTALL = install
INSTALL = $(LOG_INSTALL_SH)
endif
endif
ifndef LINK_LIB