summaryrefslogtreecommitdiffstats
path: root/debian/sse2-support.preinst
blob: 7bd584bcbdf8d88cf65133b4503e49b2491877c1 (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
#!/bin/sh
set -e

if [ "$1" = install ] || [ "$1" = upgrade ]; then
    FILE="/usr/libexec/x86_64-linux-gnu/isa-support/test-SSE2"
    # "exec >;command" instead of "command >" looks strange but regular
    # redirections don't fully work within qemu-user.
    ret=0;(exec >/dev/null 2>&1; "$FILE") || ret=$?
    if [ $ret -ne 0 ] && [ -n "$IGNORE_ISA" ]; then
        cat >&2 <<END
This machine doesn't support SSE2, but override (IGNORE_ISA) is enabled.
Continuing...
END
	ret=0
    fi

    if [ $ret -eq 126 ]; then
        cat >&2 <<END
Couldn't execute test binary for SSE2, you either do foreign multi-arch
without qemu or do something strange.  Assuming you know what you're doing.
Continuing...
END
	ret=0
    fi

    if [ $ret -ne 0 ]; then
        # Fail noisily, first via debconf (if installed).
        if [ -e /usr/share/debconf/confmodule ]; then

            . /usr/share/debconf/confmodule
            db_version 2.0

            db_fset SSE2-support/fail seen false ||:
            db_reset SSE2-support/fail ||:
            db_input critical SSE2-support/fail ||:
            db_go ||:
            db_stop ||:
        fi

        cat >&2 <<END
This machine doesn't support SSE2, sorry.
Aborting.
END
        exit 2
    fi
fi

#DEBHELPER#

exit 0