From: Otto Moerbeek Date: Wed, 12 Feb 2025 15:03:46 +0000 (+0100) Subject: rec: add install target to meson X-Git-Tag: dnsdist-2.0.0-alpha1~87^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cb436fd93e9966bffab45428126d2205f43a7ce4;p=thirdparty%2Fpdns.git rec: add install target to meson And always generate default config in YAML format --- diff --git a/pdns/recursordist/Makefile.am b/pdns/recursordist/Makefile.am index 32f27c7366..90070b3f1e 100644 --- a/pdns/recursordist/Makefile.am +++ b/pdns/recursordist/Makefile.am @@ -572,7 +572,7 @@ pubsuffix.cc: $(srcdir)/effective_tld_names.dat sysconf_DATA = recursor.yml-dist recursor.yml-dist: pdns_recursor - dir=$$(mktemp -d) && touch "$$dir/recursor.yml" && ./pdns_recursor --config-dir="$$dir" --config=default 2> /dev/null > $@ && rm "$$dir/recursor.yml" && rmdir "$$dir" + ./pdns_recursor --config-dir="$$dir" --config=default 2> /dev/null > $@ ## Manpages MANPAGES=pdns_recursor.1 \ diff --git a/pdns/recursordist/meson.build b/pdns/recursordist/meson.build index c3a877a384..bb999c3f2c 100644 --- a/pdns/recursordist/meson.build +++ b/pdns/recursordist/meson.build @@ -432,6 +432,8 @@ tools = { librec_signers_sodium, dep_pubsuffix, ], + 'install': true, + 'install_dir': get_option('sbindir'), }, 'rec_control': { 'main': src_dir / 'rec_control.cc', @@ -441,6 +443,7 @@ tools = { dep_recrust, dep_rust_recrust, ], + 'install': true, }, } @@ -541,6 +544,8 @@ foreach tool, info: tools export_dynamic = 'export-dynamic' in info ? info['export-dynamic'] : false files_extra = 'files-extra' in info ? info['files-extra'] : [] deps_extra = 'deps-extra' in info ? info['deps-extra'] : [] + install = 'install' in info ? info['install'] : false + install_dir = 'install_dir' in info ? info['install_dir'] : get_option('bindir') set_variable( var_name, @@ -554,6 +559,8 @@ foreach tool, info: tools librec_common, deps_extra, ], + install: install, + install_dir: install_dir, ) ) @@ -605,6 +612,10 @@ if python.found() endif if dep_systemd.found() + systemd_system_unit_dir = dep_systemd_prog.get_variable( + 'systemdsystemunitdir', + ) + systemd_service_conf = configuration_data() systemd_service_conf.set('BinDir', get_option('prefix') / get_option('bindir')) systemd_service_conf.set('StaticBinDir', get_option('prefix') / get_option('sbindir')) @@ -684,6 +695,8 @@ if dep_systemd.found() input: 'pdns-recursor.service.meson.in', output: 'pdns-recursor.service', configuration: rec_service_conf_general, + install: true, + install_dir: systemd_system_unit_dir, ) rec_service_conf_instance = configuration_data() @@ -699,5 +712,18 @@ if dep_systemd.found() input: 'pdns-recursor.service.meson.in', output: 'pdns-recursor@.service', configuration: rec_service_conf_instance, + install: true, + install_dir: systemd_system_unit_dir, ) endif + + +dep_conf_distfile = custom_target( + 'gen-conf-distfile', + command: [pdns_recursor, '--config=default'], + output: 'recursor.yml-dist', + capture: true, + install: true, + install_dir: get_option('sysconfdir'), +) + diff --git a/pdns/recursordist/rec-main.cc b/pdns/recursordist/rec-main.cc index 3fae0825f6..0666317678 100644 --- a/pdns/recursordist/rec-main.cc +++ b/pdns/recursordist/rec-main.cc @@ -3014,7 +3014,8 @@ static pair doConfig(Logr::log_t startupLog, const string& configname } } else if (config == "default" || config.empty()) { - cout << ::arg().configstring(false, true); + auto yaml = pdns::settings::rec::defaultsToYaml(); + cout << yaml << endl; } else if (config == "diff") { if (!::arg().laxFile(configname)) { @@ -3249,7 +3250,7 @@ int main(int argc, char** argv) } else { configname += ".conf"; - startupLog->info(Logr::Warning, "Trying to read YAML from .yml or .conf failed, failing back to old-style config read", "configname", Logging::Loggable(configname)); + startupLog->info(Logr::Warning, "Trying to read YAML from .yml or .conf failed, falling back to old-style config read", "configname", Logging::Loggable(configname)); bool mustExit = false; std::tie(ret, mustExit) = doConfig(startupLog, configname, argc, argv); if (ret != 0 || mustExit) {