package/infra: fix downloading versions with a slash

Since cset 54456cc (infra: consistently use double dollar signs...), it
is no longer possible to download versions with a slash in it, because
the _DL_VERSION variable is second-expanded, but the _VERSION variable
is immediately-expanded to have '/' substitued with '_'.

So, _DL_VERSION is only expanded at the time it is evaluated, and by
that time, we've lost the slashes in _VERSION.

Make the _DL_VERSION variables immediately-evaluated.

Fixes:
    https://bugs.busybox.net/show_bug.cgi?id=7328

Reported-by:  Vincent Stehlé <vincent.stehle@freescale.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc:  Vincent Stehlé <vincent.stehle@freescale.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Yann E. MORIN 2014-08-19 19:21:15 +02:00 committed by Thomas Petazzoni
parent e05c6a791d
commit 1939011ce6
1 changed files with 2 additions and 2 deletions

View File

@ -318,14 +318,14 @@ $(2)_RAWNAME = $$(patsubst host-%,%,$(1))
# version control system branch or tag, for example remotes/origin/1_10_stable.
ifndef $(2)_VERSION
ifdef $(3)_VERSION
$(2)_DL_VERSION = $$($(3)_VERSION)
$(2)_DL_VERSION := $$($(3)_VERSION)
$(2)_VERSION := $$(subst /,_,$$($(3)_VERSION))
else
$(2)_VERSION = undefined
$(2)_DL_VERSION = undefined
endif
else
$(2)_DL_VERSION = $$($(2)_VERSION)
$(2)_DL_VERSION := $$($(2)_VERSION)
$(2)_VERSION := $$(subst /,_,$$($(2)_VERSION))
endif