If you have python ceph bindings installed on your system, the doc-build
script will fail since pip detects them and fails to install the updated
bindings in the virtualenv. This fixes the issue by adding --upgrade
flag to pip so that it overrides the system-installed libraries.
Signed-off-by: Boris Ranto <branto@redhat.com>
In document, it is called 'libxml2-devel', one of the dependent
package of CentOS/RHEL7. But the 'build-doc' check 'libxml-devel'.
And it id also called 'libxml2-devel' in software of yum repo .
So correct the checked package name in ceph/admin/build-doc.
Signed-off-by: Yu Shengzuo <yu.shengzuo@99cloud.net>
currently this works fine, but we ran into this problem before. and
technically "-iquote<dir>" is the valid syntax, and "-iquote <dir>"
is not. see https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html
Signed-off-by: Kefu Chai <kchai@redhat.com>
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>
* In the doc, the explicit and outdated list of required
dependencies is removed. Now, launching `./admin/build-doc`
is suggested because the script gives the missing dependencies.
* Little refactoring of the "Debian checking dependencies" part
in the script `./admin/build-doc`.
* In the suggested "apt-get" command to install dependencies, the
option `-o APT::Install-Recommends=true` is added just in case.
Signed-off-by: François Lafont <francois.lafont@ac-versailles.fr>
Build failure on docs.dhc because pip apparently was changing directory
before building rbd with cython, causing the relative library path
references to fail. Bite the bullet and make everything absolute (since
we already have TOPDIR to use).
Signed-off-by: Dan Mick <dan.mick@redhat.com>
ctypes is fundamentally incapable of providing safe callback support
(exceptions during callbacks are not handled properly). To fix this, and also
gain more flexibility, rewrite/port the librbd bindings to Cython instead.
Other Python bindings are expected to migrate to Cython in the future.
Reference: http://tracker.ceph.com/issues/13115
To support this, this change also:
- Introduces a Makefile for pybind which calls setup.py
- Updates the installation files for packages
- Adds a hack to admin/build-doc to build a dummy librbd, avoiding the need to
build the entire client library just to generate documentation (Sphinx needs
to be able to import rbd.so, which depends on librbd.so symbols).
With contributions by Josh Durgin <jdurgin@redhat.com>
Signed-off-by: Hector Martin <marcan@marcan.st>
To prepare for the migration of rbd.py to Cython, add Cython as a package
dependency and have the configure script look for it.
Also adds Cython as a dependency for admin/build-doc, and changes the
virtualenv to allow usage of system packages (to avoid having to compile
Cython inside the virtualenv).
With contributions by Josh Durgin <jdurgin@redhat.com>
Signed-off-by: Hector Martin <marcan@marcan.st>
Some parts of the docs require libxml2 in order to build. We were
already checking for these lxml dependencies on Fedora; check for the
dependencies on Ubuntu as well.
* asphyxiate needs more toolings, see
https://github.com/ceph/asphyxiate/issues/1
* this commit basically reverts c96064
* use `autodoxygen` directive to doxygen referenced source files
* do not call `doxygen` explicitly in `build-doc`, `autodoxygen`
will take care of it.
Fixes: #6115Fixes: #6115
Signed-off-by: Kefu Chai <kchai@redhat.com>
This reverts commit c65ffe9f7f.
oneiric, where the doc gitbuilder runs, doesn't have the
--system-site-packages option; let's get docs back and sort this out
offline. (virtualenv 1.6.4-0ubuntu1 on oneiric, 1.7.1.2-1 on precise)
This avoids the delay of installing Sphinx inside the virtualenv;
especially, compiling lxml is slow.
If Sphinx is not installed system-wide (or it's too old), this will
still install a copy inside the virtualenv, to keep working.
Thanks to Sean for the push to make this happen, and testing the
various scenarios; I (Tv) took the liberty of changing the commit to
use venv-python for the manpage build too, avoid the nonstandard
"which" command, be more careful about quoting, and explain more fully
what's going on in the comment.
Closes: https://github.com/ceph/ceph/pull/24
Signed-off-by: Sean Channel <pentabular@gmail.com>
Signed-off-by: Tommi Virtanen <tv@inktank.com>
TODO: path of librados.h is now just the basename
TODO: no enum support for now
TODO: no @bug support for now
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
The conditional before running pip install was unnecessary,
"pip install" on already installed packages is fast (as long
as it's not --upgrade), and --quiet makes it not spam the
console.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
Now you can create diagrams easily with the ".. ditaa::"
directive in the Sphinx documents.
admin/build-doc now checks for debs required for building
the documentation, or just lists commands missing for hosts
not using dpkg.
For more on Ditaa, see http://ditaa.sourceforge.net/
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
Most of the doc is user-oriented, let's isolate internals more.
Split into multiple files. Clean up RST.
Use Sphinx's graphviz plugin for graphs.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
It requires graphviz / dot to be installed. It generates a nice graph
of the dependencies between classes in the object store.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
To build the docs, run ./admin/build-doc. To browse them, either get
them on any static website, or just run ./admin/serve-doc to serve
them quickly off of port 8080.
build-doc sets up a virtualenv to avoid needing Sphinx installed
system-wide. serve-doc needs thttpd installed.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>