---- ceph-0.54/src/logrotate.conf.orig 2012-11-15 21:05:38.519614603 +0100
-+++ ceph-0.54/src/logrotate.conf 2012-11-15 21:09:14.862943424 +0100
+--- ceph-0.58/src/logrotate.conf.orig 2013-03-08 22:30:48.205300063 +0100
++++ ceph-0.58/src/logrotate.conf 2013-03-08 22:31:18.038632150 +0100
@@ -4,21 +4,7 @@
compress
sharedscripts
postrotate
-- if [ -x `which invoke-rc.d` ]; then
+- if which invoke-rc.d > /dev/null 2>&1 && [ -x `which invoke-rc.d` ]; then
- invoke-rc.d ceph reload >/dev/null
-- elif [ -x `which service` ]; then
+- elif which service > /dev/null 2>&1 && [ -x `which service` ]; then
- service ceph reload >/dev/null
-- elif [ -x `which initctl` ]; then
+- fi
+- # Possibly reload twice, but depending on ceph.conf the reload above may be a no-op
+- if which initctl > /dev/null 2>&1 && [ -x `which initctl` ]; then
- # upstart reload isn't very helpful here:
- # https://bugs.launchpad.net/upstart/+bug/1012938
-- for type in mon osd mds; do
-- initctl list \
-- | perl -ne 'print "$+{service} cluster=$+{cluster} id=$+{id}\n" if m{^(?<service>ceph-(mon|osd|mds)+)\s+\((?<cluster>[^/)]+)/(?<id>[^)]+)\) start/}' \
-- | while read l; do
-- initctl reload -- $l 2>/dev/null || :
-- done
-- done
+- initctl list \
+- | sed -n 's/^\(ceph-\(mon\|osd\|mds\)\+\)[ \t]\+(\([^ \/]\+\)\/\([^ \/]\+\))[ \t]\+start\/.*$/\1 cluster=\3 id=\4/p' \
+- | while read l; do
+- initctl reload -- $l 2>/dev/null || :
+- done
- fi
-+ service ceph reload >/dev/null 2>/dev/null
++ service ceph reload >/dev/null 2>/dev/null
endscript
missingok
}