-RELEASE=2.2
+include /usr/share/dpkg/pkg-info.mk
-VERSION=1.2
PACKAGE=dab
-PKGREL=3
+BUILDDIR ?= ${PACKAGE}-${DEB_VERSION_UPSTREAM}
SCRIPTS= \
scripts/init.pl \
scripts/init_urandom \
scripts/ssh_gen_host_keys
-DEB=${PACKAGE}_${VERSION}-${PKGREL}_all.deb
+GITVERSION:=$(shell git rev-parse HEAD)
+
+DEB=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}_all.deb
+DSC=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}.dsc
DESTDIR=
PREFIX=/usr
-DATADIR=${PREFIX}/lib/${PACKAGE}
-SBINDIR=${PREFIX}/sbin
-MANDIR=${PREFIX}/share/man
-DOCDIR=${PREFIX}/share/doc/${PACKAGE}
+DATADIR=${DESTDIR}/${PREFIX}/lib/${PACKAGE}
+SBINDIR=${DESTDIR}/${PREFIX}/sbin
+MANDIR=${DESTDIR}/${PREFIX}/share/man
+DOCDIR=${DESTDIR}/${PREFIX}/share/doc/${PACKAGE}
+
+PODDIR=${DOCDIR}/pod
MAN1DIR=${MANDIR}/man1/
-PERLDIR=${PREFIX}/share/perl5/
+PERLDIR=${DESTDIR}/${PREFIX}/share/perl5/
-all: ${DEB}
+# avoid build loops, as we have nor real folder structure here
+all:
.PHONY: dinstall
dinstall: deb
dpkg -i ${DEB}
.PHONY: install
-install: dab dab.1 DAB.pm devices.tar.gz ${SCRIPTS}
- install -d ${DESTDIR}${SBINDIR}
- install -m 0755 dab ${DESTDIR}${SBINDIR}
- install -d ${DESTDIR}${MAN1DIR}
- install -m 0644 dab.1 ${DESTDIR}${MAN1DIR}
- gzip -f9 ${DESTDIR}${MAN1DIR}/dab.1
- install -D -m 0644 DAB.pm ${DESTDIR}${PERLDIR}/PVE/DAB.pm
- install -d ${DESTDIR}${DATADIR}/scripts
- install -m 0755 ${SCRIPTS} ${DESTDIR}${DATADIR}/scripts
- install -m 0644 devices.tar.gz ${DESTDIR}${DATADIR}
+install: dab dab.1 dab.1.pod DAB.pm devices.tar.gz ${SCRIPTS}
+ install -d ${SBINDIR}
+ install -m 0755 dab ${SBINDIR}
+ install -d ${MAN1DIR}
+ install -m 0644 dab.1 ${MAN1DIR}
+ gzip -n -f9 ${MAN1DIR}/dab.1
+ install -d ${PODDIR}
+ install -m 0644 dab.1.pod ${PODDIR}
+ install -D -m 0644 DAB.pm ${PERLDIR}/PVE/DAB.pm
+ install -d ${DATADIR}/scripts
+ install -m 0755 ${SCRIPTS} ${DATADIR}/scripts
+ install -m 0644 devices.tar.gz ${DATADIR}
+
+${BUILDDIR}:
+ rm -rf ${BUILDDIR}
+ rsync -a * ${BUILDDIR}
+ echo "git clone git://git.proxmox.com/git/dab.git\\ngit checkout ${GITVERSION}" > ${BUILDDIR}/debian/SOURCE
.PHONY: deb
-deb ${DEB}: dab dab.1 DAB.pm control changelog.Debian
- rm -rf debian
- mkdir debian
- make DESTDIR=debian install
- install -d -m 0755 debian/DEBIAN
- sed -e s/@@VERSION@@/${VERSION}/ -e s/@@PKGRELEASE@@/${PKGREL}/ <control >debian/DEBIAN/control
- install -D -m 0644 copyright debian/${DOCDIR}/copyright
- install -m 0644 changelog.Debian debian/${DOCDIR}
- gzip -9 debian/${DOCDIR}/changelog.Debian
- dpkg-deb --build debian
- mv debian.deb ${DEB}
- rm -rf debian
+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 -nc
+ lintian ${DSC}
+
dab.pdf: dab.1
groff -man dab.1 |ps2pdf - > dab.pdf
-dab.1: dab
- rm -f dab.1
- pod2man -n $< -s 1 -r ${VERSION} <$< >$@
+dab.1.pod: dab
+ podselect $< > $@.tmp
+ mv $@.tmp $@
+
+dab.1: dab.1.pod
+ rm -f $@
+ pod2man -n $< -s 1 -r ${DEB_VERSION_UPSTREAM} <$< >$@.tmp
+ mv $@.tmp $@
.PHONY: clean
clean:
- rm -f ${DEB} dab.1 dab.pdf *~
+ rm -rf ${PACKAGE}-*/ *.deb *.dsc dab_*.tar.gz dab.1 dab.1.pod dab.pdf *.tmp *.changes *.buildinfo *~
.PHONY: distclean
distclean: clean
.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 -X repoman@repo.proxmox.com -- upload --product pve --dist buster