File: rules.patch

package info (click to toggle)
sympa 4.1.5-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 11,504 kB
  • ctags: 2,195
  • sloc: perl: 18,884; sh: 4,032; makefile: 1,173; ansic: 226; php: 105; lisp: 32
file content (43 lines) | stat: -rw-r--r-- 1,264 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# -*- Mode: Makefile -*-

patch_dir       = debian/patches

debian_patches= $(shell cat $(patch_dir)/PATCHES)

apply-patches: patched-stamp
reverse-patches:
	@for stamp in none patched-*; do \
		case "$$stamp" in none|patched-stamp|patched-\*) continue; esac; \
		patch=`echo $$stamp | sed -e 's/patched-//'`; \
		echo "trying to revert patch $$patch ..."; \
		if [ -x $(patch_dir)/$$patch.dpatch ]; then true; else \
			chmod +x $(patch_dir)/$$patch.dpatch; fi; \
		if $(patch_dir)/$$patch.dpatch -unpatch; then \
			echo "reverted $$patch patch."; \
			rm -f $$stamp; \
		else \
			echo "error in reverting $$patch patch."; \
			exit 1; \
		fi; \
	done
	@echo "Removing patched-stamp"
	@rm -f patched-stamp

patched-%: $(patch_dir)/%.dpatch
	@if [ -x $< ]; then true; else chmod +x $<; fi
	@if [ -f $@ ]; then \
		echo "$* patches already applied."; exit 1; \
	fi
	$< -patch
	@echo "$* patches applied." > $@

patched-stamp: $(foreach p,$(debian_patches),patched-$(p))
	@echo -e "\nPatches applied:" >> pxxx
	@for i in none $(debian_patches); do \
		if [ -r debian/patches/$$i.dpatch ]; then \
			echo -e "\n$$i:" >> pxxx; \
			sed -n 's/^# *DP: */  /p' debian/patches/$$i.dpatch >> pxxx; \
		fi \
	done
	@echo "Writing patched-stamp"
	@mv -f pxxx patched-stamp