]> git.proxmox.com Git - ceph.git/blob - Makefile
buildsys: split out -dbg packages
[ceph.git] / Makefile
1 RELEASE=5.0
2
3 PACKAGE=ceph
4 VER=12.0.1
5 DEBREL=pve1
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 DBG_DEBS=ceph-common-dbg_${VER}-${DEBREL}_${ARCH}.deb \
30 ceph-fuse-dbg_${VER}-${DEBREL}_${ARCH}.deb \
31 ceph-mds-dbg_${VER}-${DEBREL}_${ARCH}.deb \
32 ceph-mgr-dbg_${VER}-${DEBREL}_${ARCH}.deb \
33 ceph-mon-dbg_${VER}-${DEBREL}_${ARCH}.deb \
34 ceph-osd-dbg_${VER}-${DEBREL}_${ARCH}.deb \
35 ceph-test-dbg_${VER}-${DEBREL}_${ARCH}.deb \
36 libcephfs2-dbg_${VER}-${DEBREL}_${ARCH}.deb \
37 librados2-dbg_${VER}-${DEBREL}_${ARCH}.deb \
38 libradosstriper1-dbg_${VER}-${DEBREL}_${ARCH}.deb \
39 librbd1-dbg_${VER}-${DEBREL}_${ARCH}.deb \
40 librgw2-dbg_${VER}-${DEBREL}_${ARCH}.deb \
41 radosgw-dbg_${VER}-${DEBREL}_${ARCH}.deb \
42 rbd-fuse-dbg_${VER}-${DEBREL}_${ARCH}.deb \
43 rbd-mirror-dbg_${VER}-${DEBREL}_${ARCH}.deb \
44 rbd-nbd-dbg_${VER}-${DEBREL}_${ARCH}.deb
45
46 DEBS=ceph_${VER}-${DEBREL}_${ARCH}.deb \
47 ceph-base_${VER}-${DEBREL}_${ARCH}.deb \
48 ceph-common_${VER}-${DEBREL}_${ARCH}.deb \
49 ceph-fuse_${VER}-${DEBREL}_${ARCH}.deb \
50 ceph-mds_${VER}-${DEBREL}_${ARCH}.deb \
51 ceph-mgr_${VER}-${DEBREL}_${ARCH}.deb \
52 ceph-mon_${VER}-${DEBREL}_${ARCH}.deb \
53 ceph-osd_${VER}-${DEBREL}_${ARCH}.deb \
54 ceph-resource-agents_${VER}-${DEBREL}_${ARCH}.deb \
55 ceph-test_${VER}-${DEBREL}_${ARCH}.deb \
56 libcephfs2_${VER}-${DEBREL}_${ARCH}.deb \
57 libcephfs-dev_${VER}-${DEBREL}_${ARCH}.deb \
58 libcephfs-java_${VER}-${DEBREL}_all.deb \
59 libcephfs-jni_${VER}-${DEBREL}_${ARCH}.deb \
60 librados2_${VER}-${DEBREL}_${ARCH}.deb \
61 librados-dev_${VER}-${DEBREL}_${ARCH}.deb \
62 libradosstriper1_${VER}-${DEBREL}_${ARCH}.deb \
63 libradosstriper-dev_${VER}-${DEBREL}_${ARCH}.deb \
64 librbd1_${VER}-${DEBREL}_${ARCH}.deb \
65 librbd-dev_${VER}-${DEBREL}_${ARCH}.deb \
66 librgw2_${VER}-${DEBREL}_${ARCH}.deb \
67 librgw-dev_${VER}-${DEBREL}_${ARCH}.deb \
68 python3-ceph-argparse_${VER}-${DEBREL}_${ARCH}.deb \
69 python3-cephfs_${VER}-${DEBREL}_${ARCH}.deb \
70 python3-rados_${VER}-${DEBREL}_${ARCH}.deb \
71 python3-rbd_${VER}-${DEBREL}_${ARCH}.deb \
72 python3-rgw_${VER}-${DEBREL}_${ARCH}.deb \
73 python-ceph_${VER}-${DEBREL}_${ARCH}.deb \
74 python-cephfs_${VER}-${DEBREL}_${ARCH}.deb \
75 python-rados_${VER}-${DEBREL}_${ARCH}.deb \
76 python-rbd_${VER}-${DEBREL}_${ARCH}.deb \
77 python-rgw_${VER}-${DEBREL}_${ARCH}.deb \
78 radosgw_${VER}-${DEBREL}_${ARCH}.deb \
79 rbd-fuse_${VER}-${DEBREL}_${ARCH}.deb \
80 rbd-mirror_${VER}-${DEBREL}_${ARCH}.deb \
81 rbd-nbd_${VER}-${DEBREL}_${ARCH}.deb
82
83 all: ${DEBS} ${DBG_DEBS}
84 @echo ${DEBS}
85 @echo ${DBG_DEBS}
86
87 .PHONY: deb
88 deb: ${DEBS} ${DBG_DEBS}
89 ${DEBS} ${DBG_DEBS}: ${SRC} patches
90 rm -rf ${SRCDIR}
91 tar xf ${SRC}
92 cd ${SRCDIR}; ln -s ../patches patches
93 cd ${SRCDIR}; quilt push -a
94 cd ${SRCDIR}; rm -rf .pc ./patches
95 echo "git clone git://git.proxmox.com/git/ceph.git\\ngit checkout ${GITVERSION}" > ${SRCDIR}/debian/SOURCE
96 echo "debian/SOURCE" >> ${SRCDIR}/debian/docs
97 cd ${SRCDIR}; git tag -m "PVE release tag" "v${VER}-${DEBREL}"
98 cd ${SRCDIR}; dpkg-buildpackage -b -uc -us
99 @echo ${DEBS}
100
101 .PHONY: download
102 download ${SRC}:
103 rm -rf ${SRC} ${SRCDIR}
104 git clone -b v${VER} --depth 1 https://github.com/ceph/ceph.git ${SRCDIR}
105 cd ${SRCDIR}; for module in ${SUBMODULES}; do git submodule update --init $${module}; done
106 # "ceph version" is derived from "git describe"
107 # only drop module history to save space
108 tar czf ${SRC} --exclude ".git/modules" ${SRCDIR}
109
110 .PHONY: upload
111 upload: ${DEBS}
112 tar cf - ${DEBS} | ssh repoman@repo.proxmox.com upload --product ceph-luminous --dist stretch --arch ${ARCH}
113
114 distclean: clean
115
116 .PHONY: clean
117 clean:
118 rm -rf ceph *_all.deb *_${ARCH}.deb *.changes *.dsc *.buildinfo
119
120 .PHONY: dinstall
121 dinstall: ${DEB}
122 dpkg -i ${DEB}