]> git.proxmox.com Git - pve-manager.git/blobdiff - Makefile
update shipped appliance info index
[pve-manager.git] / Makefile
index 0034182712e4e9a4054cb86c9c52713decc8b70e..2829539594829afaa6075c200e4c8448bb97a686 100644 (file)
--- a/Makefile
+++ b/Makefile
+include /usr/share/dpkg/default.mk
 include defines.mk
 
-DESTDIR=
-
-SUBDIRS = aplinfo PVE bin www po
-
-ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
-GITVERSION:=$(shell cat .git/refs/heads/master)
-
-DEB=${PACKAGE}_${VERSION}-${PACKAGERELEASE}_${ARCH}.deb
+export PVERELEASE = $(shell echo $(DEB_VERSION_UPSTREAM) | cut -d. -f1-2)
+export VERSION = $(DEB_VERSION_UPSTREAM_REVISION)
 
-all: ${SUBDIRS}
+BUILDDIR = $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
 
-check:
-       ${MAKE} -C bin/test check
+DSC=$(PACKAGE)_$(DEB_VERSION).dsc
+DEB=$(PACKAGE)_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
 
-%:
-       set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done
-
-.PHONY: dinstall
-dinstall: ${DEB}
-       dpkg -i ${DEB}
+DESTDIR=
+SUBDIRS = aplinfo PVE bin www services configs network-hooks test
+
+all: $(SUBDIRS)
+       set -e && for i in $(SUBDIRS); do $(MAKE) -C $$i; done
+
+.PHONY: check
+check: bin test www
+       $(MAKE) -C bin check
+       $(MAKE) -C test check
+       $(MAKE) -C www check
+
+GITVERSION:=$(shell git rev-parse --short=16 HEAD)
+$(BUILDDIR):
+       rm -rf $@ $@.tmp
+       mkdir $@.tmp
+       rsync -a * $@.tmp
+       echo "git clone git://git.proxmox.com/git/pve-manager.git\\ngit checkout $(GITVERSION)" >  $@.tmp/debian/SOURCE
+       echo "REPOID_GENERATED=$(GITVERSION)" > $@.tmp/debian/rules.env
+       mv $@.tmp $@
+
+.PHONY: deb dsc
+deb: $(DEB)
+$(DEB): $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
+       lintian $(DEB)
 
-country.dat: country.pl
-       ./country.pl > country.dat
+dsc:
+       rm -rf $(BUILDDIR) $(DSC)
+       $(MAKE) $(DSC)
+       lintian $(DSC)
+$(DSC): $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
 
