summaryrefslogtreecommitdiffstats
path: root/0069-dracut-functions.sh-inst_simple-do-inst_symlink-for-.patch
diff options
context:
space:
mode:
Diffstat (limited to '0069-dracut-functions.sh-inst_simple-do-inst_symlink-for-.patch')
-rw-r--r--0069-dracut-functions.sh-inst_simple-do-inst_symlink-for-.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/0069-dracut-functions.sh-inst_simple-do-inst_symlink-for-.patch b/0069-dracut-functions.sh-inst_simple-do-inst_symlink-for-.patch
new file mode 100644
index 0000000..c163fad
--- /dev/null
+++ b/0069-dracut-functions.sh-inst_simple-do-inst_symlink-for-.patch
@@ -0,0 +1,43 @@
+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