stavekontrolden
maintainer Freso
· 11 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a dictionary extension from the project's official domain for building, which is normal AUR packaging; the source is data, not executable code, and the checksum is verified.
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 a dictionary extension from the project's official domain for building, which is normal AUR packaging; the source is data, not executable code, and the checksum is verified.
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:27
source=("https://stavekontrolden.dk/dictionaries/da_DK/da_DK-$pkgver.oxt")
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Frederik “Freso” S. Olesen <archlinux@freso.dk>
2
# Contributor: Frederik Nordahl Jul Sabroe <frederikns at gmail dot com>
3
# Contributor: adament <adament@adament.net>
4
# Contributor: Jamie Magee <jamie dot magee at gmail dot com>
5
pkgname=stavekontrolden
6
pkgver=2.9.117
7
pkgrel=1
8
pkgdesc='Danish dictionaries; for use with multiple programs'
9
arch=('any')
10
url='https://stavekontrolden.dk/'
11
license=('GPL-3.0-only AND (GPL-2.0-only AND LGPL-2.1-only AND MPL-1.1)')
12
optdepends=(
13
'hunspell: the spell checking libraries and apps'
14
'hyphen: for use of hyphenation rules'
15
'libmythes: for use of thesaurus dictionary')
16
makedepends=(
17
'libarchive'
18
'coreutils'
19
'findutils')
20
provides=(
21
'libreoffice-extension-da_dk'
22
'openoffice-extension-da_dk'
23
'hunspell-da'
24
'hyphen-da'
25
'mythes-da')
26
conflicts=("${provides[@]}")
27
source=("https://stavekontrolden.dk/dictionaries/da_DK/da_DK-$pkgver.oxt")
28
b2sums=('ba08046fe78c9daefa1502997ac0a2bfbaaf30cb4648d3d5bf81750b14b9b756a3e98688b21e1611e11f12f6429874c6a172380a1336046ca03feea96642c4eb')
29
30
package() {
31
# LibreOffice extension
32
_extension_dir="${pkgdir}"/usr/lib/libreoffice/share/extensions/da_DK
33
install -dm755 "${_extension_dir}"
34
bsdtar -xf da_DK-$pkgver.oxt -C "${_extension_dir}"/
35
36
# Symlink for OpenOffice
37
install -dm755 "${pkgdir}"/opt/openoffice4/share/extensions
38
ln -s /usr/lib/libreoffice/share/extensions/da_DK "${pkgdir}"/opt/openoffice4/share/extensions/da_DK
39
40
# set types and make directories
41
_types=('hunspell' 'hyphen' 'mythes')
42
for type in "${_types[@]}"; do
43
install -dm755 "${pkgdir}"/usr/share/"$type"
44
done
45
46
_link_dir=../../lib/libreoffice/share/extensions/da_DK
47
48
# hunspell
49
ln -s $_link_dir/da_DK.dic "${pkgdir}"/usr/share/hunspell/da_DK.dic
50
ln -s $_link_dir/da_DK.aff "${pkgdir}"/usr/share/hunspell/da_DK.aff
51
52
# hyphen
53
ln -s $_link_dir/hyph_da_DK.dic "${pkgdir}"/usr/share/hyphen/hyph_da_DK.dic
54
ln -s $_link_dir/hyph_da_DK.dic "${pkgdir}"/usr/share/hyphen/hyph_da.dic
55
56
# thesaurus (mythes)
57
ln -s $_link_dir/th_da_DK.dat "${pkgdir}"/usr/share/mythes/th_da_DK.dat
58
ln -s $_link_dir/th_da_DK.idx "${pkgdir}"/usr/share/mythes/th_da_DK.idx
59
60
# myspell/dicts symlinks
61
install -dm755 "${pkgdir}"/usr/share/myspell/dicts
62
pushd "$pkgdir"/usr/share/myspell/dicts > /dev/null
63
for type in "${_types[@]}"; do
64
for file in "${pkgdir}"/usr/share/"$type"/*; do
65
ln -Ls ../../"$type"/"$(basename "$file")" .
66
done
67
done
68
popd > /dev/null
69
70
install -dm755 "${pkgdir}"/usr/share/doc/$pkgname
71
ln -s ../$_link_dir/README_da_DK.txt "${pkgdir}"/usr/share/doc/$pkgname/README_da_DK.txt
72
ln -s ../$_link_dir/HYPH_da_DK_README.txt "${pkgdir}"/usr/share/doc/$pkgname/HYPH_da_DK_README.txt
73
install -dm755 "${pkgdir}"/usr/share/licenses/$pkgname
74
ln -s ../$_link_dir/README_da_DK.txt "${pkgdir}"/usr/share/licenses/$pkgname/README_da_DK.txt
75
ln -s ../$_link_dir/HYPH_da_DK_README.txt "${pkgdir}"/usr/share/licenses/$pkgname/HYPH_da_DK_README.txt
76
77
# Remove world writable bits
78
chmod --recursive go-w "${pkgdir}"
79
# Remove executable bits
80
find "${pkgdir}"/ -type f -exec chmod -x {} +
81
}
82
Changes since previous scan
--- PKGBUILD @ 2026-08-01 00:11+++ PKGBUILD @ 2026-08-03 00:08@@ -3,7 +3,7 @@ # Contributor: adament <adament@adament.net> # Contributor: Jamie Magee <jamie dot magee at gmail dot com> pkgname=stavekontrolden-pkgver=2.9.115+pkgver=2.9.117 pkgrel=1 pkgdesc='Danish dictionaries; for use with multiple programs' arch=('any')@@ -25,7 +25,7 @@ 'mythes-da') conflicts=("${provides[@]}") source=("https://stavekontrolden.dk/dictionaries/da_DK/da_DK-$pkgver.oxt")-b2sums=('95f0e58757e291f347e643ca4f02752c0bedbc7ffe855814e1a3991134964d5db4c86f9c7b286263c5eff7ee6088e7845f44f480aa3b98dfb99fbea4888df656')+b2sums=('ba08046fe78c9daefa1502997ac0a2bfbaaf30cb4648d3d5bf81750b14b9b756a3e98688b21e1611e11f12f6429874c6a172380a1336046ca03feea96642c4eb') package() { # LibreOffice extensionScan 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 11:20:22 | MEDIUM | 1 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 11:17:50 | MEDIUM | 1 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 11:14:12 | MEDIUM | 1 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 11:38:42 | MEDIUM | 1 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 11:35:00 | MEDIUM | 1 |
| 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 |