Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian Packaging Incompatibility with OpenJDK #1077

Open
1 task done
Tracked by #1005
david-x64 opened this issue Dec 16, 2024 · 7 comments
Open
1 task done
Tracked by #1005

Debian Packaging Incompatibility with OpenJDK #1077

david-x64 opened this issue Dec 16, 2024 · 7 comments
Assignees
Labels

Comments

@david-x64
Copy link

Please provide a brief summary of the bug

Debian package temurin-21-jdk provides package name java21-sdk-headless.
But it does not provide java21-sdk.

Debian package openjdk-21-jdk on linux mint provides java21-sdk
But it does not provide java21-sdk-headless.

So there is no common package name provided anymore which I can use to express a build dependency on Java 21 in a vendor independent manner.

Interestingly, the temurin-21-jdk package does provide the java<version>-sdk package name for Java versions up to 18.

Did you test with the latest update version?

  • Yes

Please provide steps to reproduce where possible

Compare package descriptions of temurin-21-jdk and openjdk-21-jdk.
Especially compare the field Provides of both packages.

apt-cache show temurin-21-jdk
apt-cache show openjdk-21-jdk

Expected Results

I expect to find a versioned common name in the Provides field of both packages.
For example temurin-21-jdk should provide java21-sdk just as openjdk-21-jdk does already.

Actual Results

temurin-21-jdk does not provide java21-sdk.

What Java Version are you using?

openjdk 21.0.5 2024-10-15 LTS OpenJDK Runtime Environment Temurin-21.0.5+11 (build 21.0.5+11-LTS) OpenJDK 64-Bit Server VM Temurin-21.0.5+11 (build 21.0.5+11-LTS, mixed mode, sharing)

What is your operating system and platform?

Linux Mint 22 - Wilma, x86_64

NAME="Linux Mint"
VERSION="22 (Wilma)"
ID=linuxmint
ID_LIKE="ubuntu debian"
PRETTY_NAME="Linux Mint 22"
VERSION_ID="22"
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.linuxmint.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
VERSION_CODENAME=wilma
UBUNTU_CODENAME=noble

How did you install Java?

sudo apt install temurin-21-jdk

Did it work before?

Yes, this worked up to Java-18.

Did you test with other Java versions?

No response

Relevant log output

Package: temurin-21-jdk
Version: 21.0.0.0.0+35
...
Provides: ...java-sdk, java-sdk-headless, ..., java18-sdk, java21-sdk-headless, ...
@david-x64 david-x64 added the bug label Dec 16, 2024
@karianna
Copy link
Contributor

@jerboaa - Thoughts on this?

@jerboaa
Copy link
Contributor

jerboaa commented Dec 17, 2024

@jerboaa - Thoughts on this?

I'm not sure it's possible (or desirable) to be compatible with any distro provides. This might inadvertently pull in Temurin where the user perhaps doesn't intent to.

On the other hand, it seems a reasonable use-case to depend on some vendor-independent thing. The question is whether or not there is agreement between distros of OpenJDK of what those vendor-independent provides should be and whether or not that causes problems.

For example there has been this JEP draft a while ago which didn't go anywhere (withdrawn):
https://openjdk.org/jeps/8278252

Something like this would also be hard to test reliably. We'd probably need to find somebody to drive this effort in terms of implementation/research/test and would need PMC go ahead.

@jerboaa jerboaa transferred this issue from adoptium/adoptium-support Dec 17, 2024
@karianna karianna added enhancement and removed bug labels Dec 18, 2024
@steelhead31
Copy link
Contributor

This may be an omission in the debian control files used to build the .deb packages, sample below, it looks like after JDK18, some updates were omitted, I guess determining if this was deliberate or not should influence the fix. 

         java-sdk,
java-sdk-headless,
java10-sdk,
java11-sdk,
java12-sdk,
java13-sdk,
java14-sdk,
java15-sdk,
java16-sdk,
java17-sdk,
java18-sdk,
java2-sdk,
java5-sdk,
java6-sdk,
java7-sdk,
java8-sdk,
java9-sdk,
java10-sdk-headless,
java11-sdk-headless,
java12-sdk-headless,
java13-sdk-headless,
java14-sdk-headless,
java15-sdk-headless,
java16-sdk-headless,
java17-sdk-headless,
java18-sdk-headless,
java19-sdk-headless,
java2-sdk-headless,
java20-sdk-headless,
java21-sdk-headless,
java5-sdk-headless,
java6-sdk-headless,
java7-sdk-headless,
java8-sdk-headless,
java9-sdk-headless,
java-runtime (= 21),
java-runtime-headless (= 21),
java10-runtime,
java11-runtime,
java12-runtime,
java13-runtime,
java14-runtime,
java15-runtime,
java16-runtime,
java17-runtime,
java18-runtime,
java19-runtime,
java2-runtime,
java20-runtime,
java21-runtime,

@steelhead31
Copy link
Contributor

After discussion at PMC, this issue appears to be a bug/omission when the debian control files were created for JDK21 onwards, this will be fixed in the upcoming January 2025 CPU cycle. A new issue will be created to discuss whether JDK21 should be providing the earlier runtime/sdk/etc version, or behave in a similar fashion to the rpms.

@steelhead31
Copy link
Contributor

New issue to track future enhancement/potential change : #1096

@steelhead31
Copy link
Contributor

Also interestingly the control files used to build the jre deb packages do have the lines I believe are missing for the JDK.

@sxa
Copy link
Member

sxa commented Jan 8, 2025

Also interestingly the control files used to build the jre deb packages do have the lines I believe are missing for the JDK.

Sounds even more like just a simple oversight then :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: In Progress
Development

No branches or pull requests

5 participants