X-Git-Url: https://git.proxmox.com/?p=pve-access-control.git;a=blobdiff_plain;f=Makefile;h=21816eda1f6676f0b6884ba33cc1d0f2f6ec315f;hp=71c1306cc1cffec7abdd30df98d9168ad879b5bd;hb=fda8ca85d312be337c8980994867f37b29b4eebd;hpb=5bf71a968e93e7d6e1c00257ff116f050f8493cd diff --git a/Makefile b/Makefile index 71c1306..21816ed 100644 --- a/Makefile +++ b/Makefile @@ -1,65 +1,92 @@ -RELEASE=2.0 - -VERSION=1.0 +VERSION=5.1 PACKAGE=libpve-access-control -PKGREL=2 +PKGREL=5 + +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" ${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}/ 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