Repository navigation
jdk: current LTS (meta over jdk-25); add jdk-25 (Temurin 25) and jdk-21 (Temurin 21) - #897
Merged
Merged
Conversation
… 21) A user asked for a current JDK: `jdk` is Temurin 21, the previous LTS. Add Temurin 25.0.4.1+1 (adoptium/temurin25-binaries, 2026-08-19) as its own package so projects choose a line explicitly and `jdk` doesn't move under anyone. Copied from packages/jdk with every 21-specific value changed (repo, asset prefix, version/build, per-arch sha256 from Adoptium's published .sha256.txt, the java -version test). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Warning Review limit reached
This review includes 7 billable files and costs up to $1.75.
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Or wait 8 minutes for your next included review. View limit details
✨ Finishing Touches
Comment |
…dk-21
`jdk` becomes a meta-package over jdk-25, the same shape as `toolchain`
(build_deps = [], runtime_deps = [jdk-25], outputs = {}), so it always
names the current Java LTS without a second copy of the binaries. The
Temurin 21 recipe moves, unchanged apart from its name, to jdk-21 for
projects pinned to 21.
`jdk`'s six dependents (android-sdk, ghidra, gradle, jdtls, maven,
tlaplus) move from Java 21 to 25; each version in pkgs supports 25
(gradle 9.7, ghidra 12.1, jdtls 1.60, maven 3.9.16, tlaplus 1.7.4,
android cmdline-tools). Only android-sdk uses jdk as a build dep, which
the toolchain-style meta closure covers.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
/build |
Member
Author
|
How this attaches to #775 (the from-source JVM ladder). #897 restructures the JDK names so the ladder can slot in later without touching dependents:
What the swap needs from #775 first:
🤖 Generated with Claude Code |
This was referenced Oct 16, 2026
jdb, jcmd, jfr, jstack, jmap, javap, jdeps, javadoc and the rest lived only under /usr/lib/jvm/bin. Link everything in the JDK's bin/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
/build |
- maven and gradle stacks name `jdk-25` instead of the `jdk` meta, so a project's Java doesn't move when `jdk` next rolls to a new LTS. jdk-25 installs to /usr/lib/jvm, so JAVA_HOME is unchanged. - gradle also matches build.gradle.kts / settings.gradle.kts (the `gradle init` default since Gradle 8.2); Kotlin-DSL projects got no Java stack at all before. Both evaluate against the stdlib Stack contract (nickel export). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
/build |
bryan-minimal
added a commit
that referenced
this pull request
Oct 16, 2026
All three Java stacks now name jdk-25 (pkgs#897) rather than the `jdk` meta, so a project's Java doesn't move when `jdk` rolls to the next LTS. The header's `$JAVA_HOME/bin/jdb` is plain `jdb` now that #897/#898 link every JDK tool into /usr/bin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jtnkminimal
approved these changes
Oct 16, 2026
This was referenced Oct 19, 2026
Merged
evanspearman
pushed a commit
to evanspearman/pkgs
that referenced
this pull request
Oct 20, 2026
* Add jdk-27 (Eclipse Temurin 27) Temurin 27 GA (jdk-27+35, 2026-09-21), the current Java feature release, as its own package alongside `jdk`. Same shape as jdk-25 in gominimal#897. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * jdk-27: link every JDK tool into /usr/bin, not just eight Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 22, 2026
Merged
Merged
Merged
This was referenced Oct 22, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
A user asked for a current JDK:
jdkwas Eclipse Temurin 21, the previous LTS. This makesjdkthe current LTS (25) and adds explicit versioned lines, so projects can pin.Layout after this PR
jdk-25.sha256.txt, the version test)jdk-21jdkrecipe, renamed and otherwise unchangedjdkjdk-25toolchain(build_deps = [],runtime_deps = [jdk-25],outputs = {}), so it always means the current LTS with no second copy of the binariesjdk-26is deliberately absent: OpenJDK 26 reached end of life when 27 shipped in September, so it gets no more updates. The current feature line,jdk-27(Temurinjdk-27+35), would come as a follow-up.Impact:
jdk's dependents move from Java 21 to 25Only android-sdk uses
jdkas a build dependency. The toolchain-style meta-package covers it, sincetoolchainis a build dependency across the fleet. The buildbot rebuilds all six; any that dislikes 25 can depend onjdk-21explicitly.Version tracking and CVEs
jdk-25andjdk-21keep Temurin provenance (adoptium/temurin{25,21}-binaries). pkgmgr reads Temurin'sjdk-X+Ntags (sc#502) and rewritesbuild_numalongsideversion.jdkmeta-package has no version of its own; its updates arrive throughjdk-25.oracle:jdk/oracle:jreforjdk-25andjdk-21, added in minimal-supply-chain#513. Measured on prod: 24 advisories each name 25.x. The existingjdkentry stays until this merges, so there's no coverage gap in either merge order.🤖 Generated with Claude Code