etlegacy32-mod

LOW
maintainer belst 7 votes base etlegacy32 scanned 2026-11-01 00:21:48.120785
View on AUR
Why flagged

The non-standard host hosts a mod file (PK3 and a 32-bit library) for ET:Legacy, which are data and a prebuilt binary module; while the binary module poses a potential risk, it is specific to the game and not a generic remote code execution, reducing severity to low.

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-2507) reviewed the full PKGBUILD and judged it LOW (confidence 90%): The non-standard host hosts a mod file (PK3 and a 32-bit library) for ET:Legacy, which are data and a prebuilt binary module; while the binary module poses a potential risk, it is specific to the game and not a generic remote code execution, reducing severity to low.

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:17 "https://www.etlegacy.com/download/file/772")

PKGBUILD

1 offending line(s) highlighted
1# ET:Legacy is provided as a cross-compiled 32 bit version for compatibility reason with existing 32 bit mods.
2# On a 64 bits system, [multilib] must be enabled and multilib-devel installed for 32 bits cross-compilation.
3# The engine is dynamically compiled, while the official precompiled mod libraries are provided.
4
5_pkgbase=etlegacy
6pkgbase=etlegacy32
7pkgname=('etlegacy32' 'etlegacy32-mod')
8pkgver=2.86.1
9pkgrel=1
10arch=('i686' 'x86_64')
11url="http://www.etlegacy.com/"
12license=('GPL3' 'custom')
13makedepends=('cmake' 'zip')
14makedepends_i686=('alsa-lib' 'curl' 'freetype2' 'gcc-libs' 'glew' 'libjpeg-turbo' 'libvorbis' 'sdl2' 'minizip' 'openal' 'libtheora' 'sqlite' 'cjson')
15makedepends_x86_64=('lib32-alsa-lib' 'lib32-curl' 'lib32-freetype2' 'lib32-gcc-libs' 'lib32-glew' 'lib32-libjpeg-turbo' 'lib32-libvorbis' 'lib32-sdl2' 'lib32-minizip' 'lib32-openal' 'lib32-libtheora' 'lib32-sqlite' 'lib32-cjson')
16source=("https://github.com/etlegacy/etlegacy/archive/v$pkgver.tar.gz"
17 "https://www.etlegacy.com/download/file/772")
18sha256sums=('33aaeaccb53ffe54715abd03e2c6e52eac8af56228c161d731b8657e19bec058'
19 '8e2657396c2162c625d09e540295a1e417e7df97f1f5be0c822d5ec0a3b97ab9')
20
21build() {
22 cd "$_pkgbase-$pkgver"
23
24 # fix for https://archlinux.org/todo/prepare-packages-for-d_fortify_source3/
25 export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
26 export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
27
28 if [[ "$CARCH" == "i686" ]]; then
29 cmakeopts+=(
30 '-DCMAKE_LIBRARY_PATH=/usr/lib'
31 '-DCMAKE_PREFIX_PATH=/usr/lib/cmake'
32 '-DCROSS_COMPILE32=0'
33 )
34 else
35 cmakeopts+=(
36 '-DCMAKE_LIBRARY_PATH=/usr/lib32'
37 '-DCMAKE_PREFIX_PATH=/usr/lib32/cmake'
38 '-DCROSS_COMPILE32=1'
39 )
40 fi
41
42 echo "OPTS" ${cmakeopts[@]}
43
44 cmake . ${cmakeopts[@]} \
45 -DCMAKE_BUILD_TYPE=Release \
46 -DCMAKE_INSTALL_PREFIX=/usr \
47 -DINSTALL_DEFAULT_BASEDIR=/usr/lib/etlegacy\
48 -DINSTALL_DEFAULT_BINDIR=bin \
49 -DINSTALL_DEFAULT_MODDIR=lib/etlegacy \
50 -DBUILD_SERVER=1 \
51 -DBUILD_CLIENT=1 \
52 -DBUILD_MOD=0 \
53 -DBUILD_MOD_PK3=0 \
54 -DBUNDLED_LIBS=0 \
55 -DFEATURE_AUTOUPDATE=0 \
56 -DINSTALL_OMNIBOT=0
57
58 make
59}
60
61package_etlegacy32() {
62 pkgdesc="Wolfenstein: Enemy Territory 2.60b compatible client/server (etlegacy engine, 32 bit)"
63 depends=('etlegacy32-mod')
64 depends_i686=('alsa-lib' 'curl' 'freetype2' 'gcc-libs' 'glew' 'libjpeg-turbo' 'libvorbis' 'lua' 'sdl2' 'minizip' 'openal' 'libtheora' 'sqlite' 'cjson')
65 depends_x86_64=('lib32-alsa-lib' 'lib32-curl' 'lib32-freetype2' 'lib32-gcc-libs' 'lib32-glew' 'lib32-libjpeg-turbo' 'lib32-libvorbis' 'lib32-lua' 'lib32-sdl2' 'lib32-minizip' 'lib32-openal' 'lib32-libtheora' 'lib32-sqlite' 'lib32-cjson')
66 provides=('etlegacy')
67 conflicts=('etlegacy')
68 backup=('etc/xdg/etlegacy/etmain/etl_server.cfg'
69 'etc/xdg/etlegacy/etmain/legacy.cfg'
70 'etc/xdg/etlegacy/etmain/campaigncycle.cfg'
71 'etc/xdg/etlegacy/etmain/lmscycle.cfg'
72 'etc/xdg/etlegacy/etmain/mapvotecycle.cfg'
73 'etc/xdg/etlegacy/etmain/objectivecycle.cfg')
74 install=etlegacy.install
75
76 cd "$_pkgbase-$pkgver"
77
78 # engine
79 make DESTDIR="$pkgdir/" install
80
81 # mod
82 rm -rf $pkgdir/usr/lib/$_pkgbase/legacy
83
84 # assets
85 ln -s /usr/share/enemy-territory/etmain/{pak0,pak1,pak2}.pk3 $pkgdir/usr/lib/$_pkgbase/etmain/
86
87 # doc
88 mkdir -p $pkgdir/usr/share/doc/$_pkgbase
89 install -m 644 docs/game/anticheat.html $pkgdir/usr/share/doc/$_pkgbase/
90
91 # license
92 mkdir -p $pkgdir/usr/share/licenses/$_pkgbase
93
94 # systemd
95 mkdir -p $pkgdir/etc/xdg/$_pkgbase/etmain
96 mkdir -p $pkgdir/usr/lib/systemd/system
97 install -m 644 misc/etlegacy.conf $pkgdir/etc/xdg/$_pkgbase/
98 install -m 644 misc/etlegacy.service.in $pkgdir/usr/lib/systemd/system/etlegacy-x86.service
99
100 # config
101 mv $pkgdir/usr/lib/$_pkgbase/etmain/*.cfg $pkgdir/etc/xdg/$_pkgbase/etmain/
102 ln -s /etc/xdg/$_pkgbase/etmain/{etl_server,legacy,{campaign,lms,mapvote,objective}cycle}.cfg $pkgdir/usr/lib/$_pkgbase/etmain/
103
104 # server
105 mkdir -p $pkgdir/var/lib/$_pkgbase-server
106 ln -s /etc/xdg/$_pkgbase/etmain $pkgdir/var/lib/$_pkgbase-server/
107}
108
109package_etlegacy32-mod() {
110 pkgdesc="Wolfenstein: Enemy Territory 2.60b compatible client/server (etlegacy mod, 32 bit)"
111 depends=('enemy-territory-data' 'geoip-database')
112 optdepends=('etlegacy-omnibot: artificial intelligence (AI) controlled opponent'
113 'geoip-database: GeoLite country geolocation database')
114 provides=('etlegacy-mod')
115 conflicts=('etlegacy-mod')
116
117 # mod
118 mkdir -p $pkgdir/usr/lib/$_pkgbase/legacy
119 install -m 644 $srcdir/etlegacy-v$pkgver-i386/legacy/legacy_v$pkgver.pk3 $pkgdir/usr/lib/$_pkgbase/legacy
120 install -m 644 $srcdir/etlegacy-v$pkgver-i386/legacy/qagame.mp.i386.so $pkgdir/usr/lib/$_pkgbase/legacy
121
122 # geoip
123 ln -s /usr/share/GeoIP/GeoIP.dat $pkgdir/usr/lib/$_pkgbase/legacy
124}
125
126

Scan history

Scanned at (UTC)SeverityRules
2026-11-01 00:21:48 Low 2
2026-10-31 00:07:41 Low 2
2026-10-30 00:29:30 Low 2
2026-10-29 00:13:55 Low 2
2026-10-28 00:06:54 Low 2
2026-10-27 00:23:28 Low 2
2026-10-26 00:12:40 Low 2
2026-10-25 00:20:48 Low 2
2026-10-24 00:14:55 Low 2
2026-10-23 00:02:19 Low 2
2026-10-22 00:13:10 Low 2
2026-10-21 00:12:50 Low 2
2026-10-20 00:10:31 Low 2
2026-10-19 00:03:55 Low 2
2026-10-18 00:06:55 Low 2
2026-10-17 00:21:55 Low 2
2026-10-16 00:12:47 Low 2
2026-10-15 00:28:05 Low 2
2026-10-14 00:06:47 Low 2
2026-10-13 00:23:45 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