]> git.proxmox.com Git - pve-ha-manager.git/blobdiff - Makefile
bump version to 4.0.4
[pve-ha-manager.git] / Makefile
index db5605f727c14e502a4f1ca5834939db05b4f835..10fd9caef33a41c729698b39c4330d7341a0d134 100644 (file)
--- a/Makefile
+++ b/Makefile
-RELEASE=4.0
+include /usr/share/dpkg/default.mk
 
-VERSION=0.1
 PACKAGE=pve-ha-manager
 SIMPACKAGE=pve-ha-simulator
-PKGREL=1
 
-DESTDIR=
-PREFIX=/usr
-BINDIR=${PREFIX}/bin
-SBINDIR=${PREFIX}/sbin
-MANDIR=${PREFIX}/share/man
-DOCDIR=${PREFIX}/share/doc/${PACKAGE}
-SIMDOCDIR=${PREFIX}/share/doc/${SIMPACKAGE}
-PODDIR=${DOCDIR}/pod
-MAN1DIR=${MANDIR}/man1/
-export PERLDIR=${PREFIX}/share/perl5
+GITVERSION:=$(shell git rev-parse HEAD)
+BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION)
 
-ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
-GITVERSION:=$(shell cat .git/refs/heads/master)
+DEB=$(PACKAGE)_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
+DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
 
-DEB=${PACKAGE}_${VERSION}-${PKGREL}_${ARCH}.deb
-SIMDEB=${SIMPACKAGE}_${VERSION}-${PKGREL}_all.deb
+DSC=$(PACKAGE)_$(DEB_VERSION).dsc
+SIMDEB=$(SIMPACKAGE)_$(DEB_VERSION)_all.deb
+SIMDSC=$(SIMPACKAGE)_$(DEB_VERSION).dsc
 
+all: deb
 
-all: ${DEB} ${SIMDEB}
+$(BUILDDIR):
+       rm -rf $@ $@.tmp
+       cp -a src/ $@.tmp
+       cp -a debian $@.tmp/
+       echo "git clone git://git.proxmox.com/git/pve-ha-manager.git\\ngit checkout $(GITVERSION)" > $@.tmp/debian/SOURCE
+       mv $@.tmp $@
 
-.PHONY: dinstall simdeb
-dinstall: deb simdeb
-       dpkg -i ${DEB} ${SIMDEB}
+.PHONY: dinstall
+dinstall: $(DEB) $(SIMDEB)
+       dpkg -i $(DEB) $(SIMDEB)
 
-%.1.gz: %.1.pod
-       rm -f $@
-       cat $<|pod2man -n $* -s 1 -r ${VERSION} -c "Proxmox Documentation"|gzip -c9 >$@
+.PHONY: deb
+deb: $(DEB) $(SIMDEB)
+$(DEB) $(DBG_DEB): $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
+       lintian $(DEB)
+       lintian $(SIMDEB)
 
-pve-ha-crm.1.pod: pve-ha-crm
-       perl -I. ./pve-ha-crm printmanpod >$@
+.PHONY: dsc
+dsc:
+       $(MAKE) clean
+       $(MAKE) $(DSC)
+       lintian $(DSC)
 
-pve-ha-lrm.1.pod: pve-ha-lrm
-       perl -I. ./pve-ha-lrm printmanpod >$@
+$(DSC): $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
 
