Skip to content

Commit

Permalink
Fixing cache_path: taking into account the three forms of ldd output …
Browse files Browse the repository at this point in the history
…lines.
  • Loading branch information
Tails developers committed Sep 7, 2011
1 parent d47bea5 commit a8ee91a
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion debian/live-boot.init
Expand Up @@ -49,8 +49,24 @@ cache_path()
then
if file -L "${path}" | grep -q 'dynamically linked'
then
for lib in $(ldd "${path}" | awk '{ print $3 }')
# ldd output can be of three forms:
# 1. linux-vdso.so.1 => (0x00007fffe3fb4000)
# This is a virtual, kernel shared library and we want to skip it
# 2. libc.so.6 => /lib/libc.so.6 (0x00007f5e9dc0c000)
# We want to cache the third word.
# 3. /lib64/ld-linux-x86-64.so.2 (0x00007f5e9df8b000)
# We want to cache the first word.
ldd "${path}" | while read line
do
if echo "$line" | grep -qs ' => '
then
continue
elif echo "$line" | grep -qs ' => '
then
lib=$(echo "${line}" | awk '{ print $3 }')
else
lib=$(echo "${line}" | awk '{ print $1 }')
fi
cache_path "${lib}"
done
fi
Expand Down

0 comments on commit a8ee91a

Please sign in to comment.