Minor fixes in the patching system.

* Fix debian/rules to not be confused by ~/.quiltrc or QUILT_PATCHES (as in #369920).
 * Display which patches are applied and removed instead of just the first one (for #428090).
This commit is contained in:
Brice Goglin 2007-07-09 21:50:47 +02:00
parent 16d97b30b9
commit e29b568209
1 changed files with 14 additions and 9 deletions

23
debian/xsfbs/xsfbs.mk vendored
View File

@ -21,6 +21,11 @@
# Pass $(DH_OPTIONS) into the environment for debhelper's benefit. # Pass $(DH_OPTIONS) into the environment for debhelper's benefit.
export DH_OPTIONS export DH_OPTIONS
# force quilt to not use ~/.quiltrc
QUILT = quilt --quiltrc /dev/null
# force QUILT_PATCHES to the default in case it is exported in the environment
QUILT_PATCHES = patches/
# Set up parameters for the upstream build environment. # Set up parameters for the upstream build environment.
# Determine (source) package name from Debian changelog. # Determine (source) package name from Debian changelog.
@ -140,9 +145,9 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare
echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \ echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \
exit 1; \ exit 1; \
fi; \ fi; \
if quilt next >/dev/null 2>&1; then \ if $(QUILT) next >/dev/null 2>&1; then \
echo -n "Applying patches..."; \ echo -n "Applying patches..."; \
if quilt push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \ if $(QUILT) push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \
echo "successful."; \ echo "successful."; \
else \ else \
echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \ echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \
@ -159,7 +164,7 @@ unpatch:
rm -f $(STAMP_DIR)/patch rm -f $(STAMP_DIR)/patch
@echo -n "Unapplying patches..."; \ @echo -n "Unapplying patches..."; \
if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \ if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \
if quilt pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \ if $(QUILT) pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \
echo "successful."; \ echo "successful."; \
else \ else \
echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \ echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \
@ -295,17 +300,17 @@ patch-audit: prepare unpatch
@echo -n "Auditing patches..."; \ @echo -n "Auditing patches..."; \
>$(STAMP_DIR)/log/patch; \ >$(STAMP_DIR)/log/patch; \
FUZZY=; \ FUZZY=; \
while [ -n "$$(quilt next)" ]; do \ while [ -n "$$($(QUILT) next)" ]; do \
RESULT=$$(quilt push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\ RESULT=$$($(QUILT) push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\
case "$$RESULT" in \ case "$$RESULT" in \
succeeded) \ succeeded) \
echo "fuzzy patch: $$(quilt top)" \ echo "fuzzy patch: $$($(QUILT) top)" \
| tee -a $(STAMP_DIR)/log/$$(quilt top); \ | tee -a $(STAMP_DIR)/log/$$($(QUILT) top); \
FUZZY=yes; \ FUZZY=yes; \
;; \ ;; \
FAILED) \ FAILED) \
echo "broken patch: $$(quilt next)" \ echo "broken patch: $$($(QUILT) next)" \
| tee -a $(STAMP_DIR)/log/$$(quilt next); \ | tee -a $(STAMP_DIR)/log/$$($(QUILT) next); \
exit 1; \ exit 1; \
;; \ ;; \
esac; \ esac; \