From a1c4d6c884c8aa871cc27166f33feecd1002b3e8 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 9 May 2024 19:23:24 +0200 Subject: [PATCH] package/pkg-generic.mk: really make DL_SUBDIR inheritance work While bumping kodi, we figured out that the kodi-texturepacker and kodi-jsonschemabuilder were both re-downloading the main Kodi tarball, even though they contain: KODI_JSONSCHEMABUILDER_DL_SUBDIR = kodi KODI_TEXTUREPACKER_DL_SUBDIR = kodi Both are host packages, and turns out that changing those variables to HOST_ ones made the download sharing work. Commit efa7712b092950c92f994e2ee30c120a64e5451b ("package/pkg-generic: host variant inherits target download settings") introduced inheritance of host variables from target variables from a number of variables, including DL_SUBDIR. But it missed the fact that earlier in pkg-generic.mk, the following line was defined: $(2)_DL_SUBDIR ?= $$($(2)_RAWNAME) So, when this later code kicked in: ifndef $(2)_DL_SUBDIR ifdef $(3)_DL_SUBDIR $(2)_DL_SUBDIR = $$($(3)_DL_SUBDIR) endif endif In fact it never did anything because $(2)_DL_SUBDIR would never be undefined. This commit fixes this issue by properly adjusting the logic to inherit the value of the target variable when it exists, or defaulting to $$($(2)_RAWNAME) otherwise. Cc: Yann E. MORIN Signed-off-by: Thomas Petazzoni Signed-off-by: Yann E. MORIN --- package/pkg-generic.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index 577a148c1e..a2749320c3 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -525,7 +525,6 @@ endif $(2)_BASENAME = $$(if $$($(2)_VERSION),$(1)-$$($(2)_VERSION),$(1)) $(2)_BASENAME_RAW = $$(if $$($(2)_VERSION),$$($(2)_RAWNAME)-$$($(2)_VERSION),$$($(2)_RAWNAME)) -$(2)_DL_SUBDIR ?= $$($(2)_RAWNAME) $(2)_DL_DIR = $$(DL_DIR)/$$($(2)_DL_SUBDIR) $(2)_DIR = $$(BUILD_DIR)/$$($(2)_BASENAME) @@ -538,6 +537,8 @@ endif ifndef $(2)_DL_SUBDIR ifdef $(3)_DL_SUBDIR $(2)_DL_SUBDIR = $$($(3)_DL_SUBDIR) + else + $(2)_DL_SUBDIR = $$($(2)_RAWNAME) endif endif