idos-timetable-data-chaps-trains-cz-2026-latest
maintainer dreieck
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads timetable data and a license file from the official project host chaps.cz and its subdomain ttask.chaps.cz; despite the non-whitelisted host, this is the project's legitimate source, the data is non-executable, and the package otherwise follows standard AUR practices without signs of malicious behavior.
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 timetable data and a license file from the official project host chaps.cz and its subdomain ttask.chaps.cz; despite the non-whitelisted host, this is the project's legitimate source, the data is non-executable, and the package otherwise follows standard AUR practices without signs of malicious behavior.
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:66
"${_target}::https://ttakt.chaps.cz/TTAktual/Win/Zip/${_zipfile}" -
PKGBUILD:67
"IDOS-Licence.pdf::https://chaps.cz/files/idos/IDOS-Licence.pdf"
PKGBUILD
2 offending line(s) highlighted
1
# Maintainer: dreieck
2
3
# PKGBUILD last time manually edited: At least on 2025-12-10.
4
5
_year='26'
6
_prevyear="$(( ${_year} - 1 ))"
7
_zipfile="VLAK${_year}C.ZIP"
8
url="https://chaps.cz/eng/download/idos/zip#kotvatt"
9
#url="http://chaps.cz/eng/download/idos-new/zip#kotvatt" # URL valid for the time when the timetable is still in the future.
10
_pkgver() {
11
# Reason for a _pkgver(): Have something to run before source download so that we can have version aware source downloads.
12
# Do not use metadata of the source file, but do website parsing: So we do not need to download the file to (AUR-)update the package version with our own crude hacked script 'idos-aur-update-versions.sh'.
13
#date -r "${srcdir}/${_target}" +"%Y_%m_%d"
14
15
wget -nv -O- "${url}" | tr -d '\a' | tr '\n' '\a' | sed 's|^.*File '"${_zipfile}"'\(.*\)Zip/'"${_zipfile}"'.*$|\1\n|g' | tr '\a' '\n' | grep 'Update date:' | cut -d, -f1 | sed -r 's|([0-9]+)\.([0-9]+)\.([0-9]+).|\n\3_\2_\1\n|g' | grep -E '^[0-9]+_[0-9]+_[0-9]+' | sed -E -e 's|_([0-9])_|_0\1_|g' -e 's|_([0-9])$|_0\1|g'
16
}
17
18
_pkgname="idos-timetable-data-chaps-trains-cz-20${_year}"
19
pkgname="${_pkgname}-latest"
20
epoch=0
21
_pkgver="$(_pkgver)" # This should be set _before_ sources get downloaded.
22
pkgver="${_pkgver}"
23
pkgrel=1
24
pkgdesc="20${_prevyear}/20${_year} Timetable data for the timetable search engines by CHAPS: Czech trains."
25
arch=(any)
26
license=('custom')
27
28
groups=(
29
"idos-timetable"
30
)
31
depends=(
32
"idos-timetable-data-trains-common"
33
)
34
makedepends=(
35
"wget"
36
)
37
optdepends=(
38
"idos-timetable-tariff-trains-cz: For showing prices."
39
"idos-timetable-maps-trains-cz: For displaying routes on maps."
40
"idos-timetable-additionalinfo-trains-cz: For (links to) additional information about train composition and stations."
41
)
42
43
provides=(
44
"${_pkgname}=${pkgver}"
45
46
"idos-timetable-data=${pkgver}"
47
"idos-timetable-data-trains=${pkgver}"
48
49
"idos-timetable-data-trains-cz=${pkgver}"
50
"idos-timetable-data-trains-cz-20${_year}=${pkgver}"
51
)
52
53
replaces=(
54
'idos-timetable-data-chaps-trains-cz-latest'
55
)
56
57
conflicts=(
58
"${_pkgname}"
59
### The conflict will be handled by idos-timetable-data-chaps-all, if needed. Sometimes idos-timetable-data-chaps-all does not provide the train data, and then idos-timetable-data-chaps-all will depend on this package, thus this package should not have idos-timetable-data-chaps-all as conflict.
60
# "idos-timetable-data-chaps-all"
61
)
62
63
_target="vlak${_year}c-${_pkgver}.zip"
64
65
source=(
66
"${_target}::https://ttakt.chaps.cz/TTAktual/Win/Zip/${_zipfile}"
67
"IDOS-Licence.pdf::https://chaps.cz/files/idos/IDOS-Licence.pdf"
68
"license-dummy.txt"
69
)
70
71
sha256sums=(
72
'SKIP'
73
"SKIP"
74
"c6bb216055d3670d3100b7a74e04ce0644030f365f4349a09e630ef60fbcb9a4"
75
)
76
77
pkgver() {
78
printf '%s' "${_pkgver}"
79
}
80
81
82
package() {
83
_instdirbase='/opt/idos-timetable'
84
_instdir="${pkgdir}/${_instdirbase}"
85
install -d -m755 "${_instdir}"
86
87
cp -r "${srcdir}"/Data* "${_instdir}/"
88
chmod 755 "${_instdir}"/Data*
89
chmod 644 "${_instdir}"/Data*/*
90
rm -f "${_instdir}/Data1"/[vV][lL][aA][kK].[tT][tT][rR] # This one is provided by idos-timetable-data-trains-common.
91
92
install -d -m755 "${pkgdir}/usr/share/doc/${_pkgname}"
93
echo "${url}" > "${pkgdir}/usr/share/doc/${_pkgname}/info.url"
94
chmod 644 "${pkgdir}/usr/share/doc/${_pkgname}/info.url"
95
96
install -D -m644 "${srcdir}/license-dummy.txt" "${pkgdir}/usr/share/licenses/${pkgname}/copying.txt"
97
install -D -m644 "${srcdir}/IDOS-Licence.pdf" "${pkgdir}/usr/share/licenses/${pkgname}/IDOS-Licence.pdf"
98
}
99
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 |