-include /usr/share/dpkg/architecture.mk
+include /usr/share/dpkg/default.mk
-CSVERSION=3.0.1
-CSRELEASE=pve1
-DEBRELEASE=2
-CSDIR=corosync-${CSVERSION}
-CSSRC=corosync_${CSVERSION}.orig.tar.gz
+PACKAGE=corosync
+
+CSVERSION=$(DEB_VERSION_UPSTREAM)
+
+BUILDDIR=$(PACKAGE)-$(CSVERSION)
+ORIG_SRC_TAR=$(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
+CSSRC=upstream
-ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
GITVERSION:=$(shell git rev-parse HEAD)
-MAIN_DEB=corosync_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
+DSC=$(PACKAGE)_$(DEB_VERSION).dsc
+MAIN_DEB=corosync_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
OTHER_DEBS=\
-corosync-notifyd_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-corosync-doc_${CSVERSION}-${CSRELEASE}_all.deb \
-libcfg6_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libcmap4_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libcorosync-common4_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libcpg4_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libquorum5_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libsam4_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libtotem-pg5_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libvotequorum8_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libcfg-dev_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libcmap-dev_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libcorosync-common-dev_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libcpg-dev_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libquorum-dev_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libsam-dev_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libtotem-pg-dev_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libvotequorum-dev_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
+corosync-notifyd_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+corosync-doc_$(DEB_VERSION)_all.deb \
+libcfg7_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libcmap4_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libcorosync-common4_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libcpg4_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libquorum5_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libsam4_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libvotequorum8_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libcfg-dev_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libcmap-dev_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libcorosync-common-dev_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libcpg-dev_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libquorum-dev_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libsam-dev_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libvotequorum-dev_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
DBG_DEBS=\
-corosync-dbgsym_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-corosync-notifyd-dbgsym_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libcfg6-dbgsym_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libcmap4-dbgsym_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libcorosync-common4-dbgsym_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libcpg4-dbgsym_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libquorum5-dbgsym_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libsam4-dbgsym_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libtotem-pg5-dbgsym_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-libvotequorum8-dbgsym_${CSVERSION}-${CSRELEASE}_${DEB_BUILD_ARCH}.deb \
-
-DEBS=${MAIN_DEB} ${OTHER_DEBS} ${DBG_DEBS}
-
-DSC=corosync-pve_${CSVERSION}-${CSRELEASE}.dsc
-
-all: ${DEBS}
- echo ${DEBS}
-
-${CSDIR}: ${CSSRC} patches changelog.Debian
+corosync-dbgsym_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+corosync-notifyd-dbgsym_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libcfg7-dbgsym_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libcmap4-dbgsym_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libcorosync-common4-dbgsym_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libcpg4-dbgsym_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libquorum5-dbgsym_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libsam4-dbgsym_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+libvotequorum8-dbgsym_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb \
+
+DEBS=$(MAIN_DEB) $(OTHER_DEBS) $(DBG_DEBS)
+
+all: $(DEBS)
+ echo $(DEBS)
+
+$(BUILDDIR): submodule debian/changelog
rm -rf $@ $@.tmp
- mkdir $@.tmp
- tar -C $@.tmp --strip-components=1 -xf ${CSSRC}
- mv $@.tmp/debian/changelog $@.tmp/debian/changelog.org
- cat changelog.Debian $@.tmp/debian/changelog.org > $@.tmp/debian/changelog
- cd $@.tmp; ln -s ../patches patches
- cd $@.tmp; quilt push -a
- cd $@.tmp; rm -rf .pc ./patches
+ cp -a $(CSSRC) $@.tmp
+ cp -a debian $@.tmp
mv $@.tmp $@
.PHONY: deb
-deb: ${DEBS}
-${OTHER_DEBS} ${DBG_DEBS}: ${MAIN_DEB}
-${MAIN_DEB}: ${CSDIR}
- cd ${CSDIR}; dpkg-buildpackage -b -us -uc
+deb: $(DEBS)
+$(OTHER_DEBS) $(DBG_DEBS): $(MAIN_DEB)
+$(MAIN_DEB): $(BUILDDIR)
+ cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
+
+$(ORIG_SRC_TAR): $(BUILDDIR)
+ tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
.PHONY: dsc
-dsc: ${DSC}
-${DSC}: ${CSDIR}
- cd ${CSDIR}; dpkg-buildpackage -S -us -uc -d -nc
+dsc: $(DSC)
+$(DSC): $(ORIG_SRC_TAR) $(BUILDDIR)
+ cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
+ lintian $(DSC)
-.PHONY: download
-download:
- rm -rf ${CSSRC} ${CSSRC}.tmp ${CSDIR}
- git clone https://salsa.debian.org/ha-team/corosync.git -b debian/${CSVERSION}-${DEBRELEASE} ${CSDIR}
- tar czf ${CSSRC}.tmp ${CSDIR}
- mv ${CSSRC}.tmp ${CSSRC}
+sbuild: $(DSC)
+ sbuild $(DSC)
-.PHONY: upload
-upload: ${DEBS}
- tar cf - ${DEBS} | ssh -X repoman@repo.proxmox.com -- upload --product pve --dist stretch --arch ${DEB_BUILD_ARCH}
+.PHONY: submodule
+submodule:
+ test -f "$(CSSRC)/INSTALL" || git submodule update --init $(CSSRC)
-distclean: clean
+.PHONY: upload
+upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
+upload: $(DEBS)
+ tar cf - $(DEBS) | ssh -X repoman@repo.proxmox.com -- upload --product pve --dist $(UPLOAD_DIST) --arch $(DEB_BUILD_ARCH)
.PHONY: clean
+distclean: clean
clean:
- rm -rf *.deb *.changes *.dsc *.buildinfo ${CSDIR} *.debian.tar.xz
- find . -name '*~' -exec rm {} ';'
+ rm -rf *.deb *.changes *.dsc *.buildinfo *.build $(PACKAGE)-[0-9]*/ *.tar.?z
.PHONY: dinstall
-dinstall: ${DEBS}
- dpkg -i ${DEBS}
+dinstall: $(DEBS)
+ dpkg -i $(DEBS)