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
+24 -6
View File
@@ -4,15 +4,33 @@ install_data('70-systemd-shell-extra.sh', install_dir : shellprofiledir.startswi
install_data('80-systemd-osc-context.sh', install_dir : shellprofiledir.startswith('/usr/') ? shellprofiledir : libexecdir / 'profile.d')
if conf.get('LINK_SHELL_EXTRA_DROPIN') == 1
install_emptydir(shellprofiledir)
if meson.version().version_compare('>=1.3.0')
install_symlink(
'70-systemd-shell-extra.sh',
pointing_to : fs.relative_to(libexecdir / 'profile.d' / '70-systemd-shell-extra.sh',
shellprofiledir),
install_dir : shellprofiledir)
else
install_emptydir(shellprofiledir)
meson.add_install_script(sh, '-c',
ln_s.format(libexecdir / 'profile.d' / '70-systemd-shell-extra.sh', shellprofiledir / '70-systemd-shell-extra.sh'))
meson.add_install_script(sh, '-c',
ln_s.format(libexecdir / 'profile.d' / '70-systemd-shell-extra.sh',
shellprofiledir / '70-systemd-shell-extra.sh'))
endif
endif
if conf.get('LINK_OSC_CONTEXT_DROPIN') == 1
install_emptydir(shellprofiledir)
if meson.version().version_compare('>=1.3.0')
install_symlink(
'80-systemd-osc-context.sh',
pointing_to : fs.relative_to(libexecdir / 'profile.d' / '80-systemd-osc-context.sh',
shellprofiledir),
install_dir : shellprofiledir)
else
install_emptydir(shellprofiledir)
meson.add_install_script(sh, '-c',
ln_s.format(libexecdir / 'profile.d' / '80-systemd-osc-context.sh', shellprofiledir / '80-systemd-osc-context.sh'))
meson.add_install_script(sh, '-c',
ln_s.format(libexecdir / 'profile.d' / '80-systemd-osc-context.sh',
shellprofiledir / '80-systemd-osc-context.sh'))
endif
endif