]> git.proxmox.com Git - pve-access-control.git/blobdiff - Makefile
followup: s/CUSTOM_TFA_TYPES/USER_CONTROLLED_TFA_TYPES/
[pve-access-control.git] / Makefile
index 1b5488482f11e6f579c556a6b3167569661a6c8e..21816eda1f6676f0b6884ba33cc1d0f2f6ec315f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,8 @@
-VERSION=4.0
+VERSION=5.1
 PACKAGE=libpve-access-control
-PKGREL=20
+PKGREL=5
+
+BUILDDIR ?= ${PACKAGE}-${VERSION}
 
 DESTDIR=
 PREFIX=/usr
@@ -10,19 +12,23 @@ MANDIR=${PREFIX}/share/man
 DOCDIR=${PREFIX}/share/doc/${PACKAGE}
 MAN1DIR=${MANDIR}/man1/
 BASHCOMPLDIR=${PREFIX}/share/bash-completion/completions/
+ZSHCOMPLDIR=${PREFIX}/share/zsh/vendor-completions/
 
 export PERLDIR=${PREFIX}/share/perl5
 
+export SOURCE_DATE_EPOCH ?= $(shell dpkg-parsechangelog -STimestamp)
+
 ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
 GITVERSION:=$(shell cat .git/refs/heads/master)
 
 DEB=${PACKAGE}_${VERSION}-${PKGREL}_${ARCH}.deb
+DSC=${PACKAGE}_${VERSION}-${PKGREL}.dsc
 
 # this requires package pve-doc-generator
 export NOVIEW=1
 include /usr/share/pve-doc-generator/pve-doc-generator.mk
 
-all: ${DEB}
+all:
 
 .PHONY: dinstall
 dinstall: deb
@@ -32,46 +38,55 @@ pveum.bash-completion: PVE/CLI/pveum.pm
        perl -I. -T -e "use PVE::CLI::pveum; PVE::CLI::pveum->generate_bash_completions();" >$@.tmp
        mv $@.tmp $@
 
+pveum.zsh-completion: PVE/CLI/pveum.pm
+       perl -I. -T -e "use PVE::CLI::pveum; PVE::CLI::pveum->generate_zsh_completions();" >$@.tmp
+       mv $@.tmp $@
+
 .PHONY: install
-install: pveum.1 oathkeygen pveum.bash-completion
+install: pveum.1 oathkeygen pveum.bash-completion pveum.zsh-completion
        install -d ${DESTDIR}${BINDIR}
        install -d ${DESTDIR}${SBINDIR}
        install -m 0755 pveum ${DESTDIR}${SBINDIR}
        install -m 0755 oathkeygen ${DESTDIR}${BINDIR}
        make -C PVE install
-       perl -I. ./pveum verifyapi
-       perl -I. -T -e "use PVE::CLI::pveum; PVE::CLI::pveum->verify_api();"
        install -d ${DESTDIR}/${MAN1DIR}
        install -d ${DESTDIR}/${DOCDIR}
        install -m 0644 pveum.1 ${DESTDIR}/${MAN1DIR}
-       gzip -9 ${DESTDIR}/${MAN1DIR}/pveum.1
+       gzip -9 -n ${DESTDIR}/${MAN1DIR}/pveum.1
        install -m 0644 -D pveum.bash-completion ${DESTDIR}${BASHCOMPLDIR}/pveum
+       install -m 0644 -D pveum.zsh-completion ${DESTDIR}${ZSHCOMPLDIR}/_pveum
 
-.PHONY: deb ${DEB}
-deb ${DEB}:
-       rm -rf build
-       mkdir build
-       make DESTDIR=`pwd`/build install
-       install -d -m 0755 build/DEBIAN
-       sed -e s/@@VERSION@@/${VERSION}/ -e s/@@PKGRELEASE@@/${PKGREL}/ -e s/@@ARCH@@/${ARCH}/ <control.in >build/DEBIAN/control
-       echo "git clone git://git.proxmox.com/git/pve-access-control.git\\ngit checkout ${GITVERSION}" >  build/${DOCDIR}/SOURCE
-       install -m 0644 triggers build/DEBIAN
-       install -D -m 0644 copyright build/${DOCDIR}/copyright
-       install -m 0644 changelog.Debian build/${DOCDIR}/
-       gzip -9 build/${DOCDIR}/changelog.Debian
-       dpkg-deb --build build  
-       mv build.deb ${DEB}
-       #rm -rf build
+.PHONY: test
+test:
+       perl -I. ./pveum verifyapi
+       perl -I. -T -e "use PVE::CLI::pveum; PVE::CLI::pveum->verify_api();"
+
+${BUILDDIR}:
+       rm -rf ${BUILDDIR}
+       rsync -a * ${BUILDDIR}
+       echo "git clone git://git.proxmox.com/git/pve-access-control.git\\ngit checkout ${GITVERSION}" > ${BUILDDIR}/debian/SOURCE
+
+.PHONY: deb
+deb: ${DEB}
+${DEB}: ${BUILDDIR}
+       cd ${BUILDDIR}; dpkg-buildpackage -b -us -uc
        lintian ${DEB}
 
+.PHONY: dsc
+dsc: ${DSC}
+${DSC}: ${BUILDDIR}
+       cd ${BUILDDIR}; dpkg-buildpackage -S -us -uc -d
+       lintian ${DSC}
+
 .PHONY: upload
 upload: ${DEB}
-       tar cf - ${DEB} | ssh repoman@repo.proxmox.com upload
+       tar cf - ${DEB} | ssh repoman@repo.proxmox.com -- upload --product pve --dist stretch --arch ${ARCH}
 
 .PHONY: clean
 clean:
+       rm -rf ${BUILDDIR}
        make cleanup-docgen
-       rm -rf build *~ *.deb ${PACKAGE}-*.tar.gz pveum.1
+       rm -rf *.deb *.buildinfo *.changes ${PACKAGE}*.tar.gz *.dsc
        find . -name '*~' -exec rm {} ';'
 
 .PHONY: distclean