From d997477775bf5447000f1d300a027878b566f5d1 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Mon, 8 Apr 2024 08:05:29 +0200 Subject: [PATCH] treewide: remove implicit SUBTARGET Historically it's possible to leave the `SUBTARGETS` undefined and automatically fallback to a "generic" subtarget. This however breaks various downstream scripts which may have expectations around filenames: While some targets with an explicit generic subtarget contain `generic` in the filenames of artifacts, implicit "subtargets" don't. Right now this breaks the CI[1], possibly also scripts using the ImageBuilders. This commit removes all code that support implicit handling of subtargets and instead requires every target to define "SUBTARGETS". [1]: https://github.com/openwrt/openwrt/actions/runs/8592821105/job/23548273630 Signed-off-by: Paul Spooren --- include/image-commands.mk | 4 ++-- include/image.mk | 12 ++++++------ include/kernel.mk | 6 +++--- include/version.mk | 2 +- package/kernel/linux/modules/crypto.mk | 2 +- target/imagebuilder/Makefile | 2 +- target/imagebuilder/files/Makefile | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/include/image-commands.mk b/include/image-commands.mk index 832c85ee70..83ecf7c520 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -46,7 +46,7 @@ endef ifdef IB define Build/append-image-stage - dd if=$(STAGING_DIR_IMAGE)/$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))-$(DEVICE_NAME)-$(1) >> $@ + dd if=$(STAGING_DIR_IMAGE)/$(BOARD)-$(SUBTARGET)-$(DEVICE_NAME)-$(1) >> $@ endef else define Build/append-image-stage @@ -54,7 +54,7 @@ define Build/append-image-stage fwtool -s /dev/null -t "$@.stripmeta" || : fwtool -i /dev/null -t "$@.stripmeta" || : mkdir -p "$(STAGING_DIR_IMAGE)" - dd if="$@.stripmeta" of="$(STAGING_DIR_IMAGE)/$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))-$(DEVICE_NAME)-$(1)" + dd if="$@.stripmeta" of="$(STAGING_DIR_IMAGE)/$(BOARD)-$(SUBTARGET)-$(DEVICE_NAME)-$(1)" dd if="$@.stripmeta" >> "$@" rm "$@.stripmeta" endef diff --git a/include/image.mk b/include/image.mk index 4b6acbe1aa..b6b796dd97 100644 --- a/include/image.mk +++ b/include/image.mk @@ -39,7 +39,7 @@ IMG_PREFIX_EXTRA:=$(if $(EXTRA_IMAGE_NAME),$(call sanitize,$(EXTRA_IMAGE_NAME))- IMG_PREFIX_VERNUM:=$(if $(CONFIG_VERSION_FILENAMES),$(call sanitize,$(VERSION_NUMBER))-) IMG_PREFIX_VERCODE:=$(if $(CONFIG_VERSION_CODE_FILENAMES),$(call sanitize,$(VERSION_CODE))-) -IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET)) +IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$(BOARD)-$(SUBTARGET) IMG_ROOTFS:=$(IMG_PREFIX)-rootfs IMG_COMBINED:=$(IMG_PREFIX)-combined ifeq ($(DUMP),) @@ -477,10 +477,10 @@ endef ifdef IB DEVICE_CHECK_PROFILE = $(filter $(1),DEVICE_$(PROFILE) $(PROFILE)) else - DEVICE_CHECK_PROFILE = $(CONFIG_TARGET_$(if $(CONFIG_TARGET_MULTI_PROFILE),DEVICE_)$(call target_conf,$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)))_$(1)) + DEVICE_CHECK_PROFILE = $(CONFIG_TARGET_$(if $(CONFIG_TARGET_MULTI_PROFILE),DEVICE_)$(call target_conf,$(BOARD)_$(SUBTARGET))_$(1)) endif -DEVICE_EXTRA_PACKAGES = $(call qstrip,$(CONFIG_TARGET_DEVICE_PACKAGES_$(call target_conf,$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)))_DEVICE_$(1))) +DEVICE_EXTRA_PACKAGES = $(call qstrip,$(CONFIG_TARGET_DEVICE_PACKAGES_$(call target_conf,$(BOARD)_$(SUBTARGET))_DEVICE_$(1))) define merge_packages $(1) := @@ -558,7 +558,7 @@ define Device/Build/initramfs DEVICE_TITLE="$$(DEVICE_TITLE)" \ DEVICE_PACKAGES="$$(DEVICE_PACKAGES)" \ TARGET="$(BOARD)" \ - SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \ + SUBTARGET="$(SUBTARGET)" \ VERSION_NUMBER="$(VERSION_NUMBER)" \ VERSION_CODE="$(VERSION_CODE)" \ SUPPORTED_DEVICES="$$(SUPPORTED_DEVICES)" \ @@ -692,7 +692,7 @@ define Device/Build/image DEVICE_TITLE="$(DEVICE_TITLE)" \ DEVICE_PACKAGES="$(DEVICE_PACKAGES)" \ TARGET="$(BOARD)" \ - SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \ + SUBTARGET="$(SUBTARGET)" \ VERSION_NUMBER="$(VERSION_NUMBER)" \ VERSION_CODE="$(VERSION_CODE)" \ SUPPORTED_DEVICES="$(SUPPORTED_DEVICES)" \ @@ -746,7 +746,7 @@ define Device/Build/artifact DEVICE_TITLE="$(DEVICE_TITLE)" \ DEVICE_PACKAGES="$(DEVICE_PACKAGES)" \ TARGET="$(BOARD)" \ - SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \ + SUBTARGET="$(SUBTARGET)" \ VERSION_NUMBER="$(VERSION_NUMBER)" \ VERSION_CODE="$(VERSION_CODE)" \ SUPPORTED_DEVICES="$(SUPPORTED_DEVICES)" \ diff --git a/include/kernel.mk b/include/kernel.mk index 9969c519dd..479c586ea2 100644 --- a/include/kernel.mk +++ b/include/kernel.mk @@ -43,7 +43,7 @@ else PATCH_DIR ?= $(CURDIR)/patches$(if $(wildcard ./patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) FILES_DIR ?= $(foreach dir,$(wildcard $(CURDIR)/files $(CURDIR)/files-$(KERNEL_PATCHVER)),"$(dir)") endif - KERNEL_BUILD_DIR ?= $(BUILD_DIR)/linux-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)) + KERNEL_BUILD_DIR ?= $(BUILD_DIR)/linux-$(BOARD)_$(SUBTARGET) LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) LINUX_UAPI_DIR=uapi/ LINUX_VERMAGIC:=$(strip $(shell cat $(LINUX_DIR)/.vermagic 2>/dev/null)) @@ -204,7 +204,7 @@ define KernelPackage $(eval $(call KernelPackage/Defaults)) $(eval $(call KernelPackage/$(1))) $(eval $(call KernelPackage/$(1)/$(BOARD))) - $(eval $(call KernelPackage/$(1)/$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic))) + $(eval $(call KernelPackage/$(1)/$(BOARD)/$(SUBTARGET))) define Package/kmod-$(1) TITLE:=$(TITLE) @@ -216,7 +216,7 @@ define KernelPackage PKGFLAGS:=$(PKGFLAGS) $(call KernelPackage/$(1)) $(call KernelPackage/$(1)/$(BOARD)) - $(call KernelPackage/$(1)/$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic)) + $(call KernelPackage/$(1)/$(BOARD)/$(SUBTARGET)) endef ifdef KernelPackage/$(1)/conffiles diff --git a/include/version.mk b/include/version.mk index f39e35cd09..cdee0976da 100644 --- a/include/version.mk +++ b/include/version.mk @@ -95,7 +95,7 @@ VERSION_SED_SCRIPT:=$(SED) 's,%U,$(call sed_escape,$(VERSION_REPO)),g' \ -e 's,%d,\L$(call sed_escape,$(subst $(space),_,$(VERSION_DIST))),g' \ -e 's,%R,$(call sed_escape,$(REVISION)),g' \ -e 's,%T,$(call sed_escape,$(BOARD)),g' \ - -e 's,%S,$(call sed_escape,$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic)),g' \ + -e 's,%S,$(call sed_escape,$(BOARD)/$(SUBTARGET)),g' \ -e 's,%A,$(call sed_escape,$(ARCH_PACKAGES)),g' \ -e 's,%t,$(call sed_escape,$(VERSION_TAINTS)),g' \ -e 's,%M,$(call sed_escape,$(VERSION_MANUFACTURER)),g' \ diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk index be9893d453..4a8a283d37 100644 --- a/package/kernel/linux/modules/crypto.mk +++ b/package/kernel/linux/modules/crypto.mk @@ -11,7 +11,7 @@ CRYPTO_MODULES = \ ALGAPI2=crypto_algapi \ BLKCIPHER2=crypto_blkcipher -CRYPTO_TARGET = $(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic) +CRYPTO_TARGET = $(BOARD)/$(SUBTARGET) crypto_confvar=CONFIG_CRYPTO_$(word 1,$(subst =,$(space),$(1))) crypto_file=$(LINUX_DIR)/crypto/$(word 2,$(subst =,$(space),$(1))).ko diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index 799ac3be55..c768c992ea 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/feeds.mk override MAKEFLAGS= -IB_NAME:=$(VERSION_DIST_SANITIZED)-imagebuilder-$(if $(CONFIG_VERSION_FILENAMES),$(VERSION_NUMBER)-)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET)).$(HOST_OS)-$(HOST_ARCH) +IB_NAME:=$(VERSION_DIST_SANITIZED)-imagebuilder-$(if $(CONFIG_VERSION_FILENAMES),$(VERSION_NUMBER)-)$(BOARD)-$(SUBTARGET).$(HOST_OS)-$(HOST_ARCH) PKG_BUILD_DIR:=$(BUILD_DIR)/$(IB_NAME) IB_KDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(KERNEL_BUILD_DIR)) IB_LDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(LINUX_DIR)) diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile index 0466fc7dcc..78a75e96a8 100644 --- a/target/imagebuilder/files/Makefile +++ b/target/imagebuilder/files/Makefile @@ -103,7 +103,7 @@ PROFILE_LIST = $(foreach p,$(PROFILE_NAMES), \ .profiles.mk: .targetinfo - @$(SCRIPT_DIR)/target-metadata.pl profile_mk $< '$(BOARD)$(if $(SUBTARGET),/$(SUBTARGET))' > $@ + @$(SCRIPT_DIR)/target-metadata.pl profile_mk $< '$(BOARD)/$(SUBTARGET)' > $@ staging_dir/host/.prereq-build: include/prereq-build.mk mkdir -p tmp