dotnet-aot-xc

maintainer czirok · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package downloads prebuilt toolchain tarballs from toolchains.bootlin.com, a known and legitimate embedded Linux toolchain provider, and installs them with verified checksums; while the host is not universally whitelisted, the content is legitimate build tooling used in a standard way, posing minimal supply-chain 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 prebuilt toolchain tarballs from toolchains.bootlin.com, a known and legitimate embedded Linux toolchain provider, and installs them with verified checksums; while the host is not universally whitelisted, the content is legitimate build tooling used in a standard way, posing minimal supply-chain 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:24 source=("https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--glibc--bleeding-edge-2025.08-1.tar.xz"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Ferenc Czirok <ferenc@czirok.net>
2# Packager: Ferenc Czirok <ferenc@czirok.net>
3
4pkgname=dotnet-aot-xc
5pkgver=2025.08
6pkgrel=2
7pkgdesc="Complete cross-compilation toolchain for .NET AOT (linux-x64, linux-arm64, linux-musl-x64, linux-musl-arm64). Run 'dotnet-aot-xc --help' for usage"
8arch=("x86_64")
9url="https://toolchains.bootlin.com"
10license=(
11 'GPL-2.0-or-later'
12 'GPL-3.0-or-later'
13 'GPL-3.0-or-later WITH GCC-exception-3.1'
14 'ISC'
15 'LGPL-3.0-or-later'
16 'MIT'
17 'Python-2.0'
18 'Zlib'
19)
20groups=('devel')
21
22options=('!strip' '!emptydirs')
23
24source=("https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--glibc--bleeding-edge-2025.08-1.tar.xz"
25 "https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--musl--bleeding-edge-2025.08-1.tar.xz"
26 "https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--bleeding-edge-2025.08-1.tar.xz"
27 "https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--musl--bleeding-edge-2025.08-1.tar.xz"
28 "dotnet-aot-xc.sh")
29
30sha256sums=('dc986211c6a8701868277d52e8f5061ea13d119ce0d9f23b61f1b0373984479b'
31 '830644a5f9c921fd8df2d40ab80dd81f03a662e5a7ad3cee20dbe2fde0de272e'
32 '54875d12829a792b8d4d1c9fb1f736afc60f514b0d260616f188eafafaac7cb5'
33 'e102fe06809440bbca3b6d0d8837ffdb5122b07386d1d2ac023084d898aafe7b'
34 'acd6a47a60fef238101f948ae20bc7f27f9852e8c6eadd0d88878a643e78fe23')
35
36build() {
37 cd "$srcdir"
38
39 declare -A relocations=(
40 ["aarch64--glibc--bleeding-edge-2025.08-1"]="/opt/dotnet-aot-xc/linux-arm64"
41 ["aarch64--musl--bleeding-edge-2025.08-1"]="/opt/dotnet-aot-xc/linux-musl-arm64"
42 ["x86-64--glibc--bleeding-edge-2025.08-1"]="/opt/dotnet-aot-xc/linux-x64"
43 ["x86-64--musl--bleeding-edge-2025.08-1"]="/opt/dotnet-aot-xc/linux-musl-x64"
44 )
45
46 for dir in "${!relocations[@]}"; do
47 msg2 "Relocating $dir to ${relocations[$dir]}"
48 cd "$dir"
49 sh relocate-sdk.sh "${relocations[$dir]}"
50 cd "$srcdir"
51 done
52}
53
54package() {
55 cd "$srcdir"
56
57 # Create base directory
58 install -dm755 "$pkgdir/opt/dotnet-aot-xc"
59
60 # Install toolchains
61 msg2 "Installing toolchains..."
62 cp -a "aarch64--glibc--bleeding-edge-2025.08-1" "$pkgdir/opt/dotnet-aot-xc/linux-arm64"
63 cp -a "aarch64--musl--bleeding-edge-2025.08-1" "$pkgdir/opt/dotnet-aot-xc/linux-musl-arm64"
64 cp -a "x86-64--glibc--bleeding-edge-2025.08-1" "$pkgdir/opt/dotnet-aot-xc/linux-x64"
65 cp -a "x86-64--musl--bleeding-edge-2025.08-1" "$pkgdir/opt/dotnet-aot-xc/linux-musl-x64"
66
67 # Install helper script
68 install -Dm755 "$srcdir/dotnet-aot-xc.sh" "$pkgdir/opt/dotnet-aot-xc/dotnet-aot-xc.sh"
69
70 # Symlink to /usr/bin
71 install -dm755 "$pkgdir/usr/bin"
72 ln -s /opt/dotnet-aot-xc/dotnet-aot-xc.sh "$pkgdir/usr/bin/dotnet-aot-xc"
73
74 # Create GCC wrapper scripts to filter --target flag
75 msg2 "Creating GCC wrapper scripts..."
76
77 # linux-x64 wrapper (passthrough for consistency)
78 cat > "$pkgdir/opt/dotnet-aot-xc/linux-x64/bin/x86_64-linux-gcc" << 'EOF'
79#!/bin/bash
80exec x86_64-buildroot-linux-gnu-gcc.br_real "$@"
81EOF
82 chmod +x "$pkgdir/opt/dotnet-aot-xc/linux-x64/bin/x86_64-linux-gcc"
83
84 # linux-arm64 wrapper
85 cat > "$pkgdir/opt/dotnet-aot-xc/linux-arm64/bin/aarch64-linux-gcc" << 'EOF'
86#!/bin/bash
87args=()
88for arg in "$@"; do
89 [[ "$arg" != --target=* ]] && args+=("$arg")
90done
91exec aarch64-buildroot-linux-gnu-gcc.br_real "${args[@]}"
92EOF
93 chmod +x "$pkgdir/opt/dotnet-aot-xc/linux-arm64/bin/aarch64-linux-gcc"
94
95 # linux-musl-arm64 wrapper
96 cat > "$pkgdir/opt/dotnet-aot-xc/linux-musl-arm64/bin/aarch64-linux-musl-gcc" << 'EOF'
97#!/bin/bash
98args=()
99for arg in "$@"; do
100 [[ "$arg" != --target=* ]] && args+=("$arg")
101done
102exec aarch64-buildroot-linux-musl-gcc.br_real "${args[@]}"
103EOF
104 chmod +x "$pkgdir/opt/dotnet-aot-xc/linux-musl-arm64/bin/aarch64-linux-musl-gcc"
105
106 # linux-musl-x64 wrapper
107 cat > "$pkgdir/opt/dotnet-aot-xc/linux-musl-x64/bin/x86_64-linux-musl-gcc" << 'EOF'
108#!/bin/bash
109args=()
110for arg in "$@"; do
111 [[ "$arg" != --target=* ]] && args+=("$arg")
112done
113exec x86_64-buildroot-linux-musl-gcc.br_real "${args[@]}"
114EOF
115 chmod +x "$pkgdir/opt/dotnet-aot-xc/linux-musl-x64/bin/x86_64-linux-musl-gcc"
116}

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