]> git.proxmox.com Git - libarchive-perl.git/blobdiff - Makefile
buildsys: avoid no-pre-clean flag when building DSC
[libarchive-perl.git] / Makefile
index 84f58cee13dc0ecbfeb634c63ce30210e0dd35e6..184c53187c51a46e89a646a407994c249d83d614 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-include /usr/share/dpkg/pkg-info.mk
+include /usr/share/dpkg/default.mk
 
 PACKAGE=libarchive-perl
 
@@ -8,45 +8,57 @@ PACKAGE=libarchive-perl
 
 PPSRC = LibArchive
 
-ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
-GITVERSION:=$(shell git rev-parse HEAD)
+BUILDSRC=$(PACKAGE)-$(DEB_VERSION_UPSTREAM)
+DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
 
-BUILDSRC=${PACKAGE}-${DEB_VERSION_UPSTREAM}
-DEB=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}_${ARCH}.deb
-DSC=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}.dsc
+DEB=$(PACKAGE)_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
+DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
 
-all: ${DEB}
+all: $(DEB)
 
-.PHONY: ${BUILDSRC}
-${BUILDSRC}:
-       rm -rf ${BUILDSRC}
-       rsync -a ${PPSRC}/ ${BUILDSRC}
-       cp -a debian ${BUILDSRC}
-       perl -MDevel::PPPort -e 'Devel::PPPort::WriteFile("${BUILDSRC}/ppport.h");'
-       echo "git clone git://git.proxmox.com/git/pve-storage.git\\ngit checkout ${GITVERSION}" >${BUILDSRC}/debian/SOURCE
+.PHONY: update-bindings
+update-bindings:
+       h2xs -M '^(archive|ARCHIVE)_' -v $(DEB_VERSION_UPSTREAM) -On LibArchive /usr/include/archive.h /usr/include/archive_entry.h -larchive
+       echo "Please manually check and add the diff of the automatically generated update"
+
+.PHONY: $(BUILDSRC)
+$(BUILDSRC):
+       rm -rf $@ $@.tmp
+       cp -a $(PPSRC)/ $@.tmp
+       cp -a debian $@.tmp
+       perl -MDevel::PPPort -e 'Devel::PPPort::WriteFile("$@.tmp/ppport.h");'
+       echo "git clone git://git.proxmox.com/git/libarchive-perl\\ngit checkout $(shell git rev-parse HEAD)" >$@.tmp/debian/SOURCE
+       mv $@.tmp $@
 
 .PHONY: dsc
-dsc: ${DSC}
-${DSC}: ${BUILDSRC}
-       cd ${BUILDSRC}; dpkg-buildpackage -S -us -uc -d -nc
-       lintian ${DSC}
+dsc:
+       $(MAKE) $(DSC)
+       lintian $(DSC)
 
-.PHONY: deb
-deb: ${DEB}
-${DEB}: ${PPSRC}/LibArchive.xs ${BUILDSRC}
-       cd ${BUILDSRC}; dpkg-buildpackage -b -us -uc -rfakeroot
-       lintian ${DEB}
+$(DSC): $(BUILDSRC)
+       cd $(BUILDSRC); dpkg-buildpackage -S -us -uc -d
 
-.phony: upload
-upload: ${DEB}
-       tar cf - ${DEB} | ssh -X repoman@repo.proxmox.com -- upload --product pmg --dist stretch
+.PHONY: sbuild
+sbuild: $(DSC)
+       sbuild $(DSC)
+
+.PHONY: deb
+deb: $(DEB)
+$(DBG_DEB): $(DEB)
+$(DEB): $(PPSRC)/LibArchive.xs $(BUILDSRC)
+       cd $(BUILDSRC); dpkg-buildpackage -b -us -uc
+       lintian $(DEB) $(DBG_DEB)
 
-CLEANFILES = *~ build *.deb libarchive_* libarchive-perl_* ${BUILDSRC}
+.PHONY: upload
+upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
+upload: $(DEB) $(DBG_DEB)
+       tar cf - $(DEB) $(DBG_DEB) | ssh -X repoman@repo.proxmox.com -- upload --product pmg --dist $(UPLOAD_DIST)
 
-.phony: clean
+.PHONY: clean
 clean:
-       rm -rf ${CLEANFILES}
+       rm -rf build $(PACKAGE)-[0-9]*/
+       rm -f *.deb *.buildinfo *.build *.dsc *.changes $(PACKAGE)*tar*
 
 .PHONY: dinstall
-dinstall: ${DEB}
-       dpkg -i ${DEB}
+dinstall: $(DEB)
+       dpkg -i $(DEB)