meson build system
- Closes #350 (closed) (build system)
- Closes #212 (closed) (static build)
- Closes #279 (closed) (module namespace)
- Closes #290 (closed) (remove go modules support)
- Closes #338 (closed) (same vars for make / make install)
- Closes #451 (closed) (shadow lua global by func param)
Remaining TODOs
-
fix CI tests -
update scripts for OBS to build successfully -
make sure OSX build works -
create migration documentation -
document/resolve missing parts (coverage) -
update respdiff toolchain -
document modules' lua dependencies
Review
-
tarball includes the same files (see https://gitlab.labs.nic.cz/knot/knot-resolver/merge_requests/771#note_99606) -
CFLAGS
,LDFLAGS
for dev build hasn't changed unintentionally -
git diff doesn't contain forgotten TODO
-
no commit contains DROP
,WIP
orTODO
in title/message -
the same test suite is executed in CI -
check every module loads when installed (incl. dnstap) - distro packages
-
no files were unintentionally removed -
arch -
deb -
rpm
-
-
builds in OBS pass package test on a clean system -
installed files/dir didn't unintentionally change permissions / owner -
arch -
deb -
rpm
-
-
debian/ubuntu systemd works as before (service restart during update etc.)
-
Pre-merge
-
[respdiff] - merge respdiff!50 (merged), update test infrastructure
Edited by Tomas Krizek
Merge request reports
Activity
changed milestone to %4.0.0
added plan refactoring labels
mentioned in merge request !685 (closed)
added 147 commits
-
f9a59d6b...217a46b3 - 5 commits from branch
master
- d23f333b - meson: initial attempt
- a2eb2b5b - meson: kresd builds \o/
- 6f4185e8 - meson: initial cleanup
- a3daec02 - contrib: drop embedded lmdb support
- 59632aec - meson: build contrib as a subdir
- 7d4edcb3 - meson: build lib as subdir
- db906152 - meson: build client as a subdir
- 22a570f2 - meson: update dependencies
- 941c189f - meson: build daemon in a subdir
- b7c73083 - meson: clean up client subdir
- 19d07214 - meson/daemon: fix *.lua -> *.inc conversion
- 98059400 - meson/daemon/lua: install modules
- ae4906d5 - meson: use build options for client/daemon builds
- f942e511 - meson/daemon/lua: install modules from subdir
- f96cd80e - meson: add option to override modules dir
- 1f017d41 - meson: use proper etc_dir location
- 78deab3f - meson: add option keyfile_default
- fe03bcc6 - meson: move etc_dir to config
- 4e66772c - meson/daemon/lua: install trust_anchors.lua
- 22d7e581 - meson/modules: install lua modules
- 27888117 - meson/daemon/lua: unify lua mod installation
- 114e976c - meson: modules/daf - install daf.js
- c3e2ca4f - meson: add luajit dependency to lib
- 01dd35d7 - meson: modules/policy - compile lua-aho-corasick
- 01322cc6 - meson: modules/edns_keepalive build
- 3b1d312a - meson: modules/bogus_log build
- 5aebf55d - meson: daemon - remove global link_args
- ae784961 - meson: modules - remove unnecessary link_flags
- 7627e40e - meson: modules/hints build
- 1ef2f38e - meson: modules - build as shared_module, not library
- 09bc86e6 - meson: modules/nsid - build
- 37515ca4 - modules/stats/stats.c: remove trailing whitespace
- 36888dc2 - modules/stats/stats.c: add missing lua.h
- 2b416ae7 - meson: modules/stats - build
- fd962a88 - meson: cleanup
- 4202666b - modules/dnstap: remove generated dnstap.pb-c.* files
- 7df7d012 - meson: modules/dnstap - build
- a980a50f - meson: modules/http - install static files
- cf8b0f1c - .gitignore: add generated dnstap files
- 6e1e1dc8 - .gitignore: sort
- 20a93c6c - meson: turn on C compiler warnings
- 2901b2bb - meson: etc install configs and files
- c65bf053 - scripts: add utility script to check for newer root.hints
- 1d6f4792 - .gitlabci: check for newer root.hints nightly
- dc7002bb - meson: doc - build doxyxml and html
- 74cd9570 - meson: tests - unit tests without coverage
- b7f6eef1 - meson: unit tests - move test closer to code
- 79da137d - tests/test_cache: remove obsolete test
- a38cb509 - tests/config: remove obsolete variable
- 2e41204f - meson: tests/config - run simple config tests
- 5adf0028 - meson: tests/config - run worker test
- 03c4617e - meson: tests/config - add keyfile tests
- 48d4ebbd - modules/predict: move test to module dir
- b38a3fe3 - meson: tests/config - run additional tests from tree
- 8751c2ae - meson: daemon+client install to sbindir
- b2fc5fdb - meson: tests/config - use script to prepare workdir
- 943e20aa - meson: tests/config - fix load_ta test
- f99e2e44 - meson: tests/config: run all configtests
- e5b8f4c7 - meson: specify meson_version
- 8f3af1bf - meson: tests/pytests - compile tls proxy
- 15232faa - tests/pytests: use KRESD_EXEC, TLSPROXY_EXEC env vars
- e19edd49 - meson: tests/pytests - run pytests successfully
- caa23315 - tests/pytests: fix deprecation warning with latest pytest
- 544bc0a1 - meson: tests/pytests - run extended test suite
- 79f65ec6 - meson: tests/config: always define config tests
- 9db5f7d4 - test/integration: move deckard submodule
- e9a4a785 - tests/integration: move related files
- bfeb7168 - meson: tests/config: use PATH instead of KRESD_EXEC
- 449257ba - meson: tests/pytests - use PATH instead of *_EXEC vars
- fe38e581 - meson: tests/integration - prepare script
- 3328cee6 - meson: doc - add python breathe dependency check
- 0ed792bd - meson: tests/pytests - add extra_tests build option
- 5433ac4e - meson: tests - check for py3_deps
- d8fb4094 - meson: tests/integration run all test suites
- cc3d3878 - meson: cleanup
- 8daaf98b - meson: organize dependencies
- 777e813f - meson: doc/kresd.8 - man page with correct version, date
- 9fbe98fd - meson: archive target with dev version
- 6ea63755 - gitignore: ignore *.tar.xz
- e542f755 - meson: etc/config - WIP
- b39a5ff3 - meson: etc/config - move and unify configs
- 2efd5c04 - meson: additional build options
- a085b6a3 - meson: use prefix variable
- 6068ad6d - meson: use sbin_dir variable
- 36e6dc6d - meson: options - trust_anchors
- 992027b2 - meson: systemd option with autodetection
- bd35d0d6 - meson: user + group options
- a372040b - meson: minor fixes
- 5974e4cc - meson: move configuration to appropriate sections
- 76bbb0f1 - meson: use features in options
- 281f3b95 - meson: etc - managed_ta and root.keys
- abb7242b - meson: etc/config - configure and install configs
- 1cbe0269 - meson: etc/config - install kresd.conf
- 4761a806 - meson: systemd - configure and install
- 204b4fda - meson: systemd/nosocket - add nosocket compatibility mode
- e0df9596 - meson: managed_ta add note
- 204bfd49 - meson: daemon - update build
- 5b518d45 - meson: systemd - update kresd.systemd.7
- 120220d3 - meson: systemd/nosocket - update man
- 8ae844cc - meson: systemd - install drop-in examples
- 7e20672a - meson: systemd - re-add modified README
- 22f3c8da - meson: systemd - rename cache dir to work dir
- 9b80c94f - meson: systemd - abandon user_mode
- 5aaa0540 - gitlabci: add reminder about libkres symbol checks
- 22b1899d - meson: update TA for keyfile_default
- 10ec9828 - gitignore: add build directory
- a1994318 - meson: daemon/lua - don't embed
- a8c33ea9 - meson: modules - move lua_src var
- d61bd0e3 - meson: change module names in lua code
- 630ece6e - meson: use kresdconf.h instead of compiler defines
- 02752d3e - meson: remove MODULEDIR
- 5bfa7a92 - meson: fix typos
- d67a5843 - meson: modules - fix ahocorasick, mock_cmodule
- 616677a8 - meson: runtime lua fixes
- 6814a581 - meson: fix path to load modules
- ff7e7e34 - meson: remove moduledir
- b1247e9c - meson: use c_args instead of setting global compiler options
- 2d778189 - pytests/tlsproxy: fix C warnings
- 0d62f8b2 - meson: resolve some TODOs
- 2c27824a - meson: improve keyfile_default
- 99f5c025 - meson: add root_hints option to customize location
- ca7651df - systemd/kresd@.service: switch to Restart=on-abnormal
- c31fea76 - meson: modules/policy - check if git submodules are present
- 0c49ce6e - meson: modules/policy - fix lua-aho-corasick build
- ea8d0b66 - meson: doc - improve dependency detection
- 998f8a96 - meson: systemd - get unitdir, tmpfilesdir from pkg-config
- 0f340972 - meson: systemd - simplify detection
- 6cb86d0d - meson: doc/build - update dependencies and compilation info
- 4e6abfa0 - meson: add verbose_log option
- 282fea48 - meson: use add_project_arguments
- b4f27bcb - meson: remove asserts when buildtype=release
- 2781a017 - meson: doc/build - use meson configure for options
- ceafd8f3 - meson: doc/build - add info for packagers
- 164bf7f1 - meson: fix C args
- 0816d182 - meson: doc/build - update build and docker info
- 91a87eb1 - meson: tests/pytests - fix PATH
- a5246800 - meson: tests/integration - turn off DNSSEC, add additional tests
- 69bcfc23 - meson: fix root.hints installation
- 447ab8e4 - daemon/engine: avoid unused variable with DNDEBUG
- 3cf8c318 - meson: remove no longer needed makefiles
- 6573f838 - meson: clean up meson.build
- dffe2bde - meson: bench - compile and run
Toggle commit list-
f9a59d6b...217a46b3 - 5 commits from branch
added 11 commits
- 67c859bf - meson: doc/conf.py - read version from meson.build
- e34bc5e1 - meson: distro/deb - remove broken link
- 072ed81e - doc/flowcharts: use underscores instead of spaces in filename
- f074a722 - meson: change extra_tests to postinstall_tests (incl config tests)
- e1bb6d9a - meson: scripts/make-archive.sh - generate dev tarball
- c0ffb47d - meson: systemd - fix syntax
- 01e792a2 - meson: doc - cache doctrees in another directory
- 492277df - meson: trust_anchors - correctly set manage_ta for keyfile_default
- 777ccba6 - meson: scripts/make-archive.sh: rename to make-dev-archive.sh
- 3a29e512 - distro/arch: use meson build system
- 6646f574 - meson: doc/build - systemd packaging, tests
Toggle commit listadded 162 commits
-
6646f574...970a63fa - 2 commits from branch
master
- a5df687c - meson: initial attempt
- 55095859 - meson: kresd builds \o/
- 8a058323 - meson: initial cleanup
- 91f3450e - contrib: drop embedded lmdb support
- c8bba01e - meson: build contrib as a subdir
- a43eb343 - meson: build lib as subdir
- fc737bad - meson: build client as a subdir
- 79446f78 - meson: update dependencies
- 9a0b0e07 - meson: build daemon in a subdir
- 3c61292c - meson: clean up client subdir
- cd651dc6 - meson/daemon: fix *.lua -> *.inc conversion
- 2f1b9ed7 - meson/daemon/lua: install modules
- 23f69b80 - meson: use build options for client/daemon builds
- 530747cf - meson/daemon/lua: install modules from subdir
- 862bf3f2 - meson: add option to override modules dir
- 797bc5fd - meson: use proper etc_dir location
- 8b657df8 - meson: add option keyfile_default
- 29ac0495 - meson: move etc_dir to config
- ebc6beb5 - meson/daemon/lua: install trust_anchors.lua
- 040d1c1a - meson/modules: install lua modules
- 3fe002f3 - meson/daemon/lua: unify lua mod installation
- 0037e79d - meson: modules/daf - install daf.js
- 84773c5a - meson: add luajit dependency to lib
- 0f847c57 - meson: modules/policy - compile lua-aho-corasick
- f4a8fce0 - meson: modules/edns_keepalive build
- 49aecff2 - meson: modules/bogus_log build
- ee86ee2a - meson: daemon - remove global link_args
- 8076b6a4 - meson: modules - remove unnecessary link_flags
- 9583ab62 - meson: modules/hints build
- a7deb900 - meson: modules - build as shared_module, not library
- 6d9c99ef - meson: modules/nsid - build
- dfdc5975 - modules/stats/stats.c: remove trailing whitespace
- a8c599a2 - modules/stats/stats.c: add missing lua.h
- 84b6b2b9 - meson: modules/stats - build
- d476c60f - meson: cleanup
- 29fb179e - modules/dnstap: remove generated dnstap.pb-c.* files
- 2af30f37 - meson: modules/dnstap - build
- 71ae15ca - meson: modules/http - install static files
- b62f843f - .gitignore: add generated dnstap files
- 0a5f2f60 - .gitignore: sort
- a9e5f1ff - meson: turn on C compiler warnings
- f9cb01a0 - meson: etc install configs and files
- 4d0e34e2 - scripts: add utility script to check for newer root.hints
- c788f2c2 - .gitlabci: check for newer root.hints nightly
- d3968f2b - meson: doc - build doxyxml and html
- 0536ff2b - meson: tests - unit tests without coverage
- 28b4c243 - meson: unit tests - move test closer to code
- 28737a06 - tests/test_cache: remove obsolete test
- 366489b5 - tests/config: remove obsolete variable
- ef483e06 - meson: tests/config - run simple config tests
- ddb4ac54 - meson: tests/config - run worker test
- 0fe108f8 - meson: tests/config - add keyfile tests
- d2f17653 - modules/predict: move test to module dir
- a583230e - meson: tests/config - run additional tests from tree
- d3ff3b9d - meson: daemon+client install to sbindir
- cd7ffdc7 - meson: tests/config - use script to prepare workdir
- da92225e - meson: tests/config - fix load_ta test
- b03ed5d2 - meson: tests/config: run all configtests
- 64cb5afc - meson: specify meson_version
- 18c87003 - meson: tests/pytests - compile tls proxy
- 1b278ca1 - tests/pytests: use KRESD_EXEC, TLSPROXY_EXEC env vars
- 5b208e5c - meson: tests/pytests - run pytests successfully
- cd3a8b6c - tests/pytests: fix deprecation warning with latest pytest
- 671bcb8f - meson: tests/pytests - run extended test suite
- 188b42fc - meson: tests/config: always define config tests
- 13e18e0b - test/integration: move deckard submodule
- 70c1b100 - tests/integration: move related files
- c4ed1447 - meson: tests/config: use PATH instead of KRESD_EXEC
- ead5dbd0 - meson: tests/pytests - use PATH instead of *_EXEC vars
- 79fd445e - meson: tests/integration - prepare script
- 698bc436 - meson: doc - add python breathe dependency check
- 235e367b - meson: tests/pytests - add extra_tests build option
- 1dd0a11f - meson: tests - check for py3_deps
- ec3fe4be - meson: tests/integration run all test suites
- abd5d4b8 - meson: cleanup
- e1c7ffe7 - meson: organize dependencies
- 925f8f86 - meson: doc/kresd.8 - man page with correct version, date
- 3bf9c028 - meson: archive target with dev version
- 12f9e25a - gitignore: ignore *.tar.xz
- 573cefb2 - meson: etc/config - WIP
- 97b01ba8 - meson: etc/config - move and unify configs
- 154cebfd - meson: additional build options
- a92ffe99 - meson: use prefix variable
- 7e481e91 - meson: use sbin_dir variable
- 33c7c558 - meson: options - trust_anchors
- e1026fa5 - meson: systemd option with autodetection
- 5a59be6e - meson: user + group options
- 58295efe - meson: minor fixes
- 00331123 - meson: move configuration to appropriate sections
- b29f7468 - meson: use features in options
- 01afa6a8 - meson: etc - managed_ta and root.keys
- 4758ae40 - meson: etc/config - configure and install configs
- 89547b64 - meson: etc/config - install kresd.conf
- 41f3c802 - meson: systemd - configure and install
- 03fc3dda - meson: systemd/nosocket - add nosocket compatibility mode
- b5a337cd - meson: managed_ta add note
- 4b67be5d - meson: daemon - update build
- 8404e80a - meson: systemd - update kresd.systemd.7
- 69c637be - meson: systemd/nosocket - update man
- 991f1418 - meson: systemd - install drop-in examples
- 4488f158 - meson: systemd - re-add modified README
- 561232c2 - meson: systemd - rename cache dir to work dir
- 37b47bcb - meson: systemd - abandon user_mode
- 91a67aad - gitlabci: add reminder about libkres symbol checks
- a900407a - meson: update TA for keyfile_default
- 20a4b253 - gitignore: add build directory
- 06c78fe9 - meson: daemon/lua - don't embed
- a33478c1 - meson: modules - move lua_src var
- 28ac2e68 - meson: change module names in lua code
- f652d262 - meson: use kresdconf.h instead of compiler defines
- 7b6d240a - meson: remove MODULEDIR
- a0b4fb3b - meson: fix typos
- 50afeae5 - meson: modules - fix ahocorasick, mock_cmodule
- 4da3b14e - meson: runtime lua fixes
- c275f87b - meson: fix path to load modules
- c3bcb9f0 - meson: remove moduledir
- 83b34077 - meson: use c_args instead of setting global compiler options
- 72e8dde5 - pytests/tlsproxy: fix C warnings
- 1526e1e7 - meson: resolve some TODOs
- 6d9d159a - meson: improve keyfile_default
- f722635d - meson: add root_hints option to customize location
- 8c35a5bb - systemd/kresd@.service: switch to Restart=on-abnormal
- c4b48f67 - meson: modules/policy - check if git submodules are present
- f41896c2 - meson: modules/policy - fix lua-aho-corasick build
- 696cebf4 - meson: doc - improve dependency detection
- 1dd5b9a5 - meson: systemd - get unitdir, tmpfilesdir from pkg-config
- fe7939a4 - meson: systemd - simplify detection
- 07402e10 - meson: doc/build - update dependencies and compilation info
- b3aa8bd4 - meson: add verbose_log option
- 0654bd69 - meson: use add_project_arguments
- e03cc061 - meson: remove asserts when buildtype=release
- 89bada9d - meson: doc/build - use meson configure for options
- 30a178fa - meson: doc/build - add info for packagers
- aa1a5029 - meson: fix C args
- f9346422 - meson: doc/build - update build and docker info
- 5de16b0c - meson: tests/pytests - fix PATH
- 96c85ef7 - meson: tests/integration - turn off DNSSEC, add additional tests
- b83566df - meson: fix root.hints installation
- 9faccd04 - daemon/engine: avoid unused variable with DNDEBUG
- 0f3784de - meson: remove no longer needed makefiles
- 8a3fba3e - meson: clean up meson.build
- 4d6eb0e2 - meson: bench - compile and run
- a6efe06a - meson: doc/conf.py - read version from meson.build
- d2bedf9a - meson: distro/deb - remove broken link
- 5c18e9d0 - meson: change extra_tests to postinstall_tests (incl config tests)
- 0c69b479 - meson: scripts/make-archive.sh - generate dev tarball
- 1681c7cc - meson: systemd - fix syntax
- 08dc2002 - meson: doc - cache doctrees in another directory
- c74b6b28 - meson: trust_anchors - correctly set manage_ta for keyfile_default
- 892a875e - meson: scripts/make-archive.sh: rename to make-dev-archive.sh
- c098ec7f - distro/arch: use meson build system
- 1f595425 - meson: doc/build - systemd packaging, tests
- fd93f021 - AUTHORS: update
- 8d0af293 - meson: install additional files
- 80f9418e - meson: doc/build - improve info about packaging
- dca468fc - distro/rpm - use meson
- 129cddc9 - daemon/network: avoid unused functions and variables
- ca2b2596 - meson: etc/config - explicitly bind to localhost
- ce04cb38 - TODO: update libkres9.symbols
- 79de5ca2 - distro/debian: use meson
Toggle commit list-
6646f574...970a63fa - 2 commits from branch
added 1 commit
- cf4191e7 - fixup! meson: daemon/kres-gen - fix lua file generation
added 1 commit
- 7e785f12 - ci: merge unit and config tests into single job
added 1 commit
- 9d0a4830 - fixup! ci: merge unit and config tests into single job
added 1 commit
- c3b19eb6 - fixup! ci: merge unit and config tests into single job
added 1 commit
- df8ee704 - fixup! ci: merge unit and config tests into single job
Please register or sign in to reply