source: pkg/security/vinnie/main/eglibc/trunk/debian/script.in/nohwcap.sh @ 6973

Revision 6973, 1.5 KB checked in by alanbach-guest, 3 years ago (diff)
  • Added vinnie and eglibc to Vinnie
Line 
1    # Handle upgrades when libc-opt package has been installed.
2    # When a /etc/ld.so.nohwcap file exists, ld.so only use libraries
3    # from /lib, and ignore all optimised libraries. This file is
4    # inconditionaly created in the preinst script of libc.
5 
6    # Get the list of optimized packages for a given architecture
7    # Before removing a package from this list, make sure it appears
8    # in the Conflicts: line of libc.
9    case $(dpkg --print-architecture) in
10        alpha)
11            hwcappkgs="libc6-alphaev67"
12            ;;
13        i386)
14            hwcappkgs="libc6-i686 libc6-xen"
15            ;;
16        kfreebsd-i386)
17            hwcappkgs="libc0.1-i686"
18            ;;
19        sparc)
20            hwcappkgs="libc6-sparcv9 libc6-sparcv9b"
21            ;;
22    esac
23 
24    # We check the version between the current installed libc and
25    # all optimized packages (on architectures where such packages
26    # exists).
27    all_upgraded=yes
28    if [ -n "$hwcappkgs" ]; then
29        for pkg in $hwcappkgs ; do
30            ver=$(dpkg-query -l $pkg 2>/dev/null | sed -e '/^[a-z][a-z]\s/!d;/^.[nc]/d;' -e "s/^..\s\+$pkg\s\+//;s/\s.*//g")
31            if [ -n "$ver" ] && [ "$ver" != "CURRENT_VER" ]; then
32                all_upgraded=no
33            fi
34        done
35    fi
36
37    # If the versions of all optimized packages are the same as the libc
38    # one, we could remove /etc/ld.so.nohwcap. Otherwise, it will be removed
39    # when all optimized packages are upgraded or removed.
40    if [ "$all_upgraded" = yes ] ; then
41        rm -f /etc/ld.so.nohwcap
42    fi
Note: See TracBrowser for help on using the repository browser.