unrealtournament

maintainer XenGi · 17 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package downloads ISO images from archive.org, a legitimate archival service, and official patch binaries from GitHub; both sources are trustworthy and the files are verified via checksums, posing no real security risk.

Triggered rules

LOW AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads ISO images from archive.org, a legitimate archival service, and official patch binaries from GitHub; both sources are trustworthy and the files are verified via checksums, posing no real security risk.

1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM source=() URL on a non-standard host source_untrusted_domain

One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).

  • PKGBUILD:21 "https://archive.org/download/ut-goty/UT_GOTY_CD1.iso"

PKGBUILD

1 offending line(s) highlighted
1# Contributor: quantax -- contact via Arch Linux forum or AUR
2# M0Rf30
3# Mantainer: XenGi
4pkgname=unrealtournament
5pkgver=469e
6#pkgver=469e_rc10
7pkgrel=1
8pkgdesc="The classic Unreal Tournament from 1999 (GOTY + OldUnreal patches)"
9arch=('i686' 'x86_64' 'aarch64')
10url="http://www.unrealtournament.com/"
11license=('custom')
12conflicts=('unrealtournament-bonuspack1' 'unrealtournament-bonuspack2' 'unrealtournament-bonuspack3')
13depends=('libfmod' 'libxmp' 'mpg123' 'openal' 'sdl2-compat' 'sdl2_ttf')
14makedepends=('libarchive' # bsdtar: unpack ISO
15 'zstd') # zstdcat: unpack SVG
16source=("ut.desktop"
17 "ut.svg.zstd"
18 "UnrealTournament.ini"
19 "User.ini"
20 "ut-wrapper.sh"
21 "https://archive.org/download/ut-goty/UT_GOTY_CD1.iso"
22 "https://archive.org/download/ut-goty/UT_GOTY_CD2.iso")
23source_i686=("OldUnreal-UTPatch${pkgver}-Linux-x86.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver}/OldUnreal-UTPatch${pkgver}-Linux-x86.tar.bz2")
24source_x86_64=("OldUnreal-UTPatch${pkgver}-Linux-amd64.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver}/OldUnreal-UTPatch${pkgver}-Linux-amd64.tar.bz2")
25source_aarch64=("OldUnreal-UTPatch${pkgver}-Linux-arm64.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver}/OldUnreal-UTPatch${pkgver}-Linux-arm64.tar.bz2")
26#source_i686=("OldUnreal-UTPatch-${pkgver//_/-}-Linux-x86.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver//_/-}/OldUnreal-UTPatch${pkgver%%_*}-Linux-x86.tar.bz2")
27#source_x86_64=("OldUnreal-UTPatch-${pkgver//_/-}-Linux-amd64.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver//_/-}/OldUnreal-UTPatch${pkgver%%_*}-Linux-amd64.tar.bz2")
28#source_aarch64=("OldUnreal-UTPatch-${pkgver//_/-}-Linux-arm64.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver//_/-}/OldUnreal-UTPatch${pkgver%%_*}-Linux-arm64.tar.bz2")
29#noextract=("OldUnreal-UTPatch-${pkgver//_/-}-Linux-x86.tar.bz2"
30noextract=("OldUnreal-UTPatch${pkgver}-Linux-x86.tar.bz2"
31 "OldUnreal-UTPatch${pkgver}-Linux-amd64.tar.bz2"
32 "OldUnreal-UTPatch${pkgver}-Linux-arm64.tar.bz2"
33 "UT_GOTY_CD1.iso"
34 "UT_GOTY_CD2.iso")
35sha256sums=('fea5efdcac67564f2b5b8ef215115990739243a53a5f86e67f9414081d5b28dc'
36 '8fc6bc71f20b8395d75fad8b30d18fc6c9d39fee1f9633be090ad8fd779e8827'
37 'b03456f17f3e50627b3193519166aa554b5ee9aa6c8df37b0cc333708a949bda'
38 '66e96135314ab34b18a7b2041b6570fc4f3f8e9ed76a416bb019cf34e1b961d7'
39 'b944b7dec13b3b96230997695c8892ab06b764f004636629b72133d58aa8000f'
40 'e184984ca88f001c5ddd52035d76cd64e266e26c74975161b5ed72366c74704f'
41 'd95d8ee1cf95562ee023fd54035ec8813d4275f63d1847423220986edc8d00d8')
42sha256sums_i686=('cbd6d8016efb30e3982757a582c688532803721ec1ec738fc28af9b3e15d3c14')
43sha256sums_x86_64=('08c806aa3721b1970045aa158ad90051329d982e8a9a3661153900e9ccbf6b0c')
44sha256sums_aarch64=('4c3978073b12b049c3ffdeb4d275cfc7a2313650f3eb5b94db06fbfee77c3e3b')
45
46prepare() {
47 # Extract ISOs manually because makepkg would extract them into the same dir and overwrite the contents
48 mkdir -p ${srcdir}/cd1 ${srcdir}/cd2
49 bsdtar -x -f ${srcdir}/UT_GOTY_CD1.iso -C ${srcdir}/cd1
50 bsdtar -x -f ${srcdir}/UT_GOTY_CD2.iso -C ${srcdir}/cd2
51}
52
53package() {
54 # Create game directory
55 install --mode=755 -d -- ${pkgdir}/opt/ut/{Music,Sounds,Maps}
56
57 # Set system directory and unpack patch into game directory
58 if [ "$CARCH" = "i686" ]; then
59 _system_dir=/opt/ut/System
60 tar xaf ${srcdir}/OldUnreal-UTPatch${pkgver}-Linux-x86.tar.bz2 -C ${pkgdir}/opt/ut
61 elif [ "$CARCH" = "x86_64" ]; then
62 _system_dir=/opt/ut/System64
63 tar xaf ${srcdir}/OldUnreal-UTPatch${pkgver}-Linux-amd64.tar.bz2 -C ${pkgdir}/opt/ut
64 elif [ "$CARCH" = "aarch64" ]; then
65 _system_dir=/opt/ut/System64
66 tar xaf ${srcdir}/OldUnreal-UTPatch${pkgver}-Linux-arm64.tar.bz2 -C ${pkgdir}/opt/ut
67 fi
68
69 # fix permissions
70 find ${pkgdir}/opt/ut -type d -exec chmod 755 {} \;
71
72 # Remove bundled libraries to use native versions instead
73 rm -f \
74 ${pkgdir}${_system_dir}/libfmod.so* \
75 ${pkgdir}${_system_dir}/libmpg123.so* \
76 ${pkgdir}${_system_dir}/libopenal.so* \
77 ${pkgdir}${_system_dir}/libSDL2* \
78 ${pkgdir}${_system_dir}/libxmp.so*
79
80 # Copy the Music and Sounds directories from the isos into the game directory
81 install --mode=644 -t ${pkgdir}/opt/ut/Music ${srcdir}/cd1/Music/*
82 install --mode=644 -t ${pkgdir}/opt/ut/Sounds ${srcdir}/cd1/Sounds/*
83 install --mode=644 -t ${pkgdir}/opt/ut/Sounds ${srcdir}/cd2/Sounds/*
84
85 # Copy the contents of the Textures directory from the distribution directory into the existing Textures directory
86 # within your game directory WITHOUT REPLACING the existing files
87 cp --update=none ${srcdir}/cd1/Textures/* ${srcdir}/cd2/Textures/* ${pkgdir}/opt/ut/Textures/
88 # fix permissions
89 chmod 644 ${pkgdir}/opt/ut/Textures/*
90
91 # Create a Maps directory within the game directory and copy over the unpacked Maps (i.e., map files with a .unr
92 # extension) from the distribution directory
93 install --mode=644 -t ${pkgdir}/opt/ut/Maps ${srcdir}/cd1/Maps/*.unr
94
95 # Extract all compressed maps (i.e., maps with a .uz extension) into your game's Maps directory.
96 #find ${srcdir}/Maps/ -name "*.uz" -exec ${pkgdir}${_system_dir}/ucc-bin decompress {} -nohomedir \;
97 #set -- ${pkgdir}${_system_dir}/*.unr
98 #[ -f "$1" ] && mv ${pkgdir}${_system_dir}/*.unr ${pkgdir}/opt/ut/Maps
99 ## CD2 has a lower case maps directory
100 #find ${srcdir}/maps/ -name "*.uz" -exec ${pkgdir}${_system_dir}/ucc-bin decompress {} -nohomedir \;
101 #set -- ${pkgdir}${_system_dir}/*.unr
102 #[ -f "$1" ] && mv ${pkgdir}${_system_dir}/*.unr ${pkgdir}/opt/ut/Maps
103 # Uncompressing maps in parallel
104 for map in ${srcdir}/{cd1/Maps,cd2/maps}/*.uz; do
105 ${pkgdir}${_system_dir}/ucc-bin decompress $map -nohomedir >/dev/null &
106 done
107 wait
108 mv ${pkgdir}${_system_dir}/*.unr ${pkgdir}/opt/ut/Maps
109
110 # cleanup
111 rm ${pkgdir}${_system_dir}/ucc.log
112
113 # copy optimized default config
114 install --mode=644 -t ${pkgdir}${_system_dir} ${srcdir}/UnrealTournament.ini
115 install --mode=644 -t ${pkgdir}${_system_dir} ${srcdir}/User.ini
116
117 # Copy the .u and .int files from CD2 to the game's System directory.
118 install --mode=644 -t ${pkgdir}${_system_dir} ${srcdir}/cd2/System/*.u
119 install --mode=644 -t ${pkgdir}${_system_dir} ${srcdir}/cd2/System/*.int
120
121 #install --mode 755 -d -- ${pkgdir}/usr/bin
122 #ln -s ${_system_dir}/ut-bin ${pkgdir}/usr/bin/ut
123 install --mode=755 -D -- "${srcdir}/ut-wrapper.sh" "${pkgdir}/usr/bin/ut"
124 install --mode=755 -d -- "${pkgdir}/usr/share/pixmaps"
125 zstdcat "${srcdir}/ut.svg.zstd" > "${pkgdir}/usr/share/pixmaps/ut.svg"
126 install --mode=644 -D -- "${srcdir}/ut.desktop" "${pkgdir}/usr/share/applications/ut.desktop"
127 #install --mode=644 -D -- "${srcdir}/ut-wayland.desktop" "${pkgdir}/usr/share/applications/ut-wayland.desktop"
128 install --mode=644 -D -- "${pkgdir}/opt/ut/LICENSE.md" "${pkgdir}/usr/share/licenses/unrealtournament/LICENSE.md"
129
130 # fix ownership
131 chown -R root:root ${pkgdir}/opt/ut
132}
133
134

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 LOW 2
2026-08-02 00:16:08 LOW 2
2026-08-01 00:11:18 LOW 2
2026-07-31 00:14:10 LOW 2
2026-07-30 00:17:23 LOW 2
2026-07-29 00:25:53 LOW 2
2026-07-28 00:07:28 LOW 2
2026-07-27 00:24:32 LOW 2
2026-07-26 00:07:32 LOW 2
2026-07-25 00:13:44 LOW 2
2026-07-24 00:02:28 LOW 2
2026-07-23 00:14:47 LOW 2
2026-07-22 00:29:32 LOW 2
2026-07-21 00:24:15 LOW 2
2026-07-20 00:19:49 LOW 2
2026-07-19 00:17:08 LOW 2
2026-07-18 00:14:48 LOW 2
2026-07-17 00:06:16 LOW 2
2026-07-16 00:05:41 LOW 2
2026-07-15 00:09:25 LOW 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion