]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
debian/rpm: split mon/osd/mds server packages 7746/head
authorAli Maredia <amaredia@redhat.com>
Thu, 11 Feb 2016 17:59:15 +0000 (12:59 -0500)
committerAli Maredia <amaredia@redhat.com>
Wed, 24 Feb 2016 21:47:34 +0000 (16:47 -0500)
Split up the "ceph" package into four new packages:

  1. ceph-mon
  2. ceph-osd
  3. ceph-mds (already done on Debian)
  4. ceph-base (files shared among multiple servers)

and then:

  5. Make "ceph" into a metapackage that depends on both -mon and -osd
    (and -mds, for RPMs).

To describe the outcome of this change another way:

  For RPMs:
  - "ceph-{mon,osd,mds}" Require: ceph-base.
  - "ceph" will become a metapackage that Requires: ceph-{mon,osd,mds}.

  For DEBs:
  - "ceph-{mon,osd,mds}" will Depends: ceph-base.
  - "ceph" will become a metapackage that Depends: ceph-{mon,osd}.
  - "ceph" will continue to Recommends: ceph-mds

New users should "yum install ceph-mon" or "yum install ceph-osd" (or
"apt-get install ceph-mon", etc) in order to install the exact daemons
that they need.

http://tracker.ceph.com/issues/10587 Fixes: #10587

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
21 files changed:
ceph.spec.in
debian/.gitignore
debian/ceph-base.dirs [new file with mode: 0644]
debian/ceph-base.docs [new file with mode: 0644]
debian/ceph-base.install [new file with mode: 0644]
debian/ceph-base.lintian-overrides [new file with mode: 0644]
debian/ceph-base.postinst [new file with mode: 0644]
debian/ceph-base.prerm [new file with mode: 0644]
debian/ceph-common.install
debian/ceph-mon.dirs [new file with mode: 0644]
debian/ceph-mon.install [new file with mode: 0644]
debian/ceph-osd.dirs [new file with mode: 0644]
debian/ceph-osd.install [new file with mode: 0644]
debian/ceph.dirs [deleted file]
debian/ceph.docs [deleted file]
debian/ceph.install [deleted file]
debian/ceph.lintian-overrides [deleted file]
debian/ceph.postinst [deleted file]
debian/ceph.prerm [deleted file]
debian/control
debian/rules

index 51bba9d13f802a4063aede6c74b0c4035e9a49e0..f9629fe22c2d959fa24a69e57052b95baf5e705b 100644 (file)
@@ -90,6 +90,9 @@ Patch0:               init-ceph.in-fedora.patch
 #################################################################################
 # dependencies that apply across all distro families
 #################################################################################
+Requires:       ceph-osd = %{epoch}:%{version}-%{release}
+Requires:       ceph-mds = %{epoch}:%{version}-%{release}
+Requires:       ceph-mon = %{epoch}:%{version}-%{release}
 Requires:      librbd1 = %{epoch}:%{version}-%{release}
 Requires:      librados2 = %{epoch}:%{version}-%{release}
 Requires:      libcephfs1 = %{epoch}:%{version}-%{release}
@@ -241,6 +244,13 @@ on commodity hardware and delivers object, block and file system storage.
 #################################################################################
 # packages
 #################################################################################
+%package base
+Summary:       Ceph Base Package
+Group:         System Environment/Base
+Requires:      ceph-common = %{epoch}:%{version}-%{release}
+%description base
+Base is the package that includes all the files shared amongst ceph servers
+
 %package -n ceph-common
 Summary:       Ceph Common
 Group:         System Environment/Base
@@ -262,6 +272,28 @@ Requires:  python-argparse
 %endif
 %description -n ceph-common
 Common utilities to mount and interact with a ceph storage cluster.
+Comprised of files that are common to Ceph clients and servers.
+
+%package mds
+Summary:       Ceph Metadata Server Daemon
+Group:         System Environment/Base
+Requires:      ceph-base = %{epoch}:%{version}-%{release}
+%description mds
+ceph-mds is the metadata server daemon for the Ceph distributed file system.
+One or more instances of ceph-mds collectively manage the file system
+namespace, coordinating access to the shared OSD cluster.
+
+%package mon
+Summary:       Ceph Monitor Daemon
+Group:         System Environment/Base
+Requires:      ceph-base = %{epoch}:%{version}-%{release}
+# For ceph-rest-api
+Requires:      python-flask
+%description mon
+ceph-mon is the cluster monitor daemon for the Ceph distributed file
+system. One or more instances of ceph-mon form a Paxos part-time
+parliament cluster that provides extremely reliable and durable storage
+of cluster membership, configuration, and state.
 
 %package fuse
 Summary:       Ceph fuse-based client
