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

Jiri Vanek jvanek at redhat.com
Thu Feb 26 13:46:50 UTC 2015


On 02/26/2015 10:13 AM, Mikolaj Izdebski wrote:
> On 02/26/2015 09:23 AM, Jiri Vanek wrote:
>> On 02/26/2015 09:20 AM, Mikolaj Izdebski wrote:
>>> On 02/26/2015 08:42 AM, Jiri Vanek wrote:
>>>>>> 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.
>>>>>>
>>>>
>>>> May you be more exact with the metapackage? Before I come up with
>>>> legacy, I hoped to solve the issues via some metapackage. At the end I
>>>> gave up, because the touch of user was always necessary.
>>>
>>> I described it in much detail in other posts in this thread
>>> (for example message-ID 54ECA102.1070506 at redhat.com)
>>>
>>
>> Yah. Sorry. I walked across it later then replied this.
>>
>> However - I'm not convinced that metapackage will work as expected.  If

Still the metapackge's correct dependence have to be someones responsibility. Will you be able to 
take this burden?

>> nothing else it will need some changes in current infrastructure which I
>> wonted to avoid.
>
> It works exactly how I described it.  Old JDK won't be removed during

Is it really wonted? If so, we can skip the "option one" and continue with with option two.

> update, but that's expected behaviour of package management software,
> such as DNF, and JDK packages should not differ from other Fedora

Really should not? We done pretty god work to have only one main jdk unlike python1, python2,python3 
or glib2,glib3,glibN... We are settled in special directory and so on. So in what is JDK actually 
similar to other packages?

> packages in this aspect. Consider a detailed example below.

Thank you for this. I understood it from yuor describtion and already had the same. However I 
consider the keeping of old jdk as no-go for this.

J.
>
>
> Assume we start with Java 7:
>
> sh-4.3# rpm -qa | grep java
> java-1.7.0-openjdk-1.7.0-1.fc23.x86_64
> java-1.7.0-1.fc23.x86_64
>
>
> Then update to newer version of java metapackage, which brings Java 8:
>
> sh-4.3# dnf -y update
> Using metadata from Thu Feb 26 09:51:07 2015
> Dependencies resolved.
> ================================================================
>   Package              Arch     Version              Repository
>                                                             Size
> ================================================================
> Installing:
>   java-1.8.0-openjdk   x86_64   666:1.8.0-1.fc23     rpm   5.6 k
> Upgrading:
>   java                 x86_64   666:1.8.0-1.fc23     rpm   5.6 k
>
> Transaction Summary
> ================================================================
> Install  1 Package
> Upgrade  1 Package
>
> Total size: 11 k
> Downloading Packages:
> Running transaction check
> Transaction check succeeded.
> Running transaction test
> Transaction test succeeded.
> Running transaction
>    Installing  : java-1.8.0-openjdk-666:1.8.0-1.fc23.x86_6   1/3
>    Upgrading   : java-666:1.8.0-1.fc23.x86_64                2/3
>    Cleanup     : java-666:1.7.0-1.fc23.x86_64                3/3
>    Verifying   : java-1.8.0-openjdk-666:1.8.0-1.fc23.x86_6   1/3
>    Verifying   : java-666:1.8.0-1.fc23.x86_64                2/3
>    Verifying   : java-666:1.7.0-1.fc23.x86_64                3/3
>
> Installed:
>    java-1.8.0-openjdk.x86_64 666:1.8.0-1.fc23
>
> Upgraded:
>    java.x86_64 666:1.8.0-1.fc23
>
> Complete!
>
>
> Now both Java 8 and legacy Java 7 are installed:
>
> sh-4.3# rpm -qa | grep java
> java-1.8.0-1.fc23.x86_64
> java-1.7.0-openjdk-1.7.0-1.fc23.x86_64
> java-1.8.0-openjdk-1.8.0-1.fc23.x86_64
>
>
> But user can easily remove packages which were installed to satisfy
> dependency, but which are no longer needed using autoremove command:
>
> sh-4.3# dnf -y autoremove
> Using metadata from Thu Feb 26 09:51:07 2015
> Dependencies resolved.
> ================================================================
>   Package             Arch    Version             Repository
>                                                             Size
> ================================================================
> Removing:
>   java-1.7.0-openjdk  x86_64  666:1.7.0-1.fc23    @System    0
>
> Transaction Summary
> ================================================================
> Remove  1 Package
>
> Installed size: 0
> Running transaction check
> Transaction check succeeded.
> Running transaction test
> Transaction test succeeded.
> Running transaction
>    Erasing     : java-1.7.0-openjdk-666:1.7.0-1.fc23.x86_6   1/1
>    Verifying   : java-1.7.0-openjdk-666:1.7.0-1.fc23.x86_6   1/1
>
> Removed:
>    java-1.7.0-openjdk.x86_64 666:1.7.0-1.fc23
>
>
> After autoremove Java 7 is no longer installed:
>
> Complete!
> sh-4.3# rpm -qa | grep java
> java-1.8.0-1.fc23.x86_64
> java-1.8.0-openjdk-1.8.0-1.fc23.x86_64
>
>
>



More information about the devel mailing list