]> git.proxmox.com Git - zfsonlinux.git/blobdiff - Makefile
add python3-pyzfs binary package
[zfsonlinux.git] / Makefile
index 6bae9b009c4333a67c0512828bf8302f95a0727e..238b0f16121801653edb183f38d638a66b50c6c6 100644 (file)
--- a/Makefile
+++ b/Makefile
-RELEASE=3.3
+RELEASE=5.1
 
 # source form https://github.com/zfsonlinux/
 
-ZFSVER=0.6.3-1.2
+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
 
-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_UTILS_DEBS= \
-${SPLDIR}_utils/spl_0.6.3-1.2_amd64.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
+.PHONY: dinstall
+dinstall: ${DEBS}
+       dpkg -i ${DEBS}
 
-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 
+.PHONY: submodule
+submodule:
+       test -f "${ZFSSRC}/README.markdown" || git submodule update --init
+       test -f "${SPLSRC}/README.markdown" || git submodule update --init
 
-ZFS_UTILS_DEBS= \
-${ZFSDIR}_utils/libnvpair1_0.6.3-1.2_amd64.deb \
-${ZFSDIR}_utils/libuutil1_0.6.3-1.2_amd64.deb \
-${ZFSDIR}_utils/libzfs2_0.6.3-1.2_amd64.deb \
-${ZFSDIR}_utils/libzfs2-devel_0.6.3-1.2_amd64.deb \
-${ZFSDIR}_utils/libzpool2_0.6.3-1.2_amd64.deb \
-${ZFSDIR}_utils/zfs_0.6.3-1.2_amd64.deb \
-${ZFSDIR}_utils/zfs-dracut_0.6.3-1.2_amd64.deb \
-${ZFSDIR}_utils/zfs-test_0.6.3-1.2_amd64.deb
+.PHONY: spl
+spl: ${SPL_DEB}
+${SPL_DEB}: ${SPLDIR}
+       cd ${SPLDIR}; dpkg-buildpackage -b -uc -us
+       lintian ${SPL_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
+${SPL_DSC}: ${SPLDIR}
+       tar czf spl-linux_${ZFSVER}.orig.tar.gz ${SPLDIR}
+       cd ${SPLDIR}; dpkg-buildpackage -S -uc -us -d
+       lintian $@
 
-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
+${SPLDIR}: ${SPLSRC} ${SPLPKG}
+       rm -rf ${SPLDIR}
+       mkdir ${SPLDIR}
+       cp -a ${SPLSRC}/* ${SPLDIR}/
+       cp -a ${SPLPKG} ${SPLDIR}/debian
 
-DEBS=${SPL_UTILS_DEBS} ${SPL_2.6.32_DEBS} ${SPL_3.10.0_DEBS} ${ZFS_UTILS_DEBS} ${ZFS_2.6.32_DEBS} ${ZFS_3.10.0_DEBS}
+.PHONY: zfs
+zfs: $(ZFS_DEBS)
+$(ZFS_DEB2): $(ZFS_DEB1)
+$(ZFS_DEB1): ${ZFSDIR}
+       cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us
+       lintian ${ZFS_DEBS}
 
-all: ${DEBS}
+${ZFS_DSC}: ${ZFSDIR}
+       tar czf zfs-linux_${ZFSVER}.orig.tar.gz ${ZFSDIR}
+       cd ${ZFSDIR}; dpkg-buildpackage -S -uc -us -d
+       lintian $@
 
-.PHONY: dinstall
-dinstall: ${DEBS}
-       dpkg -i ${DEBS}
+${ZFSDIR}: $(ZFSSRC) ${ZFSPKG}
+       rm -rf ${ZFSDIR}
+       mkdir ${ZFSDIR}
+       cp -a ${ZFSSRC}/* ${ZFSDIR}/
+       cp -a ${ZFSPKG} ${ZFSDIR}/debian
 
-.PHONY: spl_utils
-spl_utils ${SPL_UTILS_DEBS}: ${SPLSRC}
-       rm -rf ${SPLDIR}
-       tar xf ${SPLSRC}
-       mv ${SPLDIR} ${SPLDIR}_utils
-       cd ${SPLDIR}_utils; ./autogen.sh
-       cd ${SPLDIR}_utils; ./configure --with-linux=${KERNEL_2.6.32_HDR} --with-linux-obj=${KERNEL_2.6.32_SRC}
-       cd ${SPLDIR}_utils; make deb-utils 
-
-.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: spl_kmod_3.10.0
-spl_kmod_3.10.0 ${SPL_3.10.0_DEBS}: ${SPLSRC}
-       rm -rf ${SPLDIR}
-       tar xf ${SPLSRC}
-       mv ${SPLDIR} ${SPLDIR}_3.10.0
-       cd ${SPLDIR}_3.10.0; ./autogen.sh
-       cd ${SPLDIR}_3.10.0; ./configure --with-linux=${KERNEL_3.10.0_HDR} --with-linux-obj=${KERNEL_3.10.0_SRC}
-       cd ${SPLDIR}_3.10.0; make deb-kmod 
-
-.PHONY: zfs_utils
-zfs_utils ${ZFS_UTILS_DEBS}: ${ZFSSRC}
-       rm -rf ${ZFSDIR} ${ZFSDIR}_utils
-       tar xf ${ZFSSRC}
-       mv ${ZFSDIR} ${ZFSDIR}_utils
-       cd ${ZFSDIR}_utils; ./autogen.sh
-       cd ${ZFSDIR}_utils; ./configure --with-linux=${KERNEL_2.6.32_HDR} --with-linux-obj=${KERNEL_2.6.32_SRC}
-       cd ${ZFSDIR}_utils; make deb-utils
-
-# 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
-
-# Note: install mod-spl-devel-* first
-.PHONY: zfs_kmod_3.10.0
-zfs_kmod_3.10.0 ${ZFS_3.10.0_DEBS}: ${ZFSSRC}
-       rm -rf ${ZFSDIR} ${ZFSDIR}_3.10.0
-       tar xf ${ZFSSRC}
-       mv ${ZFSDIR} ${ZFSDIR}_3.10.0
-       cd ${ZFSDIR}_3.10.0; ./autogen.sh
-       cd ${ZFSDIR}_3.10.0; ./configure --with-linux=${KERNEL_3.10.0_HDR} --with-linux-obj=${KERNEL_3.10.0_SRC}
-       cd ${ZFSDIR}_3.10.0; make deb-kmod
-
-.PHONY: download
-download:
-       git clone https://github.com/zfsonlinux/pkg-spl.git
-       #git clone https://github.com/zfsonlinux/pkg-zfs.git
-       #cd pkg-zfs; git checkout upstream
-       #cd pkg-zfs; git checkout master/ubuntu/precise
-       #git checkout master/debian/wheezy
-       #git merge upstream     
-       dsaf
-       rm spl-*.tar.gz
-       rm zfs-*.tar.gz
-       wget https://github.com/zfsonlinux/spl/archive/${SPLSRC}
-       wget https://github.com/zfsonlinux/zfs/archive/${ZFSSRC}
 
 .PHONY: clean
 clean:         
-       rm -rf *~ *.deb *.changes ${ZFSDIR} ${ZFSDIR}_utils ${ZFSDIR}_2.6.32 ${ZFSDIR}_3.10.0 ${SPLDIR} ${SPLDIR}_utils ${SPLDIR}_2.6.32 ${SPLDIR}_3.10.0
+       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-devel_*.deb
-       rm -f /pve/${RELEASE}/extra/libzpool2_*.deb
-       rm -f /pve/${RELEASE}/extra/zfs_*.deb
-       rm -f /pve/${RELEASE}/extra/zfs-dracut_*.deb
-       rm -f /pve/${RELEASE}/extra/zfs-test_*.deb
-       rm -f /pve/${RELEASE}/extra/kmod-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