1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
#!/usr/bin/make -f
# -*- makefile -*-
export DH_VERBOSE=1
export DESTDIR=$(CURDIR)/debian/tmp
export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
extraopts += --with-ocf --with-rest-bench --with-nss
extraopts += --with-debug
extraopts += --enable-cephfs-java
ifeq ($(DEB_HOST_ARCH), armel)
# armel supports ARMv4t or above instructions sets.
# libatomic-ops is only usable with Ceph for ARMv6 or above.
extraopts += --without-libatomic-ops
endif
ifneq ($(DEB_HOST_ARCH), i386)
ifneq ($(DEB_HOST_ARCH), amd64)
# libgoogle-perftools-dev is only available on i386 and amd64
extraopts += --without-tcmalloc
endif
endif
ifeq ($(shell grep -c -E '^Build-Depends:(.*,)?[[:space:]]*libgoogle-perftools-dev([[:space:]]|,|$$)' debian/control),0)
# if Build-Deps have been edited to skip libgoogle-perftools-dev (as
# we do for Debian lenny), tell configure it's ok to not have
# tcmalloc.
extraopts += --without-tcmalloc
endif
ifeq ($(shell grep -c -E '^Build-Depends:(.*,)?[[:space:]]*libs3-dev([[:space:]]|,|$$)' debian/control),1)
# Use system provided libs3
extraopts += --with-system-libs3
endif
ifeq ($(shell grep -c -E '^Build-Depends:(.*,)?[[:space:]]*libleveldb-dev([[:space:]]|,|$$)' debian/control),1)
# Use system provided leveldb
extraopts += --with-system-leveldb
endif
%:
dh $@ --with javahelper --with python2 --parallel
override_dh_auto_configure:
./autogen.sh
dh_auto_configure -- --sbindir=/sbin $(extraopts) \
$(CEPH_EXTRA_CONFIGURE_ARGS)
override_dh_auto_build:
dh_auto_build
cp src/init-ceph debian/ceph.init
cp src/init-radosgw debian/radosgw.init
cp src/logrotate.conf debian/ceph.logrotate
cp src/rgw/logrotate.conf debian/radosgw.logrotate
override_dh_auto_clean:
dh_auto_clean
rm -f aclocal.m4 compile config.sub config.guess depcomp install-sh \
ltmain.sh missing
rm -f configure Makefile.in man/Makefile.in src/Makefile.in
rm -f src/acconfig.h.in
rm -f debian/ceph.init debian/radosgw.init debian/ceph.logrotate debian/radosgw.logrotate
override_dh_auto_install:
dh_auto_install
sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'`
install -D -m 644 udev/50-rbd.rules $(DESTDIR)/lib/udev/rules.d/50-rbd.rules
install -D -m 644 udev/95-ceph-osd.rules $(DESTDIR)/lib/udev/rules.d/95-ceph-osd.rules
override_dh_installinit:
dh_installinit --no-start
# dh_installinit is only set up to handle one upstart script
# per package, so do this ourselves
install -d -m0755 debian/ceph/etc/init
install -m0644 src/upstart/ceph*.conf debian/ceph/etc/init
install -d -m0755 debian/ceph-mds/etc/init
mv debian/ceph/etc/init/ceph-mds* debian/ceph-mds/etc/init
install -d -m0755 debian/radosgw/etc/init
install -m0644 src/upstart/radosgw*.conf debian/radosgw/etc/init
override_dh_strip:
dh_strip -pceph --dbg-package=ceph-dbg -k --exclude=libcls_
dh_strip -pceph-mds --dbg-package=ceph-mds-dbg
dh_strip -pceph-fuse --dbg-package=ceph-fuse-dbg
dh_strip -prbd-fuse --dbg-package=rbd-fuse-dbg
dh_strip -pceph-common --dbg-package=ceph-common-dbg
dh_strip -pceph-fs-common --dbg-package=ceph-fs-common-dbg
dh_strip -plibrados2 --dbg-package=librados2-dbg
dh_strip -plibrbd1 --dbg-package=librbd1-dbg
dh_strip -plibcephfs1 --dbg-package=libcephfs1-dbg
dh_strip -pradosgw --dbg-package=radosgw-dbg
dh_strip -prest-bench --dbg-package=rest-bench-dbg
dh_strip -pceph-test --dbg-package=ceph-test-dbg
dh_strip -plibrados-dev
dh_strip -plibcephfs-jni --dbg-package=libcephfs-jni-dbg
override_dh_makeshlibs:
# exclude .so files in ceph package
# exclude jni libraries in libcephfs-jni
dh_makeshlibs -X/usr/lib/rados-classes -X/usr/lib/jni
override_dh_auto_test:
# Skip tests when building packages as they require
# python virtualenv
:
|