-.PHONY: deb
-deb: $(DEB)
-$(DEB):
-       ${MAKE} -C bin/test check
-       make clean
-       rm -rf dest
-       mkdir dest
-       make DESTDIR=`pwd`/dest install
-       mkdir dest/DEBIAN
-       sed -e s/@VERSION@/${VERSION}/ -e s/@PACKAGE@/${PACKAGE}/ -e s/@PACKAGERELEASE@/${PACKAGERELEASE}/ debian/control.in >dest/DEBIAN/control
-       install -m 0644 debian/conffiles dest/DEBIAN
-       install -m 0755 debian/config dest/DEBIAN
-       install -m 0644 debian/templates dest/DEBIAN
-       install -m 0755 debian/preinst dest/DEBIAN
-       install -m 0755 debian/postinst dest/DEBIAN
-       install -m 0755 debian/prerm dest/DEBIAN
-       install -m 0755 debian/postrm dest/DEBIAN
-       install -m 0644 debian/triggers dest/DEBIAN
-       install -m 0644 -D debian/lintian-overrides dest/usr/share/lintian/overrides/${PACKAGE}
-       echo "git clone git://git.proxmox.com/git/pve-manager.git\\ngit checkout ${GITVERSION}" >  dest/usr/share/doc/${PACKAGE}/SOURCE
-       gzip -n --best dest/usr/share/man/*/*
-       gzip -n --best dest/usr/share/doc/${PACKAGE}/changelog.Debian
-       dpkg-deb --build dest
-       mv dest.deb ${DEB}
-       rm -rf dest
-       # supress lintian error: statically-linked-binary usr/bin/pvemailforward
-       lintian -X binaries ${DEB}      
+sbuild: $(DSC)
+       sbuild $<
 
 .PHONY: upload
-upload: ${DEB} check
-       ./repoid.pl .git check
-       tar cf - ${DEB} | ssh -X repoman@repo.proxmox.com upload --product pve --dist stretch
-
-#.PHONY: poupload
-#poupload:
-#      rsync po/*.po po/pve-manager.pot pve.proxmox.com:/home/ftp/sources/po-files/
+upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
+upload: $(DEB)
+       tar cf - $(DEB) | ssh -X repoman@repo.proxmox.com upload --product pve --dist $(UPLOAD_DIST)
 
 .PHONY: install
-install: country.dat vzdump.conf vzdump-hook-script.pl pve-apt.conf mtu bridgevlan bridgevlanport vlan vlan-down
-       install -d -m 0700 -o www-data -g www-data ${DESTDIR}/var/log/pveproxy
-       install -D -m 0644 debian/pve.logrotate ${DESTDIR}/etc/logrotate.d/pve
-       install -d ${DESTDIR}/usr/share/${PACKAGE}
-       install -d ${DESTDIR}/usr/share/man/man1
-       install -d ${DOCDIR}/examples
-       install -d ${DESTDIR}/var/lib/${PACKAGE}
-       install -d ${DESTDIR}/var/lib/vz/images
-       install -d ${DESTDIR}/var/lib/vz/template/cache
-       install -d ${DESTDIR}/var/lib/vz/template/iso
-       install -d ${DESTDIR}/var/lib/vz/template/qemu
-       install -D -m 0644 pve-apt.conf ${DESTDIR}/etc/apt/apt.conf.d/75pveconf
-       install -D -m 0644 pve-sources.list ${DESTDIR}/etc/apt/sources.list.d/pve-enterprise.list
-       install -D -m 0644 pve-blacklist.conf ${DESTDIR}/etc/modprobe.d/pve-blacklist.conf
-       install -D -m 0644 vzdump.conf ${DESTDIR}/etc/vzdump.conf
-       install -D -m 0755 mtu ${DESTDIR}/etc/network/if-up.d/mtu
-       install -D -m 0755 bridgevlan ${DESTDIR}/etc/network/if-up.d/bridgevlan
-       install -D -m 0755 bridgevlanport ${DESTDIR}/etc/network/if-up.d/bridgevlanport
-       install -D -m 0755 vlan ${DESTDIR}/etc/network/if-pre-up.d/vlan
-       install -D -m 0755 vlan-down ${DESTDIR}/etc/network/if-post-down.d/vlan
-
-       install -m 0644 vzdump-hook-script.pl ${DOCDIR}/examples/vzdump-hook-script.pl
-       install -m 0644 spice-example-sh ${DOCDIR}/examples/spice-example-sh
-       install -m 0644 copyright ${DOCDIR}
-       install -m 0644 debian/changelog.Debian ${DOCDIR}
-       install -m 0644 country.dat ${DESTDIR}/usr/share/${PACKAGE}
-       # temporary: set ExtJS 6 migration devel directory
-       install -d ${DESTDIR}/usr/share/${PACKAGE}/manager6
-       set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done
+install: vzdump-hook-script.pl
+       install -d -m 0700 -o www-data -g www-data $(DESTDIR)/var/log/pveproxy
+       install -d $(DOCDIR)/examples
+       install -d $(DESTDIR)/var/lib/$(PACKAGE)
+       install -d $(DESTDIR)/var/lib/vz/images
+       install -d $(DESTDIR)/var/lib/vz/template/cache
+       install -d $(DESTDIR)/var/lib/vz/template/iso
+       install -m 0644 vzdump-hook-script.pl $(DOCDIR)/examples/vzdump-hook-script.pl
+       install -m 0644 spice-example-sh $(DOCDIR)/examples/spice-example-sh
+       set -e && for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done
 
 .PHONY: distclean
 distclean: clean
 
 .PHONY: clean
 clean:
-       set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done
-       find . -name '*~' -exec rm {} ';'
-       rm -rf dest country.dat *.deb ca-tmp
+       set -e && for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done
+       rm -f $(PACKAGE)*.tar* country.dat *.deb *.dsc *.build *.buildinfo *.changes
+       rm -rf dest $(PACKAGE)-[0-9]*/
+
+.PHONY: dinstall
+dinstall: $(DEB)
+       dpkg -i $(DEB)