diff options
author | Mike Klein <mtklein@google.com> | 2015-02-03 10:43:28 -0500 |
---|---|---|
committer | Mike Klein <mtklein@google.com> | 2015-02-03 10:43:28 -0500 |
commit | 7e80c889deb5ef3df2afa80520d380ae225b4e72 (patch) | |
tree | db5d5b09390141d56255b768937eca81c1a62dfd /tools | |
parent | 4c93a126889bf71b2eab5a5fa6375d731809dcb8 (diff) |
Land Ben's 32-bit symlink script.
BUG=skia:
Review URL: https://codereview.chromium.org/890613005
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/mirror-dev.sh | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/mirror-dev.sh b/tools/mirror-dev.sh new file mode 100755 index 0000000000..0512a78ea3 --- /dev/null +++ b/tools/mirror-dev.sh @@ -0,0 +1,34 @@ + # For each installed *-dev package DEV + for DEV in $(dpkg --list | grep '^ii [^ ]' | cut -d ' ' -f 3 | grep '\-dev$') + do + # For each multi-arch *.so SO installed by DEV + for DEV_64_SO in $(dpkg -L $DEV | grep '/lib/x86_64-linux-gnu/.*\.so$') + do + # Skip if DEV_64_SO is not a symlink + if ! test -L $DEV_64_SO + then + echo "$DEV installed $DEV_64_SO which is real." + continue + fi + + DEV_64_TARGET=$(readlink $DEV_64_SO) + DEV_64_TARGET_FULL=$(readlink -f $DEV_64_SO) + + DEV_32_SO=$(echo $DEV_64_SO | sed -e 's@/lib/x86_64-linux-gnu/@/lib/i386-linux-gnu/@') + DEV_32_TARGET=$(echo $DEV_64_TARGET | sed -e 's@/lib/x86_64-linux-gnu/@/lib/i386-linux-gnu/@') + DEV_32_TARGET_FULL=$(echo $DEV_64_TARGET_FULL | sed -e 's@/lib/x86_64-linux-gnu/@/lib/i386-linux-gnu/@') + + # Error if DEV_32_TARGET does not exist. + if ! test -e $DEV_32_TARGET_FULL + then + DEV_64_TARGET_PKG=$(dpkg -S $DEV_64_TARGET_FULL | cut -d ':' -f 1) + echo "Could not find $DEV_32_TARGET_FULL, probably provided by $DEV_64_TARGET_PKG:i386." + #echo " $DEV_64_SO -> $DEV_64_TARGET ($DEV_64_TARGET_FULL)" + #echo " $DEV_32_SO -> $DEV_32_TARGET ($DEV_32_TARGET_FULL)" + continue + fi + + # Create DEV_32_SO + sudo ln -s $DEV_32_TARGET $DEV_32_SO + done + done |