Commit 4837354f authored by Clayton Shotwell's avatar Clayton Shotwell Committed by Thomas Petazzoni
Browse files

pkg-generic: Fix host _DL_VERSION corner case



In the case when a package has a host version, the package is dependent
on the host version, and the version contains a '/', the host version
does not evaluate properly. The host version will contain a '_' instead
of a '/', resulting in a failed download. To solve this corner case, add
a check to see if the _DL_VERSION of the package has been defined before
defining the host _DL_VERSION. If the package _DL_VERSION has not been
defined yet, then the version string has not been formatted yet and is
still good to use.

[Arnout: further simplify things by lifting the override over _VERSION
out of the condition - it is always the same.]

This error occured on a package in a BR2_EXTERNAL that uses a git repo
for its remote storage with '/' in the tag names. I do not believe this
affects any packages in the Buildroot mainline but it could in the
future.

[Arnout: rebase on master, fix existing whitespace error in the else
branch.]

Signed-off-by: default avatarClayton Shotwell <clayton.shotwell@rockwellcollins.com>
Signed-off-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent e1baac68
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -298,17 +298,17 @@ $(2)_RAWNAME = $$(patsubst host-%,%,$(1))
# Similar for spaces and colons (:) that may appear in date-based revisions for
# CVS.
ifndef $(2)_VERSION
 ifdef $(3)_VERSION
  $(2)_DL_VERSION := $$(strip $$($(3)_VERSION))
  $(2)_VERSION := $$(call sanitize,$$($(3)_VERSION))
 ifdef $(3)_DL_VERSION
  $(2)_DL_VERSION := $$($(3)_DL_VERSION)
 else ifdef $(3)_VERSION
  $(2)_DL_VERSION := $$($(3)_VERSION)
 else
  $(2)_VERSION = undefined
  $(2)_DL_VERSION = undefined
 endif
else
 $(2)_DL_VERSION := $$(strip $$($(2)_VERSION))
  $(2)_VERSION := $$(call sanitize,$$($(2)_VERSION))
endif
$(2)_VERSION := $$(call sanitize,$$($(2)_DL_VERSION))

$(2)_BASE_NAME	=  $(1)-$$($(2)_VERSION)
$(2)_DL_DIR	=  $$(DL_DIR)/$$($(2)_BASE_NAME)