stm32cubeprog
maintainer taotieren
· 11 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The source URL is hosted on st.com, the official domain of STMicroelectronics, the vendor of STM32CubeProg; despite the non-standard cloudfront subdomain, this is a legitimate and expected source for the software, and the package builds from official vendor-provided binaries.
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 source URL is hosted on st.com, the official domain of STMicroelectronics, the vendor of STM32CubeProg; despite the non-standard cloudfront subdomain, this is a legitimate and expected source for the software, and the package builds from official vendor-provided binaries.
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:33
"SetupSTM32CubeProgrammer_linux_64-${pkgver}.zip::https://www.st.com/cloudfront/publish/stm32cubeprg-lin-v${pkgver//./-}/${pkgver}/en/SetupSTM32CubeProgrammer_linux_64.zip"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: yjun <jerrysteve1101@gmail.com>
2
# Maintainer: Maik93 <michael.mugnai@gmail.com>
3
# Maintainer: taotieren <admin@taotieren.com>
4
# Maintainer: GPereira <goncalo_pereira@outlook.pt>
5
# Maintainer: CloverGit <clovergit@hotmail.com>
6
7
pkgname=stm32cubeprog
8
pkgver=2.23.0
9
pkgrel=3
10
pkgdesc='An all-in-one multi-OS software tool for programming STM32 products.'
11
arch=('x86_64')
12
url='https://www.st.com/en/development-tools/stm32cubeprog.html'
13
license=('custom:SLA0048')
14
15
depends=(
16
'gtk3'
17
'libglvnd'
18
)
19
20
optdepends=(
21
'stlink: udev rules for ST-LINK devices'
22
)
23
24
makedepends=(
25
'gendesk'
26
'icoutils'
27
)
28
29
provides=('stm32cubeprogrammer')
30
options=('!strip' '!debug')
31
32
source=(
33
"SetupSTM32CubeProgrammer_linux_64-${pkgver}.zip::https://www.st.com/cloudfront/publish/stm32cubeprg-lin-v${pkgver//./-}/${pkgver}/en/SetupSTM32CubeProgrammer_linux_64.zip"
34
'SLA0048_STM32CubeProg.pdf'
35
)
36
37
sha256sums=('6a9e60a5a048c45eb3241f9bb66bdc2e6cbd0119fb2e42568dc059fc6167442a'
38
'c6d92c00dee63e0f4a54d8ea62f82a646243c3e1480142ae3e7f4ca5d77d5702')
39
40
prepare() {
41
cd "${srcdir}"
42
43
chmod u+x jre/bin/java
44
45
gendesk -f -n \
46
--pkgname "${pkgname}" \
47
--pkgdesc "${pkgdesc}" \
48
--path "/opt/${pkgname}/bin" \
49
--name "STM32CubeProgrammer" \
50
--exec "/opt/${pkgname}/bin/STM32CubeProgrammer" \
51
--icon "${pkgname}" \
52
--categories "Development"
53
54
# STM32CubeMX also bundles a copy of STM32TrustedPackageCreator. However,
55
# UM2238 identifies it as part of the STM32CubeProgrammer tool set.
56
# Therefore, this package provides its public command wrappers and desktop entry,
57
# while the copy bundled with STM32CubeMX remains private to that package.
58
gendesk -f -n \
59
--pkgname "${pkgname}-trusted-package-creator" \
60
--pkgdesc "STM32 Trusted Package Creator" \
61
--path "/opt/${pkgname}/bin" \
62
--name "STM32 Trusted Package Creator" \
63
--exec "/opt/${pkgname}/bin/STM32TrustedPackageCreator" \
64
--icon "stm32trustedpackagecreator" \
65
--categories "Development"
66
}
67
68
build() {
69
cd "${srcdir}"
70
71
rm -rf build icon
72
mkdir -p build icon
73
74
./jre/bin/java "-DINSTALL_PATH=${srcdir}/build" -jar "SetupSTM32CubeProgrammer-${pkgver}.exe" -options-system
75
76
icotool -x "build/util/Programmer.ico" -o "icon"
77
icotool -x "build/util/STM32TrustedPackageCreator.ico" -o "icon"
78
}
79
80
package() {
81
install -dm755 "${pkgdir}/opt/${pkgname}"
82
cp -a --no-preserve=ownership "${srcdir}/build/." "${pkgdir}/opt/${pkgname}"
83
84
# icons
85
for entry in \
86
'Programmer:stm32cubeprog' \
87
'STM32TrustedPackageCreator:stm32trustedpackagecreator'; do
88
prefix=${entry%%:*}
89
icon_name=${entry#*:}
90
91
for icon_file in "${srcdir}/icon/${prefix}_"*x32.png; do
92
size=${icon_file##*_}
93
size=${size%%x*}
94
95
install -Dm644 "${icon_file}" \
96
"${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/${icon_name}.png"
97
done
98
done
99
100
# documentation
101
install -Dm644 "${pkgdir}/opt/${pkgname}/doc/Readme.txt" -t "${pkgdir}/usr/share/doc/${pkgname}"
102
install -Dm644 "${pkgdir}/opt/${pkgname}/doc/license.txt" -t "${pkgdir}/usr/share/licenses/${pkgname}"
103
install -Dm644 "${srcdir}/SLA0048_STM32CubeProg.pdf" -t "${pkgdir}/usr/share/licenses/${pkgname}"
104
105
# desktop entries
106
install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
107
install -Dm644 "${srcdir}/${pkgname}-trusted-package-creator.desktop" \
108
"${pkgdir}/usr/share/applications/${pkgname}-trusted-package-creator.desktop"
109
110
# command wrappers
111
for entry in \
112
'stm32cubeprogrammer:STM32CubeProgrammer' \
113
'stm32_programmer_cli:STM32_Programmer.sh' \
114
'stm32_keygen_cli:STM32_KeyGen_CLI' \
115
'stm32_signingtool_cli:STM32_SigningTool_CLI' \
116
'stm32trustedpackagecreator:STM32TrustedPackageCreator' \
117
'stm32trustedpackagecreator_cli:STM32TrustedPackageCreator_CLI'; do
118
wrapper_name=${entry%%:*}
119
target_name=${entry#*:}
120
121
install -Dm755 /dev/stdin "${pkgdir}/usr/bin/${wrapper_name}" <<EOF
122
#!/bin/sh
123
exec "/opt/${pkgname}/bin/${target_name}" "\$@"
124
EOF
125
done
126
127
# remove unused installer components
128
rm -rf \
129
"${pkgdir}/opt/${pkgname}/updater" \
130
"${pkgdir}/opt/${pkgname}/.installationinformation"
131
}
132
# vim: set sw=2 ts=2 et:
133
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 |