X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=Makefile;h=82630dac6c089ee63797ad9c04ec82906f477fb6;hb=HEAD;hp=b8ca67263bf2ce2d63193d02c9a36984bb842e3b;hpb=eb4bd3cde8d28cdc03cd180381712f696017bccb;p=zfsonlinux.git diff --git a/Makefile b/Makefile index b8ca672..82630da 100644 --- a/Makefile +++ b/Makefile @@ -1,106 +1,93 @@ -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)