pdns icon indicating copy to clipboard operation
pdns copied to clipboard

Auth Meson Tracking Issue

Open fredmorcos opened this issue 11 months ago • 0 comments

This is a top-level issue to track the progress of getting auth fully built, tested and released using Meson:

General

  • [ ] Man pages can be generated by a python script but there's no reasonable way to create them from meson yet. Sphinx is annoying to work with because it wants to handle a full directory at a time instead of individual files. Current man pages are defined as a run target but that's not ideal because 1) they don't get built with the sources, and 2) they don't get installed. See #14485
  • [ ] Install target.
  • [ ] Documentation targets (PDFs, HTMLs, etc...).
  • [ ] Dist (e.g. meson dist) - this might end up working without any involvement.
  • [ ] I haven't tried randomly enabling and disabling various build options.
  • [ ] Documentation and README updates.

Testing

  • [ ] Regression tests are not yet fully integrated.
  • [ ] We want to be able to run tests in parallel, we currently use is_parallel: false for all our tests supported by meson because some parts of our test harnesses (e.g. regression tests) don't behave well when run together (e.g. they write to the same database and files).

CI

  • [ ] CI integration - there's already been 1 attempt but things have changed since then, I attached a diff in case it's useful as a starting point meson-pyinvoke-ci.patch.gz
  • [ ] Muon fmt, and use it in CI to check the formatting of meson.build files too.
  • [ ] Muon static analyzer, probably also make use of this in CI.

Refactoring

  • [ ] Take a look at meson sourcesets if it could simplify all the conditionals we use.
  • [ ] See if we can avoid rebuilding everything when a backend is added/removed (because of PDNS_MODULES in config.h, currently only used in version.cc), or when tests are enabled/disabled.
  • [ ] Generated files like bindparser.cc should go into the build directory. As long as we're still using autotools this will not be possible to achieve.

Nice to fix

  • [ ] The linkage commands on the Github runners are adding several link flags to cdb like so -lcdb -lcdb -lcdb -lcdb -lcdb -lcdb
  • [ ] The MacOS linker is producing warnings about duplicate link flags, see if this can be avoided:
[116/121] Linking target pdns-zone2sql
ld: warning: ignoring duplicate libraries: '-lcurl'
[117/121] Linking target pdns-auth-control
ld: warning: ignoring duplicate libraries: '-lcurl'
[118/121] Linking target pdns-zone2json
ld: warning: ignoring duplicate libraries: '-lcurl'
[119/121] Linking target pdns-auth
ld: warning: ignoring duplicate libraries: '-lcurl'
[121/121] Linking target pdns-auth-util
ld: warning: ignoring duplicate libraries: '-lcurl'

fredmorcos avatar Mar 26 '24 18:03 fredmorcos