Commit Graph

23 Commits

Author SHA1 Message Date
Dan Mick
54432f09a1 admin/build-doc: make paths absolute
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>
2016-01-05 16:39:36 -08:00
Hector Martin
9cca28a917 pybind: convert librbd bindings to Cython
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>
2015-12-02 00:41:17 +09:00
Hector Martin
5113c962ee configure/packaging: introduce Cython dependency
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>
2015-12-02 00:29:54 +09:00
Ken Dreyer
1a6266756c admin/build-doc: add lxml dependencies on debian
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.
2015-11-16 15:34:52 -07:00
John Spray
539c1ba721 admin/build-doc: fix dependency checks
Fixes: #11857
Signed-off-by: John Spray <john.spray@redhat.com>
2015-06-03 10:09:09 +01:00
Kefu Chai
cd69ded7af doc: Switch doxygen integration back to breathe
* 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: #6115
Fixes: #6115
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-03-20 17:17:16 +08:00
John Spray
700459bdf5 build-doc: package checks for fedora
Signed-off-by: John Spray <john.spray@redhat.com>
2015-02-11 13:24:13 +00:00
John Spray
c5a74a73d2 build-doc: don't ignore errors
It's hard to see what went wrong when e.g. a pip
install fails, if it just steams right past.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-02-11 13:24:13 +00:00
Alfredo Deza
37899fa53e be nitpicky about missing references
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
2014-03-24 13:01:38 -04:00
Danny Al-Gaaf
8e76e4e4fa build-doc: fix checks for required commands for non-debian
Fixes: 7695

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2014-03-12 18:09:59 +01:00
Noah Watkins
e225767384 doc: add JavaDoc to Sphinx
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2012-10-26 10:28:50 -07:00
Dan Mick
e233dffa65 Revert "admin/build-doc: Use installed Sphinx and its dependencies, when possible."
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)
2012-10-08 15:00:30 -07:00
Sean Channel
c65ffe9f7f admin/build-doc: Use installed Sphinx and its dependencies, when possible.
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>
2012-10-04 14:53:20 -07:00
Sage Weil
dfe50bcbec build-doc: use alternate virtualenv dir, if specified
The docs gitbuilder will use this to avoid rebuilding the virtualenv on
every build.

Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-12 16:46:31 -07:00
Tommi Virtanen
c960641666 doc: Switch doxygen integration from breathe to asphyxiate.
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>
2012-01-09 19:03:56 -08:00
Tommi Virtanen
2bdf9078ef doc: Reorganize pip calls to use a requirements file.
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>
2011-12-06 12:13:03 -08:00
Tommi Virtanen
200d7c89a6 doc: Switch diagram tools from dia to ditaa.
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>
2011-12-06 12:07:59 -08:00
Samuel Just
1c696b6566 doc: Add peering state diagram
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-11-29 16:35:59 -08:00
Josh Durgin
c00e06f697 doc: add documentation for librbd python bindings
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-30 11:37:15 -07:00
Tommi Virtanen
66ee58f691 doc: Move internals into a new section, /dev.
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>
2011-09-01 13:28:12 -07:00
Colin Patrick McCabe
2e63eace85 Add object store architecture overview picture
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>
2011-08-31 18:09:52 -07:00
Tommi Virtanen
afede55c83 Integrate Doxygen into Sphinx docs.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
2011-08-29 17:27:14 -07:00
Tommi Virtanen
f1d8964499 First draft of the documentation overhaul.
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>
2011-08-29 17:27:14 -07:00