diff --git a/meson.build b/meson.build index 499f0f4d79..f17c8798cc 100644 --- a/meson.build +++ b/meson.build @@ -204,11 +204,13 @@ sshconfdir = get_option('sshconfdir') if sshconfdir == '' sshconfdir = sysconfdir / 'ssh/ssh_config.d' endif +conf.set10('LINK_SSH_PROXY_DROPIN', sshconfdir != 'no' and not sshconfdir.startswith('/usr/')) 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/ssh-generator/meson.build b/src/ssh-generator/meson.build index ab01da3c05..d5413f71ab 100644 --- a/src/ssh-generator/meson.build +++ b/src/ssh-generator/meson.build @@ -18,10 +18,12 @@ if conf.get('ENABLE_SSH_PROXY_CONFIG') == 1 output : '20-systemd-ssh-proxy.conf', command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'], install : true, - install_dir : libexecdir / 'ssh_config.d') + install_dir : sshconfdir.startswith('/usr/') ? sshconfdir : libexecdir / 'ssh_config.d') - install_emptydir(sshconfdir) + if not sshconfdir.startswith('/usr/') + install_emptydir(sshconfdir) - meson.add_install_script(sh, '-c', - ln_s.format(libexecdir / 'ssh_config.d' / '20-systemd-ssh-proxy.conf', sshconfdir / '20-systemd-ssh-proxy.conf')) + meson.add_install_script(sh, '-c', + ln_s.format(libexecdir / 'ssh_config.d' / '20-systemd-ssh-proxy.conf', sshconfdir / '20-systemd-ssh-proxy.conf')) + endif endif diff --git a/src/userdb/meson.build b/src/userdb/meson.build index 35303533c3..413f2bea9f 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-ssh-generator.conf.in b/tmpfiles.d/20-systemd-ssh-generator.conf.in index 6d1a6a3e31..dbe354a2d2 100644 --- a/tmpfiles.d/20-systemd-ssh-generator.conf.in +++ b/tmpfiles.d/20-systemd-ssh-generator.conf.in @@ -7,7 +7,9 @@ # See tmpfiles.d(5) for details +{% if LINK_SSH_PROXY_DROPIN %} L {{SSHCONFDIR}}/20-systemd-ssh-proxy.conf - - - - {{LIBEXECDIR}}/ssh_config.d/20-systemd-ssh-proxy.conf +{% endif %} {% if CREATE_SSHDPRIVSEPDIR %} d {{SSHDPRIVSEPDIR}} 0755 {% endif %} diff --git a/tmpfiles.d/20-systemd-userdb.conf.in b/tmpfiles.d/20-systemd-userdb.conf.in index 1ef7a9e8bc..c344c1b9e7 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 %}