-RELEASE=2.0
+LVMVERSION=2.03.02
+DMVERSION=1.02.155
+DEBTAG=debian/2.03.02-3
-LVMVERSION=2.02.86
-DMVERSION=1.02.65
-DEBRELEASE=1
-# also update debian changelog patch
-PVERELEASE=${DEBRELEASE}pve1
-PVEVER=${LVMVERSION}-${PVERELEASE}
-DMVER=${DMVERSION}-${PVERELEASE}
+PVERELEASE=pve4
+PVELVMVER=${LVMVERSION}-${PVERELEASE}
+PVEDMVER=${DMVERSION}-${PVERELEASE}
-LVMDIR=lvm2-${LVMVERSION}
-LVMSRC=lvm2_${LVMVERSION}.orig.tar.gz
-LVMDEBSRC=lvm2_${LVMVERSION}-${DEBRELEASE}.debian.tar.gz
+LVMDIR=LVM2.${LVMVERSION}
+LVMSRC=${LVMDIR}.tar
-ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
+ARCH:=$(shell dpkg-architecture -qDEB_HOST_ARCH)
+GITVERSION:=$(shell cat .git/refs/heads/master)
+DMPKGLIST:=dmeventd dmsetup libdevmapper1.02.1 libdevmapper-event1.02.1 libdevmapper-dev
+LVMPKGLIST:=liblvm2cmd2.03 liblvm2-dev lvm2 lvm2-lockd lvm2-dbusd
-DEBS= \
- clvm_${PVEVER}_${ARCH}.deb \
- dmsetup_${DMVER}_${ARCH}.deb \
- libdevmapper1.02.1_${DMVER}_${ARCH}.deb \
- libdevmapper-dev_${DMVER}_${ARCH}.deb \
- liblvm2app2.2_${PVEVER}_${ARCH}.deb \
- liblvm2cmd2.02_${PVEVER}_${ARCH}.deb \
- liblvm2-dev_${PVEVER}_${ARCH}.deb \
- lvm2_${PVEVER}_${ARCH}.deb
+DEBS= $(foreach pkg, $(LVMPKGLIST), $(pkg)_${PVELVMVER}_${ARCH}.deb) \
+ $(foreach pkg, $(DMPKGLIST), $(pkg)_${PVEDMVER}_${ARCH}.deb)
-all: deb
+all: ${DEBS}
.PHONY: dinstall
-dinstall: deb
+dinstall: ${DEBS}
dpkg -i ${DEBS}
.PHONY: deb
-deb ${DEBS}: ${LVMSRC} ${LVMDEBSRC}
+deb: ${DEBS}
+${DEBS}: ${LVMSRC}
rm -rf ${LVMDIR}
tar xf ${LVMSRC}
- cd ${LVMDIR}; tar xvf ../${LVMDEBSRC}
- cd ${LVMDIR}; mv debian/clvm.defaults debian/clvm.default
- cd ${LVMDIR}; ln -s ../patchdir patches; quilt push -a
+ echo "git clone git://git.proxmox.com/git/lvm.git\\ngit checkout ${GITVERSION}" > ${LVMDIR}/debian/SOURCE
+ for pkg in $(LVMPKGLIST) $(DMPKGLIST); do echo "debian/SOURCE" >> $(LVMDIR)/debian/$${pkg}.docs; done
+ # Note: the patches in patchdir are not used by the build process, so apply them manually here!
+ cd ${LVMDIR}; ln -s ../patchdir patches
+ cd ${LVMDIR}; quilt push -a
+ cd ${LVMDIR}; rm -rf .pc ./patches
+ mv ${LVMDIR}/debian/changelog ${LVMDIR}/debian/changelog.org
+ cat changelog.Debian ${LVMDIR}/debian/changelog.org > ${LVMDIR}/debian/changelog
cd ${LVMDIR}; dpkg-buildpackage -b -uc -us
+ lintian ${DEBS}
.PHONY: download
download:
- rm -f ${LVMSRC} ${LVMDEBSRC}
- wget http://ftp.de.debian.org/debian/pool/main/l/lvm2/${LVMSRC}
- wget http://ftp.de.debian.org/debian/pool/main/l/lvm2/${LVMDEBSRC}
+ rm -f ${LVMSRC}
+ rm -rf ${LVMDIR}
+ git clone -b ${DEBTAG} https://salsa.debian.org/lvm-team/lvm2.git ${LVMDIR}
+ tar cf ${LVMSRC} --exclude ".git" ${LVMDIR}
+
.PHONY: upload
-upload:
- umount /pve/${RELEASE}; mount /pve/${RELEASE} -o rw
- mkdir -p /pve/${RELEASE}/extra
- rm -rf /pve/${RELEASE}/extra/clvm_*.deb
- rm -rf /pve/${RELEASE}/extra/lvm2_*.deb
- rm -rf /pve/${RELEASE}/extra/dmsetup_*.deb
- rm -rf /pve/${RELEASE}/extra/liblvm2*.deb
- rm -rf /pve/${RELEASE}/extra/libdevmapper*.deb
- rm -rf /pve/${RELEASE}/extra/Packages*
- cp ${DEBS} /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
+upload: ${DEBS}
+ tar cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve --dist stretch --arch ${ARCH}
.PHONY: clean
clean:
- rm -rf *~ *_${ARCH}.deb *_${ARCH}.udeb *.changes *.dsc ${LVMDIR}
+ rm -rf *~ *_${ARCH}.deb *_${ARCH}.udeb *.changes *.dsc *.buildinfo ${LVMDIR}
+ find . -name '*~' -exec rm {} ';'