]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix(dracut.sh): kmoddir does not handle trailing /
authorPavel Valena <pvalena@redhat.com>
Fri, 24 Feb 2023 18:19:59 +0000 (19:19 +0100)
committerLaszlo Gombos <laszlo.gombos@gmail.com>
Mon, 27 Feb 2023 13:26:40 +0000 (08:26 -0500)
Fixes https://github.com/dracutdevs/dracut/issues/2236

+(/) only works in bash interactive mode. Using any non-interactive
bash run simply doesn't remove anything.

The solution is copied from dracut-lib.sh, trim().

dracut.sh

index 1aa3f8e1f977f5ee50e8e258e9b75aa11cf34c41..0c0f85c2dbc15f4ca526333eb975d64a56f56a25 100755 (executable)
--- a/dracut.sh
+++ b/dracut.sh
@@ -1033,7 +1033,7 @@ stdloglvl=$((stdloglvl + verbosity_mod_l))
 ((stdloglvl < 0)) && stdloglvl=0
 
 [[ $drivers_dir_l ]] && drivers_dir=$drivers_dir_l
-drivers_dir="${drivers_dir%%+(/)}"
+drivers_dir="${drivers_dir%"${drivers_dir##*[!/]}"}"
 [[ $do_strip_l ]] && do_strip=$do_strip_l
 [[ $do_strip ]] || do_strip=yes
 [[ $aggressive_strip_l ]] && aggressive_strip=$aggressive_strip_l