]> git.proxmox.com Git - dab.git/blobdiff - Makefile
bootstrap: mask more systemd units that fail in containers
[dab.git] / Makefile
index 7e4ff620686c6a40f2f3fc9851fe14d196c12066..8df494c1ec7d9e20dad9b4d8ef1a7893d1a3f52a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,8 @@
-VERSION=1.2
+include /usr/share/dpkg/pkg-info.mk
+
 PACKAGE=dab
-PKGREL=1
 
+BUILDDIR ?= ${PACKAGE}-${DEB_VERSION_UPSTREAM}
 
 SCRIPTS=                                       \
        scripts/init.pl                         \
@@ -10,56 +11,85 @@ SCRIPTS=                                    \
        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/
+
+# avoid build loops, as we have nor real folder structure here
+all:
+
+.PHONY: dinstall
+dinstall: deb
+       dpkg -i ${DEB}
 
-all: ${DEB}
+test: PVE/DAB.pm dab
+       perl -I . -wc dab
+       perl -wc PVE/DAB.pm
 
 .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 PVE/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 PVE/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}
+       tar cf - ${DEB} | ssh -X repoman@repo.proxmox.com -- upload --product pve --dist bookworm