X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=Makefile;h=82630dac6c089ee63797ad9c04ec82906f477fb6;hb=HEAD;hp=492ba6e59d1998cb9ae7e57234c6ac3959793c34;hpb=00d871a78a53dbe1209882558794f76b58b1d411;p=zfsonlinux.git diff --git a/Makefile b/Makefile index 492ba6e..82630da 100644 --- a/Makefile +++ b/Makefile @@ -1,87 +1,93 @@ -RELEASE=4.1 - +include /usr/share/dpkg/default.mk # source form https://github.com/zfsonlinux/ -ZFSVER=0.6.5.7 -ZFSPKGREL=pve10~bpo80 -SPLPKGREL=pve6~bpo80 -ZFSPKGVER=${ZFSVER}-${ZFSPKGREL} -SPLPKGVER=${ZFSVER}-${SPLPKGREL} - -SPLDIR=pkg-spl -SPLSRC=pkg-spl.tar.gz -ZFSDIR=pkg-zfs -ZFSSRC=pkg-zfs.tar.gz - -SPL_DEBS= \ -spl_${SPLPKGVER}_amd64.deb - -ZFS_DEBS= \ -libnvpair1linux_${ZFSPKGVER}_amd64.deb \ -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 \ -zfsutils-linux_${ZFSPKGVER}_amd64.deb - -ZFS_TRANS_DEBS= \ -libnvpair1_${ZFSPKGVER}_all.deb \ -libuutil1_${ZFSPKGVER}_all.deb \ -libzfs2_${ZFSPKGVER}_all.deb \ -libzpool2_${ZFSPKGVER}_all.deb \ -zfsutils_${ZFSPKGVER}_all.deb - -DEBS=${SPL_DEBS} ${ZFS_DEBS} ${ZFS_TRANS_DEBS} - -all: ${DEBS} +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 + +ZFS_DBG_DEBS = $(patsubst %_$(DEB_VERSION)_amd64.deb, %-dbgsym_$(DEB_VERSION)_amd64.deb, $(ZFS_DEB1) $(ZFS_DEB_BINARY)) + +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_DSC = zfs-linux_$(DEB_VERSION).dsc + +all: deb + +.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}; 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} ${ZFS_TRANS_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}; dpkg-buildpackage -b -uc -us - -.PHONY: download -download: - rm -rf pkg-spl pkg-zfs ${SPLSRC} ${ZFSSRC} - # clone pkg-zfsonlinux/spl and checkout 0.6.5.8-2 - git clone -b debian/0.6.5.8-2 git://anonscm.debian.org/pkg-zfsonlinux/spl.git pkg-spl - # clone pkg-zfsonlinux/zfs and checkout 0.6.5.8-1 - git clone -b debian/0.6.5.8-1 git://anonscm.debian.org/pkg-zfsonlinux/zfs.git pkg-zfs - 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} - tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com upload +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)