mirror of
https://github.com/ceph/ceph
synced 2025-02-20 17:37:29 +00:00
ceph-disk activate-all walks /dev/disk/by-parttypeuuid at boot time. It
is not necessary when udev fires ADD event for each partition and
95-ceph-osd.rules gets a chance to activate a ceph disk or journal.
There are various reasons why udev ADD events may not be fired at
boot (for instance Debian Jessi 8.5 never does it and CentOS 7.2 seems
to be racy in that regard when a LVM root is being used).
Populating /dev/disk/by-parttypeuuid fixes ceph-disk activate-all that
would not work without it. And it guarantees disks are activated at boot
time regardless of wether udev fires ADD events at the right time (or at
all).
The new udev file is a partial resurection of the
60-ceph-partuuid-workaround-rules that was removed by
9f77244b8e
. It is given a name that
reflects its new purpose.
Fixes http://tracker.ceph.com/issues/16351
Signed-off-by: Loic Dachary <loic@dachary.org>
214 lines
8.0 KiB
Makefile
Executable File
214 lines
8.0 KiB
Makefile
Executable File
#!/usr/bin/make -f
|
|
# -*- makefile -*-
|
|
export DH_VERBOSE=1
|
|
export DESTDIR=$(CURDIR)/debian/tmp
|
|
|
|
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
|
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
|
MAKEFLAGS += -j$(NUMJOBS)
|
|
endif
|
|
|
|
export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
|
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
|
|
|
# Recommended snippet for Autoconf 2.52 or later
|
|
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
|
|
confflags += --build $(DEB_HOST_GNU_TYPE)
|
|
else
|
|
confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
|
|
endif
|
|
|
|
export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
|
|
|
|
extraopts += --with-ocf --with-nss
|
|
extraopts += --with-debug
|
|
extraopts += --enable-cephfs-java
|
|
|
|
# rocksdb is not packaged by anyone. build it if we can.
|
|
extraopts += --with-librocksdb-static=check
|
|
|
|
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
|
|
|
|
configure: configure-stamp
|
|
configure-stamp:
|
|
dh_testdir
|
|
./autogen.sh
|
|
./configure --prefix=/usr --localstatedir=/var \
|
|
--sysconfdir=/etc --libexecdir=/usr/lib $(extraopts) $(confflags) \
|
|
$(CEPH_EXTRA_CONFIGURE_ARGS)
|
|
touch $@
|
|
|
|
build-arch: build
|
|
build-indep: build
|
|
|
|
build: build-stamp
|
|
build-stamp: configure-stamp
|
|
dh_testdir
|
|
|
|
$(MAKE)
|
|
|
|
cp src/init-ceph debian/ceph-base.ceph.init
|
|
cp src/init-radosgw debian/radosgw.init
|
|
cp src/logrotate.conf debian/ceph.logrotate
|
|
|
|
touch $@
|
|
|
|
clean:
|
|
dh_testdir
|
|
dh_testroot
|
|
rm -f build-stamp configure-stamp
|
|
|
|
[ ! -f Makefile ] || $(MAKE) distclean
|
|
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-base.ceph.init debian/radosgw.init debian/ceph.logrotate debian/radosgw.logrotate
|
|
|
|
dh_clean
|
|
|
|
install: build
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_clean -k
|
|
dh_installdirs
|
|
|
|
$(MAKE) DESTDIR=$(DESTDIR) install
|
|
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
|
|
|
|
# Add here commands to install the package into debian/testpack.
|
|
# Build architecture-independent files here.
|
|
binary-indep: build install
|
|
dh_testdir
|
|
dh_testroot
|
|
jh_installlibs -v -i
|
|
jh_depends -i
|
|
dh_installchangelogs -i
|
|
dh_installdocs -i --all ChangeLog
|
|
dh_installexamples -i
|
|
dh_install -i --sourcedir=$(DESTDIR) --list-missing
|
|
dh_installman -i
|
|
dh_lintian -i
|
|
dh_link -i
|
|
dh_compress -i
|
|
dh_fixperms -i
|
|
dh_python2 -i
|
|
dh_installdeb -i
|
|
dh_gencontrol -i
|
|
dh_md5sums -i
|
|
dh_builddeb -i
|
|
|
|
# We have nothing to do by default.
|
|
# Build architecture-dependent files here.
|
|
binary-arch: build install
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_installchangelogs -a
|
|
dh_installdocs -a --all ChangeLog
|
|
dh_installexamples -a
|
|
dh_install -a --sourcedir=$(DESTDIR) --list-missing
|
|
install -d -m0755 debian/ceph-base/etc/logrotate.d
|
|
install -m0644 debian/ceph.logrotate debian/ceph-base/etc/logrotate.d
|
|
|
|
# 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_systemd_enable
|
|
dh_installinit -p ceph-base --name ceph --no-start
|
|
dh_installinit -p radosgw --no-start
|
|
dh_systemd_start --no-restart-on-upgrade
|
|
|
|
dh_installman -a
|
|
dh_lintian -a
|
|
dh_link -a
|
|
|
|
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
|
|
|
|
dh_compress -a
|
|
dh_fixperms -a
|
|
dh_makeshlibs -a
|
|
dh_python2 -a
|
|
dh_installdeb -a
|
|
dh_shlibdeps -a --exclude=erasure-code --exclude=rados-classes --exclude=compressor
|
|
dh_gencontrol -a
|
|
dh_md5sums -a
|
|
dh_builddeb -a
|
|
|
|
binary: binary-indep binary-arch
|
|
.PHONY: build clean binary-indep binary-arch binary install configure
|