From 0748d365a60477c96cb9f6a12e9dbe547d549e1f Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Tue, 12 Mar 2024 09:33:19 +0000 Subject: [PATCH] genprotimg/**/Makefile: Fix staged installs Fix the support for staged installs. The Makefile variable `PKGDATADIR` uses `DESTDIR` for all Makefile target, but actually it should only be used for the `install*` and `uninstall*` targets. [1] Fix this by using `DESTDIR` only for `install*` targets - uninstall* targets are not supported by s390-tools. Before this change, if `DESTDIR` was set for staged installs, `genprotimg` has tried to find the bootloader binaries at the temporary installation path `$DESTDIR$(TOOLS_DATADIR)/genprotimg/` instead of `$(TOOLS_DATADIR)/genprotimg`. [1] https://www.gnu.org/prep/standards/html_node/DESTDIR.html Fixes: 65b9fc442c1a ("genprotimg: introduce new tool for the creation of PV images") Reviewed-by: Steffen Eiden Signed-off-by: Marc Hartmayer Signed-off-by: Steffen Eiden --- genprotimg/Makefile | 6 +++--- genprotimg/boot/Makefile | 8 ++++---- genprotimg/src/Makefile | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/genprotimg/Makefile b/genprotimg/Makefile index 8c9f7048..6a2e37e4 100644 --- a/genprotimg/Makefile +++ b/genprotimg/Makefile @@ -3,7 +3,7 @@ include ../common.mak .DEFAULT_GOAL := all -PKGDATADIR := "$(DESTDIR)$(TOOLS_DATADIR)/genprotimg" +PKGDATADIR := "$(TOOLS_DATADIR)/genprotimg" TESTS := SUBDIRS := boot src man RECURSIVE_TARGETS := all-recursive install-recursive clean-recursive @@ -11,8 +11,8 @@ RECURSIVE_TARGETS := all-recursive install-recursive clean-recursive all: all-recursive install: install-recursive - $(INSTALL) -d -m 755 "$(PKGDATADIR)" - $(INSTALL) -g $(GROUP) -o $(OWNER) -m 755 samples/check_hostkeydoc "$(PKGDATADIR)" + $(INSTALL) -d -m 755 "$(DESTDIR)$(PKGDATADIR)" + $(INSTALL) -g $(GROUP) -o $(OWNER) -m 755 samples/check_hostkeydoc "$(DESTDIR)$(PKGDATADIR)" clean: clean-recursive diff --git a/genprotimg/boot/Makefile b/genprotimg/boot/Makefile index 799df9cc..73f3c9a8 100644 --- a/genprotimg/boot/Makefile +++ b/genprotimg/boot/Makefile @@ -7,7 +7,7 @@ DEBUG_FILES := $(addsuffix .debug,$(FILES)) ifeq ($(HOST_ARCH),s390x) ZIPL_DIR := $(rootdir)/zipl ZIPL_BOOT_DIR := $(ZIPL_DIR)/boot -PKGDATADIR := $(DESTDIR)$(TOOLS_DATADIR)/genprotimg +PKGDATADIR := $(TOOLS_DATADIR)/genprotimg INCLUDE_PATHS := $(ZIPL_BOOT_DIR) $(ZIPL_DIR)/include $(rootdir)/include INCLUDE_PARMS := $(addprefix -I,$(INCLUDE_PATHS)) @@ -86,9 +86,9 @@ stage3b.elf: head.o $(ZIPL_OBJS) @chmod a-x $@ install: stage3a.bin stage3b_reloc.bin - $(INSTALL) -d -m 755 "$(PKGDATADIR)" - $(INSTALL) -g $(GROUP) -o $(OWNER) -m 644 stage3a.bin "$(PKGDATADIR)" - $(INSTALL) -g $(GROUP) -o $(OWNER) -m 644 stage3b_reloc.bin "$(PKGDATADIR)" + $(INSTALL) -d -m 755 "$(DESTDIR)$(PKGDATADIR)" + $(INSTALL) -g $(GROUP) -o $(OWNER) -m 644 stage3a.bin "$(DESTDIR)$(PKGDATADIR)" + $(INSTALL) -g $(GROUP) -o $(OWNER) -m 644 stage3b_reloc.bin "$(DESTDIR)$(PKGDATADIR)" else # Don't generate the dependency files (see `common.mak` for the diff --git a/genprotimg/src/Makefile b/genprotimg/src/Makefile index 08734bff..d447e6cf 100644 --- a/genprotimg/src/Makefile +++ b/genprotimg/src/Makefile @@ -3,7 +3,7 @@ include ../../common.mak bin_PROGRAM = genprotimg -PKGDATADIR ?= "$(DESTDIR)$(TOOLS_DATADIR)/genprotimg" +PKGDATADIR ?= "$(TOOLS_DATADIR)/genprotimg" SRC_DIR := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))) TOP_SRCDIR := $(SRC_DIR)/../ ROOT_DIR = $(TOP_SRC_DIR)/../../