-RELEASE=3.3
+RELEASE=5.1
# source form https://github.com/zfsonlinux/
-ZFSVER=0.6.3-1.2
-PKGREL=2~wheezy
-PKGVER=0.6.3-${PKGREL}
-
-SPLDIR=spl-spl-${ZFSVER}
-SPLSRC=spl-${ZFSVER}.tar.gz
-ZFSDIR=zfs-zfs-${ZFSVER}
-ZFSSRC=zfs-${ZFSVER}.tar.gz
-
-SPL_DEBS= \
-spl_${PKGVER}_amd64.deb
-
-ZFS_DEBS= \
-libnvpair1_${PKGVER}_amd64.deb \
-libuutil1_${PKGVER}_amd64.deb \
-libzfs2_${PKGVER}_amd64.deb \
-libzfs-dev_${PKGVER}_amd64.deb \
-libzpool2_${PKGVER}_amd64.deb \
-zfs-doc_${PKGVER}_amd64.deb \
-zfs-initramfs_${PKGVER}_amd64.deb \
-zfsutils_${PKGVER}_amd64.deb
-
-DEBS=${SPL_DEBS} ${ZFS_DEBS}
-
-all: ${DEBS}
+SPLDIR=spl-linux_${ZFSVER}
+SPLSRC=spl/upstream
+SPLPKG=spl/debian
+ZFSDIR=zfs-linux_${ZFSVER}
+ZFSSRC=zfs/upstream
+ZFSPKG=zfs/debian
+
+ZFSVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion | cut -d- -f1
+
+ZFSPKGVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion
+SPLPKGVER != dpkg-parsechangelog -l ${SPLPKG}/changelog -Sversion
+
+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-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}
- cp -a spl-debian-pve ${SPLDIR}/debian
- 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}
- cp -a zfs-debian-pve ${ZFSDIR}/debian
- cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us
-
-.PHONY: download
-download:
- #git clone https://github.com/zfsonlinux/pkg-spl.git
- #git clone https://github.com/zfsonlinux/pkg-zfs.git
- ##git checkout master/ubuntu/precise
- ##git checkout master/debian/wheezy
- rm spl-*.tar.gz
- rm zfs-*.tar.gz
- wget https://github.com/zfsonlinux/spl/archive/${SPLSRC}
- wget https://github.com/zfsonlinux/zfs/archive/${ZFSSRC}
+ 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-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