eccodes
maintainer jankoh
· 15 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads source code and test data from official ECMWF domains (confluence.ecmwf.int and get.ecmwf.int), which are legitimate project hosts despite not being on standard whitelisted domains; the sources are verified with matching sha512sums and built locally, posing no remote code execution or 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-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads source code and test data from official ECMWF domains (confluence.ecmwf.int and get.ecmwf.int), which are legitimate project hosts despite not being on standard whitelisted domains; the sources are verified with matching sha512sums and built locally, posing no remote code execution or 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:16
"${pkgname}-${pkgver}-Source.tar.gz::https://confluence.ecmwf.int/download/attachments/${_attnum}/${pkgname}-${pkgver}-Source.tar.gz?api=v2" -
PKGBUILD:17
"${pkgname}-${pkgver}-test-data.tar.gz::https://get.ecmwf.int/repository/test-data/eccodes/eccodes_test_data.tar.gz"
PKGBUILD
2 offending line(s) highlighted
1
# Maintainer: "Jan Kohnert <bughunter@jan-kohnert.de"
2
# Contributor: Graziano Giuliani <graziano.giuliani@poste.it>
3
pkgname=eccodes
4
pkgver=2.48.0
5
_attnum=45757960
6
pkgrel=1
7
pkgdesc="ECMWF decoding library for GRIB, BUFR and GTS"
8
arch=("i686" "x86_64")
9
url="https://confluence.ecmwf.int/display/ECC/ecCodes+Home"
10
license=("Apache-2.0")
11
depends=("glibc" "libaec" "libgcc" "libgfortran" "libpng" "libstdc++" "openjpeg2" "netcdf")
12
makedepends=("gcc-fortran" "cmake")
13
optdepends=("bash" "ksh")
14
conflicts=("grib_api" "libbufr-ecmwf")
15
source=(
16
"${pkgname}-${pkgver}-Source.tar.gz::https://confluence.ecmwf.int/download/attachments/${_attnum}/${pkgname}-${pkgver}-Source.tar.gz?api=v2"
17
"${pkgname}-${pkgver}-test-data.tar.gz::https://get.ecmwf.int/repository/test-data/eccodes/eccodes_test_data.tar.gz"
18
)
19
sha512sums=(
20
"9e1b7c456ed65a06415038b2181543ce89ad9aa606380653d635b4304f5ef0ec243742702b441b265e927b98242bbc342ebd55e2426627dc1a40ab45e5ce3674"
21
"8b4c7159dd7ed0e1e69068ec7dcabe94064f0d2abf9eac4fca2a9c730d500999e8edf1e7eeebba6fb12ae99b223c1b0843e31414538333c52f2508cb2d410151"
22
)
23
24
build() {
25
# make sure we have a clean build environment
26
if [ -d build ]; then
27
rm -rf build
28
fi
29
local cmake_options=(
30
-B build
31
-S "$pkgname-$pkgver-Source"
32
-W no-dev
33
-D CMAKE_BUILD_TYPE=None
34
-D CMAKE_INSTALL_PREFIX=/usr
35
-D CMAKE_INSTALL_DATADIR=/usr/share
36
-D CMAKE_INSTALL_DATAROOTDIR="/usr/share/$pkgname/definitions"
37
-D ENABLE_AEC=ON
38
-D ENABLE_ECCODES_THREADS=ON
39
-D ENABLE_EXTRA_TESTS=ON
40
-D ENABLE_JPG=ON
41
-D ENABLE_JPG_LIBJASPER=OFF
42
-D ENABLE_JPG_LIBOPENJPEG=ON
43
-D ENABLE_PNG=ON
44
)
45
cmake "${cmake_options[@]}"
46
cmake --build build
47
}
48
49
check() {
50
# copy extra test data to build dir so we can skip downloading data while testing
51
cp -a data/* build/data/
52
# Test 'eccodes_t_grib_ecc-2221' does not work reliably an all machines
53
local excluded_tests="eccodes_t_grib_ecc-2221"
54
local ctest_flags=(
55
--test-dir build
56
# show the stdout and stderr when the test fails
57
--output-on-failure
58
# execute tests in parallel
59
--parallel $(nproc)
60
# exclude problematic tests
61
--exclude-regex "$excluded_tests"
62
)
63
ctest "${ctest_flags[@]}"
64
}
65
66
package() {
67
DESTDIR="$pkgdir" cmake --install build
68
}
69
Changes since previous scan
--- PKGBUILD @ 2026-07-25 00:13+++ PKGBUILD @ 2026-08-03 00:08@@ -1,7 +1,7 @@ # Maintainer: "Jan Kohnert <bughunter@jan-kohnert.de" # Contributor: Graziano Giuliani <graziano.giuliani@poste.it> pkgname=eccodes-pkgver=2.47.0+pkgver=2.48.0 _attnum=45757960 pkgrel=1 pkgdesc="ECMWF decoding library for GRIB, BUFR and GTS"@@ -17,7 +17,7 @@ "${pkgname}-${pkgver}-test-data.tar.gz::https://get.ecmwf.int/repository/test-data/eccodes/eccodes_test_data.tar.gz" ) sha512sums=(- "4cb0491c327d2832dc3e4b14a67a90e4d6b459c2baa132a6a37c5e7d4886eb3ea0e83dcbc95aa9487c207c685dc4ed338b743be60345a581725d2cba80e11ae8"+ "9e1b7c456ed65a06415038b2181543ce89ad9aa606380653d635b4304f5ef0ec243742702b441b265e927b98242bbc342ebd55e2426627dc1a40ab45e5ce3674" "8b4c7159dd7ed0e1e69068ec7dcabe94064f0d2abf9eac4fca2a9c730d500999e8edf1e7eeebba6fb12ae99b223c1b0843e31414538333c52f2508cb2d410151" ) Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 09:29:42 | MEDIUM | 1 |
| 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 |