test: don't fail if we don't need any external nss libs

On certain systems the `install_libnss()` function might end up with an
empty list of libraries to install, which triggers an assertion in
`image_install()`:

```
I: Install libnss
..//test-functions: line 2721: 1: parameter null or not set
make: *** [Makefile:4: setup] Error 1
```

E.g.:
```
# LD_DEBUG=files getent passwd 2>&1 >/dev/null | sed -n '/calling init: .*libnss_/ {s!^.* /!/!; p}'
/lib64/libnss_sss.so.2
/lib64/libnss_systemd.so.2
# dnf -y remove sssd-client systemd-libs
# LD_DEBUG=files getent passwd 2>&1 >/dev/null | sed -n '/calling init: .*libnss_/ {s!^.* /!/!; p}'
<no output>
```

Let's handle this case gracefully.
This commit is contained in:
Frantisek Sumsal 2022-09-06 14:04:37 +02:00 committed by Yu Watanabe
parent 3a8352cbf3
commit 90782fde46

View File

@ -1823,7 +1823,9 @@ install_libnss() {
# install libnss_files for login
local NSS_LIBS
mapfile -t NSS_LIBS < <(LD_DEBUG=files getent passwd 2>&1 >/dev/null | sed -n '/calling init: .*libnss_/ {s!^.* /!/!; p}')
image_install "${NSS_LIBS[@]}"
if [[ ${#NSS_LIBS[@]} -gt 0 ]]; then
image_install "${NSS_LIBS[@]}"
fi
}
install_dbus() {