-RELEASE=4.3
+include /usr/share/dpkg/default.mk
PACKAGE=lxcfs
-PKGVER=2.0.4
-DEBREL=pve1
-SRCDIR=${PACKAGE}
-SRCTAR=${SRCDIR}.tgz
+SRCDIR=$(PACKAGE)
+BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
+ORIG_SRC_TAR=$(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
-ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
-GITVERSION:=$(shell cat .git/refs/heads/master)
+GITVERSION:=$(shell git rev-parse HEAD)
-DEB=${PACKAGE}_${PKGVER}-${DEBREL}_${ARCH}.deb \
- ${PACKAGE}-dbg_${PKGVER}-${DEBREL}_${ARCH}.deb
+DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
+DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
+DBGDEB=$(PACKAGE)-dbgsym_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
+DEBS=$(DEB) $(DBGDEB)
-all: ${DEB}
+all: $(DEB)
-deb ${DEB}: ${SRCTAR}
- rm -rf ${SRCDIR}
- tar xf ${SRCTAR}
- cp -a debian ${SRCDIR}/debian
- echo "git clone git://git.proxmox.com/git/lxcfs.git\\ngit checkout ${GITVERSION}" > ${SRCDIR}/debian/SOURCE
- echo "debian/SOURCE" >> ${SRCDIR}/debian/docs
- cd ${SRCDIR}; dpkg-buildpackage -rfakeroot -b -us -uc
- #lintian ${DEB}
+.PHONY: submodule
+submodule:
+ test -f "$(SRCDIR)/README" || git submodule update --init
+$(SRCDIR)/README: submodule
+$(BUILDDIR): $(SRCDIR)/README debian
+ rm -rf $(BUILDDIR)
+ rsync -a $(SRCDIR)/ debian $(BUILDDIR)
+ echo "git clone git://git.proxmox.com/git/lxcfs.git\\ngit checkout $(GITVERSION)" > $(BUILDDIR)/debian/SOURCE
-.PHONY: download
-download ${SRCTAR}:
- rm -rf ${SRCDIR} ${SRCTAR}
- git clone --depth=1 -b lxcfs-${PKGVER} git://github.com/lxc/lxcfs
- tar czf ${SRCTAR}.tmp ${SRCDIR}
- mv ${SRCTAR}.tmp ${SRCTAR}
+.PHONY: deb
+deb: $(DEBS)
+$(DBGDEB): $(DEB)
+$(DEB): $(BUILDDIR)
+ cd $(BUILDDIR); dpkg-buildpackage -rfakeroot -b -us -uc
+ lintian $(DEBS)
-.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/${PACKAGE}-dbg_*.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
+sbuild: $(DSC)
+ sbuild $(DSC)
-distclean: clean
+$(ORIG_SRC_TAR): $(BUILDDIR)
+ tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
+
+.PHONY: dsc
+dsc:
+ $(MAKE) clean
+ $(MAKE) $(DSC)
+ lintian $(DSC)
+
+$(DSC): $(ORIG_SRC_TAR) $(BUILDDIR)
+ cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
-.PHONY: clean
+.PHONY: upload
+upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
+upload: $(DEBS)
+ tar cf - $(DEBS) | ssh repoman@repo.proxmox.com upload --product pve --dist $(UPLOAD_DIST)
+
+.PHONY: clean distclean
clean:
- rm -rf ${SRCDIR} ${SRCDIR}.tmp *_${ARCH}.deb *.changes *.dsc
- find . -name '*~' -exec rm {} ';'
+ rm -rf $(PACKAGE)-[0-9]*/
+ rm -rf $(PACKAGE)*.tar* *.deb *.dsc *.changes *.dsc *.buildinfo *.build
+
+distclean: clean
+ git submodule deinit --all
.PHONY: dinstall
-dinstall: ${DEB}
- dpkg -i ${DEB}
+dinstall: $(DEBS)
+ dpkg -i $(DEBS)