mirror of
https://github.com/ceph/ceph
synced 2025-01-28 22:14:02 +00:00
48f4576de1
* debian/control: as we have listed the linked libraries in Depends section, for example, python-rados depends on librados. and we don't need `dpkg-shlibdeps` to help figure out shared library substvar dependencies for us. by removing them, we can silence the warnings of ``` warning: dpkg-shlibdeps: package could avoid a useless dependency if debian/python-rados/usr/lib/python2.7/dist-packages/rados.x86_64-linux-gnu.so was not linked against libpthread.so.0 (it uses none of the library's symbols) ``` -lpthread is introduced by `python-config --ldflags` but it turns out we are not using any symbols from pthread in the extension directly. and pthread is included in glibc. so this does not added any extra dependency to python-* pacakges. but it's desirable to have less warnings. * debian/rules: exclude python-* packages from dh_shlibdeps, as we will not use it to prepare the shlib deps substvars for these packages any more. Signed-off-by: Kefu Chai <kchai@redhat.com>
149 lines
6.9 KiB
Makefile
Executable File
149 lines
6.9 KiB
Makefile
Executable File
#!/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 += -DUSE_CRYPTOPP=OFF -DWITH_OCF=ON -DWITH_LTTNG=ON
|
|
extraopts += -DWITH_CEPHFS_JAVA=ON
|
|
# assumes that ceph is exmpt from multiarch support, so we override the libdir.
|
|
extraopts += -DCMAKE_INSTALL_LIBDIR=/usr/lib
|
|
extraopts += -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib
|
|
extraopts += -DCMAKE_INSTALL_SYSCONFDIR=/etc
|
|
|
|
ifeq ($(DEB_HOST_ARCH), armel)
|
|
# armel supports ARMv4t or above instructions sets.
|
|
# libatomic-ops is only usable with Ceph for ARMv6 or above.
|
|
extraopts += -DWITH_ATOMIC_OPS=OFF
|
|
endif
|
|
|
|
%:
|
|
dh $@ --buildsystem=cmake --with javahelper,python2,systemd --parallel
|
|
|
|
override_dh_auto_configure:
|
|
dh_auto_configure --buildsystem=cmake -- $(extraopts) $(CEPH_EXTRA_CMAKE_ARGS)
|
|
|
|
override_dh_auto_build:
|
|
dh_auto_build --buildsystem=cmake
|
|
cp src/init-radosgw debian/radosgw.init
|
|
cp src/logrotate.conf debian/ceph.logrotate
|
|
|
|
override_dh_auto_clean:
|
|
dh_auto_clean --buildsystem=cmake
|
|
rm -f debian/radosgw.init debian/ceph.logrotate
|
|
|
|
override_dh_auto_install:
|
|
dh_auto_install --buildsystem=cmake --destdir=$(DESTDIR)
|
|
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
|
|
install -D -m 644 udev/60-ceph-by-parttypeuuid.rules $(DESTDIR)/lib/udev/rules.d/60-ceph-by-parttypeuuid.rules
|
|
install -D -m 644 src/etc-rbdmap $(DESTDIR)/etc/ceph/rbdmap
|
|
install -D -m 755 src/init-rbdmap $(DESTDIR)/etc/init.d/rbdmap
|
|
|
|
# doc/changelog is a directory, which confuses dh_installchangelogs
|
|
override_dh_installchangelogs:
|
|
dh_installchangelogs --exclude doc/changelog
|
|
|
|
override_dh_installdocs:
|
|
dh_installdocs -a --all ChangeLog
|
|
|
|
override_dh_installlogrotate:
|
|
dh_installlogrotate -pceph-base --name ceph
|
|
|
|
override_dh_installinit:
|
|
# dh_installinit is only set up to handle one upstart script
|
|
# per package, so do this ourselves
|
|
install -d -m0755 debian/ceph-base/etc/init
|
|
install -m0644 src/upstart/ceph-all.conf debian/ceph-base/etc/init
|
|
install -m0644 src/upstart/ceph-create-keys.conf debian/ceph-base/etc/init
|
|
install -d -m0755 debian/ceph-osd/etc/init
|
|
install -m0644 src/upstart/ceph-osd*.conf debian/ceph-osd/etc/init
|
|
install -m0644 src/upstart/ceph-disk.conf debian/ceph-osd/etc/init
|
|
install -d -m0755 debian/ceph-mon/etc/init
|
|
install -m0644 src/upstart/ceph-mon*.conf debian/ceph-mon/etc/init
|
|
install -d -m0755 debian/ceph-common/etc/init
|
|
install -m0644 src/upstart/rbdmap.conf debian/ceph-common/etc/init
|
|
install -d -m0755 debian/ceph-mds/etc/init
|
|
install -m0644 src/upstart/ceph-mds*.conf debian/ceph-mds/etc/init
|
|
install -d -m0755 debian/radosgw/etc/init
|
|
install -m0644 src/upstart/radosgw*.conf debian/radosgw/etc/init
|
|
install -d -m0755 debian/rbd-mirror/etc/init
|
|
install -m0644 src/upstart/ceph-rbd-mirror*.conf debian/rbd-mirror/etc/init
|
|
# install the systemd stuff manually since we have funny service names
|
|
install -d -m0755 debian/ceph-common/lib/systemd/system
|
|
install -m0644 systemd/ceph.target debian/ceph-common/lib/systemd/system
|
|
install -d -m0755 debian/ceph-common/etc/default
|
|
install -m0644 etc/default/ceph debian/ceph-common/etc/default/
|
|
install -d -m0755 debian/ceph-common/usr/lib/tmpfiles.d
|
|
install -m 0644 -D systemd/ceph.tmpfiles.d debian/ceph-common/usr/lib/tmpfiles.d/ceph.conf
|
|
|
|
install -d -m0755 debian/ceph-base/lib/systemd/system
|
|
install -d -m0755 debian/ceph-mon/lib/systemd/system
|
|
install -d -m0755 debian/ceph-osd/lib/systemd/system
|
|
install -m0644 systemd/ceph-mon@.service debian/ceph-mon/lib/systemd/system
|
|
install -m0644 systemd/ceph-create-keys@.service debian/ceph-base/lib/systemd/system
|
|
install -m0644 systemd/ceph-osd@.service debian/ceph-osd/lib/systemd/system
|
|
install -m0644 systemd/ceph-disk@.service debian/ceph-osd/lib/systemd/system
|
|
sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-mon/lib/systemd/system/ceph-mon@.service
|
|
sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-base/lib/systemd/system/ceph-create-keys@.service
|
|
sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-osd/lib/systemd/system/ceph-osd@.service
|
|
sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-osd/lib/systemd/system/ceph-disk@.service
|
|
install -m0644 systemd/ceph-mon.target debian/ceph-mon/lib/systemd/system
|
|
install -m0644 systemd/ceph-osd.target debian/ceph-osd/lib/systemd/system
|
|
|
|
install -d -m0755 debian/ceph-mds/lib/systemd/system
|
|
install -m0644 systemd/ceph-mds@.service debian/ceph-mds/lib/systemd/system
|
|
sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-mds/lib/systemd/system/ceph-mds@.service
|
|
install -m0644 systemd/ceph-mds.target debian/ceph-mds/lib/systemd/system
|
|
|
|
install -d -m0755 debian/radosgw/lib/systemd/system
|
|
install -m0644 systemd/ceph-radosgw@.service debian/radosgw/lib/systemd/system
|
|
sed -i s./etc/sysconfig/./etc/default/.g debian/radosgw/lib/systemd/system/ceph-radosgw@.service
|
|
install -m0644 systemd/ceph-radosgw.target debian/radosgw/lib/systemd/system
|
|
|
|
install -d -m0755 debian/rbd-mirror/lib/systemd/system
|
|
install -m0644 systemd/ceph-rbd-mirror@.service debian/rbd-mirror/lib/systemd/system
|
|
sed -i s./etc/sysconfig/./etc/default/.g debian/rbd-mirror/lib/systemd/system/ceph-rbd-mirror@.service
|
|
install -m0644 systemd/ceph-rbd-mirror.target debian/rbd-mirror/lib/systemd/system
|
|
|
|
dh_installinit -p ceph-base --name ceph --no-start
|
|
dh_installinit -p radosgw --no-start
|
|
|
|
override_dh_systemd_start:
|
|
dh_systemd_start --no-restart-on-upgrade
|
|
|
|
override_dh_strip:
|
|
dh_strip -pceph-mds --dbg-package=ceph-mds-dbg
|
|
dh_strip -pceph-mon --dbg-package=ceph-mon-dbg
|
|
dh_strip -pceph-osd --dbg-package=ceph-osd-dbg
|
|
dh_strip -pceph-fuse --dbg-package=ceph-fuse-dbg
|
|
dh_strip -prbd-fuse --dbg-package=rbd-fuse-dbg
|
|
dh_strip -prbd-mirror --dbg-package=rbd-mirror-dbg
|
|
dh_strip -prbd-nbd --dbg-package=rbd-nbd-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 -plibradosstriper1 --dbg-package=libradosstriper1-dbg
|
|
dh_strip -plibrbd1 --dbg-package=librbd1-dbg
|
|
dh_strip -plibcephfs1 --dbg-package=libcephfs1-dbg
|
|
dh_strip -plibrgw2 --dbg-package=librgw2-dbg
|
|
dh_strip -pradosgw --dbg-package=radosgw-dbg
|
|
dh_strip -pceph-test --dbg-package=ceph-test-dbg
|
|
|
|
override_dh_shlibdeps:
|
|
dh_shlibdeps -a --exclude=erasure-code --exclude=rados-classes --exclude=compressor --exclude=python-rados --exclude=python-cephfs --exclude=python-rbd
|
|
|
|
override_dh_python2:
|
|
for binding in rados cephfs rbd; do \
|
|
dh_python2 -p python-$$binding; \
|
|
done
|
|
dh_python2 -p ceph-common
|
|
dh_python2 -p ceph-base
|
|
dh_python2 -p ceph-osd
|
|
|
|
# do not run tests
|
|
override_dh_auto_test:
|
|
|
|
.PHONY: override_dh_autoreconf override_dh_auto_configure override_dh_auto_build override_dh_auto_clean override_dh_auto_install override_dh_installdocs override_dh_installlogrotate override_dh_installinit override_dh_systemd_start override_dh_strip override_dh_auto_test
|