]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
dracut-functions: fixed installing libraries which links to another directory
authorJon Ander Hernandez <jonan.h@gmail.com>
Thu, 17 Feb 2011 09:35:27 +0000 (10:35 +0100)
committerHarald Hoyer <harald@redhat.com>
Thu, 17 Feb 2011 09:50:18 +0000 (10:50 +0100)
$ ldd `which bash` | grep ld
/lib64/ld-linux-x86-64.so.2 (0x00007fa1cc3ff000)

$ readlink -f /lib64/ld-linux-x86-64.so.2
/lib/ld-2.12.1.so

So inst_library /lib64/ld-linux-x86-64.so.2 was doing :

(cd "/tmp/initramfs.4uaeD9/lib64" && ln -s "/lib/ld-2.12.1.so"
 "ld-linux-x86-64.so.2")

But, /tmp/initramfs.4uaeD9/lib64 -> /lib... :-S

dracut-functions

index ebcb7d8fb5da8dfbe98b7040033a8b6d5c61bb7f..1cb43e756938f9573be8763db9d9eacc4f29a696 100755 (executable)
@@ -302,6 +302,8 @@ inst_library() {
         lib=${src##*/}
         inst_simple "$reallib" "$reallib"
         inst_dir "${dest%/*}"
+        [[ -L ${initdir}${dest%/*} ]] && \
+        dest=$(readlink -f ${initdir}${dest%/*})/
         (cd "${initdir}${dest%/*}" && ln -s "$reallib" "$lib")
     else
         inst_simple "$src" "$dest"