]> git.proxmox.com Git - zfsonlinux.git/blob - Makefile
ee85c55708e3c43bed0271431fd47ad2f0e5e3cb
[zfsonlinux.git] / Makefile
1 RELEASE=4.0
2
3 # source form https://github.com/zfsonlinux/
4
5 ZFSVER=0.6.5
6 ZFSPKGREL=pve5~jessie
7 SPLPKGREL=pve2~jessie
8 ZFSPKGVER=${ZFSVER}-${ZFSPKGREL}
9 SPLPKGVER=${ZFSVER}-${SPLPKGREL}
10
11 SPLDIR=pkg-spl
12 SPLSRC=pkg-spl.tar.gz
13 ZFSDIR=pkg-zfs
14 ZFSSRC=pkg-zfs.tar.gz
15
16 SPL_DEBS= \
17 spl_${SPLPKGVER}_amd64.deb
18
19 ZFS_DEBS= \
20 libnvpair1_${ZFSPKGVER}_amd64.deb \
21 libuutil1_${ZFSPKGVER}_amd64.deb \
22 libzfs2_${ZFSPKGVER}_amd64.deb \
23 libzfs-dev_${ZFSPKGVER}_amd64.deb \
24 libzpool2_${ZFSPKGVER}_amd64.deb \
25 zfs-dbg_${ZFSPKGVER}_amd64.deb \
26 zfs-initramfs_${ZFSPKGVER}_amd64.deb \
27 zfsutils_${ZFSPKGVER}_amd64.deb
28
29 DEBS=${SPL_DEBS} ${ZFS_DEBS}
30
31 all: ${DEBS}
32
33 .PHONY: dinstall
34 dinstall: ${DEBS}
35 dpkg -i ${DEBS}
36
37 .PHONY: spl
38 spl ${SPL_DEBS}: ${SPLSRC}
39 rm -rf ${SPLDIR}
40 tar xf ${SPLSRC}
41 mv ${SPLDIR}/debian/changelog ${SPLDIR}/debian/changelog.org
42 cat spl-changelog.Debian ${SPLDIR}/debian/changelog.org > ${SPLDIR}/debian/changelog
43 cd ${SPLDIR}; ln -s ../spl-patches patches
44 cd ${SPLDIR}; quilt push -a
45 cd ${SPLDIR}; rm -rf .pc ./patches
46 cd ${SPLDIR}; ./debian/rules override_dh_prep-base-deb-files
47 cd ${SPLDIR}; dpkg-buildpackage -b -uc -us
48
49 .PHONY: zfs
50 zfs ${ZFS_DEBS}: ${ZFSSRC}
51 rm -rf ${ZFSDIR}
52 tar xf ${ZFSSRC}
53 mv ${ZFSDIR}/debian/changelog ${ZFSDIR}/debian/changelog.org
54 cat zfs-changelog.Debian ${ZFSDIR}/debian/changelog.org > ${ZFSDIR}/debian/changelog
55 cd ${ZFSDIR}; ln -s ../zfs-patches patches
56 cd ${ZFSDIR}; quilt push -a
57 cd ${ZFSDIR}; rm -rf .pc ./patches
58 cd ${ZFSDIR}; ./debian/rules override_dh_prep-base-deb-files
59 cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us
60
61 .PHONY: download
62 download:
63 rm -rf pkg-spl pkg-zfs ${SPLSRC} ${ZFSSRC}
64 git clone https://github.com/zfsonlinux/pkg-spl.git
65 git clone https://github.com/zfsonlinux/pkg-zfs.git
66 # list tags with: git tag --list 'master/*'
67 cd pkg-spl; git checkout master/debian/jessie/0.6.5-1
68 # manual merge spl-0.6.5.3
69 cd pkg-spl; git merge --no-edit spl-0.6.5.3
70 cd pkg-zfs; git checkout master/debian/jessie/0.6.5.2-2
71 # manual cherry-pick relevant 0.6.5.3 updates
72 cd pkg-zfs; git cherry-pick cd887ab869bb506c88a66ba8c225ca42680b89d f9f5394f74f7bf421eb484e8d1653257d92f5ace
73 tar czf ${SPLSRC} pkg-spl
74 tar czf ${ZFSSRC} pkg-zfs
75
76 .PHONY: clean
77 clean:
78 rm -rf *~ *.deb *.changes ${ZFSDIR} ${SPLDIR}
79
80 .PHONY: distclean
81 distclean: clean
82
83
84 .PHONY: upload
85 upload: ${DEBS}
86 umount /pve/${RELEASE}; mount /pve/${RELEASE} -o rw
87 mkdir -p /pve/${RELEASE}/extra
88 rm -f /pve/${RELEASE}/extra/spl_*.deb
89 rm -f /pve/${RELEASE}/extra/spl-dkms_*.deb
90 rm -f /pve/${RELEASE}/extra/libnvpair1_*.deb
91 rm -f /pve/${RELEASE}/extra/libnvpair1-dbg_*.deb
92 rm -f /pve/${RELEASE}/extra/libuutil1_*.deb
93 rm -f /pve/${RELEASE}/extra/libuutil1-dbg_*.deb
94 rm -f /pve/${RELEASE}/extra/libzfs2_*.deb
95 rm -f /pve/${RELEASE}/extra/libzfs2-dbg_*.deb
96 rm -f /pve/${RELEASE}/extra/libzfs-dev_*.deb
97 rm -f /pve/${RELEASE}/extra/libzpool2_*.deb
98 rm -f /pve/${RELEASE}/extra/libzpool2-dbg_*.deb
99 rm -f /pve/${RELEASE}/extra/zfs_*.deb
100 rm -f /pve/${RELEASE}/extra/zfs-dkms_*.deb
101 rm -f /pve/${RELEASE}/extra/zfs-doc_*.deb
102 rm -f /pve/${RELEASE}/extra/zfs-dbg_*.deb
103 rm -f /pve/${RELEASE}/extra/zfs-initramfs_*.deb
104 rm -f /pve/${RELEASE}/extra/zfsutils_*.deb
105 rm -f /pve/${RELEASE}/extra/zfsutils-dbg_*.deb
106 rm -f /pve/${RELEASE}/extra/Packages*
107 cp ${DEBS} /pve/${RELEASE}/extra
108 cd /pve/${RELEASE}/extra; dpkg-scanpackages . /dev/null > Packages; gzip -9c Packages > Packages.gz
109 umount /pve/${RELEASE}; mount /pve/${RELEASE} -o ro
110