diff --git a/modules.d/45url-lib/module-setup.sh b/modules.d/45url-lib/module-setup.sh index 0fb3667a..e8b97003 100755 --- a/modules.d/45url-lib/module-setup.sh +++ b/modules.d/45url-lib/module-setup.sh @@ -12,6 +12,7 @@ depends() { } install() { + local _dir _crt _found inst_simple "$moddir/url-lib.sh" "/lib/url-lib.sh" dracut_install curl # also install libs for curl https @@ -20,11 +21,17 @@ install() { inst_libdir_file "libsoftokn3.so*" inst_libdir_file "libsqlite3.so*" - mkdir -m 0755 -p "$initdir/etc/ssl/certs" - if ! inst_any -t /etc/ssl/certs/ca-bundle.crt \ - /etc/ssl/certs/ca-bundle.crt \ - /etc/ssl/certs/ca-certificates.crt; then - dwarn "Couldn't find SSL CA cert bundle; HTTPS won't work." - fi + for _dir in $libdirs; do + [[ -d $_dir ]] || continue + _crt=$(grep -F --binary-files=text -z .crt $_dir/libcurl.so) + [[ $_crt ]] || continue + [[ $_crt == /*/* ]] || continue + if ! inst_simple "$_crt"; then + dwarn "Couldn't install '$_crt' SSL CA cert bundle; HTTPS might not work." + continue + fi + _found=1 + done + [[ $_found ]] || dwarn "Couldn't find SSL CA cert bundle; HTTPS won't work." }