@@ -21,3 +21,8 @@ exists, then all +*.patch+ files in the directory will be applied.
Otherwise, if the directory +$(BR2_GLOBAL_PATCH_DIR)/<packagename>+
exists, then all +*.patch+ files in the directory will be applied.
+
+Note that, within a given directory, patches are applied in alphabetical
+order. Therefore, it is advisable to name patches
++<packagename>-<number>-<description>.patch+, where +<number>+ is a
+numerical value that enforces the patch application order.
@@ -82,18 +82,17 @@ endif
# find the package directory (typically package/<pkgname>) and the
# prefix of the patches
$(BUILD_DIR)/%/.stamp_patched: NAMEVER = $(RAWNAME)-$($(PKG)_VERSION)
-$(BUILD_DIR)/%/.stamp_patched: PATCH_BASE_DIRS = $($(PKG)_DIR_PREFIX)/$(RAWNAME) $(call qstrip,$(BR2_GLOBAL_PATCH_DIR))/$(RAWNAME)
$(BUILD_DIR)/%/.stamp_patched:
@$(call MESSAGE,"Patching $($(PKG)_DIR_PREFIX)/$(RAWNAME)")
$(foreach hook,$($(PKG)_PRE_PATCH_HOOKS),$(call $(hook))$(sep))
$(foreach p,$($(PKG)_PATCH),support/scripts/apply-patches.sh $(@D) $(DL_DIR) $(p)$(sep))
$(Q)( \
- for D in $(PATCH_BASE_DIRS); do \
- if test -d $${D}; then \
- if test -d $${D}/$($(PKG)_VERSION); then \
- support/scripts/apply-patches.sh $(@D) $${D}/$($(PKG)_VERSION) \*.patch \*.patch.$(ARCH) || exit 1; \
+ for D in $($(PKG)_DIR_PREFIX) $(call qstrip,$(BR2_GLOBAL_PATCH_DIR)); do \
+ if test -d $${D}/$(RAWNAME); then \
+ if test -d $${D}/$(RAWNAME)/$($(PKG)_VERSION); then \
+ support/scripts/apply-patches.sh $(@D) $${D}/$(RAWNAME)/$($(PKG)_VERSION) \*.patch \*.patch.$(ARCH) || exit 1; \
else \
- support/scripts/apply-patches.sh $(@D) $${D} \*.patch \*.patch.$(ARCH) || exit 1; \
+ support/scripts/apply-patches.sh $(@D) $${D}/$(RAWNAME) \*.patch \*.patch.$(ARCH) || exit 1; \
fi; \
fi; \
done; \