meson: use install_symlink() where applicable

Now our baseline of meson is 0.62, hence install_symlink() can be used.

Note, install_symlink() implies install_emptydir() for specified
install_dir. Hence, this also drops several unnecessary
install_emptydir() calls.

Note, the function currently does not support 'relative' and 'force' flags,
so several 'ln -frsT' inline calls cannot be replaced.
This commit is contained in:
Yu Watanabe
2025-03-10 02:41:40 +09:00
parent ff697bb909
commit c0cc01de8a
20 changed files with 139 additions and 80 deletions
+12 -3
View File
@@ -34,9 +34,18 @@ if conf.get('ENABLE_SSH_USERDB_CONFIG') == 1
install_dir : sshdconfdir.startswith('/usr/') ? sshdconfdir : libexecdir / 'sshd_config.d')
if conf.get('LINK_SSHD_USERDB_DROPIN') == 1
install_emptydir(sshdconfdir)
if meson.version().version_compare('>=1.3.0')
install_symlink(
'20-systemd-userdb.conf',
pointing_to : fs.relative_to(libexecdir / 'sshd_config.d' / '20-systemd-userdb.conf',
sshdconfdir),
install_dir : sshdconfdir)
else
install_emptydir(sshdconfdir)
meson.add_install_script(sh, '-c',
ln_s.format(libexecdir / 'sshd_config.d' / '20-systemd-userdb.conf', sshdconfdir / '20-systemd-userdb.conf'))
meson.add_install_script(sh, '-c',
ln_s.format(libexecdir / 'sshd_config.d' / '20-systemd-userdb.conf',
sshdconfdir / '20-systemd-userdb.conf'))
endif
endif
endif