diff --git a/Makefile.am b/Makefile.am index 0df450bbf6..ebcf3e7fbe 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,8 +2,6 @@ ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS} # ^^^^^^^^ This has to be the first line and cannot come later in this # Makefile.am due to some bork in some versions of autotools. -# We now build doc after src/, because docgen, a tool to generate API -# documentation requires libkea-exceptions and libkea-cc. SUBDIRS = tools . ext src doc m4macros @PREMIUM_DIR@ @CONTRIB_DIR@ USE_LCOV=@USE_LCOV@ diff --git a/doc/devel/doc.dox b/doc/devel/doc.dox index 38573982eb..cde7f9071c 100644 --- a/doc/devel/doc.dox +++ b/doc/devel/doc.dox @@ -11,27 +11,26 @@ There are several types of documentation for Kea. The primary one, intended to be read by users, is User's Guide. It comes in HTML, PDF and txt format. All of them generated from the same sources. To generate this doc, you need to - run configure script with --enable-generate-docs option. Several tools have to - be present in the system: docbook environment, links and several others. + run configure script with --enable-generate-docs option. sphinx has to be + enabled in the system. You can generate this by doing: @code $ ./configure --enable-generate-docs -$ cd doc/ -$ make guide +$ make -C ./doc @endcode -The output files will be generated in doc/guide/ directory. +The output files will be generated in the ./doc/sphinx/_build directory. -Since Kea 1.5, this doc has appendix A that lists all Kea commands. That -appendix is generated using a small tool called docgen. The basic principle +The ARM has an appendix that lists all Kea commands. The commands are integrated +into RST using the tool located at doc/sphinx/api2doc.py. The basic principle is that for every command there is a JSON file that briefly describes the major -aspects of the new command, such as name, short description, expected syntax, -expected response, a hook that needs to be loaded, first Kea version where it -appeared, etc. Those JSON files are loaded by docgen tool that will generate -api.xml that will be used by make guide. There is no need to generate this, -unless you alter description of existing commands or add a new one. +aspects such as name, short description, expected syntax, expected response, +a hook that needs to be loaded, first Kea version where it appeared, etc. +Those JSON files are loaded by the api2doc.py tool that will generate api.txt +that will be used by sphinx. There is no need to call this tool explicitly. +It is called automatically when building the ARM. -Since Kea 1.9.9, this doc has appendix with the grammar. If there were new +Since Kea 1.9.9, the ARM has an appendix with the grammar. If there were new parameters added, you can regenerate the grammars and the appendix with the following procedure: diff --git a/hammer.py b/hammer.py index f266af250b..e2b4351911 100755 --- a/hammer.py +++ b/hammer.py @@ -1492,9 +1492,6 @@ def prepare_system_local(features, check_times): if 'native-pkg' in features: packages.extend(['python3-devel', 'rpm-build']) - if 'docs' in features and not revision == '8': - packages.extend(['libxslt', 'elinks', 'docbook-style-xsl']) - # TODO: # if 'mysql' in features: # packages.extend(['default-mysql-client-core', 'default-libmysqlclient-dev', 'mysql-server']) @@ -1548,7 +1545,7 @@ def prepare_system_local(features, check_times): if 'native-pkg' in features: packages.extend(['build-essential', 'fakeroot', 'devscripts']) - packages.extend(['bison', 'debhelper', 'docbook', 'flex', 'libboost-dev', 'python3-dev']) + packages.extend(['bison', 'debhelper', 'flex', 'libboost-dev', 'python3-dev']) if 20.04 <= float(revision): packages.extend(['dh-python']) @@ -1623,7 +1620,7 @@ def prepare_system_local(features, check_times): if 'native-pkg' in features: packages.extend(['build-essential', 'fakeroot', 'devscripts']) - packages.extend(['bison', 'debhelper', 'docbook', 'flex', 'libboost-dev', 'python3-dev']) + packages.extend(['bison', 'debhelper', 'flex', 'libboost-dev', 'python3-dev']) if 'mysql' in features: if revision == '8': @@ -1751,7 +1748,7 @@ def prepare_system_local(features, check_times): if 'pgsql' in features: packages.extend(['postgresql-dev', 'postgresql']) - packages.extend(['bison', 'flex', 'boost-dev', 'docbook-xsl', 'python3-dev']) + packages.extend(['bison', 'flex', 'boost-dev', 'python3-dev']) if 'gssapi' in features: packages.extend(['krb5-dev'])