-watchdog-mux: watchdog-mux.c
-       gcc watchdog-mux.c -o watchdog-mux -Wall $$(pkg-config --libs --cflags libsystemd-daemon)
-
-.PHONY: install
-install: pve-ha-crm pve-ha-lrm pve-ha-crm.1.pod pve-ha-crm.1.gz pve-ha-lrm.1.pod pve-ha-lrm.1.gz
-       install -d ${DESTDIR}${SBINDIR}
-       install -m 0755 pve-ha-crm ${DESTDIR}${SBINDIR}
-       install -m 0755 pve-ha-lrm ${DESTDIR}${SBINDIR}
-       make -C PVE install
-       install -d ${DESTDIR}/usr/share/man/man1
-       install -d ${DESTDIR}${PODDIR}
-       install -m 0644 pve-ha-crm.1.gz ${DESTDIR}/usr/share/man/man1/
-       install -m 0644 pve-ha-crm.1.pod ${DESTDIR}/${PODDIR}
-       install -m 0644 pve-ha-lrm.1.gz ${DESTDIR}/usr/share/man/man1/
-       install -m 0644 pve-ha-lrm.1.pod ${DESTDIR}/${PODDIR}
-
-.PHONY: installsim
-installsim: pve-ha-simulator
-       install -d ${DESTDIR}${SBINDIR}
-       install -m 0755 pve-ha-simulator ${DESTDIR}${SBINDIR}
-       make -C PVE installsim
-
-.PHONY: simdeb ${SIMDEB}
-simdeb ${SIMDEB}:
-       rm -rf build
-       mkdir build
-       make DESTDIR=${CURDIR}/build PERLDIR=${PREFIX}/share/${SIMPACKAGE} installsim
-       perl -I. ./pve-ha-crm verifyapi
-       perl -I. ./pve-ha-lrm verifyapi
-       install -d -m 0755 build/DEBIAN
-       sed -e s/@@VERSION@@/${VERSION}/ -e s/@@PKGRELEASE@@/${PKGREL}/ -e s/@@ARCH@@/${ARCH}/ <simcontrol.in >build/DEBIAN/control
-       install -D -m 0644 copyright build/${SIMDOCDIR}/copyright
-       install -m 0644 changelog.Debian build/${SIMDOCDIR}/
-       gzip -9 build/${SIMDOCDIR}/changelog.Debian
-       echo "git clone git://git.proxmox.com/git/pve-storage.git\\ngit checkout ${GITVERSION}" > build/${SIMDOCDIR}/SOURCE
-       dpkg-deb --build build
-       mv build.deb ${SIMDEB}
-       rm -rf debian
-       lintian ${SIMDEB}
-
-.PHONY: deb ${DEB}
-deb ${DEB}:
-       rm -rf build
-       mkdir build
-       make DESTDIR=${CURDIR}/build install
-       perl -I. ./pve-ha-crm verifyapi
-       perl -I. ./pve-ha-lrm verifyapi
-       install -d -m 0755 build/DEBIAN
-       sed -e s/@@VERSION@@/${VERSION}/ -e s/@@PKGRELEASE@@/${PKGREL}/ -e s/@@ARCH@@/${ARCH}/ <control.in >build/DEBIAN/control
-       install -D -m 0644 copyright build/${DOCDIR}/copyright
-       install -m 0644 changelog.Debian build/${DOCDIR}/
-       gzip -9 build/${DOCDIR}/changelog.Debian
-       echo "git clone git://git.proxmox.com/git/pve-storage.git\\ngit checkout ${GITVERSION}" > build/${DOCDIR}/SOURCE
-       dpkg-deb --build build
-       mv build.deb ${DEB}
-       rm -rf debian
-       lintian ${DEB}
-
-
-.PHONY: test
-test: 
-       make -C test test
+sbuild: $(DSC)
+       sbuild $(DSC)
 
 .PHONY: clean
-clean:         
-       make -C test clean
-       rm -rf build *.deb ${PACKAGE}-*.tar.gz dist *.1.pod *.1.gz
-       find . -name '*~' -exec rm {} ';'
+clean:
+       make -C src clean
+       rm -rf $(PACKAGE)-[0-9]*/ *.dsc *.deb $(PACKAGE)*.tar* *.changes *.build *.buildinfo
 
 .PHONY: distclean
 distclean: clean
 
+.PHONY: upload
+upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
+upload: $(DEB) $(SIMDEB)
+       tar cf - $(DEB) $(DBG_DEB) $(SIMDEB)|ssh repoman@repo.proxmox.com -- upload --product pve --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH)