File 0534-ssh-client-Include-nss_-libraries.patch of Package dracut.openSUSE_Leap_15.0_Update

From 9c2c061b2f1760c96b3cc9bcd38d7c1b5f25061d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michal=20Koutn=C3=BD?= <mkoutny@suse.com>
Date: Tue, 15 Aug 2017 15:25:18 +0200
Subject: [PATCH] ssh-client: Include nss_ libraries

SSH uses passwd database and thus need various NSS plugin libraries,
depending upon setting in nsswitch.conf.

SSH binary fails within the dracut environment without the libraries:

    #:/ ssh
    No user exist for uid 0
---
 modules.d/95ssh-client/module-setup.sh | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh
index 0a0e80cd..a6945c1f 100755
--- a/modules.d/95ssh-client/module-setup.sh
+++ b/modules.d/95ssh-client/module-setup.sh
@@ -56,7 +56,16 @@ inst_sshenv()
 
 # called by dracut
 install() {
+    local _nsslibs
+
     inst_multiple ssh scp
     inst_sshenv
+
+    _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
+        |  tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+    _nsslibs=${_nsslibs#|}
+    _nsslibs=${_nsslibs%|}
+
+    inst_libdir_file -n "$_nsslibs" 'libnss_*.so*'
 }
 
-- 
2.12.3

openSUSE Build Service is sponsored by