This file is indexed.

/usr/share/ioquake3/q3arch is in ioquake3-server 1.36+u20140116+gdde36d9-1.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  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
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#!/bin/sh
# Usage: q3arch arch|platform|compat_arch BUILD|HOST
#
# Output an architecture or platform name that Quake 3 could use for the
# build or host CPU architecture or operating system.

set -e

case $1 in

arch|compat_arch)
    # In the upstream Makefile the architecture is given by uname -m, with the
    # following substitutions:
    #
    # i.86 -> x86 (used to be i386)
    # powerpc -> ppc
    # powerpc64 -> ppc64
    # axp -> alpha on Linux and FreeBSD (used to be axp)
    #
    # However, for most architectures the build system doesn't actually care,
    # it's just "some other architecture", so we can get away with using the
    # GNU CPU as-is. i386, ppc and x86_64 are the unusual ones.
    #
    # On the other hand, in q_platform.h it all becomes rather more
    # significant: the engine expects to see one of:
    #
    # x86, x86_64, AXP (Windows)
    # x86, x86_64, ppc64, ppc, s390, s390x, ia64, alpha, sparc, arm, cris,
    #    hppa, mips, sh (Linux, kFreeBSD)
    # some subset of the Linux set (Mac OS, *BSD, SunOS, Irix)

    DEB_X_GNU_CPU=`dpkg-architecture -qDEB_$2_GNU_CPU`
    COMPAT_Q3ARCH=

    case ${DEB_X_GNU_CPU} in

    i?86)
        Q3ARCH=x86
	COMPAT_Q3ARCH=i386
        ;;

    alpha)
        Q3ARCH=alpha
	COMPAT_Q3ARCH=axp
        ;;

    powerpc)
        Q3ARCH=ppc
        ;;

    powerpc64)
        Q3ARCH=ppc64
        ;;

    mipsel)
        Q3ARCH=mips
	;;

    x86_64|s390|s390x|ia64|sparc|hppa|mips|arm)
        Q3ARCH=${DEB_X_GNU_CPU}
	;;

    sh4)
        Q3ARCH=sh
        ;;

    *)
        echo "CPU ${DEB_X_GNU_CPU} not supported by Quake 3, might not work" >&2
        Q3ARCH=${DEB_X_GNU_CPU}
        ;;

    esac

    case $1 in
    (arch)
        echo "DEB_$2_GNU_CPU = ${DEB_X_GNU_CPU}, using Q3 architecture ${Q3ARCH}">&2
        echo ${Q3ARCH}
        ;;
    (compat_arch)
        if test -n "${COMPAT_ARCH}"; then
            echo "DEB_$2_GNU_CPU = ${DEB_X_GNU_CPU}, older ioquake3 would use ${COMPAT_ARCH}">&2
            echo ${COMPAT_ARCH}
        fi
        ;;
    esac

    ;;

platform)
    # In the upstream Makefile the platform is given by uname, with the
    # following substitutions:
    #
    # anything after _ removed
    # folded to lower case
    # / -> _
    #
    # This would result in Debian builds being done for linux, gnu_kfreebsd and
    # gnu.
    #
    # However, for most platform names the build system doesn't actually care,
    # it's just "some other platform", so we can get away with using the
    # GNU system as-is.
    #
    # (For instance, on Debian kFreeBSD buildd, uname says GNU/kFreeBSD whereas
    # the GNU CPU type is kfreebsd-gnu, but that's not important because the
    # Makefile doesn't actually do anything different.)

    DEB_X_GNU_SYSTEM=`dpkg-architecture -qDEB_$2_GNU_SYSTEM`

    case ${DEB_X_GNU_SYSTEM} in

    linux-gnu*)
        # including, but not limited to:
	# arm-linux-gnueabi (Debian armel: ARM EABI, LE)
	# arm-linux-gnueabihf (Debian armhf: ARM EABI, LE, hardfloat)
	# powerpc-linux-gnuspe (Debian powerpcspe: Signal Processing Extension)
        Q3OS=linux
        ;;

    *)
        Q3OS=${DEB_X_GNU_SYSTEM}
        ;;

    esac

    echo "DEB_$2_GNU_SYSTEM = ${DEB_X_GNU_SYSTEM}, using Q3 platform ${Q3OS}">&2
    echo ${Q3OS}

    ;;

*)
    echo "Usage: sh q3arch.sh arch|compat_arch|platform BUILD|HOST" >&2
    exit 1
    ;;

esac

# Copyright 2009-2013 Simon McVittie <smcv@debian.org>
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided this notice is preserved.
# This file is offered as-is, without any warranty.