blob: fb096ff8d31f2908e3b2e21343dc74ba9fc06e53 (
plain)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
#!/usr/bin/make -f
# Separate tarball/patch build system by Adam Heath <doogie@debian.org>
# Modified by Ben Collins <bcollins@debian.org>
SHELL := /bin/bash -e
SOURCE_DIR := build-tree
STAMP_DIR := stampdir
PATCH_DIR := debian/patches
patched := $(STAMP_DIR)/patch
unpacked := $(STAMP_DIR)/unpack
ifdef TAR_DIR
BUILD_TREE := $(SOURCE_DIR)/$(TAR_DIR)
else
BUILD_TREE := $(SOURCE_DIR)
endif
dh_mak_deps := $(shell DH_COMPAT=$(DH_COMPAT) perl debian/scripts/dh_split makedeps)
dh_gen_deps := $(shell DH_COMPAT=$(DH_COMPAT) perl debian/scripts/dh_split gendeps)
$(dh_mak_deps): $(dh_gen_deps)
perl debian/scripts/dh_split
setup: $(dh_mak_deps)
dh_testdir
@-up-scripts
$(MAKE) -f debian/rules $(unpacked) $(patched)
$(patched)/: $(STAMP_DIR)/created $(unpacked)
test -d $(STAMP_DIR)/patches || mkdir -p $(STAMP_DIR)/patches
@if [ -d "$(PATCH_DIR)" ]; then \
mkdir -p $(STAMP_DIR)/log/patches; \
for f in `(cd $(PATCH_DIR); find -type f ! -name 'chk-*') | sort | \
sed s,'./',,g`; do \
stampfile=$(STAMP_DIR)/patches/$$f; \
log=$(STAMP_DIR)/log/patches/$$f; \
if [ ! -e $$stampfile ]; then \
echo -n "Applying patch $(PATCH_DIR)/$$f ... "; \
if $(SHELL) debian/scripts/file2cat $(PATCH_DIR)/$$f | \
(cd $(BUILD_TREE);patch -p1 --no-backup-if-mismatch) > $$log 2>&1; then \
echo successful.; \
touch $$stampfile; \
else \
echo "failed! (check $$log for reason)"; \
exit 1; \
fi; \
else \
echo Already applied $(PATCH_DIR)/$$f.; \
fi; \
done; \
fi
touch $@
$(unpacked): $(STAMP_DIR)/created
mkdir -p $(STAMP_DIR)/sources $(SOURCE_DIR) $(STAMP_DIR)/log/sources
@for f in `find . -type f -maxdepth 1 -name \*.tgz -o -name \*.tar.gz -o \
-name \*.tar.bz -o -name \*.tar.bz2 | sort | sed s,'./',,g`; do \
stampfile=$(STAMP_DIR)/sources/`basename $$f`; \
log=$(STAMP_DIR)/log/sources/`basename $$f`; \
if [ ! -e $$stampfile ]; then \
echo -n "Extracting source $$f ... "; \
if $(SHELL) debian/scripts/file2cat $$f | \
(cd $(SOURCE_DIR); tar xv) > $$log 2>&1; then \
echo successful.; \
touch $$stampfile; \
else \
echo failed!; \
exit 1; \
fi; \
else \
echo Already unpacked $$f.; \
fi; \
done
touch $@
make_patch:
mv $(BUILD_TREE) $(BUILD_TREE).new
rm -rf $(STAMP_DIR)
$(MAKE) -f debian/rules $(unpacked) $(patched)
ifndef TAR_DIR
diff -urN $(BUILD_TREE) $(BUILD_TREE).new > new.diff
else
(cd $(SOURCE_DIR) && diff -urN $(TAR_DIR) $(TAR_DIR).new || true) > new.diff
endif
rm -rf $(BUILD_TREE)
mv $(BUILD_TREE).new $(BUILD_TREE)
@echo; ls -l new.diff
$(STAMP_DIR)/created:
test -d $(STAMP_DIR) || mkdir $(STAMP_DIR)
touch $(STAMP_DIR)/created
|