define PatchDir/Quilt
@if [ -s $(1)/series ]; then \
- mkdir -p $(PKG_BUILD_DIR)/patches$(if $(2),/$(2)); \
- cp $(1)/series $(PKG_BUILD_DIR)/patches$(if $(2),/$(2))/; \
+ mkdir -p $(PKG_BUILD_DIR)/patches/$(2); \
+ cp $(1)/series $(PKG_BUILD_DIR)/patches/$(2); \
fi
@for patch in $$$$( (cd $(1) && if [ -f series ]; then $(call filter_series,series); else ls; fi; ) 2>/dev/null ); do ( \
cp "$(1)/$$$$patch" $(PKG_BUILD_DIR); \
QUILT?=$(strip $(shell test -f $(PKG_BUILD_DIR)/.quilt_used && echo y))
ifneq ($(QUILT),)
STAMP_PATCHED:=$(PKG_BUILD_DIR)/.quilt_patched
+ STAMP_CHECKED:=$(PKG_BUILD_DIR)/.quilt_checked
override CONFIG_AUTOREBUILD=
- $(STAMP_CONFIGURED): $(STAMP_PATCHED) FORCE
+ $(STAMP_CONFIGURED): $(STAMP_CHECKED) FORCE
prepare: $(STAMP_PATCHED)
- quilt-check: $(STAMP_PATCHED)
+ quilt-check: $(STAMP_CHECKED)
endif
define Build/Patch/Default
for file in $$(cat .subdirs); do \
if [ -f $$file/series ]; then \
echo "Converting $$file/series"; \
- $(call filter_series,$$file/series) | awk -v file="$$file/" '$$0 !~ /^#/ { print file $$0 }' >> series; \
+ $(call filter_series,$$file/series) | awk -v file="$$file/" '$$0 !~ /^#/ { print file $$0 }' | sed -e s,//,/,g >> series; \
else \
echo "Sorting patches in $$file"; \
- find $$file/* -type f \! -name series | sort >> series; \
+ find $$file/* -type f \! -name series | sed -e s,//,/,g | sort >> series; \
fi; \
done; \
else \
find * -type f \! -name series | sort > series; \
fi; \
)
- if [ -s "$(PKG_BUILD_DIR)/patches/series" ]; then (cd $(PKG_BUILD_DIR); quilt push -a); fi
+ touch $@
+
+$(STAMP_CHECKED): $(STAMP_PATCHED)
+ if [ -s "$(PKG_BUILD_DIR)/patches/series" ]; then (cd $(PKG_BUILD_DIR); quilt next >/dev/null 2>&1 && quilt push -a || quilt top >/dev/null 2>&1); fi
touch $@
define Build/Quilt