Skip to content

Commit 7dbbc3f

Browse files
Oto Šťávaalesmrazek
Oto Šťáva
authored andcommitted
doc/dev: update building from sources
Removed some outdated stuff.
1 parent d10c654 commit 7dbbc3f

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

doc/dev/build.rst

+20-19
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
Cloning the repository
77
**********************
88

9-
.. note:: Maybe you do not need to build from source?
10-
See `<../gettingstarted-install.html>`_.
9+
.. note:: Latest up-to-date packages for various distributions can be obtained
10+
from web `<https://knot-resolver.cz/download/>`_.
1111

1212
Knot Resolver is written for UNIX-like systems using modern C standards.
1313
Beware that some 64-bit systems with LuaJIT 2.1 may be affected by
@@ -78,7 +78,9 @@ Dependencies
7878
============
7979

8080
.. note:: This section lists basic requirements. Individual modules
81-
might have additional build or runtime dependencies.
81+
might have additional build or runtime dependencies. You may also use ``apkg
82+
build-dep`` from the above section to install the dependencies, then build
83+
Knot Resolver manually using Meson.
8284

8385
The following dependencies are needed to build and run Knot Resolver with core functions:
8486

@@ -98,8 +100,6 @@ The following dependencies are needed to build and run Knot Resolver with core f
98100
There are also *optional* packages that enable specific functionality in Knot
99101
Resolver:
100102

101-
.. TODO cqueues is really used on multiple places, sometimes indirectly
102-
103103
.. csv-table::
104104
:header: "Optional", "Needed for", "Notes"
105105

@@ -113,22 +113,22 @@ Resolver:
113113
"cmocka_", "``unit tests``", "Unit testing framework."
114114
"dnsdist_", "``proxyv2 test``", "DNS proxy server"
115115
"Doxygen_", "``documentation``", "Generating API documentation."
116-
"Sphinx_, sphinx-tabs_ and sphinx_rtd_theme_", "``documentation``", "Building this
117-
documentation."
116+
"Sphinx_, sphinx-tabs_, and sphinx_rtd_theme_", "``documentation``", "Building this documentation."
118117
"breathe_", "``documentation``", "Exposing Doxygen API doc to Sphinx."
119-
"libprotobuf_ 3.0+", "``modules/dnstap``", "Protocol Buffers support for
120-
dnstap_."
118+
"libprotobuf_ 3.0+", "``modules/dnstap``", "Protocol Buffers support for dnstap_."
121119
"`libprotobuf-c`_ 1.0+", "``modules/dnstap``", "C bindings for Protobuf."
122-
"libfstrm_ 0.2+", "``modules/dnstap``", "Frame Streams data transport
123-
protocol."
120+
"libfstrm_ 0.2+", "``modules/dnstap``", "Frame Streams data transport protocol."
124121
"luacheck_", "``lint-lua``", "Syntax and static analysis checker for Lua."
125122
"`clang-tidy`_", "``lint-c``", "Syntax and static analysis checker for C."
126123
"luacov_", "``check-config``", "Code coverage analysis for Lua modules."
127124

128125
.. [#] If ``meson >= 0.49`` isn't available for your distro, check backports
129-
repository or use python pip to install it.
130-
.. [#] We test GCC and Clang. We depend on GNU extensions to the C standard,
131-
in particular ``__attribute__((cleanup))``.
126+
repository or use python pipx to install it.
127+
.. [#] Requires ``__attribute__((cleanup))`` and ``-MMD -MP`` for
128+
dependency file generation. We test GCC and Clang, and ICC is likely to work as well.
129+
.. [#] You can use variables ``<dependency>_CFLAGS`` and ``<dependency>_LIBS``
130+
to configure dependencies manually (i.e. ``libknot_CFLAGS`` and
131+
``libknot_LIBS``).
132132
133133
On reasonably new systems most of the dependencies can be resolved from packages.
134134
``apkg build-dep`` is one option of obtaining them (see above).
@@ -146,12 +146,11 @@ https://www.knot-dns.cz/download/
146146
Compilation
147147
===========
148148

149-
Folowing meson command creates new build directory named ``build_dir``, configures installation path to ``/tmp/kr`` and enables static build (to allow installation to non-standard path).
150-
You can also configure some :ref:`build-options`, in this case enable ``manager``, which is disabled by default.
149+
The following meson command creates a new build directory named ``build_dir`` and configures the installation path to ``/tmp/kr``.
151150

152151
.. code-block:: bash
153152
154-
$ meson build_dir --prefix=/tmp/kr
153+
$ meson setup build_dir --prefix=/tmp/kr
155154
156155
After that it is possible to build and install Knot Resolver.
157156

@@ -294,8 +293,9 @@ its parent directories are writable by kresd process (after package installation
294293
Installing the manager from source
295294
**********************************
296295

297-
Additional dependencies are needed to run Knot Resolver with the ``manager``.
298-
All dependencies are also listed in `pyproject.toml <https://gitlab.nic.cz/knot/knot-resolver/-/blob/master/manager/pyproject.toml>`_ which is our authoritative source.
296+
Additional dependencies are needed to build and run Knot Resolver with the ``manager``.
297+
All dependencies are also listed in `pyproject.toml <https://gitlab.nic.cz/knot/knot-resolver/-/blob/manager/manager/pyproject.toml>`_ which is our authoritative source.
298+
Please note that starting with version 6, Knot Resolver is only officially supported in conjunction with ``manager``.
299299

300300
.. csv-table::
301301
:header: "Requirement", "Notes"
@@ -369,3 +369,4 @@ For development, it's possible to build the container directly from your git tre
369369
.. _prometheus-client: https://github.com/prometheus/client_python
370370
.. _typing-extensions: https://pypi.org/project/typing-extensions/
371371
.. _watchdog: https://github.com/gorakhargosh/watchdog
372+
.. _supervisor: http://supervisord.org/

0 commit comments

Comments
 (0)