]> git.proxmox.com Git - ceph.git/blob - Makefile
buildsys: tag with our version string
[ceph.git] / Makefile
1 RELEASE=5.0
2
3 PACKAGE=ceph
4 VER=12.0.0
5 DEBREL=pve2
6
7 SRC=ceph.tar.gz
8 SRCDIR=ceph
9
10 # everything except boost
11 SUBMODULES=ceph-erasure-code-corpus \
12 ceph-object-corpus \
13 src/Beast \
14 src/civetweb \
15 src/dpdk \
16 src/erasure-code/jerasure/gf-complete \
17 src/erasure-code/jerasure/jerasure \
18 src/googletest \
19 src/isa-l \
20 src/lua \
21 src/rocksdb \
22 src/spdk \
23 src/xxHash \
24 src/zstd
25
26 ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
27 GITVERSION:=$(shell cat .git/refs/heads/master)
28
29 DEBS=ceph_${VER}-${DEBREL}_${ARCH}.deb \
30 ceph-base_${VER}-${DEBREL}_${ARCH}.deb \
31 ceph-common_${VER}-${DEBREL}_${ARCH}.deb \
32 ceph-common-dbg_${VER}-${DEBREL}_${ARCH}.deb \
33 ceph-fuse_${VER}-${DEBREL}_${ARCH}.deb \
34 ceph-fuse-dbg_${VER}-${DEBREL}_${ARCH}.deb \
35 ceph-mds_${VER}-${DEBREL}_${ARCH}.deb \
36 ceph-mds-dbg_${VER}-${DEBREL}_${ARCH}.deb \
37 ceph-mgr_${VER}-${DEBREL}_${ARCH}.deb \
38 ceph-mgr-dbg_${VER}-${DEBREL}_${ARCH}.deb \
39 ceph-mon_${VER}-${DEBREL}_${ARCH}.deb \
40 ceph-mon-dbg_${VER}-${DEBREL}_${ARCH}.deb \
41 ceph-osd_${VER}-${DEBREL}_${ARCH}.deb \
42 ceph-osd-dbg_${VER}-${DEBREL}_${ARCH}.deb \
43 ceph-resource-agents_${VER}-${DEBREL}_${ARCH}.deb \
44 ceph-test_${VER}-${DEBREL}_${ARCH}.deb \
45 ceph-test-dbg_${VER}-${DEBREL}_${ARCH}.deb \
46 libcephfs2_${VER}-${DEBREL}_${ARCH}.deb \
47 libcephfs2-dbg_${VER}-${DEBREL}_${ARCH}.deb \
48 libcephfs-dev_${VER}-${DEBREL}_${ARCH}.deb \
49 libcephfs-java_${VER}-${DEBREL}_all.deb \
50 libcephfs-jni_${VER}-${DEBREL}_${ARCH}.deb \
51 librados2_${VER}-${DEBREL}_${ARCH}.deb \
52 librados2-dbg_${VER}-${DEBREL}_${ARCH}.deb \
53 librados-dev_${VER}-${DEBREL}_${ARCH}.deb \
54 libradosstriper1_${VER}-${DEBREL}_${ARCH}.deb \
55 libradosstriper1-dbg_${VER}-${DEBREL}_${ARCH}.deb \
56 libradosstriper-dev_${VER}-${DEBREL}_${ARCH}.deb \
57 librbd1_${VER}-${DEBREL}_${ARCH}.deb \
58 librbd1-dbg_${VER}-${DEBREL}_${ARCH}.deb \
59 librbd-dev_${VER}-${DEBREL}_${ARCH}.deb \
60 librgw2_${VER}-${DEBREL}_${ARCH}.deb \
61 librgw2-dbg_${VER}-${DEBREL}_${ARCH}.deb \
62 librgw-dev_${VER}-${DEBREL}_${ARCH}.deb \
63 python3-ceph-argparse_${VER}-${DEBREL}_${ARCH}.deb \
64 python3-cephfs_${VER}-${DEBREL}_${ARCH}.deb \
65 python3-rados_${VER}-${DEBREL}_${ARCH}.deb \
66 python3-rbd_${VER}-${DEBREL}_${ARCH}.deb \
67 python3-rgw_${VER}-${DEBREL}_${ARCH}.deb \
68 python-ceph_${VER}-${DEBREL}_${ARCH}.deb \
69 python-cephfs_${VER}-${DEBREL}_${ARCH}.deb \
70 python-rados_${VER}-${DEBREL}_${ARCH}.deb \
71 python-rbd_${VER}-${DEBREL}_${ARCH}.deb \
72 python-rgw_${VER}-${DEBREL}_${ARCH}.deb \
73 radosgw_${VER}-${DEBREL}_${ARCH}.deb \
74 radosgw-dbg_${VER}-${DEBREL}_${ARCH}.deb \
75 rbd-fuse_${VER}-${DEBREL}_${ARCH}.deb \
76 rbd-fuse-dbg_${VER}-${DEBREL}_${ARCH}.deb \
77 rbd-mirror_${VER}-${DEBREL}_${ARCH}.deb \
78 rbd-mirror-dbg_${VER}-${DEBREL}_${ARCH}.deb \
79 rbd-nbd_${VER}-${DEBREL}_${ARCH}.deb \
80 rbd-nbd-dbg_${VER}-${DEBREL}_${ARCH}.deb
81
82 all: ${DEBS}
83 @echo ${DEBS}
84
85 .PHONY: deb
86 deb: ${DEBS}
87 ${DEBS}: ${SRC} patches
88 rm -rf ${SRCDIR}
89 tar xf ${SRC}
90 cd ${SRCDIR}; ln -s ../patches patches
91 cd ${SRCDIR}; quilt push -a
92 cd ${SRCDIR}; rm -rf .pc ./patches
93 echo "git clone git://git.proxmox.com/git/ceph.git\\ngit checkout ${GITVERSION}" > ${SRCDIR}/debian/SOURCE
94 echo "debian/SOURCE" >> ${SRCDIR}/debian/docs
95 cd ${SRCDIR}; git tag -m "PVE release tag" "v${VER}-${DEBREL}"
96 cd ${SRCDIR}; dpkg-buildpackage -b -uc -us
97 @echo ${DEBS}
98
99 .PHONY: download
100 download ${SRC}:
101 rm -rf ${SRC} ${SRCDIR}
102 git clone -b v${VER} --depth 1 https://github.com/ceph/ceph.git ${SRCDIR}
103 cd ${SRCDIR}; for module in ${SUBMODULES}; do git submodule update --init $${module}; done
104 # "ceph version" is derived from "git describe"
105 # only drop module history to save space
106 tar czf ${SRC} --exclude ".git/modules" ${SRCDIR}
107
108 .PHONY: upload
109 upload: ${DEBS}
110 tar cf - ${DEBS} | ssh repoman@repo.proxmox.com upload --product ceph-luminous --dist stretch --arch ${ARCH}
111
112 distclean: clean
113
114 .PHONY: clean
115 clean:
116 rm -rf ceph *_all.deb *_${ARCH}.deb *.changes *.dsc *.buildinfo
117
118 .PHONY: dinstall
119 dinstall: ${DEB}
120 dpkg -i ${DEB}