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

Use www.jpackage.org "java-X-temurin" naming convention for Adoptium RPM files #1128

Open
fitzsim opened this issue Feb 7, 2025 · 2 comments

Comments

@fitzsim
Copy link

fitzsim commented Feb 7, 2025

For consistency with other JDK vendor RPM file naming, Adoptium should use the

java-<feature version>-<vendor>

naming convention designed by http://www.jpackage.org/.

For example, the current CentOS 10 java-21-openjdk file is named:

java-21-openjdk-21.0.5.0.11-4.el10.x86_64.rpm

That way searches like:

dnf search java-21-\*

would display options like java-21-openjdk and java-21-temurin and related subpackages.

@judovana
Copy link

Hello!

Just note - to enable smooth kill of jdks in Fedora, I had obsoleted all java-xyz-openjdk-* : https://src.fedoraproject.org/rpms/adoptium-temurin-java-repository/blob/rawhide/f/adoptium-temurin-java-repository.spec#_54

If Temurin rpms will ever provide java-xyz-openjdk, those obsolete versions must be written more properly - with correct versions of last JDK ever shipped in fedora so it do not cross with future temurins with artificial java-xyz-penjdk provides. Also those "provide: java-xyz-penjdk" must keep very exact version, so this may work.
eg https://src.fedoraproject.org/rpms/java-17-openjdk/blob/f40/f/java-17-openjdk.spec#_1017

Provides: java-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
	
# Standard JPackage base provides
Provides: jre-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
Provides: jre-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
%if %is_system_jdk
Provides: java-%{origin}%{?1} = %{epoch}:%{version}-%{release}
Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release}
Provides: java%{?1} = %{epoch}:%{version}-%{release}
Provides: jre%{?1} = %{epoch}:%{version}-%{release}

where origin is in this case openjdk

@judovana
Copy link

Hmm. It seems that https://github.com/adoptium/installer/blob/master/linux/jdk/redhat/src/main/packaging/temurin/21/temurin-21-jdk.spec#L109 already provides java-xyz-openjdk as %global java_provides openjdk is on #L14

In that case the version must be added to those provides.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants