]> git.proxmox.com Git - zfsonlinux.git/blobdiff - Makefile
rebase patches on top of zfs-0.7.13
[zfsonlinux.git] / Makefile
index e9126d894d37190fc805bafea9afcc0b611bb093..2c0ab01fb50f83489dead306cf05d18e2d31e6cc 100644 (file)
--- a/Makefile
+++ b/Makefile
-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
 
 .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 stretch --arch amd64