]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
init-ceph: make it behave when run from a cmake build dir 9897/head
authorSage Weil <sage@redhat.com>
Fri, 24 Jun 2016 15:31:46 +0000 (11:31 -0400)
committerSage Weil <sage@redhat.com>
Fri, 24 Jun 2016 15:31:46 +0000 (11:31 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/init-ceph.in

index a17b0bcbd972e552971e98f8563172d7b78275ab..46276ab24a8279f8700b8328d6e5438203a9ff16 100755 (executable)
@@ -21,9 +21,8 @@ fi
 SYSTEMD_RUN=$(which systemd-run 2>/dev/null)
 grep -qs systemd /proc/1/comm || SYSTEMD_RUN=""
 
-# if we start up as ./init-ceph, assume everything else is in the
-# current directory too.
 if [ `dirname $0` = "." ] && [ $PWD != "/etc/init.d" ]; then
+    # looks like an autotools src dir build
     BINDIR=.
     SBINDIR=.
     LIBEXECDIR=.
@@ -31,11 +30,22 @@ if [ `dirname $0` = "." ] && [ $PWD != "/etc/init.d" ]; then
     SYSTEMD_RUN=""
     ASSUME_DEV=1
 else
-    BINDIR=@bindir@
-    SBINDIR=@prefix@/sbin
-    LIBEXECDIR=@libexecdir@/ceph
-    ETCDIR=@sysconfdir@/ceph
-    ASSUME_DEV=0
+    if [ -e CMakeCache.txt ] && [ -e bin/init-ceph ]; then
+       # looks like a cmake build directory
+       CEPH_ROOT=`grep ceph_SOURCE_DIR CMakeCache.txt | cut -d "=" -f 2`
+       BINDIR=bin
+       SBINDIR=bin
+       LIBEXECDIR=$CEPH_ROOT/src
+       ETCDIR=.
+       SYSTEMD_RUN=""
+       ASSUME_DEV=1
+    else
+       BINDIR=@bindir@
+       SBINDIR=@prefix@/sbin
+       LIBEXECDIR=@libexecdir@/ceph
+       ETCDIR=@sysconfdir@/ceph
+       ASSUME_DEV=0
+    fi
 fi
 
 if [ -n "$CEPH_BIN" ] && [ -n "$CEPH_ROOT" ] && [ -n "$CEPH_BUILD_DIR" ]; then