]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
doc,pybind: bypass sanity check if building doc
authorKefu Chai <kchai@redhat.com>
Tue, 9 Aug 2016 07:17:18 +0000 (15:17 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 9 Aug 2016 09:08:45 +0000 (17:08 +0800)
the empty .so file does not compile at all, so we need to bypass the
sanity check, if we are building docs. and what sphinx needs is just the
docstrings.

Fixes: http://tracker.ceph.com/issues/16940
Signed-off-by: Kefu Chai <kchai@redhat.com>
admin/build-doc
cmake/modules/Distutils.cmake
src/pybind/cephfs/setup.py
src/pybind/rados/setup.py

index 45b8974a9190133c70b17fac05fe6fbc32649b47..cedf05c1f4e660a797e8d3165e5b793a6b04ff2b 100755 (executable)
@@ -67,13 +67,15 @@ install -d -m0755 \
 
 # To avoid having to build librbd to build the Python bindings to build the docs,
 # create a dummy librbd.so that allows the module to be imported by sphinx.
+# the module are imported by the "automodule::" directive.
 mkdir -p $vdir/lib
 export LD_LIBRARY_PATH="$vdir/lib"
 export PYTHONPATH=$TOPDIR/src/pybind
 
 ln -sf librados.so.2 $vdir/lib/librados.so
 gcc -shared -o $vdir/lib/librados.so.2 -xc /dev/null
-CFLAGS="-iquote $TOPDIR/src/include" \
+BUILD_DOC=1 \
+    CFLAGS="-iquote $TOPDIR/src/include" \
     CPPFLAGS="-iquote $TOPDIR/src/include" \
     LDFLAGS="-L$vdir/lib -Wl,--no-as-needed" \
     $vdir/bin/pip install $TOPDIR/src/pybind/rados
@@ -90,7 +92,8 @@ cp -f $TOPDIR/src/pybind/rados/rados.pxd $TOPDIR/src/pybind/cephfs/
 
 ln -sf librbd.so.1 $vdir/lib/librbd.so
 gcc -shared -o $vdir/lib/librbd.so.1 -xc /dev/null
-CFLAGS="-iquote $TOPDIR/src/include" \
+BUILD_DOC=1 \
+    CFLAGS="-iquote $TOPDIR/src/include" \
     CPPFLAGS="-iquote $TOPDIR/src/include" \
     LDFLAGS="-L$vdir/lib -Wl,--no-as-needed" \
     $vdir/bin/pip install $TOPDIR/src/pybind/rbd
@@ -101,7 +104,8 @@ nm $vdir/lib/python*/*-packages/rbd.so | grep 'U rbd_' | \
 
 ln -sf libcephfs.so.1 $vdir/lib/libcephfs.so
 gcc -shared -o $vdir/lib/libcephfs.so.1 -xc /dev/null
-CFLAGS="-iquote $TOPDIR/src/include" \
+BUILD_DOC=1 \
+    CFLAGS="-iquote $TOPDIR/src/include" \
     CPPFLAGS="-iquote $TOPDIR/src/include" \
     LDFLAGS="-L$vdir/lib -Wl,--no-as-needed" \
     $vdir/bin/pip install $TOPDIR/src/pybind/cephfs
index f2e4b34a3fe63fef22ca10c840bee04811149bc5..60f011c46df6467326290af513572954b49f3027 100644 (file)
@@ -45,7 +45,7 @@ function(distutils_add_cython_module name src)
     LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
     CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
     CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
-    CFLAGS=\"-iquote ${CMAKE_SOURCE_DIR}/src/include\"
+    CFLAGS=\"-iquote${CMAKE_SOURCE_DIR}/src/include\"
     ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py build --build-base ${CYTHON_MODULE_DIR} --verbose
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
     DEPENDS ${src})
index 4c952997883b722a4eb2c8b3b1cd300efed8d2b0..37b0c18a5aa1495c08bb41b85a4348e0955f7182 100755 (executable)
@@ -122,7 +122,11 @@ def check_sanity():
         shutil.rmtree(tmp_dir)
 
 
-if not check_sanity():
+if 'BUILD_DOC' in os.environ.keys():
+    pass
+elif check_sanity():
+    pass
+else:
     sys.exit(1)
 
 cmdclass = {}
index 94e878387d6fe01f16d6052a6f4752fddb279fa1..c30318d15818fe8e601c89b14135c84d54a90eeb 100755 (executable)
@@ -131,7 +131,11 @@ def check_sanity():
         shutil.rmtree(tmp_dir)
 
 
-if not check_sanity():
+if 'BUILD_DOC' in os.environ.keys():
+    pass
+elif check_sanity():
+    pass
+else:
     sys.exit(1)
 
 cmdclass = {}