#! /bin/sh # Update .so symlinks and remove obsolete diversions. # # Removing a diversion requires a guarantee that the conflicting # file is not present any more, and we cannot guarantee that if # some other version of binutils-multiarch is installed. # So we remove the diversions in postinst, not preinst. set -e old_diversion() { local divertto file file=$1 divertto=${2-$file.single} if dpkg-divert --package binutils-multiarch --list | grep -q -F "$divertto" then dpkg-divert --package binutils-multiarch \ --remove --rename \ --divert "$divertto" "$file" fi } # remove obsolete diversions old_diversion /usr/bin/ld.bfd old_diversion /usr/bin/c++filt old_diversion /usr/lib/libbfd.a /usr/lib/libbfd-single.a old_diversion /usr/lib/libopcodes.a /usr/lib/libopcodes-single.a old_diversion /usr/bin/ld old_diversion /usr/bin/elfedit for f in elf32_sparc elf32ppc elf64alpha elf_i386 m68kelf \ alpha i386linux m68klinux sparclinux sun4 do for ext in x xbn xn xr xs xu do old_diversion /usr/lib/ldscripts/$f.$ext done done old_diversion /usr/lib/libbfd-2.9.1.0.15.so.0.0.0 \ /usr/lib/libbfd-single-2.9.1.0.15.so.0.0.0 old_diversion /usr/lib/libopcodes-2.9.1.0.15.so.0.0.0 \ /usr/lib/libopcodes-single-2.9.1.0.15.so.0.0.0 old_diversion /usr/lib/libbfd.la /usr/lib/libbfd-single.la old_diversion /usr/lib/libopcodes.la /usr/lib/libopcodes-single.la old_diversion /usr/include/bfd.h /usr/include/bfd.single.h old_diversion /usr/lib/ldscripts rm -f /usr/lib/libbfd-*-multiarch.so.0 rm -f /usr/lib/libopcodes-*-multiarch.so.0 if [ "$1" = "configure" ]; then ldconfig fi