X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=Makefile;h=238b0f16121801653edb183f38d638a66b50c6c6;hb=92886af5c5cd01aa1b9012577e34750d178ade8d;hp=e9126d894d37190fc805bafea9afcc0b611bb093;hpb=5a1f030de3b2ac86a0c3cc3e30540b2413bceeab;p=zfsonlinux.git diff --git a/Makefile b/Makefile index e9126d8..238b0f1 100644 --- a/Makefile +++ b/Makefile @@ -1,110 +1,105 @@ -RELEASE=4.0 +RELEASE=5.1 # source form https://github.com/zfsonlinux/ -ZFSVER=0.6.5 -ZFSPKGREL=pve6~jessie -SPLPKGREL=pve2~jessie -ZFSPKGVER=${ZFSVER}-${ZFSPKGREL} -SPLPKGVER=${ZFSVER}-${SPLPKGREL} +SPLDIR=spl-linux_${ZFSVER} +SPLSRC=spl/upstream +SPLPKG=spl/debian +ZFSDIR=zfs-linux_${ZFSVER} +ZFSSRC=zfs/upstream +ZFSPKG=zfs/debian -SPLDIR=pkg-spl -SPLSRC=pkg-spl.tar.gz -ZFSDIR=pkg-zfs -ZFSSRC=pkg-zfs.tar.gz +ZFSVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion | cut -d- -f1 -SPL_DEBS= \ -spl_${SPLPKGVER}_amd64.deb +ZFSPKGVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion +SPLPKGVER != dpkg-parsechangelog -l ${SPLPKG}/changelog -Sversion -ZFS_DEBS= \ -libnvpair1_${ZFSPKGVER}_amd64.deb \ -libuutil1_${ZFSPKGVER}_amd64.deb \ -libzfs2_${ZFSPKGVER}_amd64.deb \ -libzfs-dev_${ZFSPKGVER}_amd64.deb \ -libzpool2_${ZFSPKGVER}_amd64.deb \ +SPL_DEB = \ +spl_${SPLPKGVER}_amd64.deb +SPL_DSC = spl-linux_${SPLPKGVER}.dsc + +ZFS_DEB1= libnvpair1linux_${ZFSPKGVER}_amd64.deb +ZFS_DEB2= \ +libuutil1linux_${ZFSPKGVER}_amd64.deb \ +libzfs2linux_${ZFSPKGVER}_amd64.deb \ +libzfslinux-dev_${ZFSPKGVER}_amd64.deb \ +libzpool2linux_${ZFSPKGVER}_amd64.deb \ zfs-dbg_${ZFSPKGVER}_amd64.deb \ -zfs-initramfs_${ZFSPKGVER}_amd64.deb \ -zfsutils_${ZFSPKGVER}_amd64.deb - -DEBS=${SPL_DEBS} ${ZFS_DEBS} - -all: ${DEBS} +zfs-zed_${ZFSPKGVER}_amd64.deb \ +zfs-initramfs_${ZFSPKGVER}_all.deb \ +zfs-test_${ZFSPKGVER}_amd64.deb \ +zfsutils-linux_${ZFSPKGVER}_amd64.deb +ZFS_DEBS= $(ZFS_DEB1) $(ZFS_DEB2) +ZFS_DSC = zfs-linux_${ZFSPKGVER}.dsc + +DEBS=${SPL_DEB} ${ZFS_DEBS} +DSCS=${SPL_DSC} ${ZFS_DSC} + +all: deb +.PHONY: deb +deb: ${DEBS} +.PHONY: dsc +dsc: ${DSCS} + +# called from pve-kernel's Makefile to get patched sources +.PHONY: kernel +kernel: dsc + dpkg-source -x ${SPL_DSC} ../pkg-spl + dpkg-source -x ${ZFS_DSC} ../pkg-zfs + $(MAKE) -C ../pkg-zfs -f debian/rules adapt_meta_file .PHONY: dinstall dinstall: ${DEBS} dpkg -i ${DEBS} +.PHONY: submodule +submodule: + test -f "${ZFSSRC}/README.markdown" || git submodule update --init + test -f "${SPLSRC}/README.markdown" || git submodule update --init + .PHONY: spl -spl ${SPL_DEBS}: ${SPLSRC} +spl: ${SPL_DEB} +${SPL_DEB}: ${SPLDIR} + cd ${SPLDIR}; dpkg-buildpackage -b -uc -us + lintian ${SPL_DEB} + +${SPL_DSC}: ${SPLDIR} + tar czf spl-linux_${ZFSVER}.orig.tar.gz ${SPLDIR} + cd ${SPLDIR}; dpkg-buildpackage -S -uc -us -d + lintian $@ + +${SPLDIR}: ${SPLSRC} ${SPLPKG} rm -rf ${SPLDIR} - tar xf ${SPLSRC} - mv ${SPLDIR}/debian/changelog ${SPLDIR}/debian/changelog.org - cat spl-changelog.Debian ${SPLDIR}/debian/changelog.org > ${SPLDIR}/debian/changelog - cd ${SPLDIR}; ln -s ../spl-patches patches - cd ${SPLDIR}; quilt push -a - cd ${SPLDIR}; rm -rf .pc ./patches - cd ${SPLDIR}; ./debian/rules override_dh_prep-base-deb-files - cd ${SPLDIR}; dpkg-buildpackage -b -uc -us + mkdir ${SPLDIR} + cp -a ${SPLSRC}/* ${SPLDIR}/ + cp -a ${SPLPKG} ${SPLDIR}/debian .PHONY: zfs -zfs ${ZFS_DEBS}: ${ZFSSRC} +zfs: $(ZFS_DEBS) +$(ZFS_DEB2): $(ZFS_DEB1) +$(ZFS_DEB1): ${ZFSDIR} + cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us + lintian ${ZFS_DEBS} + +${ZFS_DSC}: ${ZFSDIR} + tar czf zfs-linux_${ZFSVER}.orig.tar.gz ${ZFSDIR} + cd ${ZFSDIR}; dpkg-buildpackage -S -uc -us -d + lintian $@ + +${ZFSDIR}: $(ZFSSRC) ${ZFSPKG} rm -rf ${ZFSDIR} - tar xf ${ZFSSRC} - mv ${ZFSDIR}/debian/changelog ${ZFSDIR}/debian/changelog.org - cat zfs-changelog.Debian ${ZFSDIR}/debian/changelog.org > ${ZFSDIR}/debian/changelog - cd ${ZFSDIR}; ln -s ../zfs-patches patches - cd ${ZFSDIR}; quilt push -a - cd ${ZFSDIR}; rm -rf .pc ./patches - cd ${ZFSDIR}; ./debian/rules override_dh_prep-base-deb-files - cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us - -.PHONY: download -download: - rm -rf pkg-spl pkg-zfs ${SPLSRC} ${ZFSSRC} - git clone https://github.com/zfsonlinux/pkg-spl.git - git clone https://github.com/zfsonlinux/pkg-zfs.git - # list tags with: git tag --list 'master/*' - cd pkg-spl; git checkout master/debian/jessie/0.6.5-1 - # manual merge spl-0.6.5.3 - cd pkg-spl; git merge --no-edit spl-0.6.5.3 - cd pkg-zfs; git checkout master/debian/jessie/0.6.5.2-2 - # manual cherry-pick relevant 0.6.5.3 updates - cd pkg-zfs; git cherry-pick cd887ab869bb506c88a66ba8c225ca42680b89d f9f5394f74f7bf421eb484e8d1653257d92f5ace 9aaf60b66d10cb01c3c1fc67fa094b17a83b002a - tar czf ${SPLSRC} pkg-spl - tar czf ${ZFSSRC} pkg-zfs + mkdir ${ZFSDIR} + cp -a ${ZFSSRC}/* ${ZFSDIR}/ + cp -a ${ZFSPKG} ${ZFSDIR}/debian + .PHONY: clean clean: - rm -rf *~ *.deb *.changes ${ZFSDIR} ${SPLDIR} + rm -rf *~ *.deb *.changes *.buildinfo *.dsc *.orig.tar.* *.debian.tar.* ${ZFSDIR} ${SPLDIR} .PHONY: distclean distclean: clean - .PHONY: upload upload: ${DEBS} - umount /pve/${RELEASE}; mount /pve/${RELEASE} -o rw - mkdir -p /pve/${RELEASE}/extra - rm -f /pve/${RELEASE}/extra/spl_*.deb - rm -f /pve/${RELEASE}/extra/spl-dkms_*.deb - rm -f /pve/${RELEASE}/extra/libnvpair1_*.deb - rm -f /pve/${RELEASE}/extra/libnvpair1-dbg_*.deb - rm -f /pve/${RELEASE}/extra/libuutil1_*.deb - rm -f /pve/${RELEASE}/extra/libuutil1-dbg_*.deb - rm -f /pve/${RELEASE}/extra/libzfs2_*.deb - rm -f /pve/${RELEASE}/extra/libzfs2-dbg_*.deb - rm -f /pve/${RELEASE}/extra/libzfs-dev_*.deb - rm -f /pve/${RELEASE}/extra/libzpool2_*.deb - rm -f /pve/${RELEASE}/extra/libzpool2-dbg_*.deb - rm -f /pve/${RELEASE}/extra/zfs_*.deb - rm -f /pve/${RELEASE}/extra/zfs-dkms_*.deb - rm -f /pve/${RELEASE}/extra/zfs-doc_*.deb - rm -f /pve/${RELEASE}/extra/zfs-dbg_*.deb - rm -f /pve/${RELEASE}/extra/zfs-initramfs_*.deb - rm -f /pve/${RELEASE}/extra/zfsutils_*.deb - rm -f /pve/${RELEASE}/extra/zfsutils-dbg_*.deb - rm -f /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 - + tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve,pmg --dist buster --arch amd64