make sure quilt starts with the correct patch order in series
[openwrt.org/openwrt.git] / include / quilt.mk
blob:a/include/quilt.mk -> blob:b/include/quilt.mk
--- a/include/quilt.mk
+++ b/include/quilt.mk
@@ -7,6 +7,11 @@
 
 ifeq ($(KERNEL_BUILD),1)
   PKG_BUILD_DIR:=$(LINUX_DIR)
+endif
+PATCH_DIR?=./patches
+
+ifeq ($(MAKECMDGOALS),refresh)
+  override QUILT=1
 endif
 
 define Quilt/Patch
@@ -23,12 +28,11 @@
 ifneq ($(QUILT),)
   STAMP_PREPARED:=$(strip $(STAMP_PREPARED))_q
   STAMP_PATCHED:=$(PKG_BUILD_DIR)/.quilt_patched
-  CONFIG_AUTOREBUILD=
-  PATCHES:=$(shell )
+  override CONFIG_AUTOREBUILD=
   define Build/Patch/Default
 	rm -rf $(PKG_BUILD_DIR)/patches
 	mkdir -p $(PKG_BUILD_DIR)/patches
-	$(call Quilt/Patch,./patches,)
+	$(call Quilt/Patch,$(PATCH_DIR),)
 	@echo
 	touch $(PKG_BUILD_DIR)/.quilt_used
   endef
@@ -37,8 +41,8 @@
   quilt-check: $(STAMP_PATCHED)
 else
   define Build/Patch/Default
-	@if [ -d ./patches -a "$$$$(ls ./patches | wc -l)" -gt 0 ]; then \
-		$(PATCH) $(PKG_BUILD_DIR) ./patches; \
+	@if [ -d $(PATCH_DIR) -a "$$$$(ls $(PATCH_DIR) | wc -l)" -gt 0 ]; then \
+		$(PATCH) $(PKG_BUILD_DIR) $(PATCH_DIR); \
 	fi
   endef
 endif
@@ -61,7 +65,7 @@
 		cd $(PKG_BUILD_DIR)/patches; \
 		find * -type f \! -name series | sort > series; \
 	)
-	[ -f "$(PKG_BUILD_DIR)/patches/series" ] && cd $(PKG_BUILD_DIR); quilt push -a
+	if [ -s "$(PKG_BUILD_DIR)/patches/series" ]; then (cd $(PKG_BUILD_DIR); quilt push -a); fi
 	touch $@
 
 define Quilt/RefreshDir
@@ -75,7 +79,7 @@
 endef
 
 define Quilt/Refresh/Package
-	$(call Quilt/RefreshDir,./patches)
+	$(call Quilt/RefreshDir,$(PATCH_DIR))
 endef
 
 define Quilt/Refresh/Kernel

comments