inst_symlink: create parent dir if doesn't exist
If symlink is yet alone in target directory, inst_symlink will fail to create it. This is how to reproduce the bug: # mkdir /tmp/test # ln -s /bin/cp /tmp/test/cp # ./dracut -l -f -H /tmp/test.img -I /tmp/test/cp Result: [...] I: *** Including modules done *** ln: failed to create symbolic link `/var/tmp/initramfs.Z5isVu//tmp/test/cp': No such file or directory ln: failed to create symbolic link `/var/tmp/initramfs.Z5isVu//tmp/test/cp': No such file or directory I: Wrote /tmp/test.img: [...] Following patch creates directory for the symlink if it doesn't exist.master
parent
0cec230406
commit
e7da9734d8
|
@ -545,6 +545,7 @@ inst_symlink() {
|
|||
inst "$_realsrc"
|
||||
fi
|
||||
fi
|
||||
[[ ! -e $initdir/${_target%/*} ]] && inst_dir "${_target%/*}"
|
||||
[[ -d ${_target%/*} ]] && _target=$(readlink -f ${_target%/*})/${_target##*/}
|
||||
ln -sfn $(convert_abs_rel "${_target}" "${_realsrc}") "$initdir/$_target"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue