skia2/tools/mirror-dev.sh
Ben Wagner 22499b0969 Update mirror-dev for *-dev:amd64 packages.
Some dev packages in debian have been updated to multiarch, but not all.
Deal with this transitional issue, since there are multiarch dev
packages which cannot actually be installed because they depend on other
not yet multi-arch packages.

Change-Id: I3881c82cef8d6004d8bac0c18e9c34ce0808dc1a
Reviewed-on: https://skia-review.googlesource.com/69701
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2017-11-09 22:44:57 +00:00

39 lines
1.5 KiB
Bash
Executable File

# Copyright 2013 Google Inc. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# For each installed *-dev package DEV
for DEV in $(dpkg --list | grep '^ii [^ ]' | cut -d ' ' -f 3 | grep -P '\-dev($|\:amd64$)')
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