summaryrefslogtreecommitdiffstats
path: root/contrib/dracut/90zfs
diff options
context:
space:
mode:
authorнаб <[email protected]>2021-05-23 15:48:26 +0200
committerBrian Behlendorf <[email protected]>2021-06-09 13:05:34 -0700
commit998035d534bfa7c827168fc7a7f4bfec504ac5d5 (patch)
tree303fe11ec341fb33d27f38ac6dd8ee70e9ed09b4 /contrib/dracut/90zfs
parent64e38df23780fe97b6fa816484b1b17f5d4475c9 (diff)
dracut: 90zfs: module-setup: try /lib*/libgcc_s.so*, relax /u/l/gcc path
SUSE stores the library at /lib64/libgcc_s.so.1 (/lib/libgcc_s.so.1 for i686 glibc), which is in the search path Also relax the /usr/lib path to catch systems similar to SUSE (/usr/lib64/gcc/x86_64-suse-linux/10/libgcc_s.so) but without the top-level lib64 Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Ahelenia Ziemiańska <[email protected]> Closes #11750 Closes #12108
Diffstat (limited to 'contrib/dracut/90zfs')
-rwxr-xr-xcontrib/dracut/90zfs/module-setup.sh.in9
1 files changed, 6 insertions, 3 deletions
diff --git a/contrib/dracut/90zfs/module-setup.sh.in b/contrib/dracut/90zfs/module-setup.sh.in
index 90d4cfc63..1e97e674d 100755
--- a/contrib/dracut/90zfs/module-setup.sh.in
+++ b/contrib/dracut/90zfs/module-setup.sh.in
@@ -49,13 +49,16 @@ install() {
# On systems with gcc-config (Gentoo, Funtoo, etc.):
# Use the current profile to resolve the appropriate path
s="$(gcc-config -c)"
- dracut_install "/usr/lib/gcc/${s%-*}/${s##*-}/libgcc_s.so.1"
- elif ls /usr/lib/libgcc_s.so* >/dev/null 2>&1; then
+ dracut_install "/usr/lib/gcc/${s%-*}/${s##*-}/libgcc_s.so"*
+ elif [ "$(echo /usr/lib/libgcc_s.so*)" != "/usr/lib/libgcc_s.so*" ]; then
# Try a simple path first
dracut_install /usr/lib/libgcc_s.so*
+ elif [ "$(echo /lib*/libgcc_s.so*)" != "/lib*/libgcc_s.so*" ]; then
+ # SUSE
+ dracut_install /lib*/libgcc_s.so*
else
# Fallback: Guess the path and include all matches
- dracut_install /usr/lib/gcc/*/*/libgcc_s.so*
+ dracut_install /usr/lib*/gcc/**/libgcc_s.so*
fi
dracut_install @mounthelperdir@/mount.zfs
dracut_install @udevdir@/vdev_id