X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=Makefile;h=273cc186fd7c2a9dbe2d34ad9f7bc1f0573754ef;hb=6d7deac70d4110db765ef58b8f11a1d75f320a11;hp=67d4ecbcd1abb4fc351a6f95634d88472877109a;hpb=9683831eaac28d7dd1b95db744ae1a25d7841e7e;p=pve-manager.git diff --git a/Makefile b/Makefile index 67d4ecbc..273cc186 100644 --- a/Makefile +++ b/Makefile @@ -1,92 +1,77 @@ +include /usr/share/dpkg/default.mk include defines.mk -DESTDIR= - -#SUBDIRS = bin lib www aplinfo -SUBDIRS = aplinfo PVE bin www +export PVERELEASE = $(shell echo $(DEB_VERSION_UPSTREAM) | cut -c 1-3) +export VERSION = $(DEB_VERSION_UPSTREAM_REVISION) -DEB=${PACKAGE}_${VERSION}-${PACKAGERELEASE}_all.deb +BUILDDIR = $(PACKAGE)-$(DEB_VERSION_UPSTREAM) -all: ${SUBDIRS} +DSC=$(PACKAGE)_$(DEB_VERSION).dsc +DEB=$(PACKAGE)_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb -%: - set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done +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: dinstall -dinstall: ${DEB} - dpkg -i ${DEB} +.PHONY: check +check: bin test www + $(MAKE) -C bin check + $(MAKE) -C test check + $(MAKE) -C www check -country.dat: country.pl - ./country.pl > country.dat +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} -${DEB} deb: - 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/postinst dest/DEBIAN - install -m 0755 debian/prerm dest/DEBIAN - install -m 0755 debian/postrm dest/DEBIAN - install -m 0644 debian/triggers dest/DEBIAN - gzip --best dest/usr/share/man/*/* - gzip --best dest/usr/share/doc/${PACKAGE}/changelog.Debian - dpkg-deb --build dest - mv dest.deb ${DEB} - rm -rf dest - lintian ${DEB} +.PHONY: deb dsc +deb: $(DEB) +$(DEB): $(BUILDDIR) + cd $(BUILDDIR); dpkg-buildpackage -b -us -uc + lintian $(DEB) -.PHONY: upload -upload: ${DEB} - ./repoid.pl .git check - umount /pve/${RELEASE}; mount /pve/${RELEASE} -o rw - mkdir -p /pve/${RELEASE}/extra - rm -f /pve/${RELEASE}/extra/${PACKAGE}_*.deb - rm -f /pve/${RELEASE}/extra/Packages* - cp ${DEB} /pve/${RELEASE}/extra - cd /pve/${RELEASE}/extra; dpkg-scanpackages . /dev/null > Packages; gzip -9c Packages > Packages.gz - umount /pve/${RELEASE}; mount /pve/${RELEASE} -o ro +dsc: + rm -rf $(BUILDDIR) $(DSC) + $(MAKE) $(DSC) + lintian $(DSC) +$(DSC): $(BUILDDIR) + cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d -#.PHONY: poupload -#poupload: -# rsync po/*.po po/pve-manager.pot pve.proxmox.com:/home/ftp/sources/po-files/ +sbuild: $(DSC) + sbuild $< -#.PHONY: aplupload -#aplupload: -# ./aplinfo/apltest.pl -# gpg -bas -u support@proxmox.com aplinfo/aplinfo.dat -# gzip -c aplinfo/aplinfo.dat > aplinfo.dat.gz -# scp aplinfo/aplinfo.dat aplinfo.dat.gz aplinfo/aplinfo.dat.asc pve.proxmox.com:/home/ftp/appliances/ +.PHONY: upload +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 vznet.conf vzdump.conf - install -d ${DESTDIR}/usr/share/${PACKAGE} - install -d ${DESTDIR}/usr/share/man/man1 - install -d ${DESTDIR}/usr/share/doc/${PACKAGE} - 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 vzdump.conf ${DESTDIR}/etc/vzdump.conf - install -D -m 0755 vznet.conf ${DESTDIR}/etc/vz/vznet.conf - install -m 0644 copyright ${DESTDIR}/usr/share/doc/${PACKAGE} - install -m 0644 debian/changelog.Debian ${DESTDIR}/usr/share/doc/${PACKAGE} - install -m 0644 country.dat ${DESTDIR}/usr/share/${PACKAGE} - 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 - set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done .PHONY: clean clean: - set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done - find . -name '*~' -exec rm {} ';' - rm -rf dest country.dat *.deb + 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)