]> git.proxmox.com Git - zfsonlinux.git/blob - Makefile
62817acb50114fa935cfe07b91c44a98cb124b01
[zfsonlinux.git] / Makefile
1 include /usr/share/dpkg/default.mk
2 # source form https://github.com/zfsonlinux/
3
4 ZFSDIR=zfs-linux_$(DEB_VERSION_UPSTREAM)
5 ZFSSRC=upstream
6 ORIG_SRC_TAR=$(ZFSDIR).orig.tar.gz
7
8 ZFS_DEB1= libnvpair3linux_$(DEB_VERSION)_amd64.deb
9
10 ZFS_DEB_BINARY = \
11 libpam-zfs_$(DEB_VERSION)_amd64.deb \
12 libuutil3linux_$(DEB_VERSION)_amd64.deb \
13 libzfs4linux_$(DEB_VERSION)_amd64.deb \
14 libzfsbootenv1linux_$(DEB_VERSION)_amd64.deb \
15 libzpool5linux_$(DEB_VERSION)_amd64.deb \
16 zfs-test_$(DEB_VERSION)_amd64.deb \
17 zfsutils-linux_$(DEB_VERSION)_amd64.deb \
18 zfs-zed_$(DEB_VERSION)_amd64.deb
19
20 ZFS_DBG_DEBS = $(patsubst %_$(DEB_VERSION)_amd64.deb, %-dbgsym_$(DEB_VERSION)_amd64.deb, $(ZFS_DEB1) $(ZFS_DEB_BINARY))
21
22 ZFS_DEB2= $(ZFS_DEB_BINARY) \
23 libzfslinux-dev_$(DEB_VERSION)_amd64.deb \
24 python3-pyzfs_$(DEB_VERSION)_amd64.deb \
25 pyzfs-doc_$(DEB_VERSION)_all.deb \
26 spl_$(DEB_VERSION)_all.deb \
27 zfs-initramfs_$(DEB_VERSION)_all.deb
28 DEBS= $(ZFS_DEB1) $(ZFS_DEB2) $(ZFS_DBG_DEBS)
29
30 ZFS_DSC = zfs-linux_$(DEB_VERSION).dsc
31
32 all: deb
33 .PHONY: deb
34 deb: $(DEBS)
35 .PHONY: dsc
36 dsc: $(ZFS_DSC)
37
38 # called from pve-kernel's Makefile to get patched sources
39 .PHONY: kernel
40 kernel: $(ZFS_DSC)
41 dpkg-source -x $(ZFS_DSC) ../pkg-zfs
42 $(MAKE) -C ../pkg-zfs -f debian/rules adapt_meta_file
43
44 .PHONY: dinstall
45 dinstall: $(DEBS)
46 dpkg -i $(DEBS)
47
48 .PHONY: submodule
49 submodule:
50 test -f "$(ZFSSRC)/README.md" || git submodule update --init
51 $(ZFSSRC)/README.md: submodule
52
53 .PHONY: zfs
54 zfs: $(DEBS)
55 $(ZFS_DEB2) $(ZFS_DBG_DEBS): $(ZFS_DEB1)
56 $(ZFS_DEB1): $(ZFSDIR)
57 cd $(ZFSDIR); dpkg-buildpackage -b -uc -us
58 lintian $(DEBS)
59
60 $(ORIG_SRC_TAR): $(ZFSDIR)
61 tar czf $(ORIG_SRC_TAR) --exclude="$(ZFSDIR)/debian" $(ZFSDIR)
62
63 $(ZFS_DSC): $(ZFSDIR) $(ORIG_SRC_TAR)
64 tar czf zfs-linux_$(ZFSVER).orig.tar.gz $(ZFSDIR)
65 cd $(ZFSDIR); dpkg-buildpackage -S -uc -us -d
66 lintian $@
67
68 $(ZFSDIR): $(ZFSSRC)/README.md $(ZFSSRC) debian
69 rm -rf $(ZFSDIR) $(ZFSDIR).tmp
70 cp -a $(ZFSSRC) $(ZFSDIR).tmp
71 cp -a debian $(ZFSDIR).tmp/debian
72 mv $(ZFSDIR).tmp $(ZFSDIR)
73
74
75 .PHONY: clean
76 clean:
77 rm -rf *~ *.deb *.changes *.buildinfo *.build *.dsc *.orig.tar.* *.debian.tar.* $(ZFSDIR)
78
79 .PHONY: distclean
80 distclean: clean
81
82 .PHONY: upload
83 upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
84 upload: $(DEBS)
85 tar -cf - $(DEBS) | ssh repoman@repo.proxmox.com -- upload --product pve,pmg,pbs --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH)