#18 Turn on non-conflict mode for java-openjdk
Closed 5 years ago by jerboaa. Opened 5 years ago by jerboaa.
rpms/ jerboaa/java-openjdk turn-on-non-conflict  into  master

Turn on non-conflicting build.
Severin Gehwolf • 5 years ago  
file modified
+56 -37
@@ -179,13 +179,32 @@ 

  %global archinstall %{_arch}

  %endif

  

+ # Set this to 1 when "java-openjdk" and

+ # the currently available LTS JDK version are the

+ # same.

+ # In that case the following will be true:

+ # - systemtap will be disabled. The LTS version

+ #   will have the tapsets.

+ # - various provides will will have a "-latest"

+ #   suffix.

+ # - The install folder will be 'java-latest-<ver>-openjdk'

+ %global latest_equal_lts 1

+ %global latest_sep latest

+ %if %{latest_equal_lts}

+ %global optional_latest_sep -%{latest_sep}

+ %else

+ %global optional_latest_sep %{nil}

+ %endif

  

- 

+ %if %{latest_equal_lts}

+ %global with_systemtap 0

+ %else

  %ifarch %{jit_arches}

  %global with_systemtap 1

  %else

  %global with_systemtap 0

  %endif

+ %endif

  

  # New Version-String scheme-style defines

  %global majorver 11
@@ -222,7 +241,7 @@ 

  %global javaver         %{majorver}

  

  # parametrized macros are order-sensitive

- %global compatiblename  java-%{majorver}-%{origin}

+ %global compatiblename  java%{optional_latest_sep}-%{majorver}-%{origin}

  %global fullversion     %{compatiblename}-%{version}-%{release}

  # images stub

  %global jdkimage       jdk
@@ -237,7 +256,7 @@ 

  %define etcjavadir()      %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}

  # Standard JPackage directories and symbolic links.

  %define sdkdir()        %{expand:%{uniquesuffix -- %{?1}}}

- %define jrelnk()        %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%{?1}}

+ %define jrelnk()        %{expand:jre%{optional_latest_sep}-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%{?1}}

  

  %define sdkbindir()     %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}

  %define jrebindir()     %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
@@ -722,16 +741,16 @@ 

  # for java-X-openjdk package's desktop binding

  Recommends: gtk3%{?_isa}

  

- Provides: java-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}

  

  # Standard JPackage base provides

- Provides: jre = %{javaver}%{?1}

- Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release}

- Provides: jre-%{javaver}%{?1} = %{epoch}:%{version}-%{release}

- Provides: jre-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{javaver}%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{origin}%{?1} = %{epoch}:%{version}-%{release}

- Provides: java%{?1} = %{epoch}:%{javaver}

+ Provides: jre%{optional_latest_sep} = %{javaver}%{?1}

+ Provides: jre%{optional_latest_sep}-%{origin}%{?1} = %{epoch}:%{version}-%{release}

+ Provides: jre%{optional_latest_sep}-%{javaver}%{?1} = %{epoch}:%{version}-%{release}

+ Provides: jre%{optional_latest_sep}-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{javaver}%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{origin}%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}%{?1} = %{epoch}:%{javaver}

  }

  

  %define java_headless_rpo() %{expand:
@@ -763,17 +782,17 @@ 

  Suggests: lksctp-tools%{?_isa}, pcsc-lite-devel%{?_isa}, cups

  

  # Standard JPackage base provides

- Provides: jre-headless%{?1} = %{epoch}:%{javaver}

- Provides: jre-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}

- Provides: jre-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}

- Provides: jre-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-headless%{?1} = %{epoch}:%{javaver}

+ Provides: jre%{optional_latest_sep}-headless%{?1} = %{epoch}:%{javaver}

+ Provides: jre%{optional_latest_sep}-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}

+ Provides: jre%{optional_latest_sep}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}

+ Provides: jre%{optional_latest_sep}-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-headless%{?1} = %{epoch}:%{javaver}

  

  # https://bugzilla.redhat.com/show_bug.cgi?id=1312019

- Provides: /usr/bin/jjs

+ Provides: /usr/bin/jjs%{optional_latest_sep}

  

  }

  
@@ -791,12 +810,12 @@ 

  Requires(postun):   chkconfig >= 1.7

  

  # Standard JPackage devel provides

- Provides: java-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}

