F22 System Wide Change: Legacy implementations of the Java platform in Fedora

Deepak Bhole dbhole at redhat.com
Tue Feb 24 15:36:16 UTC 2015


* Mikolaj Izdebski <mizdebsk at redhat.com> [2015-02-24 10:12]:
> On 02/24/2015 04:06 PM, Deepak Bhole wrote:
> > * Mikolaj Izdebski <mizdebsk at redhat.com> [2015-02-24 09:58]:
> >> On 02/24/2015 03:32 PM, Deepak Bhole wrote:
> >>> * Dominik 'Rathann' Mierzejewski <dominik at greysector.net> [2015-02-24 09:29]:
> >>>> On Tuesday, 24 February 2015 at 15:09, Deepak Bhole wrote:
> >>>>> * Dominik 'Rathann' Mierzejewski <dominik at greysector.net> [2015-02-24 09:04]:
> >>>>>> On Tuesday, 24 February 2015 at 14:28, Jiri Vanek wrote:
> >>>>>> [...]
> >>>>>>> There were several attempts in past like "can you please support jdk
> >>>>>>> 7,6...in newer fedoras" and we always told no. When come speech about "do it
> >>>>>>> on your own" suddenly many questions marks raised up.
> >>>>>>>
> >>>>>>> The last open bug is: https://bugzilla.redhat.com/show_bug.cgi?id=1190137
> >>>>>>> the guy is willing to maintain it.
> >>>>>>
> >>>>>> Fine, so let him do it and drop the Obsoletes: tag in java-1.8.0-openjdk
> >>>>>> and its successors. You shouldn't arbitrarily block people from
> >>>>>> re-introducing an older branch of any package back into Fedora in the
> >>>>>> first place.
> >>>>>>
> >>>>>
> >>>>> We have no intention of blocking it. The reason for proposing these
> >>>>> restrictions is that the Fedora Java stack will not work with older
> >>>>> JDKs, therefore we need to make sure that it goes not get installed on
> >>>>> the system unless explicitly requested by someone who knows what they
> >>>>> are doing.
> >>>>
> >>>> Well, you do that by adding/updating (Build)Requires: in the packages
> >>>> which won't work otherwise, not by adding Obsoletes:.
> >>>>
> >>>
> >>> That would generally work for most packages, but there is a new JDK
> >>> released every 2 years. This means that we would have to change the BR
> >>> and Requires for the entire Java stack (100s and 100s of packages) every
> >>> 2 years, which is non-trivial.
> >>
> >> First, we have versioned auto-requires generated during package build.
> >> Explicit requires on java aren't usually needed. If package requires
> >> "java > 1:1.7" then it is correct - the package can be assumed to work
> >> with older JDK.
> >>
> > 
> > While that is true in terms of source compatibility, it will work only
> > if it is compiled with the older JDK.
> > 
> >> Secondly, it is fairly easy to add requires on "java-devel >= 1:1.8" to
> >> packages related to build systems like ant, maven or gradle. This would
> >> cover most cases of building Java packages using latest JDK.
> >>
> > 
> > As you stated, it will cover most cases, but not all. More critically,
> > this does not solve the issue with requirement of 'java' itself.
> 
> These few remaining cases can be easily handled by provenpackager as
> mass-change.
> 
> Also, my proposal of introducing "java" metapackage (see my other post
> in this thread), which would always require the latest JDK, solves this
> problem in a different way, without modifying ordinary Java packages at all.
> 

Ah, I had missed that. Yes, the metapackage solution should work to the
same effect. I don't know if we can just call it 'java' though, unless
you are proposing that 'java' provision be removed from current openjdk
packages?

Deepak

> -- 
> Mikolaj Izdebski
> Software Engineer, Red Hat
> IRC: mizdebsk
> -- 
> devel mailing list
> devel at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/devel
> Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct


More information about the devel mailing list