Commit Graph

59 Commits

Author SHA1 Message Date
Kefu Chai
b83be6f33b admin: move python-common deps out of doc-requirements.txt
to address the build failure of

python -m pip install --exists-action=w --no-cache-dir -r admin/doc-requirements.txt
ERROR: ../src/python-common is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with svn+, git+, hg+, or bzr+).

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-07-06 19:19:22 +08:00
Sebastian Wagner
47330807dc doc/api: Add a generated reference of all mon commands.
Generate a ReST document which contains all mon commands.

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-05-05 12:51:50 +02:00
Kefu Chai
c0615a4d27
Merge pull request #33911 from tchaikov/wip-cephfs-doc
pybind/cephfs, doc: add python binding doc

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2020-03-24 23:01:16 +08:00
Kefu Chai
58270ebaf7 admin/build-doc: add dot to the check list
also print the missing list in stderr

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-03-15 12:50:45 +08:00
Kefu Chai
c20e074efa admin/build-doc: add optional "_" prefix before function names to match
as compilers targeting ELF does not add the leading "_" to symbol names,
while clang on OSX always do this.

and remove the underscore from the symbol name when generating the
function name, as the compiler will add it back for us.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-03-15 12:50:45 +08:00
Kefu Chai
ea67a42f99 admin/build-doc: drop --no-as-needed on Darwin
which is not supported by ld on OSX.

also, pass the rpath argument as a new command line argument instead
using -rpath=foo, which is not supported by llvm linker.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-03-15 12:50:45 +08:00
Kefu Chai
e88f8eeaf8 admin/install-doc: error out if missing deps
we should not `set -e` at the very beginning of this script, which fails
the script if any dependency is missing without printing out error
messages.

in this change `set -e` is removed. and refactor the code to print the
error message.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-03-15 10:56:10 +08:00
Kefu Chai
7357fde070 doc/cephfs: add python binding doc
and restructure cephfs/api to move the javadoc for cephfs to this
directory

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-03-12 18:46:48 +08:00
Kefu Chai
b9e282f0e3 admin/build-doc: use "ceph" for prefix of functions defined by libcephfs
if some python module tries to `import cephfs`, it should not fail.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-03-11 22:43:08 +08:00
Kefu Chai
1183f26719 admin/build-doc: pass -rpath to linker
to make sure the dummy cythonized python binding is able to find the dummy C binding.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-03-11 22:43:08 +08:00
Varsha Rao
62f9b4d65c admin/build-doc: Fix doxygen typo
Signed-off-by: Varsha Rao <varao@redhat.com>
2020-01-09 17:14:47 +05:30
Kefu Chai
b87781c120 admin/build-doc: always install python3-* for build deps
since we've dropped the support of python36-*, i.e. python packages
provided by EPEL7 before RHEL7/CentOS7 included python3. as before the
inclusion of python3 as supported python3, python packages are named
python36-*. and they don't provide python3-*. so we had to install
python36-* explicitly. now that we are able to use the python3-*
packages, we can just install python3-*.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-01-04 17:05:06 +08:00
Sage Weil
92595f3f9d admin/build-doc: do not use system site-packages
Don't use site-packages, since the host might have the same version, and
it won't have the ditaa and breathe.

Require Cython to make the venv sufficient.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-17 08:47:25 -06:00
Yuval Lifshitz
e17e4bfcc0 build-doc: allow building docs on fedora 30
Signed-off-by: Yuval Lifshitz <yuvalif@yahoo.com>
2019-09-04 16:14:56 +03:00
Kefu Chai
ace8cb15a6 admin/build-doc: use python3
to address https://github.com/sphinx-doc/sphinx/issues/3620, we need to
use sphinx with its fix at
e049f86b2d
in other words, we need to use sphinx v2.0.0 and up. but sphinx 2.0
requires python >= 3.5, so we have to use python3 for building the
documents.

in this change:

* doc-requirements.txt: install python3 packages on debian derivatives
* build-doc: install python3.6 packages from EPEL7, and use python3
  venv for using sphinx2
* doc-requirements.txt: bump up all python packages to latest
  stable.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-08-07 17:55:06 +08:00
Kefu Chai
d185c46a43 admin,doc/_ext/ceph_releases.py: use yaml.safe_load()
see
https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-09 22:20:14 +08:00
Samuel Just
7915c89e19 admin/build-doc: use PeeringState* for gen_state_diagram.py
Signed-off-by: Samuel Just <sjust@redhat.com>
2019-05-01 11:22:29 -07:00
Abhishek Lekshmanan
6b6d6ccab8 tools: admin/build-doc: keep-going when finding warnings
This allows the build to fail, but also report a list of warnings so that
multiple runs are not required to find all the errors in doc changes

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2019-03-19 13:49:53 +01:00
Noah Watkins
bb887b78f8 doc: show edit on github links and version warnings
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2018-11-02 14:49:15 -07:00
Aleksei Gutikov
649545e5d8 doc: compile dot into svg
Png images included into docs are useless because of small resolution.
http://docs.ceph.com/docs/master/dev/peering/#state-model

While SVG is vector and supported by Sphinx.

Signed-off-by: Aleksei Gutikov <aleksey.gutikov@synesis.ru>
2018-07-23 10:53:52 +03:00
Boris Ranto
93cd098103 build-doc: Upgrade ceph python libraries
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>
2018-03-05 22:46:39 +01:00
Jason Dillaman
f309180b96 admin/build-doc: support renamed python2 RPMs
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-04 09:55:16 -05:00
Kefu Chai
f8cc72ff1c admon/build-doc: be compatible with py3
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-09-11 23:05:26 +08:00
Alfredo Deza
d3543ef8b0 admin: do not allow errors or warnings from doc build
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2017-08-16 08:20:00 -04:00
Yu Shengzuo
e97f6eb081 doc: correct the package name in ceph/admin/build-doc
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>
2017-04-20 05:14:29 +00:00
Abhishek Lekshmanan
a69efc7760 script: build-doc use python2 only for virtualenv
This is because the sphinx-ditaa package and ceph's rbd/rgw/rados pybind
require python2

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-04-10 19:15:25 +02:00
Kefu Chai
5b9ec53512 admin/build-doc: support optional argument for specifying sphinx builders
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-03-21 13:47:05 +08:00
Kefu Chai
8fd95430fe doc: add doc for pybind of rgw
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-11-09 21:07:29 +08:00
Kefu Chai
133d2f9fb4 admin/build-doc: s/iquote /iquote/
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>
2016-08-09 17:08:45 +08:00
Kefu Chai
333877023e doc,pybind: bypass sanity check if building doc
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>
2016-08-09 17:08:45 +08:00
Kefu Chai
0fa22f0d1b admin/build-doc: use doc_deps.deb.txt for build-deps instead
also update `doc_deps.deb.txt` according to the changes in build-doc.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-05-24 14:08:11 +08:00
Kefu Chai
8ce8429f86 admin/build-doc: remove librbd-dev from build-dependencies
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-05-24 12:58:43 +08:00
lafont
54ec7556bc doc: update the "building doc" part
* 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>
2016-05-18 16:23:08 +02:00
Mehdi Abaakouk
10f125f765 pybind: move cephfs to Cython
This change moves cephfs binding to Cython.

Closes-bug: #14818
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
2016-02-29 10:58:52 +01:00
Mehdi Abaakouk
67f95c8f66 Update the documentation
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
2016-02-17 15:16:56 +01:00
Ken Dreyer
dada290bf2 admin/build-doc: depend on zlib1g-dev and graphviz
The docs currently require zlib1g-dev (on Ubuntu) and graphviz (on RHEL
and Ubuntu) in order to build.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-02-04 10:41:37 -07:00
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