RTD does not support installing system packages, the only ways to install
dependencies are setuptools and pip. while ditaa is a tool written in
Java. so we need to find a native python tool allowing us to render ditaa
images. plantweb is able to the web service for rendering the ditaa
diagram. so let's use it as a fallback if "ditaa" is not around.
also start a new line after the directive, otherwise planweb server will
return 500 at seeing the diagram.
Signed-off-by: Kefu Chai <kchai@redhat.com>
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>
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>
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>
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>
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>
* use the latest Sphinx
* use the latest breathe. also, since there is no need to be compatible
with python2. we can move to 4.14.0 which is python3 only.
Signed-off-by: Kefu Chai <kchai@redhat.com>
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>
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>
With `-e` the repository is cloned, leading to `git clean` skipping
the cloned dependencies due to the `.git` directory, and forcing manual
removal.
[nwatkins@daq ceph]$ git clean -dxf
Skipping repository build-doc/virtualenv/src/breathe
Skipping repository build-doc/virtualenv/src/sphinx-ditaa
Signed-off-by: Noah Watkins <nwatkins@redhat.com>
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>
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>
it works with setuptools and is now compatible with py3
the py3 branch is created to track the upstream's master branch
Signed-off-by: Kefu Chai <kchai@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>