Skip to content

Comments

Bump all* JDK packages#286267

Closed
Infinidoge wants to merge 122 commits intoNixOS:stagingfrom
Infinidoge:bump-openjdk
Closed

Bump all* JDK packages#286267
Infinidoge wants to merge 122 commits intoNixOS:stagingfrom
Infinidoge:bump-openjdk

Conversation

@Infinidoge
Copy link
Contributor

@Infinidoge Infinidoge commented Feb 4, 2024

Description of changes

Bumps all of the OpenJDK packages to the latest versions, with the exception of oraclejdk, as that requires an Oracle account to properly bump.

I have built all of the normal OpenJDK versions personally, but will let ofborg check the others.

Notes:

  • The OpenJDK 16 & 18 bumps were done to ensure that, though EOL and insecure, they are up-to-date with the last tagged release.
  • The 16 bump has the build number set to 1 despite the release tag being -ga in order to let it build. Let me know if this should be changed.
  • Modified several packages to use the latest JRE/JDK instead of pinning a now EOL version.
  • Marked JDK 19/20 as EOL, but did not remove the all-package.nix bindings yet. Let me know if I should. I'll double check for usages first.

This PR, in conjunction with #273811, addresses concerns raised by #280901.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@Infinidoge
Copy link
Contributor Author

Oop, didn't mark as draft before opening.

@Infinidoge Infinidoge marked this pull request as draft February 4, 2024 12:21
@infinisil
Copy link
Member

The pkgs/by-name CI failure is a false positive, please ignore it! It will be fixed by #285089 :)

@Tungsten842
Copy link
Member

Could you also mark as vulnerable all the vulnerable java versions of adoptopenjdk, temurin, semeru...?

@Infinidoge
Copy link
Contributor Author

Could you also mark as vulnerable all the vulnerable java versions of adoptopenjdk, temurin, semeru...?

Done

The pkgs/by-name CI failure is a false positive, please ignore it! It will be fixed by #285089 :)

Noted, I was wondering why that was :)

@Infinidoge
Copy link
Contributor Author

JDK builds in Nixpkgs definitely need better infrastructure. Needing to set things in a number of different places to mark a version as EOL, and update so many different packages, is likely what has led to the state of the JDK in Nixpkgs.

Copy link
Contributor

@thiagokokada thiagokokada left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work, but will probably need to target staging (or staging-next considering the security issue?) since there will be lots of rebuilds here.

@Infinidoge Infinidoge changed the base branch from master to staging February 4, 2024 20:08
@Infinidoge
Copy link
Contributor Author

Went ahead and switched to target staging for now
Will fix the build evaluation issue so ofborg can do its thing, then we can figure out staging vs staging-next.

@infinisil
Copy link
Member

The PR to fix the pkgs/by-name check is now merged and used in CI, so it won't fail anymore the next time you push :)

@Tungsten842 Tungsten842 added 1.severity: security Issues which raise a security issue, or PRs that fix one 6.topic: java Including JDK, tooling, other languages, other VMs labels Feb 9, 2024
@mweinelt
Copy link
Member

Can you fix eval here?

@Infinidoge
Copy link
Contributor Author

This eval issue really is more annoying than expected...

The issue is that in some cases, not all of the variants exist, so it fails to evaluate. However things like the package itself, java-packages.nix, and all-packages.nix hard-code the assumption that it does exist.

@Infinidoge
Copy link
Contributor Author

Infinidoge commented Mar 8, 2024

Just to update everyone on this, I've worked a bit on the eval issue, and it is a bit of a mess because of how the package assumes all of the variants will exist. (Thus it requires a fair amount of reworking to not make that assumption.)

Midterms and a family emergency has eaten up all of my free time recently, which is why I haven't made progress. Spring break is starting soon though, so I should be able to finish this up then.

That said, for the sake of getting this tested, I'm going to go ahead and rebase out the adoptopenjdk bump.
Nevermind, apparently similar to my Firefox fix, I had a commit ready to fix it but hadn't pushed it up. Letting ofborg do its thing.
Nevermind nevermind, the fix didn't actually solve it, going back to rebasing out.

@Infinidoge Infinidoge force-pushed the bump-openjdk branch 2 times, most recently from 52ca445 to 2d1d234 Compare March 9, 2024 07:16
@ofborg ofborg bot added 8.has: clean-up This PR removes packages or removes other cruft 8.has: package (new) This PR adds a new package labels Mar 9, 2024
@ofborg ofborg bot added 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches. labels Mar 9, 2024
@Infinidoge
Copy link
Contributor Author

OH HECK

@github-actions github-actions bot added 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: haskell General-purpose, statically typed, purely functional programming language 8.has: module (update) This PR changes an existing module in `nixos/` 6.topic: pantheon The Pantheon desktop environment 6.topic: php PHP is a general-purpose scripting language geared towards web development. 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` labels May 24, 2024
@Infinidoge
Copy link
Contributor Author

NOT AGAIN

@drupol drupol closed this May 24, 2024
@NixOS NixOS locked as spam and limited conversation to collaborators May 24, 2024
@drupol
Copy link
Contributor

drupol commented May 24, 2024

It looks like you accidentally mass-pinged a bunch of people, which are now subscribed
and getting notifications for everything in this pull request. Unfortunately, they
cannot be automatically unsubscribed from the issue (removing review request does not
unsubscribe), therefore development cannot continue in this pull request anymore.

Please create a new pull request, link back to this one and ping the
people actually involved in here over there. For the next time, remember to set your PR to draft status before rebasing. In draft status, you can preview the list of maintainers that are about to be requested for review, which allows you to sidestep this issue.

In order to avoid this in the future, there are instructions for how to properly
rebase between branches in our contribution guidelines.
Setting your pull request to draft prior to rebasing is strongly recommended.
In draft status, you can preview the list of people that are about to be requested
for review, which allows you to sidestep this issue.
This is not a bulletproof method, though, as OfBorg still does review requests even on draft PRs.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

1.severity: security Issues which raise a security issue, or PRs that fix one 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: haskell General-purpose, statically typed, purely functional programming language 6.topic: java Including JDK, tooling, other languages, other VMs 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: pantheon The Pantheon desktop environment 6.topic: php PHP is a general-purpose scripting language geared towards web development. 6.topic: python Python is a high-level, general-purpose programming language. 8.has: clean-up This PR removes packages or removes other cruft 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 8.has: module (update) This PR changes an existing module in `nixos/` 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches. 12.approvals: 3+ This PR was reviewed and approved by three or more persons.

Projects

None yet

Development

Successfully merging this pull request may close these issues.