jdk-lts-doc
jdk-lts
scanned 2026-10-02 00:00:32.890515
The package downloads official Oracle JDK/JRE binaries and documentation from Oracle's own domain (download.oracle.com), which is the legitimate source; despite the static analyzer flag for a non-standard host, this is a normal and expected source for Oracle Java, and no untrusted or executable code is introduced beyond the official vendor binaries.
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 official Oracle JDK/JRE binaries and documentation from Oracle's own domain (download.oracle.com), which is the legitimate source; despite the static analyzer flag for a non-standard host, this is a normal and expected source for Oracle Java, and no untrusted or executable code is introduced beyond the official vendor binaries.
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:18
source=("https://download.oracle.com/java/${_majver}/archive/jdk-${pkgver}_linux-x64_bin.tar.gz"
PKGBUILD
1 offending line(s) highlighted# Maintainer : Daniel Bermond <dbermond@archlinux.org>
pkgbase=jdk-lts
pkgname=('jre-lts' 'jdk-lts' 'jdk-lts-doc')
pkgver=25.0.4
_build=7
_hash=eda28b422d69454c901d71e19e354064
_majver="${pkgver%%.*}"
pkgrel=1
pkgdesc='Oracle Java'
arch=('x86_64')
url='https://www.oracle.com/java/'
license=('LicenseRef-Custom')
makedepends=(
'python-html2text'
# to satisfy pkgcheck:
'alsa-lib')
source=("https://download.oracle.com/java/${_majver}/archive/jdk-${pkgver}_linux-x64_bin.tar.gz"
"https://download.oracle.com/otn_software/java/jdk/${pkgver}+${_build}/${_hash}/jdk-${pkgver}_doc-all.zip"
"jdk-${_majver}_doc-license.html"::"https://download.oracle.com/otndocs/jcp/java_se-${_majver}-final-spec/license.html"
'java.desktop'
'jconsole.desktop'
'jshell.desktop'
'java_16.png'
'java_48.png'
'LICENSE')
noextract=("jdk-${pkgver}_doc-all.zip")
sha256sums=('0d3e87de2516557a170e2df4f6a4872b1749ea3174dd7c9e555cb5170e618301'
'74673f5f6116845322fe3f3d0929ce6f047a7d992b652da1af5492cb929e9b81'
'238ad31acf952842a3161837b70ddc1debb4a9d52f8248bcd7732bed5685976a'
'fcfed2eb57f8c7948a84905827c2ec0b6ff0ff70b47a338b6329be2bf4905589'
'9e3a89d09f130fbbb92e1e997045ce0c268aee749ab415fa780cb3c156d22246'
'bd2aa445563299478cefe7e9a318165e4be550ac87739aa881d039fdea8084d6'
'd27fec1d74f7a3081c3d175ed184d15383666dc7f02cc0f7126f11549879c6ed'
'7cf8ca096e6d6e425b3434446b0835537d0fc7fe64b3ccba7a55f7bd86c7e176'
'20becfcac0bdeaa29a76e6966d727f8cc79381354cbd5d530cdec823954df19f')
DLAGENTS=('https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -b oraclelicense=a -o %o %u')
_jre_deps=(
'ca-certificates-utils'
'freetype2'
'glibc'
'java-runtime-common'
'libx11'
'libxext'
'libxi'
'libxtst'
'libxrender'
'zlib')
_jre_optdeps=(
'alsa-lib: for basic sound support'
'gtk3: for the Gtk+ 3 look and feel - desktop usage')
_jre_provides=("java-runtime=${_majver}" "java-runtime-jdk${_majver}"
"jre${_majver}-jdk=${pkgver}-${pkgrel}"
"java-runtime-headless=${_majver}" "java-runtime-headless-jdk=${_majver}"
"jre${_majver}-jdk-headless=${pkgver}-${pkgrel}")
_jre_backup=("etc/java-${pkgbase}/jaxp.properties"
"etc/java-${pkgbase}/jaxp-strict.properties.template"
"etc/java-${pkgbase}/logging.properties"
"etc/java-${pkgbase}/management/jmxremote.access"
"etc/java-${pkgbase}/management/jmxremote.password.template"
"etc/java-${pkgbase}/management/management.properties"
"etc/java-${pkgbase}/net.properties"
"etc/java-${pkgbase}/sdp/sdp.conf.template"
"etc/java-${pkgbase}/security/java.security"
"etc/java-${pkgbase}/security/policy/README.txt"
"etc/java-${pkgbase}/security/policy/limited/default_US_export.policy"
"etc/java-${pkgbase}/security/policy/limited/default_local.policy"
"etc/java-${pkgbase}/security/policy/limited/exempt_local.policy"
"etc/java-${pkgbase}/security/policy/unlimited/default_US_export.policy"
"etc/java-${pkgbase}/security/policy/unlimited/default_local.policy"
"etc/java-${pkgbase}/sound.properties")
prepare() {
mkdir -p "jdk-doc-${pkgver}"
bsdtar -x -f "jdk-${pkgver}_doc-all.zip" -C "jdk-doc-${pkgver}" --strip-components='1'
html2text "jdk-${_majver}_doc-license.html" > LICENSE-doc
}
_package_jre() {
cd "jdk-${pkgver}"
local _jvmdir="/usr/lib/jvm/java-${_majver}-jdk"
install -d -m755 "${pkgdir}/etc"
install -d -m755 "${pkgdir}/${_jvmdir}"
install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
# conf
cp -a conf "${pkgdir}/etc/java-${pkgbase}"
ln -s "../../../../etc/java-${pkgbase}" "${pkgdir}/${_jvmdir}/conf"
# bin
install -D -m755 bin/{java,jfr,jrunscript,jwebserver} -t "${pkgdir}/${_jvmdir}/bin"
install -D -m755 bin/{keytool,rmiregistry} -t "${pkgdir}/${_jvmdir}/bin"
# libs
cp -a lib "${pkgdir}/${_jvmdir}"
rm "${pkgdir}/${_jvmdir}/lib/"{ct.sym,libattach.so,libsaproc.so,src.zip}
# man pages
local _file
for _file in man/man1/{java,jfr,jrunscript,keytool,rmiregistry}.1
do
install -D -m644 "$_file" "${pkgdir}/usr/share/${_file%.1}-jdk${_majver}.1"
done
install -D -m644 release -t "${pkgdir}/${_jvmdir}"
# link JKS keystore from ca-certificates-utils
rm "${pkgdir}/${_jvmdir}/lib/security/cacerts"
ln -s /etc/ssl/certs/java/cacerts "${pkgdir}${_jvmdir}/lib/security/cacerts"
# legal/licenses
cp -a legal/* "${pkgdir}/usr/share/licenses/${pkgname}"
ln -s "$pkgname" "${pkgdir}/usr/share/licenses/java-${pkgname}"
ln -s "../../../share/licenses/${pkgname}" "${pkgdir}/${_jvmdir}/legal"
install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_jre-lts() {
pkgdesc+=' Runtime Environment (LTS release)'
depends=("${_jre_deps[@]}")
optdepends=("${_jre_optdeps[@]}")
provides=("jre=${_majver}" "${_jre_provides[@]}")
conflicts=('jdk-lts')
backup=("${_jre_backup[@]}")
install=jre.install
_package_jre
}
package_jdk-lts() {
pkgdesc+=' Development Kit (LTS release)'
depends=('java-environment-common' "${_jre_deps[@]}" 'zlib' 'hicolor-icon-theme')
optdepends=("${_jre_optdeps[@]}")
provides=("java-environment=${_majver}" "java-environment-jdk=${_majver}"
"jdk${_majver}-jdk=${pkgver}-${pkgrel}" "jre=${_majver}" 'jre-lts' "${_jre_provides[@]}")
conflicts=('jre-lts')
backup=("${_jre_backup[@]}")
install=jdk.install
_package_jre
cd "${srcdir}/jdk-${pkgver}"
local _jvmdir="/usr/lib/jvm/java-${_majver}-jdk"
# bin
install -D -m755 bin/* -t "${pkgdir}/${_jvmdir}/bin"
# libs
install -D -m644 lib/ct.sym -t "${pkgdir}/${_jvmdir}/lib"
install -D -m644 lib/libattach.so -t "${pkgdir}/${_jvmdir}/lib"
install -D -m644 lib/libsaproc.so -t "${pkgdir}/${_jvmdir}/lib"
cp -a include "${pkgdir}/${_jvmdir}"
cp -a jmods "${pkgdir}/${_jvmdir}"
install -D -m644 lib/src.zip -t "${pkgdir}/${_jvmdir}/lib"
# desktop and icons
install -D -m644 "${srcdir}/java.desktop" "${pkgdir}/usr/share/applications/java-java${_majver}-jdk.desktop"
install -D -m644 "${srcdir}/jconsole.desktop" "${pkgdir}/usr/share/applications/jconsole-java${_majver}-jdk.desktop"
install -D -m644 "${srcdir}/jshell.desktop" "${pkgdir}/usr/share/applications/jshell-java${_majver}-jdk.desktop"
install -D -m644 "${srcdir}/java_16.png" "${pkgdir}/usr/share/icons/hicolor/16x16/apps/java${_majver}-jdk.png"
install -D -m644 "${srcdir}/java_48.png" "${pkgdir}/usr/share/icons/hicolor/48x48/apps/java${_majver}-jdk.png"
# man pages
local _file
while read -r -d '' _file
do
install -D -m644 "$_file" "${pkgdir}/usr/share/${_file%.1}-jdk${_majver}.1"
done < <(find man/man1 -type f -print0)
}
package_jdk-lts-doc() {
pkgdesc+=' documentation (LTS release)'
arch=('any')
install -d -m755 "${pkgdir}/usr/share"/{doc,licenses}
cp -dr --no-preserve='ownership' "jdk-doc-${pkgver}" "${pkgdir}/usr/share/doc/java${_majver}-jdk"
mv "${pkgdir}/usr/share/doc/java${_majver}-jdk/legal" "${pkgdir}/usr/share/licenses/${pkgname}"
install -D -m644 LICENSE-doc "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
ln -s "../../licenses/${pkgname}" "${pkgdir}/usr/share/doc/java${_majver}-jdk/legal"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-02 00:00:32 | Low | 2 |
| 2026-10-01 00:02:06 | Low | 2 |
| 2026-09-30 00:20:07 | Low | 2 |
| 2026-09-29 00:07:46 | Low | 2 |
| 2026-09-28 00:28:32 | Low | 2 |
| 2026-09-27 00:07:07 | Low | 2 |
| 2026-09-26 00:12:15 | Low | 2 |
| 2026-09-25 00:03:36 | Low | 2 |
| 2026-09-24 00:24:14 | Low | 2 |
| 2026-09-23 00:28:13 | Low | 2 |
| 2026-09-22 00:15:14 | Low | 2 |
| 2026-09-21 00:26:32 | Low | 2 |
| 2026-09-20 00:25:31 | Low | 2 |
| 2026-09-19 00:25:36 | Low | 2 |
| 2026-09-18 00:17:11 | Low | 2 |
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |