From 50d80ec5aced978ed2e41b437ef85b186f020bba Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 24 May 2024 15:38:13 +0200 Subject: [PATCH] meson: don't put a symlink pointing to '20-systemd-userdb.conf' in /etc in all cases It's only needed on distros where sshd doesn't support drop-ins in /usr, which is not the case on SUSE. --- meson.build | 1 + src/userdb/meson.build | 10 ++++++---- tmpfiles.d/20-systemd-userdb.conf.in | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index 3eedf9251be..cf9f6fa10df 100644 --- a/meson.build +++ b/meson.build @@ -210,6 +210,7 @@ sshdconfdir = get_option('sshdconfdir') if sshdconfdir == '' sshdconfdir = sysconfdir / 'ssh/sshd_config.d' endif +conf.set10('LINK_SSHD_USERDB_DROPIN', sshdconfdir != 'no' and not sshdconfdir.startswith('/usr/')) sshdprivsepdir = get_option('sshdprivsepdir') conf.set10('CREATE_SSHDPRIVSEPDIR', sshdprivsepdir != 'no' and not sshdprivsepdir.startswith('/usr/')) diff --git a/src/userdb/meson.build b/src/userdb/meson.build index 35303533c37..413f2bea9fd 100644 --- a/src/userdb/meson.build +++ b/src/userdb/meson.build @@ -31,10 +31,12 @@ if conf.get('ENABLE_SSH_USERDB_CONFIG') == 1 output : '20-systemd-userdb.conf', command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'], install : true, - install_dir : libexecdir / 'sshd_config.d') + install_dir : sshdconfdir.startswith('/usr/') ? sshdconfdir : libexecdir / 'sshd_config.d') - install_emptydir(sshdconfdir) + if not sshdconfdir.startswith('/usr/') + 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 diff --git a/tmpfiles.d/20-systemd-userdb.conf.in b/tmpfiles.d/20-systemd-userdb.conf.in index 1ef7a9e8bc1..c344c1b9e77 100644 --- a/tmpfiles.d/20-systemd-userdb.conf.in +++ b/tmpfiles.d/20-systemd-userdb.conf.in @@ -7,4 +7,6 @@ # See tmpfiles.d(5) for details +{% if LINK_SSHD_USERDB_DROPIN %} L {{SSHDCONFDIR}}/20-systemd-userdb.conf - - - - {{LIBEXECDIR}}/sshd_config.d/20-systemd-userdb.conf +{% endif %}