]>
Commit | Line | Data |
---|---|---|
b68dfb61 DM |
1 | PACKAGE=proxmox-mailgateway-api |
2 | PKGVER=1.0 | |
3 | PKGREL=1 | |
4 | ||
5 | DEB=${PACKAGE}_${PKGVER}-${PKGREL}_all.deb | |
6 | ||
7 | DESTDIR= | |
8 | ||
9 | PERL5DIR=${DESTDIR}/usr/share/perl5 | |
10 | DOCDIR=${DESTDIR}/usr/share/doc/${PACKAGE} | |
8415b622 | 11 | BASHCOMPLDIR=${DESTDIR}/usr/share/bash-completion/completions/ |
b68dfb61 | 12 | |
40f2bc5e DM |
13 | REPOID=`./repoid.pl .git` |
14 | ||
8a1ac886 | 15 | SERVICES = pmgdaemon pmgproxy |
82782d70 | 16 | CLITOOLS = pmgdb |
8b91b776 DM |
17 | |
18 | CLI_CLASSES = $(addprefix, 'PMG/API2/', $(addsuffix '.pm', ${CLITOOLS})) | |
19 | CLI_BINARIES = $(addprefix, 'bin/', ${CLITOOLS}) | |
8a1ac886 | 20 | |
9beff9f6 DM |
21 | LIBSOURCES = \ |
22 | PMG/pmgcfg.pm \ | |
fab39ce9 | 23 | PMG/NoVncIndex.pm \ |
9beff9f6 DM |
24 | PMG/Cluster.pm \ |
25 | PMG/HTTPServer.pm \ | |
26 | PMG/Ticket.pm \ | |
27 | PMG/AccessControl.pm \ | |
a355f100 | 28 | PMG/DBTools.pm \ |
0a580593 DM |
29 | PMG/RuleDB/Group.pm \ |
30 | PMG/RuleDB/Rule.pm \ | |
31 | PMG/RuleDB/Object.pm \ | |
32 | PMG/RuleDB/Quarantine.pm \ | |
33 | PMG/RuleDB/WhoRegex.pm \ | |
34 | PMG/RuleDB/ReceiverRegex.pm \ | |
35 | PMG/RuleDB/EMail.pm \ | |
36 | PMG/RuleDB/Receiver.pm \ | |
37 | PMG/RuleDB/Domain.pm \ | |
38 | PMG/RuleDB/ReceiverDomain.pm \ | |
39 | PMG/RuleDB/TimeFrame.pm \ | |
40 | PMG/RuleDB.pm \ | |
82782d70 | 41 | PMG/CLI/pmgdb.pm \ |
8b91b776 DM |
42 | ${CLI_CLASSES} \ |
43 | PMG/API2/Network.pm \ | |
163fb58f | 44 | PMG/API2/Services.pm \ |
fa04fcb4 | 45 | PMG/API2/Tasks.pm \ |
9beff9f6 DM |
46 | PMG/API2/Nodes.pm \ |
47 | PMG/API2/AccessControl.pm \ | |
48 | PMG/API2.pm | |
49 | ||
8b91b776 | 50 | all: ${LIBSOURCES} ${CLI_BINARIES} |
b68dfb61 DM |
51 | |
52 | .PHONY: deb | |
8b91b776 | 53 | deb ${DEB}: ${LIBSOURCES} ${CLI_BINARIES} |
b68dfb61 DM |
54 | rm -rf build |
55 | rsync -a * build | |
56 | cd build; dpkg-buildpackage -b -us -uc | |
57 | lintian ${DEB} | |
58 | ||
40f2bc5e DM |
59 | |
60 | PMG/pmgcfg.pm: PMG/pmgcfg.pm.in | |
61 | sed -e s/@VERSION@/${PKGVER}/ -e s/@PACKAGERELEASE@/${PKGREL}/ -e s/@PACKAGE@/${PACKAGE}/ -e s/@REPOID@/${REPOID}/ $< >$@.tmp | |
62 | mv $@.tmp $@ | |
63 | ||
8b91b776 DM |
64 | %.bash-completion: |
65 | perl -I. -T -e "use PMG::CLI::$*; PMG::CLI::$*->generate_bash_completions();" >$@.tmp | |
66 | mv $@.tmp $@ | |
67 | ||
8415b622 | 68 | %.service-bash-completion: |
8b91b776 | 69 | perl -I. -T -e "use PMG::Service::$*; PMG::Service::$*->generate_bash_completions();" >$@.tmp |
8415b622 DM |
70 | mv $@.tmp $@ |
71 | ||
8b91b776 | 72 | install: ${BTDATA} $(addsuffix .pm, $(addprefix PMG/Service/, ${SERVICES})) $(addsuffix .service-bash-completion, ${SERVICES}) ${LIBSOURCES} ${CLI_BINARIES} $(addsuffix .bash-completion, ${CLITOOLS}) |
8a1ac886 | 73 | for i in ${SERVICES}; do perl -I. -T -e "use PMG::Service::$$i; PMG::Service::$$i->verify_api();"; done |
8b91b776 | 74 | for i in ${CLITOOLS}; do perl -I. -T -e "use PMG::CLI::$$i; PMG::CLI::$$i->verify_api();"; done |
9beff9f6 | 75 | install -d -m 0755 ${DESTDIR}/usr/bin |
0854fb22 | 76 | install -d -m 0700 -o www-data -g www-data ${DESTDIR}/var/log/pmgproxy |
cb159468 DM |
77 | install -d -m 0755 ${DOCDIR} |
78 | # TODO: is there a better location ? | |
79 | install -m 0644 favicon.ico ${DOCDIR} | |
9beff9f6 DM |
80 | for i in ${LIBSOURCES}; do install -D -m 0644 $$i ${PERL5DIR}/$$i; done |
81 | for i in ${SERVICES}; do install -D -m 0644 PMG/Service/$$i.pm ${PERL5DIR}/PMG/Service/$$i.pm; done | |
8a1ac886 | 82 | for i in ${SERVICES}; do install -m 0755 bin/$$i ${DESTDIR}/usr/bin; done |
8415b622 | 83 | for i in ${SERVICES}; do install -m 0644 -D $$i.service-bash-completion ${BASHCOMPLDIR}/$$i; done |
8b91b776 DM |
84 | for i in ${CLITOOLS}; do install -D -m 0644 PMG/CLI/$$i.pm ${PERL5DIR}/PMG/CLI/$$i.pm; done |
85 | for i in ${CLITOOLS}; do install -D -m 0755 bin/$$i ${DESTDIR}/usr/bin/$$i; done | |
86 | for i in ${CLITOOLS}; do install -D -m 0644 $$i.bash-completion ${BASHCOMPLDIR}/$$i; done | |
b68dfb61 DM |
87 | |
88 | .PHONY: upload | |
89 | upload: ${DEB} | |
eae6f864 | 90 | ./repoid.pl .git/ check |
b68dfb61 DM |
91 | # fixme tar cf - ${DEB} | ssh repoman@repo.proxmox.com upload |
92 | ||
93 | distclean: clean | |
94 | ||
95 | clean: | |
8b91b776 | 96 | rm -rf ./build *.deb *.changes *.buildinfo *.bash-completion *.service-bash-completion |
9d1d3ef6 | 97 | if test -d .git; then rm -f PMG/pmgcfg.pm; fi |
b68dfb61 DM |
98 | find . -name '*~' -exec rm {} ';' |
99 | ||
100 | .PHONY: dinstall | |
101 | dinstall: ${DEB} | |
102 | dpkg -i ${DEB} |