From e260a2d9b39ecbdaa6738ac76bd48548746da9d8 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 6 Jan 2013 05:22:41 +0000 Subject: package: support multiple patches With this commit, we extend the behaviour of the _PATCH variable so that it now allows to list several patches to be downloaded and applied, and no longer just one patch. This will be useful for the elfutils package, and should anyway not break the existing behaviour for packages using just one patch. Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- package/pkg-generic.mk | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index a570ad758..59de0f0d1 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -28,12 +28,19 @@ $(BUILD_DIR)/%/.stamp_downloaded: ifeq ($(DL_MODE),DOWNLOAD) # Only show the download message if it isn't already downloaded - $(Q)(test -e $(DL_DIR)/$($(PKG)_SOURCE) && \ - (test -z $($(PKG)_PATCH) || test -e $(DL_DIR)$($(PKG)_PATCH))) || \ - $(call MESSAGE,"Downloading") + $(Q)if test ! -e $(DL_DIR)/$($(PKG)_SOURCE); then \ + $(call MESSAGE,"Downloading") ; \ + else \ + for p in $($(PKG)_PATCH) ; do \ + if test ! -e $(DL_DIR)/$$p ; then \ + $(call MESSAGE,"Downloading") ; \ + break ; \ + fi ; \ + done ; \ + fi endif $(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE)/$($(PKG)_SOURCE))) - $(if $($(PKG)_PATCH),$(call DOWNLOAD,$($(PKG)_SITE)/$($(PKG)_PATCH))) + $(foreach p,$($(PKG)_PATCH),$(call DOWNLOAD,$($(PKG)_SITE)/$(p))$(sep)) $(foreach hook,$($(PKG)_POST_DOWNLOAD_HOOKS),$(call $(hook))$(sep)) ifeq ($(DL_MODE),DOWNLOAD) $(Q)mkdir -p $(@D) @@ -78,7 +85,7 @@ $(BUILD_DIR)/%/.stamp_patched: NAMEVER = $(RAWNAME)-$($(PKG)_VERSION) $(BUILD_DIR)/%/.stamp_patched: @$(call MESSAGE,"Patching $($(PKG)_DIR_PREFIX)/$(RAWNAME)") $(foreach hook,$($(PKG)_PRE_PATCH_HOOKS),$(call $(hook))$(sep)) - $(if $($(PKG)_PATCH),support/scripts/apply-patches.sh $(@D) $(DL_DIR) $($(PKG)_PATCH)) + $(foreach p,$($(PKG)_PATCH),support/scripts/apply-patches.sh $(@D) $(DL_DIR) $(p)$(sep)) $(Q)( \ if test -d $($(PKG)_DIR_PREFIX)/$(RAWNAME); then \ if test "$(wildcard $($(PKG)_DIR_PREFIX)/$(RAWNAME)/$(NAMEVER)*.patch*)"; then \ -- cgit v1.2.3