jlink-software-and-documentation
The package downloads prebuilt binaries from Segger's official domain (segger.com), which is the legitimate vendor; despite the static analyzer flag for a non-standard host, this is a normal and trusted source for the software, and the binaries are installed in a standard way without obfuscation or remote code execution.
Triggered rules
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 prebuilt binaries from Segger's official domain (segger.com), which is the legitimate vendor; despite the static analyzer flag for a non-standard host, this is a normal and trusted source for the software, and the binaries are installed in a standard way without obfuscation or remote code execution.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:13
source_x86_64=("JLink_Linux_${pkgver/./}_x86_64.tgz::https://www.segger.com/downloads/jlink/JLink_Linux_V${pkgver/./}_x86_64.tgz")
PKGBUILD
1 offending line(s) highlighted# Maintainer: Alexis Polti <ArchSegger at gmail dot com>
# Maintainer: pzl <alsoelp at gmail dot com>
pkgname=jlink-software-and-documentation
pkgver=9.80
pkgrel=1
epoch=66
pkgdesc="Segger JLink software & documentation pack for Linux"
arch=('i686' 'x86_64' 'armv7h' 'aarch64' )
license=('custom' 'GPLv2')
groups=('jlink')
depends=('glibc' 'libudev0-shim' 'patch')
source_x86_64=("JLink_Linux_${pkgver/./}_x86_64.tgz::https://www.segger.com/downloads/jlink/JLink_Linux_V${pkgver/./}_x86_64.tgz")
source_aarch64=("JLink_Linux_${pkgver/./}_arm64.tgz::https://www.segger.com/downloads/jlink/JLink_Linux_V${pkgver/./}_arm64.tgz")
source=("99-jlink.rules.patch" "99-jlink-cmsis-dap.rules" "JLink.svg")
desktops=(
"JFlashExe.desktop"
"JFlashLiteExe.desktop"
"JFlashSPI_CL.desktop"
"JFlashSPIExe.desktop"
"JLinkConfigExe.desktop"
"JLinkExe.desktop"
"JLinkGDBServer.desktop"
"JLinkGUIServerExe.desktop"
"JLinkLicenseManager.desktop"
"JLinkRegistration.desktop"
"JLinkRemoteServer.desktop"
"JLinkRTTClient.desktop"
"JLinkRTTLogger.desktop"
"JLinkRTTViewer.desktop"
"JLinkSWOViewerExe.desktop"
"JMemExe.desktop"
"JRunExe.desktop"
"JTAGLoadExe.desktop"
)
source+=(${desktops[@]})
md5sums_x86_64=('d5ba4cce13f90d0807e392c9c5e6ec98')
md5sums_aarch64=('6f660e3c73d9e3f353d316bd6bd0d65c')
md5sums=("a57d93b791581c1f36e4c672303bb85d"
"02c4941650a2bd345b03dd958313d4c5"
"83a136d31b296dd8f0e23bc21f9d8e19"
"7b0897db15242f4130f4d38ffe17a329"
"79491f5eaac8d23cc604e727b6c33878"
"4c6417b588f48f5440df3d3e7e1c68de"
"0cecd43927dd99917e8fae37f6d87790"
"a8e55eb7a5e8a8f1d353ae32a6e9be9c"
"9b084afb6622c02eda631100cf52804a"
"18436972bebea03c220e36f38911c128"
"658d2e7a802e6fa567d505cbdb580ded"
"8bd71c09443983b64e4e1c019f515f39"
"a234fc1f9b2c1936f02c28b5aea9db3f"
"1f6325c794a7965b10b392b84d5d4e62"
"3699ccea9d54cdaf42736447a77597e5"
"e87c6d996d3b688ee1152cb82f95b4de"
"413a5481a768a5791b8b1babdc7a367d"
"82c05490cff9899f637b9e6c95d86e47"
"78a5e5dc623aa9e9c1ffe3974b084dfb"
"6661cbd2790e4168cd835e50a2fb4e1d"
"e1d104e5ee6fada9b673707b8b3e6616"
)
install=$pkgname.install
url="https://www.segger.com/jlink-software.html"
conflicts=("j-link-software-and-documentation")
replaces=("j-link-software-and-documentation")
DLAGENTS=("https::/usr/bin/env curl -o %o -d accept_license_agreement=accepted -d non_emb_ctr=confirmed")
options=(!strip)
prepare() {
# Change src path name
if [ ${CARCH} = "x86_64" ]; then
mv JLink_Linux_V${pkgver/./}_x86_64 JLink
fi
if [ ${CARCH} = "aarch64" ]; then
mv JLink_Linux_V${pkgver/./}_arm64 JLink
fi
}
package(){
# Match package placement from their .deb, in /opt
install -dm755 "${pkgdir}/opt/SEGGER/JLink" \
"${pkgdir}/usr/share/licenses/${pkgname}" \
"${pkgdir}/usr/lib/" \
"${pkgdir}/usr/bin/" \
"${pkgdir}/etc/" \
"${pkgdir}/usr/lib/udev/rules.d/" \
"${pkgdir}/usr/share/doc/${pkgname}/" \
"${pkgdir}/usr/share/pixmaps" \
"${pkgdir}/usr/share/applications"
# Install desktop entry
for i in "${desktops[@]}"
do
install -Dm644 "${i}" "${pkgdir}/usr/share/applications/"
done
install -Dm644 "JLink.svg" "${pkgdir}/usr/share/pixmaps/JLink.svg"
cd "${srcdir}/JLink"
# Bulk copy everything
cp --preserve=mode -r J* Doc DDC* DevProExe Script Samples ETC README.txt Firmwares GDBServer lib* "${pkgdir}/opt/SEGGER/JLink"
if [ ${CARCH} = "x86_64" ]; then
cp --preserve=mode -r x86 "${pkgdir}/opt/SEGGER/JLink"
fi
# Copy ETC/JFlash at the right place
rm -f ${pkgdir}/etc/JFlash
cp --preserve=mode -r ETC/JFlash "${pkgdir}/etc/"
# Create links where needed
ln -s /opt/SEGGER/JLink/Doc/LicenseIncGUI.txt "${pkgdir}/usr/share/licenses/${pkgname}/"
sed -i 's/0x//g' 99-jlink.rules
patch -i "${srcdir}/99-jlink.rules.patch" 99-jlink.rules
install -Dm644 99-jlink.rules -t "${pkgdir}/usr/lib/udev/rules.d/"
install -Dm644 "${srcdir}/99-jlink-cmsis-dap.rules" -t "${pkgdir}/usr/lib/udev/rules.d/"
rm -f "${pkgdir}/etc/udev/rules.d/99-jlink.rules"
for f in J*; do
ln -s /opt/SEGGER/JLink/"$f" "${pkgdir}/usr/bin"
done
ln -s /opt/SEGGER/JLink/DevProExe "${pkgdir}/usr/bin"
for f in Doc/*; do
ln -s /opt/SEGGER/JLink/"$f" "${pkgdir}/usr/share/doc/${pkgname}"
done
}
Changes since previous scan
--- PKGBUILD @ 2026-09-17 00:27+++ PKGBUILD @ 2026-09-25 00:03@@ -2,7 +2,7 @@ # Maintainer: pzl <alsoelp at gmail dot com> pkgname=jlink-software-and-documentation-pkgver=9.76a+pkgver=9.80 pkgrel=1 epoch=66 pkgdesc="Segger JLink software & documentation pack for Linux"@@ -35,8 +35,8 @@ ) source+=(${desktops[@]}) -md5sums_x86_64=('95ec96d1265cb23134dd28d9f027f0b9')-md5sums_aarch64=('fde2a69b1985deb3b0eb046894f1ca02')+md5sums_x86_64=('d5ba4cce13f90d0807e392c9c5e6ec98')+md5sums_aarch64=('6f660e3c73d9e3f353d316bd6bd0d65c') md5sums=("a57d93b791581c1f36e4c672303bb85d" "02c4941650a2bd345b03dd958313d4c5"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-25 00:03:36 | Low | 2 |
| 2026-09-24 15:43:55 | Medium | 1 |
| 2026-09-17 00:27:14 | Clean | 2 |
| 2026-09-16 17:23:26 | Medium | 1 |
| 2026-09-16 01:20:46 | Medium | 1 |
| 2026-09-11 00:19:22 | Clean | 2 |
| 2026-09-10 17:21:08 | Medium | 1 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 03:15:31 | Medium | 1 |
| 2026-08-20 00:05:13 | Clean | 2 |
| 2026-08-19 13:41:59 | Medium | 1 |
| 2026-08-19 00:15:45 | Low | 2 |
| 2026-08-18 00:03:42 | Low | 2 |
| 2026-08-17 00:18:29 | Low | 2 |
| 2026-08-16 00:03:42 | Low | 2 |
| 2026-08-15 00:26:13 | Low | 2 |
| 2026-08-14 00:03:41 | Low | 2 |
| 2026-08-13 00:17:07 | Low | 2 |
| 2026-08-12 17:24:46 | Medium | 1 |