-RELEASE=3.3
+RELEASE=5.1
# source form https://github.com/zfsonlinux/
-ZFSVER=0.6.3-1.2
-PKGREL=1~wheezy
-PKGVER=0.6.3-${PKGREL}
-
-SPLDIR=spl-spl-${ZFSVER}
-SPLSRC=spl-${ZFSVER}.tar.gz
-ZFSDIR=zfs-zfs-${ZFSVER}
-ZFSSRC=zfs-${ZFSVER}.tar.gz
-
-
-#TOP=$(shell pwd)
-#KERNEL_3.10.0_HDR=/usr/src/linux-headers-3.10.0-6-pve/
-#KERNEL_2.6.32_HDR=/usr/src/linux-headers-2.6.32-35-pve/
-#KERNEL_3.10.0_SRC=${TOP}/../pve-kernel-3.10.0/linux-2.6-3.10.0/
-#KERNEL_2.6.32_SRC=${TOP}/../pve-kernel-2.6.32/linux-2.6-2.6.32
-
-SPL_DEBS= \
-spl_${PKGVER}_amd64.deb \
-spl-dkms_${PKGVER}_all.deb
-
-#SPL_2.6.32_DEBS= \
-#${SPLDIR}_2.6.32/kmod-spl-devel_0.6.3-1.2_amd64.deb \
-#${SPLDIR}_2.6.32/kmod-spl-2.6.32-35-pve_0.6.3-1.2_amd64.deb \
-#${SPLDIR}_2.6.32/kmod-spl-devel-2.6.32-35-pve_0.6.3-1.2_amd64.deb
-
-#SPL_3.10.0_DEBS= \
-#${SPLDIR}_3.10.0/kmod-spl-3.10.0-6-pve_0.6.3-1.2_amd64.deb \
-#${SPLDIR}_3.10.0/kmod-spl-devel-3.10.0-6-pve_0.6.3-1.2_amd64.deb
-
-ZFS_DEBS= \
-libnvpair1_0.6.3-1~wheezy_amd64.deb \
-libuutil1_0.6.3-1~wheezy_amd64.deb \
-libzfs2_0.6.3-1~wheezy_amd64.deb \
-libzfs-dev_0.6.3-1~wheezy_amd64.deb \
-libzpool2_0.6.3-1~wheezy_amd64.deb \
-zfs-dkms_0.6.3-1~wheezy_amd64.deb \
-zfs-doc_0.6.3-1~wheezy_amd64.deb \
-zfs-initramfs_0.6.3-1~wheezy_amd64.deb \
-zfsutils_0.6.3-1~wheezy_amd64.deb
-
-#ZFS_2.6.32_DEBS= \
-#${ZFSDIR}_2.6.32/kmod-zfs-2.6.32-35-pve_0.6.3-1.2_amd64.deb \
-#${ZFSDIR}_2.6.32/kmod-zfs-devel_0.6.3-1.2_amd64.deb \
-#${ZFSDIR}_2.6.32/kmod-zfs-devel-2.6.32-35-pve_0.6.3-1.2_amd64.deb
-
-#ZFS_3.10.0_DEBS= \
-#${ZFSDIR}_3.10.0/kmod-zfs-3.10.0-6-pve_0.6.3-1.2_amd64.deb \
-#${ZFSDIR}_3.10.0/kmod-zfs-devel-3.10.0-6-pve_0.6.3-1.2_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
+ $(MAKE) -C ../pkg-zfs -f debian/rules adapt_meta_file
.PHONY: dinstall
dinstall: ${DEBS}
dpkg -i ${DEBS}
-.PHONY: spl_utils
-spl_utils ${SPL_DEBS}: ${SPLSRC}
+.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_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
-
-#.PHONY: spl_kmod_2.6.32
-#spl_kmod_2.6.32 ${SPL_2.6.32_DEBS}: ${SPLSRC}
-# rm -rf ${SPLDIR}
-# tar xf ${SPLSRC}
-# mv ${SPLDIR} ${SPLDIR}_2.6.32
-# cd ${SPLDIR}_2.6.32; ./autogen.sh
-# cd ${SPLDIR}_2.6.32; ./configure --with-linux=${KERNEL_2.6.32_HDR} --with-linux-obj=${KERNEL_2.6.32_SRC}
-# cd ${SPLDIR}_2.6.32; make deb-kmod
-
-.PHONY: zfs_utils
-zfs_utils ${ZFS_DEBS}: ${ZFSSRC}
+ mkdir ${SPLDIR}
+ cp -a ${SPLSRC}/* ${SPLDIR}/
+ cp -a ${SPLPKG} ${SPLDIR}/debian
+
+.PHONY: zfs
+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
-
-## Note: install mod-spl-devel-* first
-#.PHONY: zfs_kmod_2.6.32
-#zfs_kmod_2.6.32 ${ZFS_2.6.32_DEBS}: ${ZFSSRC}
-# rm -rf ${ZFSDIR} ${ZFSDIR}_2.6.32
-# tar xf ${ZFSSRC}
-# mv ${ZFSDIR} ${ZFSDIR}_2.6.32
-# cd ${ZFSDIR}_2.6.32; ./autogen.sh
-# cd ${ZFSDIR}_2.6.32; ./configure --with-linux=${KERNEL_2.6.32_HDR} --with-linux-obj=${KERNEL_2.6.32_SRC}
-# cd ${ZFSDIR}_2.6.32; make deb-kmod
-
-.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/kmod-spl-*.deb
- rm -f /pve/${RELEASE}/extra/libnvpair1_*.deb
- rm -f /pve/${RELEASE}/extra/libuutil1_*.deb
- rm -f /pve/${RELEASE}/extra/libzfs2_*.deb
- rm -f /pve/${RELEASE}/extra/libzfs2-dbg_*.deb
- rm -f /pve/${RELEASE}/extra/libzpool2_*.deb
- rm -f /pve/${RELEASE}/extra/zfs_*.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