]> git.proxmox.com Git - pve-manager.git/blob - Makefile
buildsys: switch upload dist over to buster
[pve-manager.git] / Makefile
1 include /usr/share/dpkg/pkg-info.mk
2 include /usr/share/dpkg/architecture.mk
3 include defines.mk
4
5 export VERSION=${DEB_VERSION_UPSTREAM}
6
7 DESTDIR=
8
9 SUBDIRS = aplinfo PVE bin www services configs network-hooks test
10
11 GITVERSION:=$(shell git rev-parse HEAD)
12
13 # possibly set via debian/rules(.env)
14 REPOID?=$(shell git rev-parse --short=8 HEAD)
15
16 DEB=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}_${DEB_BUILD_ARCH}.deb
17
18 all: ${SUBDIRS}
19 set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i; done
20
21 .PHONY: check
22 check: bin test
23 ${MAKE} -C bin check
24 ${MAKE} -C test check
25
26 .PHONY: dinstall
27 dinstall: ${DEB}
28 dpkg -i ${DEB}
29
30 .PHONY: deb
31 deb: $(DEB)
32 $(DEB):
33 rm -rf dest
34 mkdir dest
35 rsync -a * dest
36 echo "git clone git://git.proxmox.com/git/pve-manager.git\\ngit checkout ${GITVERSION}" > dest/debian/SOURCE
37 echo "REPOID_GENERATED=${REPOID}" > dest/debian/rules.env
38 cd dest; dpkg-buildpackage -b -us -uc
39 # supress lintian error: statically-linked-binary usr/bin/pvemailforward
40 lintian -X binaries ${DEB}
41
42 .PHONY: upload
43 upload: ${DEB} check
44 # check if working directory is clean
45 git diff --exit-code --stat && git diff --exit-code --stat --staged
46 tar cf - ${DEB} | ssh -X repoman@repo.proxmox.com upload --product pve --dist buster
47
48 .PHONY: install
49 install: vzdump-hook-script.pl
50 install -d -m 0700 -o www-data -g www-data ${DESTDIR}/var/log/pveproxy
51 install -d ${DOCDIR}/examples
52 install -d ${DESTDIR}/var/lib/${PACKAGE}
53 install -d ${DESTDIR}/var/lib/vz/images
54 install -d ${DESTDIR}/var/lib/vz/template/cache
55 install -d ${DESTDIR}/var/lib/vz/template/iso
56 install -d ${DESTDIR}/var/lib/vz/template/qemu
57 install -m 0644 vzdump-hook-script.pl ${DOCDIR}/examples/vzdump-hook-script.pl
58 install -m 0644 spice-example-sh ${DOCDIR}/examples/spice-example-sh
59 set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done
60
61 .PHONY: distclean
62 distclean: clean
63
64 .PHONY: clean
65 clean:
66 set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done
67 find . -name '*~' -exec rm {} ';'
68 rm -rf dest country.dat *.deb *.buildinfo *.changes ca-tmp