]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
ceph.spec.in: fix handling of /var/run/ceph 3916/head
authorKen Dreyer <kdreyer@redhat.com>
Mon, 9 Mar 2015 20:14:57 +0000 (14:14 -0600)
committerKen Dreyer <kdreyer@redhat.com>
Tue, 17 Mar 2015 18:28:28 +0000 (12:28 -0600)
commit71a5090bca049a43e30a7f0cf99141950ef9c5dd
tree00b70ecaa85a56bd04177ab2c5fd74cd6539680e
parentd2057bd6d9c44a9aa699b0794c1e33a711289843
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>
ceph.spec.in
systemd/ceph.tmpfiles.d [new file with mode: 0644]