blob: 0345fe604c1b850051663e1c0d1bfe9b9002405f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#! /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
|