- Provides: java-sdk-%{javaver}%{?1} = %{epoch}:%{version}

+ Provides: java%{optional_latest_sep}-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}

+ Provides: java%{optional_latest_sep}-sdk-%{javaver}%{?1} = %{epoch}:%{version}

  #Provides: java-sdk-%%{origin}%%{?1} = %%{epoch}:%%{version}

  #Provides: java-sdk%%{?1} = %%{epoch}:%%{javaver}

- Provides: java-%{javaver}-devel%{?1} = %{epoch}:%{version}

- Provides: java-%{javaver}-%{origin}-devel%{?1} = %{epoch}:%{version}

+ Provides: java%{optional_latest_sep}-%{javaver}-devel%{?1} = %{epoch}:%{version}

+ Provides: java%{optional_latest_sep}-%{javaver}-%{origin}-devel%{?1} = %{epoch}:%{version}

  #Provides: java-devel-%%{origin}%%{?1} = %%{epoch}:%%{version}

  #Provides: java-devel%%{?1} = %%{epoch}:%%{javaver}

  
@@ -808,9 +827,9 @@ 

  Requires:         %{name}-devel%{?1} = %{epoch}:%{version}-%{release}

  OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}

  

- Provides: java-jmods%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{javaver}-jmods%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{javaver}-%{origin}-jmods%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-jmods%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{javaver}-jmods%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{javaver}-%{origin}-jmods%{?1} = %{epoch}:%{version}-%{release}

  

  }

  
@@ -818,9 +837,9 @@ 

  Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}

  OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}

  

- Provides: java-demo%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{javaver}-demo%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{javaver}-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-demo%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{javaver}-demo%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{javaver}-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release}

  

  }

  
@@ -836,18 +855,18 @@ 

  Requires(postun):   chkconfig >= 1.7

  

  # Standard JPackage javadoc provides

- Provides: java-javadoc%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{javaver}-%{origin}-javadoc%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-javadoc%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{javaver}-%{origin}-javadoc%{?1} = %{epoch}:%{version}-%{release}

  }

  

  %define java_src_rpo() %{expand:

  Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}

  

  # Standard JPackage sources provides

- Provides: java-src%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release}

- Provides: java-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-src%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release}

+ Provides: java%{optional_latest_sep}-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}

  }

  

  # Prevent brp-java-repack-jars from being run
@@ -855,7 +874,7 @@ 

  

  Name:    java-%{origin}

  Version: %{newjavaver}.%{buildver}

- Release: 4%{?dist}

+ Release: 5%{?dist}

  # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons

  # and this change was brought into RHEL-4. java-1.5.0-ibm packages

  # also included the epoch in their virtual provides. This created a

Scratch build with this is:
https://koji.fedoraproject.org/koji/taskinfo?taskID=30705815

A scratch build with it turned off only including ab24513 is here. That build should be binary compatible with current java-openjdk in rawhide:
https://koji.fedoraproject.org/koji/taskinfo?taskID=30705778

Few issues
- I thinkl thre provides should not be touched. They shoudl remain consistent.
- imho there is no real reason to disable systmtap, once the NVRA directory is suffuxed.
- the conflicting variabel hsoudl not be there. The package should work consitently in all times.

I vote for simple change of java-X-openjdk-V.E.R-release.rolling.arch.os and all issues should be gone.
all the provides and simialr will be then aligned. As for feear of cloing to JDK15 - the suffix canbe a variable and it will be nil in future JDK15 package.

To make it clear - the suffix will be part of Release: And it will be propagated to all proepr palces then. Including systemtap.

 %define jrelnk()        %{expand:jre%{optional_latest_sep}-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%{?1}}

This --^ is a fix for a conflict too. So what you propose needs to propagate to jrelnk too. O wait, you meant part of Release. Yeah that'll probably do for jrelnk :)

Ii I relaly think that changing:
Release: 6%{?dist}
to
Release: rolling.6%{?dist}
or
Release: 6.release%{?dist}
or
Release: 6%{?dist}.rolling #is it allowed to suffix dist?

Should be enough,

I dont like latest convention you had suggested. My vote is for rolling, which descibes the package better. Tahnx!

Release: 6.release%{?dist} -> Release: 6.rolling%{?dist}

Any more thoughts here?

Pull-Request has been closed by jerboaa

5 years ago