fix(dracut): prevent symbolic links containing `//`

Results in `usr/lib64 -> ..//usr/lib` for Arch Linux otherwise.
master
Harald Hoyer 2021-05-12 15:09:35 +02:00 committed by Harald Hoyer
parent 22d6863ef1
commit de0c0872fc
1 changed files with 2 additions and 0 deletions

View File

@ -1838,6 +1838,7 @@ fi

if [[ $prefix ]]; then
for d in bin etc lib sbin tmp usr var $libdirs; do
d=${d#/}
[[ $d == */* ]] && continue
ln -sfn "${prefix#/}/${d#/}" "$initdir/$d"
done
@ -1845,6 +1846,7 @@ fi

if [[ $kernel_only != yes ]]; then
for d in usr usr/bin usr/sbin bin etc lib sbin tmp var var/tmp $libdirs; do
d=${d#/}
[[ -e "${initdir}${prefix}/$d" ]] && continue
if [ -L "/$d" ]; then
inst_symlink "/$d" "${prefix}/$d"