Upload Tizen:Base source
[external/binutils.git] / debian / binutils-multiarch.postinst
1 #! /bin/sh
2 # Update .so symlinks and remove obsolete diversions.
3 #
4 # Removing a diversion requires a guarantee that the conflicting
5 # file is not present any more, and we cannot guarantee that if
6 # some other version of binutils-multiarch is installed.
7 # So we remove the diversions in postinst, not preinst.
8 set -e
9 old_diversion() {
10         local divertto file
11         file=$1
12         divertto=${2-$file.single}
13         if
14                 dpkg-divert --package binutils-multiarch --list |
15                 grep -q -F "$divertto"
16         then
17                 dpkg-divert --package binutils-multiarch \
18                                 --remove --rename \
19                                 --divert "$divertto" "$file"
20         fi
21 }
22
23 # remove obsolete diversions
24 old_diversion /usr/bin/ld.bfd
25 old_diversion /usr/bin/c++filt
26 old_diversion /usr/lib/libbfd.a /usr/lib/libbfd-single.a
27 old_diversion /usr/lib/libopcodes.a /usr/lib/libopcodes-single.a
28 old_diversion /usr/bin/ld
29 old_diversion /usr/bin/elfedit
30 for f in elf32_sparc elf32ppc elf64alpha elf_i386 m68kelf \
31          alpha i386linux m68klinux sparclinux sun4
32 do
33         for ext in x xbn xn xr xs xu
34         do
35                 old_diversion /usr/lib/ldscripts/$f.$ext
36         done
37 done
38 old_diversion /usr/lib/libbfd-2.9.1.0.15.so.0.0.0 \
39               /usr/lib/libbfd-single-2.9.1.0.15.so.0.0.0
40 old_diversion /usr/lib/libopcodes-2.9.1.0.15.so.0.0.0 \
41               /usr/lib/libopcodes-single-2.9.1.0.15.so.0.0.0
42 old_diversion /usr/lib/libbfd.la /usr/lib/libbfd-single.la
43 old_diversion /usr/lib/libopcodes.la /usr/lib/libopcodes-single.la
44 old_diversion /usr/include/bfd.h /usr/include/bfd.single.h
45 old_diversion /usr/lib/ldscripts
46
47 rm -f /usr/lib/libbfd-*-multiarch.so.0
48 rm -f /usr/lib/libopcodes-*-multiarch.so.0
49
50 if [ "$1" = "configure" ]; then
51         ldconfig
52 fi