@@ -327,6 +359,15 @@ under Open Cluster Framework (OCF) compliant resource
 managers such as Pacemaker.
 %endif
 
+%package osd
+Summary:       Ceph Object Storage Daemon
+Group:         System Environment/Base
+Requires:      ceph-base = %{epoch}:%{version}-%{release}
+%description osd
+ceph-osd is the object storage daemon for the Ceph distributed file
+system.  It is responsible for storing objects on a local file system
+and providing access to them over the network.
+
 %package -n librados2
 Summary:       RADOS distributed object store client library
 Group:         System Environment/Libraries
@@ -793,49 +834,25 @@ rm -rf $RPM_BUILD_ROOT
 # files
 #################################################################################
 %files
+
+%files base
 %defattr(-,root,root,-)
 %docdir %{_docdir}
 %dir %{_docdir}/ceph
 %{_docdir}/ceph/sample.ceph.conf
 %{_docdir}/ceph/sample.fetch_config
-%{_bindir}/cephfs
-%{_bindir}/ceph-clsinfo
-%{_bindir}/ceph-rest-api
-%{python_sitelib}/ceph_rest_api.py*
 %{_bindir}/crushtool
 %{_bindir}/monmaptool
 %{_bindir}/osdmaptool
 %{_bindir}/ceph-run
-%{_bindir}/ceph-mon
-%{_bindir}/ceph-mds
-%{_bindir}/ceph-objectstore-tool
-%{_bindir}/ceph-bluefs-tool
-%{_bindir}/ceph-osd
 %{_bindir}/ceph-detect-init
-%{_bindir}/librados-config
 %{_bindir}/ceph-client-debug
-%{_bindir}/cephfs-journal-tool
-%{_bindir}/cephfs-table-tool
-%{_bindir}/cephfs-data-scan
-%{_bindir}/ceph-debugpack
-%{_bindir}/ceph-coverage
+%{_bindir}/cephfs
 %if 0%{?_with_systemd}
-%{_unitdir}/ceph-mds@.service
-%{_unitdir}/ceph-mon@.service
 %{_unitdir}/ceph-create-keys@.service
-%{_unitdir}/ceph-osd@.service
-%{_unitdir}/ceph-radosgw@.service
-%{_unitdir}/ceph-disk@.service
-%{_unitdir}/ceph.target
-%{_unitdir}/ceph-osd.target
-%{_unitdir}/ceph-mon.target
-%{_unitdir}/ceph-mds.target
-%{_unitdir}/ceph-radosgw.target
 %else
 %{_initrddir}/ceph
 %endif
-%{_sbindir}/ceph-disk
-%{_sbindir}/ceph-disk-udev
 %{_sbindir}/ceph-create-keys
 %{_sbindir}/rcceph
 %if 0%{?rhel} >= 7 || 0%{?fedora} || 0%{?suse_version}
@@ -845,7 +862,6 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 %dir %{_libexecdir}/ceph
 %{_libexecdir}/ceph/ceph_common.sh
-%{_libexecdir}/ceph/ceph-osd-prestart.sh
 %dir %{_libdir}/rados-classes
 %{_libdir}/rados-classes/libcls_cephfs.so*
 %{_libdir}/rados-classes/libcls_rbd.so*
@@ -883,30 +899,20 @@ rm -rf $RPM_BUILD_ROOT
 %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-mon
 %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ceph-osd-mds
 %endif
+%{_unitdir}/ceph.target
 %{python_sitelib}/ceph_detect_init*
 %{python_sitelib}/ceph_disk*
 %{_mandir}/man8/ceph-deploy.8*
 %{_mandir}/man8/ceph-detect-init.8*
-%{_mandir}/man8/ceph-disk.8*
 %{_mandir}/man8/ceph-create-keys.8*
-%{_mandir}/man8/ceph-mon.8*
-%{_mandir}/man8/ceph-mds.8*
-%{_mandir}/man8/ceph-osd.8*
 %{_mandir}/man8/ceph-run.8*
-%{_mandir}/man8/ceph-rest-api.8*
 %{_mandir}/man8/crushtool.8*
 %{_mandir}/man8/osdmaptool.8*
 %{_mandir}/man8/monmaptool.8*
 %{_mandir}/man8/cephfs.8*
 %{_mandir}/man8/mount.ceph.8*
-%{_mandir}/man8/ceph-debugpack.8*
-%{_mandir}/man8/ceph-clsinfo.8*
-%{_mandir}/man8/librados-config.8*
 #set up placeholder directories
 %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/tmp
-%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mon
-%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd
-%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mds
 %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-osd
 %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-mds
 %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-rgw
@@ -997,6 +1003,36 @@ if [ "$1" -eq "0" ] ; then
     rm -rf /etc/ceph
 fi
 
+%files mds
+%{_bindir}/ceph-mds
+%{_bindir}/cephfs-journal-tool
+%{_bindir}/cephfs-table-tool
+%{_bindir}/cephfs-data-scan
+%{_mandir}/man8/ceph-mds.8*
+%if 0%{?_with_systemd}
+%{_unitdir}/ceph-mds@.service
+%{_unitdir}/ceph-mds.target
+%else
+%{_initrddir}/ceph
+%endif
+%dir %{_localstatedir}/lib/ceph/mds
+%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mds
+
+%files mon
+%{_bindir}/ceph-mon
+%{_bindir}/ceph-rest-api
+%{_mandir}/man8/ceph-mon.8*
+%{_mandir}/man8/ceph-rest-api.8*
+%dir %{_localstatedir}/lib/ceph/mon
+%{python_sitelib}/ceph_rest_api.py*
+%if 0%{?_with_systemd}
+%{_unitdir}/ceph-mon@.service
+%{_unitdir}/ceph-mon.target
+%else
+%{_initrddir}/ceph
+%endif
+%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mon
+
 #################################################################################
 %files fuse
 %defattr(-,root,root,-)
@@ -1037,6 +1073,8 @@ fi
 %config %{_sysconfdir}/bash_completion.d/radosgw-admin
 %dir %{_localstatedir}/lib/ceph/radosgw
 %if 0%{?_with_systemd}
+%{_unitdir}/ceph-radosgw@.service
+%{_unitdir}/ceph-radosgw.target
 %else
 %{_initrddir}/ceph-radosgw
 %{_sbindir}/rcceph-radosgw
@@ -1086,6 +1124,41 @@ fi
   fi
 %endif
 
+%files osd
+%{_bindir}/ceph-clsinfo
+%{_bindir}/ceph-bluefs-tool
+%{_bindir}/ceph-objectstore-tool
+%{_bindir}/ceph-osd
+%{_sbindir}/ceph-disk
+%{_sbindir}/ceph-disk-udev
+%{_libexecdir}/ceph/ceph-osd-prestart.sh
+%dir %{_libdir}/rados-classes
+%{_libdir}/rados-classes/libcls_rbd.so*
+%{_libdir}/rados-classes/libcls_hello.so*
+%{_libdir}/rados-classes/libcls_rgw.so*
+%{_libdir}/rados-classes/libcls_lock.so*
+%{_libdir}/rados-classes/libcls_kvs.so*
+%{_libdir}/rados-classes/libcls_refcount.so*
+%{_libdir}/rados-classes/libcls_log.so*
+%{_libdir}/rados-classes/libcls_replica_log.so*
+%{_libdir}/rados-classes/libcls_statelog.so*
+%{_libdir}/rados-classes/libcls_user.so*
+%{_libdir}/rados-classes/libcls_version.so*
+%{_udevrulesdir}/60-ceph-partuuid-workaround.rules
+%{_udevrulesdir}/95-ceph-osd.rules
+%{_mandir}/man8/ceph-clsinfo.8*
+%{_mandir}/man8/ceph-disk.8*
+%{_mandir}/man8/ceph-osd.8*
+%if 0%{?_with_systemd}
+%{_unitdir}/ceph-osd@.service
+%{_unitdir}/ceph-osd.target
+%{_unitdir}/ceph-disk@.service
+%else
+%{_initrddir}/ceph
+%endif
+%dir %{_localstatedir}/lib/ceph/osd
+%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd
+
 #################################################################################
 %if %{with ocf}
 %files resource-agents
@@ -1127,6 +1200,8 @@ fi
 %if 0%{?_with_lttng}
 %{_libdir}/librados_tp.so
 %endif
+%{_bindir}/librados-config
+%{_mandir}/man8/librados-config.8*
 
 #################################################################################
 %files -n python-rados
@@ -1237,9 +1312,12 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
 %{_bindir}/ceph_test_*
 %{_bindir}/ceph_tpbench
 %{_bindir}/ceph_xattr_bench
+%{_bindir}/ceph-coverage
 %{_bindir}/ceph-monstore-tool
 %{_bindir}/ceph-osdomap-tool
 %{_bindir}/ceph-kvstore-tool
+%{_bindir}/ceph-debugpack
+%{_mandir}/man8/ceph-debugpack.8*
 %dir %{_libdir}/ceph
 %{_libdir}/ceph/ceph-monstore-update-crush.sh
 
@@ -1388,4 +1466,5 @@ exit 0
 # We need an empty %%files list for python-ceph-compat, to tell rpmbuild to
 # actually build this meta package.
 
+
 %changelog
index fdf4f729e71a96ef9f58c47afe0c5c6b658459fb..af287df929dc8eb029d67178136cd40b0b4f7b39 100644 (file)
@@ -9,6 +9,10 @@
 /ceph-fs-common
 /ceph-mds-dbg
 /ceph-mds
+/ceph-mon-dbg
+/ceph-mon
+/ceph-osd-dbg
+/ceph-osd
 /ceph-resource-agents
 /ceph.init
 /radosgw.init
diff --git a/debian/ceph-base.dirs b/debian/ceph-base.dirs
new file mode 100644 (file)
index 0000000..1f52f14
--- /dev/null
@@ -0,0 +1,4 @@
+var/lib/ceph/tmp
+var/lib/ceph/bootstrap-osd
+var/lib/ceph/bootstrap-mds
+var/lib/ceph/bootstrap-rgw
diff --git a/debian/ceph-base.docs b/debian/ceph-base.docs
new file mode 100644 (file)
index 0000000..e845566
--- /dev/null
@@ -0,0 +1 @@
+README
diff --git a/debian/ceph-base.install b/debian/ceph-base.install
new file mode 100644 (file)
index 0000000..24fef5f
--- /dev/null
@@ -0,0 +1,22 @@
+etc/bash_completion.d/ceph
+usr/sbin/ceph-create-keys
+usr/bin/ceph-detect-init
+usr/bin/ceph-debugpack
+usr/bin/ceph-run
+usr/bin/crushtool
+usr/bin/monmaptool
+usr/bin/osdmaptool
+usr/lib/ceph/ceph_common.sh
+usr/lib/ceph/erasure-code/*
+usr/share/doc/ceph/sample.ceph.conf
+usr/share/doc/ceph/sample.fetch_config
+usr/share/man/man8/ceph-debugpack.8
+usr/share/man/man8/ceph-deploy.8
+usr/share/man/man8/ceph-run.8
+usr/share/man/man8/crushtool.8
+usr/share/man/man8/monmaptool.8
+usr/share/man/man8/osdmaptool.8
+usr/lib/python*/dist-packages/ceph_detect_init*
+usr/share/man/man8/ceph-detect-init.8
+usr/share/man/man8/ceph-create-keys.8
+usr/bin/ceph-client-debug
diff --git a/debian/ceph-base.lintian-overrides b/debian/ceph-base.lintian-overrides
new file mode 100644 (file)
index 0000000..e436e49
--- /dev/null
@@ -0,0 +1,6 @@
+#
+# the rados classes should NOT be stripped.
+#
+ceph: unstripped-binary-or-object ./usr/lib/rados-classes/libcls_rbd.so.1.0.0
+ceph: unstripped-binary-or-object ./usr/lib/rados-classes/libcls_rgw.so.1.0.0
+
diff --git a/debian/ceph-base.postinst b/debian/ceph-base.postinst
new file mode 100644 (file)
index 0000000..75eeb59
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/sh
+# vim: set noet ts=8:
+# postinst script for ceph
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#
+#      postinst configure <most-recently-configured-version>
+#      old-postinst abort-upgrade <new-version>
+#      conflictor's-postinst abort-remove in-favour <package> <new-version>
+#      postinst abort-remove
+#      deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
+#
+# The current action is to simply remove the mistakenly-added
+# /etc/init/ceph.conf file; this could be done in any of these cases,
+# although technically it will leave the system in a different state
+# than the original install that included that file.  So instead we
+# only remove on "configure", since that's the only time we know we're
+# successful in installing a newer package than the erroneous version.
+
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+[ -f "/etc/default/ceph" ] && . /etc/default/ceph
+[ -z "$SERVER_USER" ] && SERVER_USER=ceph
+[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
+
+case "$1" in
+    configure)
+       rm -f /etc/init/ceph.conf
+       [ -x /sbin/start ] && start ceph-all || :
+
+        # adjust file and directory permissions
+       for DIR in /var/lib/ceph/* ; do
+           if ! dpkg-statoverride --list $DIR >/dev/null
+           then
+               chown $SERVER_USER:$SERVER_GROUP $DIR
+           fi
+       done
+    ;;
+    abort-upgrade|abort-remove|abort-deconfigure)
+       :
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/ceph-base.prerm b/debian/ceph-base.prerm
new file mode 100644 (file)
index 0000000..bfd7d3d
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+# vim: set noet ts=8:
+
+set -e
+
+case "$1" in
+    remove)
+       [ -x /sbin/stop ] && stop ceph-all || true
+       invoke-rc.d ceph stop || {
+           RESULT=$?
+           if [ $RESULT != 100 ]; then
+               exit $RESULT
+           fi
+       }
+       ;;
+
+    *)
+       ;;
+esac
+
+#DEBHELPER#
+
+exit 0
index e16536e79c5eac85adbf1e00a42b064d989a406c..769044a2ac8077e2f9a1618d8cbffb46c049ba0c 100644 (file)
@@ -30,3 +30,4 @@ etc/ceph/rbdmap
 etc/init.d/rbdmap
 lib/udev/rules.d/50-rbd.rules
 usr/lib/python*/dist-packages/ceph_argparse.py*
+usr/lib/python*/dist-packages/ceph_daemon.py*
diff --git a/debian/ceph-mon.dirs b/debian/ceph-mon.dirs
new file mode 100644 (file)
index 0000000..e2845f6
--- /dev/null
@@ -0,0 +1 @@
+var/lib/ceph/mon
diff --git a/debian/ceph-mon.install b/debian/ceph-mon.install
new file mode 100644 (file)
index 0000000..9d08093
--- /dev/null
@@ -0,0 +1,5 @@
+usr/bin/ceph-mon
+usr/bin/ceph-rest-api
+usr/share/man/man8/ceph-mon.8
+usr/share/man/man8/ceph-rest-api.8
+usr/lib/python*/dist-packages/ceph_rest_api.py*
diff --git a/debian/ceph-osd.dirs b/debian/ceph-osd.dirs
new file mode 100644 (file)
index 0000000..b7fc476
--- /dev/null
@@ -0,0 +1 @@
+var/lib/ceph/osd
diff --git a/debian/ceph-osd.install b/debian/ceph-osd.install
new file mode 100644 (file)
index 0000000..f693294
--- /dev/null
@@ -0,0 +1,15 @@
+lib/udev/rules.d/95-ceph-osd.rules
+lib/udev/rules.d/60-ceph-partuuid-workaround.rules
+usr/sbin/ceph-disk
+usr/sbin/ceph-disk-udev
+usr/bin/ceph-clsinfo
+usr/bin/ceph-objectstore-tool
+usr/bin/ceph-bluefs-tool
+usr/bin/ceph_objectstore_bench
+usr/bin/ceph-osd
+usr/lib/rados-classes/*
+usr/libexec/ceph/ceph-osd-prestart.sh
+usr/share/man/man8/ceph-clsinfo.8
+usr/share/man/man8/ceph-disk.8
+usr/share/man/man8/ceph-osd.8
+usr/lib/python*/dist-packages/ceph_disk*
diff --git a/debian/ceph.dirs b/debian/ceph.dirs
deleted file mode 100644 (file)
index faff244..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-var/lib/ceph/tmp
-var/lib/ceph/mon
-var/lib/ceph/osd
-var/lib/ceph/bootstrap-osd
-var/lib/ceph/bootstrap-mds
-var/lib/ceph/bootstrap-rgw
diff --git a/debian/ceph.docs b/debian/ceph.docs
deleted file mode 100644 (file)
index e845566..0000000
+++ /dev/null
@@ -1 +0,0 @@
-README
diff --git a/debian/ceph.install b/debian/ceph.install
deleted file mode 100644 (file)
index 98e2ae3..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-etc/bash_completion.d/ceph
-lib/udev/rules.d/95-ceph-osd.rules
-lib/udev/rules.d/60-ceph-partuuid-workaround.rules
-usr/sbin/ceph-create-keys
-usr/sbin/ceph-disk
-usr/bin/ceph-detect-init
-usr/bin/ceph-clsinfo
-usr/bin/ceph-debugpack
-usr/bin/ceph-mon
-usr/bin/ceph-objectstore-tool
-usr/bin/ceph-bluefs-tool
-usr/bin/ceph-osd
-usr/bin/ceph-run
-usr/bin/ceph-rest-api
-usr/lib/python*/dist-packages/ceph_rest_api.py
-usr/lib/python*/dist-packages/ceph_detect_init*
-usr/lib/python*/dist-packages/ceph_disk*
-usr/bin/crushtool
-usr/bin/monmaptool
-usr/bin/osdmaptool
-usr/lib/libos_tp.so.*
-usr/lib/libosd_tp.so.*
-usr/lib/ceph/ceph_common.sh
-usr/lib/ceph/ceph-osd-prestart.sh
-usr/lib/ceph/erasure-code/*
-usr/lib/rados-classes/*
-usr/share/doc/ceph/sample.ceph.conf
-usr/share/doc/ceph/sample.fetch_config
-usr/share/man/man8/ceph-clsinfo.8
-usr/share/man/man8/ceph-create-keys.8
-usr/share/man/man8/ceph-debugpack.8
-usr/share/man/man8/ceph-deploy.8
-usr/share/man/man8/ceph-detect-init.8
-usr/share/man/man8/ceph-disk.8
-usr/share/man/man8/ceph-mon.8
-usr/share/man/man8/ceph-osd.8
-usr/share/man/man8/ceph-run.8
-usr/share/man/man8/ceph-rest-api.8
-usr/share/man/man8/crushtool.8
-usr/share/man/man8/monmaptool.8
-usr/share/man/man8/osdmaptool.8
-usr/lib/python*/dist-packages/ceph_daemon.py*
diff --git a/debian/ceph.lintian-overrides b/debian/ceph.lintian-overrides
deleted file mode 100644 (file)
index e436e49..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# the rados classes should NOT be stripped.
-#
-ceph: unstripped-binary-or-object ./usr/lib/rados-classes/libcls_rbd.so.1.0.0
-ceph: unstripped-binary-or-object ./usr/lib/rados-classes/libcls_rgw.so.1.0.0
-
diff --git a/debian/ceph.postinst b/debian/ceph.postinst
deleted file mode 100644 (file)
index 75eeb59..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/sh
-# vim: set noet ts=8:
-# postinst script for ceph
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-#
-#      postinst configure <most-recently-configured-version>
-#      old-postinst abort-upgrade <new-version>
-#      conflictor's-postinst abort-remove in-favour <package> <new-version>
-#      postinst abort-remove
-#      deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>]
-#
-# The current action is to simply remove the mistakenly-added
-# /etc/init/ceph.conf file; this could be done in any of these cases,
-# although technically it will leave the system in a different state
-# than the original install that included that file.  So instead we
-# only remove on "configure", since that's the only time we know we're
-# successful in installing a newer package than the erroneous version.
-
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-[ -f "/etc/default/ceph" ] && . /etc/default/ceph
-[ -z "$SERVER_USER" ] && SERVER_USER=ceph
-[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph
-
-case "$1" in
-    configure)
-       rm -f /etc/init/ceph.conf
-       [ -x /sbin/start ] && start ceph-all || :
-
-        # adjust file and directory permissions
-       for DIR in /var/lib/ceph/* ; do
-           if ! dpkg-statoverride --list $DIR >/dev/null
-           then
-               chown $SERVER_USER:$SERVER_GROUP $DIR
-           fi
-       done
-    ;;
-    abort-upgrade|abort-remove|abort-deconfigure)
-       :
-    ;;
-
-    *)
-        echo "postinst called with unknown argument \`$1'" >&2
-        exit 1
-    ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
diff --git a/debian/ceph.prerm b/debian/ceph.prerm
deleted file mode 100644 (file)
index bfd7d3d..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-# vim: set noet ts=8:
-
-set -e
-
-case "$1" in
-    remove)
-       [ -x /sbin/stop ] && stop ceph-all || true
-       invoke-rc.d ceph stop || {
-           RESULT=$?
-           if [ $RESULT != 100 ]; then
-               exit $RESULT
-           fi
-       }
-       ;;
-
-    *)
-       ;;
-esac
-
-#DEBHELPER#
-
-exit 0
index bab1aca4dff68f562290e2a7fc2b9c04c742389c..ea6077391da66deab50f5e0ec77d1aede093699d 100644 (file)
@@ -66,8 +66,20 @@ Standards-Version: 3.9.3
 
 Package: ceph
 Architecture: linux-any
+Depends: ceph-mon,
+         ceph-osd
+Recommends: ceph-mds
+Description: distributed storage and file system
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.
+
+Package: ceph-base
+Architecture: linux-any
 Depends: binutils,
          ceph-common (>= 9.0.0-943),
+         ceph-osd,
+         ceph-mon,
          cryptsetup-bin | cryptsetup,
          debianutils,
          findutils,
@@ -87,21 +99,20 @@ Replaces: ceph-common (<< 0.78-500), python-ceph (<< 0.92-1223),
          ceph-test (<< 0.94-1322)
 Breaks: python-ceph (<< 0.92-1223), ceph-test (<< 0.94-1322)
 X-Python-Version: >= 2.6
-Description: distributed storage and file system
+Description: common ceph daemon libraries and management tools
  Ceph is a massively scalable, open-source, distributed
  storage system that runs on commodity hardware and delivers object,
  block and file system storage.
  .
- This package contains all server daemons and management tools for creating,
- running, and administering a Ceph storage cluster, with the exception of the
- metadata server, which is necessary for using the distributed file system and is
- provided by the ceph-mds package.
+ This package contains the libraries and management tools that are common among
+ the three Ceph server daemons (ceph-mon, ceph-osd, ceph-mds). These tools are
+ necessary for creating, running, and administering a Ceph storage cluster.
 
 Package: ceph-dbg
 Architecture: linux-any
 Section: debug
 Priority: extra
-Depends: ceph (= ${binary:Version}), ${misc:Depends}
+Depends: ceph-base, ${misc:Depends}
 Replaces: ceph-test-dbg (<< 0.94-1322)
 Breaks: ceph-test-dbg (<< 0.94-1322)
 Description: debugging symbols for ceph
@@ -112,7 +123,7 @@ Description: debugging symbols for ceph
 
 Package: ceph-mds
 Architecture: linux-any
-Depends: ceph, ${misc:Depends}, ${shlibs:Depends}
+Depends: ceph-base (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
 Recommends: ceph-fs-common, ceph-fuse, libcephfs1
 Replaces: ceph (<< 0.93-417)
 Breaks: ceph (<< 0.93-417)
@@ -136,6 +147,65 @@ Description: debugging symbols for ceph-mds
  .
  This package contains the debugging symbols for ceph-mds.
 
+Package: ceph-mon
+Architecture: linux-any
+Depends: ceph-base (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
+Recommends: ceph-common
+Replaces: ceph (<< 9.0.1-1294)
+Breaks: ceph (<< 9.0.1-1294)
+Description: monitor server for the ceph storage system
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.
+ .
+ This package contains the cluster monitor daemon for the Ceph storage
+ system. One or more instances of ceph-mon form a Paxos part-time parliament
+ cluster that provides extremely reliable and durable storage of cluster
+ membership, configuration, and state.
+
+Package: ceph-mon-dbg
+Architecture: linux-any
+Section: debug
+Priority: extra
+Depends: ceph-mon (= ${binary:Version}), ${misc:Depends}
+Replaces: ceph-dbg (<< 9.0.1-1294)
+Breaks: ceph-dbg (<< 9.0.1-1294)
+Description: debugging symbols for ceph-mon
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.
+ .
+ This package contains the debugging symbols for ceph-mon.
+
+Package: ceph-osd
+Architecture: linux-any
+Depends: ceph-base (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
+Recommends: ceph-common
+Replaces: ceph (<< 9.0.1-1294)
+Breaks: ceph (<< 9.0.1-1294)
+Description: OSD server for the ceph storage system
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.
+ .
+ This package contains the Object Storage Daemon for the Ceph storage system.
+ It is responsible for storing objects on a local file system
+ and providing access to them over the network.
+
+Package: ceph-osd-dbg
+Architecture: linux-any
+Section: debug
+Priority: extra
+Depends: ceph-osd (= ${binary:Version}), ${misc:Depends}
+Replaces: ceph-dbg (<< 9.0.1-1294)
+Breaks: ceph-dbg (<< 9.0.1-1294)
+Description: debugging symbols for ceph-osd
+ Ceph is a massively scalable, open-source, distributed
+ storage system that runs on commodity hardware and delivers object,
+ block and file system storage.
+ .
+ This package contains the debugging symbols for ceph-osd.
+
 Package: ceph-fuse
 Architecture: linux-any
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -262,7 +332,7 @@ Breaks: ceph (<< 9.0.0-943),
        ceph-test (<< 9.0.3-1646),
        python-ceph (<< 0.92-1223),
        librbd1 (<< 0.92-1238)
-Suggests: ceph, ceph-mds
+Suggests: ceph-base, ceph-mds
 Description: common utilities to mount and interact with a ceph storage cluster
  Ceph is a massively scalable, open-source, distributed
  storage system that runs on commodity hardware and delivers object,
index d01b0918ef5da87f72da53c7940b2f959e3660d5..2c699aecc9c3f8374350274eceba5b60b777467f 100755 (executable)
@@ -51,9 +51,9 @@ build-stamp: configure-stamp
 
        $(MAKE)
 
-       cp src/init-ceph debian/ceph.init
+       cp src/init-ceph debian/ceph-base.init
        cp src/init-radosgw debian/radosgw.init
-       cp src/logrotate.conf debian/ceph.logrotate
+       cp src/logrotate.conf debian/ceph-base/etc/logrotate.d/ceph.logrotate
 
        touch $@
 
@@ -67,7 +67,7 @@ clean:
          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
+       rm -f debian/ceph-base.init debian/radosgw.init debian/ceph-base/etc/logrotate.d/ceph.logrotate debian/radosgw.logrotate
 
        dh_clean
 
@@ -115,16 +115,23 @@ binary-arch: build install
        dh_installdocs -a --all ChangeLog
        dh_installexamples -a
        dh_install -a --sourcedir=$(DESTDIR) --list-missing
-       dh_installlogrotate -a
+       install -d -m0755 debian/ceph-base/etc/logrotate.d
+       install -m0644 debian/ceph.logrotate debian/ceph-base/etc/logrotate.d
        dh_installinit -a --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-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
-       mv debian/ceph/etc/init/ceph-mds* 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 the systemd stuff manually since we have funny service names
@@ -135,15 +142,17 @@ binary-arch: build install
        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/lib/systemd/system
-       install -m0644 systemd/ceph-mon@.service debian/ceph/lib/systemd/system
-       install -m0644 systemd/ceph-create-keys@.service debian/ceph/lib/systemd/system
-       install -m0644 systemd/ceph-osd@.service debian/ceph/lib/systemd/system
-       install -m0644 systemd/ceph-disk@.service debian/ceph/lib/systemd/system
-       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph/lib/systemd/system/ceph-mon@.service
-       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph/lib/systemd/system/ceph-create-keys@.service
-       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph/lib/systemd/system/ceph-osd@.service
-       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph/lib/systemd/system/ceph-disk@.service
+       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 -d -m0755 debian/ceph-mds/lib/systemd/system
        install -m0644 systemd/ceph-mds@.service debian/ceph-mds/lib/systemd/system
@@ -159,6 +168,8 @@ binary-arch: build install
 
        dh_strip -pceph --dbg-package=ceph-dbg
        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