-RELEASE=4.2
+include /usr/share/dpkg/pkg-info.mk
+include /usr/share/dpkg/architecture.mk
-# source from http://www.corosync.org
+PACKAGE=corosync
-CSVERSION=2.4.2
-CSRELEASE=2
-CSDIR=corosync-${CSVERSION}
-CSSRC=corosync-${CSVERSION}.tar.gz
+CSVERSION=${DEB_VERSION_UPSTREAM}
-ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
-GITVERSION:=$(shell cat .git/refs/heads/master)
+BUILDDIR=${PACKAGE}-${CSVERSION}
+CSSRC=upstream
-DEB1 := corosync-pve_${CSVERSION}-${CSRELEASE}_${ARCH}.deb
+GITVERSION:=$(shell git rev-parse HEAD)
-DEB2 := libcorosync4-pve_${CSVERSION}-${CSRELEASE}_${ARCH}.deb \
- libcorosync-pve-dev_${CSVERSION}-${CSRELEASE}_${ARCH}.deb
+MAIN_DEB=corosync_${DEB_VERSION}_${DEB_BUILD_ARCH}.deb \
-DEBS := $(DEB1) $(DEB2)
+OTHER_DEBS=\
+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_${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}
+
+DSC=corosync-pve_${DEB_VERSION}.dsc
all: ${DEBS}
echo ${DEBS}
+${BUILDDIR}: submodule debian/changelog
+ rm -rf $@ $@.tmp
+ cp -a ${CSSRC} $@.tmp
+ cp -a debian $@.tmp
+ mv $@.tmp $@
+
.PHONY: deb
-deb: $(DEB1)
-$(DEB2): $(DEB1)
-${DEB1}: ${CSSRC}
- rm -rf ${CSDIR}
- tar xf ${CSSRC}
- cp -a debian ${CSDIR}/debian
- echo "git clone git://git.proxmox.com/git/corosync-pve.git\\ngit checkout ${GITVERSION}" > ${CSDIR}/debian/SOURCE
-
- cd ${CSDIR}; dpkg-buildpackage -rfakeroot -b -us -uc
-
-.PHONY: download
-download:
- rm -rf ${CSSRC} ${CSSRC}.tmp ${CSDIR}
- # wget http://build.clusterlabs.org/corosync/releases/${CSSRC}
- git clone https://github.com/corosync/corosync.git -b needle ${CSDIR}
- cd ${CSDIR}; git checkout v${CSVERSION}
- cd ${CSDIR}; ./autogen.sh
- tar czf ${CSSRC}.tmp ${CSDIR}
- mv ${CSSRC}.tmp ${CSSRC}
+deb: ${DEBS}
+${OTHER_DEBS} ${DBG_DEBS}: ${MAIN_DEB}
+${MAIN_DEB}: ${BUILDDIR}
+ cd ${BUILDDIR}; dpkg-buildpackage -b -us -uc
+
+.PHONY: dsc
+dsc: ${DSC}
+${DSC}: ${BUILDDIR}
+ cd ${BUILDDIR}; dpkg-buildpackage -S -us -uc -d -nc
+
+.PHONY: submodule
+submodule:
+ test -f "${CSSRC}/INSTALL" || git submodule update --init ${CSSRC}
.PHONY: upload
upload: ${DEBS}
- tar cf - ${DEBS} | ssh repoman@repo.proxmox.com upload
-
-distclean: clean
+ tar cf - ${DEBS} | ssh -X repoman@repo.proxmox.com -- upload --product pve --dist buster --arch ${DEB_BUILD_ARCH}
.PHONY: clean
+distclean: clean
clean:
- rm -rf *_${ARCH}.deb *.changes *.dsc ${CSDIR} corosync_${CSVERSION}-${CSRELEASE}.tar.gz
+ rm -rf *.deb *.changes *.dsc *.buildinfo ${BUILDDIR}
find . -name '*~' -exec rm {} ';'
.PHONY: dinstall