]> git.proxmox.com Git - zfsonlinux.git/blobdiff - Makefile
bump version to 2.2.3-pve2
[zfsonlinux.git] / Makefile
index b8ca67263bf2ce2d63193d02c9a36984bb842e3b..82630dac6c089ee63797ad9c04ec82906f477fb6 100644 (file)
--- a/Makefile
+++ b/Makefile
-RELEASE=4.0
-
+include /usr/share/dpkg/default.mk
 # source form https://github.com/zfsonlinux/
 
-ZFSVER=0.6.5
-ZFSPKGREL=pve2~jessie
-SPLPKGREL=pve1~jessie
-ZFSPKGVER=${ZFSVER}-${ZFSPKGREL}
-SPLPKGVER=${ZFSVER}-${SPLPKGREL}
+PACKAGE = zfs-linux
+
+SRCDIR = upstream
+BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
+ORIG_SRC_TAR = $(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
+
+ZFS_DEB1= libnvpair3linux_$(DEB_VERSION)_amd64.deb
+
+ZFS_DEB_BINARY =                               \
+libpam-zfs_$(DEB_VERSION)_amd64.deb            \
+libuutil3linux_$(DEB_VERSION)_amd64.deb                \
+libzfs4linux_$(DEB_VERSION)_amd64.deb          \
+libzfsbootenv1linux_$(DEB_VERSION)_amd64.deb   \
+libzpool5linux_$(DEB_VERSION)_amd64.deb                \
+zfs-test_$(DEB_VERSION)_amd64.deb                      \
+zfsutils-linux_$(DEB_VERSION)_amd64.deb                \
+zfs-zed_$(DEB_VERSION)_amd64.deb
 
-SPLDIR=pkg-spl
-SPLSRC=pkg-spl.tar.gz
-ZFSDIR=pkg-zfs
-ZFSSRC=pkg-zfs.tar.gz
+ZFS_DBG_DEBS = $(patsubst %_$(DEB_VERSION)_amd64.deb, %-dbgsym_$(DEB_VERSION)_amd64.deb, $(ZFS_DEB1) $(ZFS_DEB_BINARY))
 
-SPL_DEBS=                                      \
-spl_${SPLPKGVER}_amd64.deb
+ZFS_DEB2= $(ZFS_DEB_BINARY)                    \
+libzfslinux-dev_$(DEB_VERSION)_amd64.deb               \
+python3-pyzfs_$(DEB_VERSION)_amd64.deb         \
+pyzfs-doc_$(DEB_VERSION)_all.deb                       \
+spl_$(DEB_VERSION)_all.deb                     \
+zfs-initramfs_$(DEB_VERSION)_all.deb
+DEBS= $(ZFS_DEB1) $(ZFS_DEB2) $(ZFS_DBG_DEBS)
 
-ZFS_DEBS=                                      \
-libnvpair1_${ZFSPKGVER}_amd64.deb              \
-libuutil1_${ZFSPKGVER}_amd64.deb               \
-libzfs2_${ZFSPKGVER}_amd64.deb                 \
-libzfs-dev_${ZFSPKGVER}_amd64.deb              \
-libzpool2_${ZFSPKGVER}_amd64.deb               \
-zfs-dbg_${ZFSPKGVER}_amd64.deb                 \
-zfs-initramfs_${ZFSPKGVER}_amd64.deb           \
-zfsutils_${ZFSPKGVER}_amd64.deb
+ZFS_DSC = zfs-linux_$(DEB_VERSION).dsc
 
-DEBS=${SPL_DEBS} ${ZFS_DEBS} 
+all: deb
 
-all: ${DEBS}
+.PHONY: deb dsc
+deb: $(DEBS)
+
+dsc:
+       rm -rf *.dsc $(BUILDDIR)
+       $(MAKE) $(ZFS_DSC)
+       lintian $(ZFS_DSC)
+
+# called from pve-kernel's Makefile to get patched sources
+.PHONY: kernel
+kernel: $(ZFS_DSC)
+       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
-spl ${SPL_DEBS}: ${SPLSRC}
-       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 
+dinstall: $(DEBS)
+       dpkg -i $(DEBS)
+
+.PHONY: submodule
+submodule:
+       test -f "$(SRCDIR)/README.md" || git submodule update --init
+
+$(SRCDIR)/README.md: submodule
 
 .PHONY: zfs
-zfs ${ZFS_DEBS}: ${ZFSSRC}
-       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
-       cd pkg-zfs; git checkout master/debian/jessie/0.6.5.1-4
-       tar czf ${SPLSRC} pkg-spl
-       tar czf ${ZFSSRC} pkg-zfs
+zfs: $(DEBS)
+$(ZFS_DEB2) $(ZFS_DBG_DEBS): $(ZFS_DEB1)
+$(ZFS_DEB1): $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
+       lintian $(DEBS)
+
+$(ORIG_SRC_TAR): $(BUILDDIR)
+       tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
+
+$(ZFS_DSC): $(BUILDDIR) $(ORIG_SRC_TAR)
+       cd $(BUILDDIR); dpkg-buildpackage -S -uc -us -d
+
+sbuild: $(ZFS_DSC)
+       sbuild $(ZFS_DSC)
+
+$(BUILDDIR): $(SRCDIR)/README.md $(SRCDIR) debian
+       rm -rf $@ $@.tmp
+       cp -a $(SRCDIR) $@.tmp
+       cp -a debian $@.tmp/debian
+       mv $@.tmp $@
 
 .PHONY: clean
 clean:         
-       rm -rf *~ *.deb *.changes ${ZFSDIR} ${SPLDIR}
+       rm -rf $(PACKAGE)-[0-9]*/
+       rm -f *~ *.deb *.changes *.buildinfo *.build *.dsc *.orig.tar.* *.debian.tar.*
 
 .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
-
+upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
+upload: $(DEBS)
+       tar -cf - $(DEBS) | ssh repoman@repo.proxmox.com -- upload --product pve,pmg,pbs --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH)