]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
ceph.spec.in: fix handling of /var/run/ceph
authorKen Dreyer <kdreyer@redhat.com>
Mon, 9 Mar 2015 20:14:57 +0000 (14:14 -0600)
committerNathan Cutler <ncutler@suse.com>
Tue, 27 Oct 2015 10:24:16 +0000 (11:24 +0100)
commit436a43eded4c8d2cf2fd1d29a682f654eaa58c6e
tree60a01c7ab5868a35a813bccdf83b57dd6df28f93
parent38215229567ca296a4889ba82d3ddd1daf304d06
ceph.spec.in: fix handling of /var/run/ceph

Prior to this commit, we didn't install /var/run/ceph as a normal
directory. We used the %ghost directive and created the directory with
a "mkdir" command in %post.

This was lacking in several ways:

  1) Simplicy: there is no need to use %ghost; other packages (eg.
     mariadb) simply use a normal %dir for their socket directory.

  2) RPM does not have control over the permissions of the /var/run/ceph
     directory. This does not interact well with "rpm -V". Moreover,
     once Ceph itself gets unprivileged user support, RPM itself won't
     be able to set the permissions of the directory for a (future)
     unprivileged UID.

  3) On distributions that use systemd as an init system, /var/run is a
     symlink to /run, which is tmpfs. This means that /var/run/ceph does
     not persist across reboots on those systems.

Remove the %ghost directive; it makes more sense for RPM to simply
install this directory like the rest of the %files.

Add a "_with_systemd" conditional so we know which distros use systemd
as their init system.  Add the /etc/tmpfiles.d/ceph.conf file on those
distros. See
http://www.freedesktop.org/software/systemd/man/tmpfiles.d.html

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit 71a5090bca049a43e30a7f0cf99141950ef9c5dd)

Conflicts:
ceph.spec.in
            _udevrulesdir definition has been added -> trivial resolution
ceph.spec.in
systemd/ceph.tmpfiles.d [new file with mode: 0644]