]> git.proxmox.com Git - proxmox-spamassassin.git/blob - Makefile
bump version to 4.0.0-5
[proxmox-spamassassin.git] / Makefile
1 include /usr/share/dpkg/default.mk
2
3 # howto add rule updates:
4
5 # running `make update-sa` updates the core SA rules (in the sa-updates directory)
6 # running `make update-kam` updates the KAM ruleset (in the kam-updates directory)
7
8 PACKAGE = proxmox-spamassassin
9
10 OPKGNAME = Mail-SpamAssassin-$(DEB_VERSION_UPSTREAM)
11
12 BUILDDIR = $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
13 ORIG_SRC_TAR=$(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
14 DSC = $(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
15
16 DEB = $(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_amd64.deb
17 DBG_DEB = $(PACKAGE)-dbgsym_$(DEB_VERSION_UPSTREAM_REVISION)_amd64.deb
18 DEBS = $(DEB) $(DBG_DEB)
19
20 KAM_CHANNEL_FILE = debian/tree/etc/mail/spamassassin/channel.d/KAM_channel.conf
21 KAM_KEYID = $(shell awk -F '=' '/^KEYID/ { print $$2 }' $(KAM_CHANNEL_FILE))
22
23
24 SA_UPDATE_GPG_DIR = .sa-update-gpghome
25
26 deb: $(DEB)
27
28 $(DEB) $(DBG_DEB): $(BUILDDIR)
29 cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
30 lintian $(DEB)
31
32 dsc:
33 $(MAKE) $(DSC)
34 lintian $(DSC)
35
36 $(DSC): $(ORIG_SRC_TAR) $(BUILDDIR)
37 cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
38
39 .PHONY: sbuild
40 sbuild: $(DSC)
41 sbuild $(DSC)
42
43 .PHONY: update-upstream
44 update-upstream: $(OPKGNAME).tar.gz
45 rm -rf upstream
46 tar -xzf $<
47 mv $(OPKGNAME) upstream
48
49 $(ORIG_SRC_TAR): $(BUILDDIR)
50 tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
51
52 $(BUILDDIR): sa-updates kam-updates
53 rm -rf $@ $@.tmp
54 cp -a upstream $@.tmp
55 cp -a debian $@.tmp
56 mkdir -p $@.tmp/rule-updates/spamassassin
57 rsync -av sa-updates/ $@.tmp/rule-updates/spamassassin
58 mkdir -p $@.tmp/debian/rule-updates/spamassassin-extra
59 rsync -av kam-updates/ $@.tmp/rule-updates/spamassassin-extra
60 mv $@.tmp $@
61
62 $(OPKGNAME).tar.gz:
63 rm -f $@*
64 curl -L -o '$@#1.tmp' 'https://www-eu.apache.org/dist/spamassassin/source/$@{,.asc}'
65 mv $@.tmp $@
66 mv $@.asc.tmp $@.asc
67 gpgv --keyring ./sa-releasekey.gpg $@.asc $@
68
69 $(SA_UPDATE_GPG_DIR)/.prepared: $(OPKGNAME).tar.gz
70 rm -rf $(SA_UPDATE_GPG_DIR)
71 mkdir --mode=0700 -p $(SA_UPDATE_GPG_DIR)
72 tar --strip-components 2 -xzf $(OPKGNAME).tar.gz $(OPKGNAME)/rules/sa-update-pubkey.txt
73 sa-update --gpghomedir $(SA_UPDATE_GPG_DIR) --import sa-update-pubkey.txt
74 sa-update --gpghomedir $(SA_UPDATE_GPG_DIR) --import $(KAM_CHANNEL_FILE)
75 rm sa-update-pubkey.txt
76 touch $@
77
78 .PHONY: update-sa
79 update-sa: $(SA_UPDATE_GPG_DIR)/.prepared
80 rm -rf updates.tmp
81 sa-update --gpghomedir $(SA_UPDATE_GPG_DIR) --updatedir updates.tmp --channel updates.spamassassin.org
82 rsync -av --delete --exclude=local.cf --exclude=regression_tests.cf --exclude=*.txt --exclude=MIRRORED.BY updates.tmp/updates_spamassassin_org/ sa-updates
83
84 .PHONY: update-kam
85 update-kam: $(SA_UPDATE_GPG_DIR)/.prepared
86 rm -rf kam-updates.tmp kam-updates
87 sa-update --gpghomedir $(SA_UPDATE_GPG_DIR) --gpgkey $(KAM_KEYID) --updatedir kam-updates.tmp --channel kam.sa-channels.mcgrail.com
88 rm -rf kam-updates.tmp/kam_sa-channels_mcgrail_com/MIRRORED.BY
89 mv kam-updates.tmp kam-updates
90
91 .PHONY: upload
92 upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
93 upload: $(DEBS)
94 tar cf - $(DEBS) | ssh -X repoman@repo.proxmox.com -- upload --product pmg --dist $(UPLOAD_DIST)
95
96 .PHONY: clean distclean
97 clean:
98 rm -rf *.deb $(PACKAGE)-[0-9]*/ *.tmp $(SA_UPDATE_GPG_DIR)
99 rm -f *.deb *.dsc *.changes *.build *.buildinfo $(OPKGNAME).tar.gz.* $(PACKAGE)*.tar*
100
101
102 distclean: clean
103 rm -rf $(OPKGNAME).*
104
105 .PHONY: dinstall
106 dinstall: $(DEB)
107 dpkg -i $(DEB)