Improve quilt patch handling: All quilt managed patches are checked before the packag...
authorFelix Fietkau <nbd@openwrt.org>
Sun, 3 Jun 2007 06:54:46 +0000 (06:54 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 3 Jun 2007 06:54:46 +0000 (06:54 +0000)
SVN-Revision: 7472

include/quilt.mk

index ec5acc5..5fbdda1 100644 (file)
@@ -5,24 +5,27 @@
 # See /LICENSE for more information.
 #
 
-QUILT?=$(strip $(shell test -f $(PKG_BUILD_DIR)/.quilt_patched && echo y))
+QUILT?=$(strip $(shell test -f $(PKG_BUILD_DIR)/.quilt_used && echo y))
 ifneq ($(QUILT),)
   STAMP_PREPARED:=$(strip $(STAMP_PREPARED))_q
+  STAMP_PATCHED:=$(PKG_BUILD_DIR)/.quilt_patched
   CONFIG_AUTOREBUILD=
   PATCHES:=$(shell cd ./patches; ls)
   define Build/Patch/Default
        rm -rf $(PKG_BUILD_DIR)/patches
        mkdir -p $(PKG_BUILD_DIR)/patches
-       for patch in $(PATCHES); do ( \
+       @for patch in $(PATCHES); do ( \
                cp "./patches/$$$$patch" $(PKG_BUILD_DIR); \
                cd $(PKG_BUILD_DIR); \
                quilt import -p 1 "$$$$patch"; \
-               quilt push; \
-               quilt refresh; \
+               quilt push -f >/dev/null 2>/dev/null; \
                rm -f "$$$$patch"; \
        ); done
-       touch $(PKG_BUILD_DIR)/.quilt_patched
+       @echo
+       touch $(PKG_BUILD_DIR)/.quilt_used
   endef
+  $(STAMP_CONFIGURED): $(STAMP_PATCHED)
+  prepare: $(STAMP_PATCHED)
 else
   define Build/Patch/Default
        @if [ -d ./patches -a "$$$$(ls ./patches | wc -l)" -gt 0 ]; then \
@@ -31,6 +34,11 @@ else
   endef
 endif
 
+$(STAMP_PATCHED): $(STAMP_PREPARED)
+       @cd $(PKG_BUILD_DIR); quilt pop -a -f >/dev/null 2>/dev/null || true
+       cd $(PKG_BUILD_DIR); quilt push -a
+       touch $@
+
 refresh: $(STAMP_PREPARED)
        @[ -f "$(PKG_BUILD_DIR)/patches/series" ] || { \
                echo "The source directory was not unpacked using quilt. Please rebuild."; \