dracut/0069-dracut-functions.sh-inst_simple-do-inst_symlink-for-.patch
Harald Hoyer 53e9906e08 dracut-019-92.git20120625
- support vlan tagged binding
- speedup initramfs emergency service
- speedup image creation
- fix installkernel() return codes
Resolves: rhbz#833256
- add qemu and qemu-net modules to add qemu drivers even in host-only
- speedup btrfs and xfs fsck (nop)
- no more mknod in the initramfs (fixes plymouth on s390)
2012-06-25 14:08:03 +02:00

44 lines
1.6 KiB
Diff

From 7953a6ab718185096e5729482f91b319d4a67e90 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 22 Jun 2012 15:09:07 +0200
Subject: [PATCH] dracut-functions.sh:inst_simple() do inst_symlink for
symlinks
---
dracut-functions.sh | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index b9ce688..273d2a5 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -424,18 +424,21 @@ inst_simple() {
[[ -f "$1" ]] || return 1
strstr "$1" "/" || return 1
- local _src=$1 target="${2:-$1}"
- if ! [[ -d ${initdir}/$target ]]; then
- [[ -e ${initdir}/$target ]] && return 0
- [[ -L ${initdir}/$target ]] && return 0
- [[ -d "${initdir}/${target%/*}" ]] || inst_dir "${target%/*}"
+ local _src=$1 _target="${2:-$1}"
+
+ [[ -L $_src ]] && return inst_symlink $_src $_target
+
+ if ! [[ -d ${initdir}/$_target ]]; then
+ [[ -e ${initdir}/$_target ]] && return 0
+ [[ -L ${initdir}/$_target ]] && return 0
+ [[ -d "${initdir}/${_target%/*}" ]] || inst_dir "${_target%/*}"
fi
# install checksum files also
if [[ -e "${_src%/*}/.${_src##*/}.hmac" ]]; then
- inst "${_src%/*}/.${_src##*/}.hmac" "${target%/*}/.${target##*/}.hmac"
+ inst "${_src%/*}/.${_src##*/}.hmac" "${_target%/*}/.${_target##*/}.hmac"
fi
ddebug "Installing $_src"
- cp --reflink=auto --sparse=auto -pfL "$_src" "${initdir}/$target"
+ cp --reflink=auto --sparse=auto -pfL "$_src" "${initdir}/$_target"
}
# find symlinks linked to given library file