-RELEASE=2.0
-
-VERSION=1.0
+VERSION=5.1
PACKAGE=libpve-access-control
-PKGREL=1
+PKGREL=8
+
+BUILDDIR ?= ${PACKAGE}-${VERSION}
DESTDIR=
PREFIX=/usr
BINDIR=${PREFIX}/bin
SBINDIR=${PREFIX}/sbin
MANDIR=${PREFIX}/share/man
-DOCDIR=${PREFIX}/share/doc
+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
dpkg -i ${DEB}
+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:
+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
- install -d ${DESTDIR}/usr/share/man/man1
- pod2man -n pveum -s 1 -r "proxmox 2.0" -c "Proxmox Documentation" <pveum | gzip -9 > ${DESTDIR}/usr/share/man/man1/pveum.1.gz
-
-.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
- install -D -m 0644 copyright build/${DOCDIR}/${PACKAGE}/copyright
- install -m 0644 changelog.Debian build/${DOCDIR}/${PACKAGE}/
- gzip -9 build/${DOCDIR}/${PACKAGE}/changelog.Debian
- dpkg-deb --build build
- mv build.deb ${DEB}
- #rm -rf build
+ install -d ${DESTDIR}/${MAN1DIR}
+ install -d ${DESTDIR}/${DOCDIR}
+ install -m 0644 pveum.1 ${DESTDIR}/${MAN1DIR}
+ 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: 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}
- 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
+ tar cf - ${DEB} | ssh repoman@repo.proxmox.com -- upload --product pve --dist stretch --arch ${ARCH}
.PHONY: clean
-clean:
- rm -rf build *~ *.deb ${PACKAGE}-*.tar.gz
+clean:
+ rm -rf ${BUILDDIR}
+ make cleanup-docgen
+ rm -rf *.deb *.buildinfo *.changes ${PACKAGE}*.tar.gz *.dsc
find . -name '*~' -exec rm {} ';'
.PHONY: distclean