Public feed #725445

Mine

public text v1 · immutable
Raw Edit
·published 2007-10-04 12:51 UTC
rendered paste body
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