debian/stamp-patched: $(DEB_PATCHES) debian/stamp-patched reverse-patches: $(MAKE) -f debian/rules reverse-config if [ "$@" = "reverse-patches" ]; then rm -f debian/stamp-patched; fi @echo "patches: $(DEB_PATCHES)" @set -e ; reverse=""; patches="$(DEB_PATCHES)"; \ if [ "$@" = "reverse-patches" ]; then \ reverse="-R"; \ for patch in $$patches; do reversepatches="$$patch $$reversepatches"; done; \ patches="$$reversepatches"; \ fi; \ for patch in $$patches; do \ if [ "$@" = "reverse-patches" ]; then \ if [ ! -e $(cdbs_patch_stamp_file) ]; then \ echo "Patch $$patch is not applied."; continue; \ fi; \ else \ if [ -e $(cdbs_patch_stamp_file) ]; then \ echo "Patch $$patch is already applied."; continue; \ fi; \ fi; \ case $$patch in \ *.gz) cat=zcat ;; \ *.bz2) cat=bzcat ;; \ *.uu) cat="uudecode -o -" ;; \ *) cat=cat ;; \ esac; \ level=$$(head $$patch | egrep '^#DPATCHLEVEL=' | cut -f 2 -d '='); \ reverse=""; \ if [ "$@" = "reverse-patches" ]; then reverse="-R"; fi; \ success=""; \ if [ -z "$$level" ]; then \ echo -n "Trying "; if test -n "$$reverse"; then echo -n "reverse "; fi; echo -n "patch $$patch at level "; \ for level in $(cdbs_simple_patchsys_levels); do \ if test -z "$$success"; then \ echo -n "$$level ... "; \ if [ "$(DEB_PATCHDIRS_READONLY)" = "yes" ] ; then \ logfile="/dev/null" ; \ else \ logfile="$$patch.level-$$level.log" ; \ fi ; \ if $$cat $$patch | patch -d $(DEB_SRCDIR) $$reverse -E --dry-run -p$$level 1>$$logfile 2>&1; then \ if $$cat $$patch | patch -d $(DEB_SRCDIR) $$reverse -E --no-backup-if-mismatch -V never -p$$level 1>$$logfile 2>&1; then \ success=yes; \ $(call cdbs_update_stamp,$(cdbs_patch_stamp_file)); \ echo "success."; \ fi; \ fi; \ fi; \ done; \ if test -z "$$success"; then \ echo "failure."; \ exit 1; \ fi; \ else \ echo -n "Trying patch $$patch at level $$level ... "; \ echo -n "$$level ... "; \ if [ "$(DEB_PATCHDIRS_READONLY)" = "yes" ] ; then \ logfile="/dev/null" ; \ else \ logfile="$$patch.log" ; \ fi ; \ if $$cat $$patch | patch -d $(DEB_SRCDIR) $$reverse -E --no-backup-if-mismatch -V never -p$$level 1>$$logfile 2>&1; then \ $(call cdbs_update_stamp,$(cdbs_patch_stamp_file)); \ echo "success."; \ else \ echo "failure:"; \ cat $$logfile; \ exit 1; \ fi; \ fi; \ done if [ "$@" != "reverse-patches" ]; then touch debian/stamp-patched; fi