ca-certs: generate install artifacts and improve certdata/trust-store compatibility

- stop committing generated man/completion files in contrib/
- generate man page and shell completions during Meson install via install-generated-docs.sh
- switch reqwest to native-tls and add Mozilla hg bootstrap certs with openssl fallback fetch
- make certdata sync use a temporary auto-cleaned workspace by default
- add BLFS/make-ca compatibility outputs and symlinks under /etc/pki and /etc/ssl
- validate extracted outputs are non-empty and add tests for temp sync output behavior
This commit is contained in:
2026-02-28 00:47:16 -06:00
parent eb80972c0a
commit 11580aebcf
10 changed files with 669 additions and 1643 deletions
+7 -29
View File
@@ -14,15 +14,6 @@ tracked_rust_inputs = files(
'src/main.rs',
)
# Track packaging assets in one place so install rules stay auditable.
tracked_packaging_assets = files(
'LICENSE',
'contrib/ca-certs.8',
'contrib/completions/ca-certs.bash',
'contrib/completions/ca-certs.fish',
'contrib/completions/_ca-certs',
)
tracked_install_paths = [
join_paths(get_option('bindir'), 'ca-certs'),
join_paths(get_option('datadir'), 'licenses', meson.project_name(), 'LICENSE'),
@@ -54,31 +45,18 @@ ca_certs_bin = custom_target(
install_dir: get_option('bindir'),
)
install_data(
'contrib/ca-certs.8',
install_dir: join_paths(get_option('mandir'), 'man8'),
)
install_data(
'contrib/completions/ca-certs.bash',
install_dir: join_paths(get_option('datadir'), 'bash-completion', 'completions'),
rename: 'ca-certs',
)
install_data(
'contrib/completions/ca-certs.fish',
install_dir: join_paths(get_option('datadir'), 'fish', 'vendor_completions.d'),
)
install_data(
'contrib/completions/_ca-certs',
install_dir: join_paths(get_option('datadir'), 'zsh', 'site-functions'),
meson.add_install_script(
sh,
files('scripts/install-generated-docs.sh'),
ca_certs_bin_path,
get_option('mandir'),
get_option('datadir'),
)
summary(
{
'tracked rust inputs': tracked_rust_inputs.length(),
'tracked packaging assets': tracked_packaging_assets.length(),
'generated docs on install': true,
'tracked install paths': '\n ' + '\n '.join(tracked_install_paths),
},
section: 'Packaging',