bahn-regio-entfernungsrechner-bin
maintainer dreieck
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a ZIP file and PDF manual from the official EGV website, which is the project's legitimate source; the non-whitelisted host is the project's own domain, and the content is a self-contained Windows executable meant to run under Wine, 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-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a ZIP file and PDF manual from the official EGV website, which is the project's legitimate source; the non-whitelisted host is the project's own domain, and the content is a self-contained Windows executable meant to run under Wine, 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:41
"entfernungsrechner_${_programdate}.zip::https://www.evg-online.org/fileadmin/Service/Entfernungsrechner/${_programdate}_Entfernungsrechner.zip"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: dreieck
2
3
# PKGBUILD last time manually edited: At least on 2023-06-05.
4
5
_pkgname=bahn-regio-entfernungsrechner
6
pkgname="${_pkgname}-bin"
7
epoch=0
8
_programdate=220106
9
pkgver="3.2d_${_programdate}"
10
pkgrel=1
11
pkgdesc="Calculates fare kilometres for subscription tickets for DB regio. Upstream name: 'Entfernungsrechner für Fahrvergünstigungen.'"
12
arch=(
13
'i686'
14
'x86_64'
15
)
16
url="https://www.evg-online.org/deine-vorteile/services/service-meldungen/entfernungsrechner-fuer-fahrverguenstigungen/"
17
license=('custom')
18
19
groups=()
20
21
depends=(
22
"wine"
23
)
24
makedepends=()
25
optdepends=()
26
provides=(
27
"${_pkgname}=${pkgver}"
28
"${_pkgname}-doc=${pkgver}"
29
)
30
conflicts=(
31
"${_pkgname}"
32
"${_pkgname}-latest"
33
)
34
replaces=(
35
"${_pkgname}-latest<=3d_20180202"
36
"${_pkgname}<=1:3.2d_20210104"
37
)
38
39
40
source=(
41
"entfernungsrechner_${_programdate}.zip::https://www.evg-online.org/fileadmin/Service/Entfernungsrechner/${_programdate}_Entfernungsrechner.zip"
42
"entfernungsrechner.sh"
43
"Entfernungsrechner_Benutzerhandbuch.pdf::https://www.evg-online.org/fileadmin/Service/Entfernungsrechner/handbuch_entfernungsrechner-data.pdf"
44
"license-dummy.txt"
45
)
46
47
sha256sums=(
48
"6c5e9a44f9e9d9a4afa29b2c63f977f129ceb30a1a97881ec2f5ab26db9babc5" # entfernungsrechner_${_programdate}_${_programdate}.zip
49
"8347288b3a402c8075e5ccc24d23f3ae123ebebedd4116ed5e2352cf1a7b24ac" # entfernungsrechner.sh
50
"f3a566dec531484b4d3b864c958cff554e006362921d971704817f8fd60e814b" # Entfernungsrechner_Benutzerhandbuch.pdf
51
"b90a755ef3db2a12766725c1f5e0d31bebb08a700d240b4304624768c38ed9eb" # license-dummy.txt
52
)
53
54
noextract=(
55
"entfernungsrechner_${_programdate}.zip"
56
)
57
58
options=(
59
"emptydirs"
60
)
61
62
# pkgver() {
63
# _ver="$(curl -s -L ${url} | grep Version | sed -n 's|^.*Version \([^ ]*\) .*$|\1|p')"
64
# _datestr="$(curl -s -L ${url} | grep Version | sed -n 's|^.*Version \([^ ]*\) vom \([^ )]*\).*|\2|p')"
65
# _date="$(echo "${_datestr}" | awk -F . '{print $3$2$1}')"
66
#
67
# if [ -z "${_ver}" ]; then
68
# {
69
# echo ""
70
# echo "pkgver() Error: Could not determine version."
71
# echo ""
72
# } > /dev/stderr
73
# return 1
74
# elif [ -z "${_date}" ]; then
75
# {
76
# echo ""
77
# echo "pkgver() Error: Could not determine datestamp."
78
# echo ""
79
# } > /dev/stderr
80
# return 2
81
# else
82
# echo "${_ver}_${_date}"
83
# fi
84
# }
85
86
87
package() {
88
_instdirbase='/opt/entfernungsrechner'
89
_instdir="${pkgdir}/${_instdirbase}"
90
_execdirbase='/usr/bin'
91
_execdir="${pkgdir}/${_execdirbase}"
92
_docdirbase="/usr/share/doc/${_pkgname}"
93
_docdir="${pkgdir}/${_docdirbase}"
94
_licensedirbase="/usr/share/licenses/${pkgname}"
95
_licensedir="${pkgdir}/${_licensedirbase}"
96
97
install -v -d -m755 "${_instdir}"
98
install -v -d -m755 "${_instdir}/doc"
99
install -v -d -m755 "${_execdir}"
100
install -v -d -m755 "${_docdir}"
101
102
(
103
cd "${_instdir}"
104
bsdtar -x -v -f "${srcdir}/entfernungsrechner_${_programdate}.zip"
105
chmod 644 *
106
chmod 755 *.[eE][xX][eE]
107
)
108
109
install -v -D -m755 "${srcdir}/entfernungsrechner.sh" "${_execdir}/entfernungsrechner"
110
111
install -v -D -m644 "${srcdir}/Entfernungsrechner_Benutzerhandbuch.pdf" "${_instdir}/doc/Entfernungsrechner_Benutzerhandbuch.pdf"
112
echo "${url}" > "${_instdir}/doc/info.url"
113
chmod 644 "${_instdir}/doc/info.url"
114
115
install -v -D -m644 "${srcdir}/license-dummy.txt" "${_licensedir}/license-dummy.txt"
116
117
(
118
cd "${_docdir}"
119
ln -v -s "${_instdirbase}/doc/Entfernungsrechner_Benutzerhandbuch.pdf" .
120
ln -v -s "${_instdirbase}/doc/info.url" .
121
)
122
123
chmod 755 "${_docdir}"
124
chmod 755 "${_instdir}"
125
chmod 755 "${_instdir}/doc"
126
}
127
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 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 |