F22 System Wide Change: Legacy implementations of the Java platform in Fedora
Jiri Vanek
jvanek at redhat.com
Fri Feb 27 10:50:30 UTC 2015
On 02/27/2015 11:48 AM, Severin Gehwolf wrote:
> On Thu, 2015-02-26 at 15:46 +0100, Mikolaj Izdebski wrote:
>> On 02/26/2015 02:46 PM, Jiri Vanek wrote:
>>> 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?
>>
>> Sure, I can create and maintain metapackage. (In this case it would
>> probably be subpackage of javapackages-tools.)
>>
>>>>> 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.
>>
>> If you really think that old JDK should be removed during update and
>> insist on that then there is still a way to achieve that with versioned
>> obsoletes. Metapackage would Obsolete: java-1.N.0-openjdk* < e:v-(r+1),
>> where e:v-r is the latest evr of java-1.N.0-openjdk* when JDK N was
>> considered as "main JDK". I've just tested it and it works, see below.
>>
>>
>> Lets start with JDK 7 installed.
>>
>> sh-4.3# rpm -qa | grep java
>> java-1.7.0-1.fc23.x86_64
>> java-1.7.0-openjdk-1.7.0-1.fc23.x86_64
>>
>>
>> Update installs JDK 8 and erases JDK 7.
>>
>> sh-4.3# dnf -y update
>> Using metadata from Thu Feb 26 15:37:47 2015
>> Dependencies resolved.
>> Nothing to do.
>> sh-4.3# rm -rf /var/cache/dnf/
>> sh-4.3# rm -rf rpm
>> sh-4.3# dnf -y update
>> rpm 966 kB/s | 1.3 kB 00:00
>> Using metadata from Thu Feb 26 15:38:06 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.7 k
>> replacing java-1.7.0-openjdk.x86_64 666:1.7.0-1.fc23
>>
>> 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/4
>> Upgrading : java-666:1.8.0-1.fc23.x86_64 2/4
>> Cleanup : java-666:1.7.0-1.fc23.x86_64 3/4
>> Obsoleting : java-1.7.0-openjdk-666:1.7.0-1.fc23.x86_6 4/4
>> Verifying : java-1.8.0-openjdk-666:1.8.0-1.fc23.x86_6 1/4
>> Verifying : java-666:1.8.0-1.fc23.x86_64 2/4
>> Verifying : java-666:1.7.0-1.fc23.x86_64 3/4
>> Verifying : java-1.7.0-openjdk-666:1.7.0-1.fc23.x86_6 4/4
>>
>> 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!
>>
>>
>> After update only JDK 8 is installed:
>>
>> sh-4.3# rpm -qa | grep java
>> java-1.8.0-openjdk-1.8.0-1.fc23.x86_64
>> java-1.8.0-1.fc23.x86_64
>>
>>
>> But user can still install JDK 7:
>>
>> sh-4.3# dnf install -y java-1.7.0-openjdk
>> Using metadata from Thu Feb 26 15:38:06 2015
>> Dependencies resolved.
>> ================================================================
>> Package Arch Version Repository
>> Size
>> ================================================================
>> Installing:
>> java-1.7.0-openjdk x86_64 666:1.7.0-2.fc23 rpm 5.7 k
>>
>> Transaction Summary
>> ================================================================
>> Install 1 Package
>>
>> Total size: 5.7 k
>> Installed size: 0
>> Downloading Packages:
>> Running transaction check
>> Transaction check succeeded.
>> Running transaction test
>> Transaction test succeeded.
>> Running transaction
>> Installing : java-1.7.0-openjdk-666:1.7.0-2.fc23.x86_6 1/1
>> Verifying : java-1.7.0-openjdk-666:1.7.0-2.fc23.x86_6 1/1
>>
>> Installed:
>> java-1.7.0-openjdk.x86_64 666:1.7.0-2.fc23
>>
>> Complete!
>>
>>
>> JDK 7 and 8 can coexist without any problem:
>>
>> sh-4.3# rpm -qa | grep java
>> java-1.8.0-openjdk-1.8.0-1.fc23.x86_64
>> java-1.7.0-openjdk-1.7.0-2.fc23.x86_64
>> java-1.8.0-1.fc23.x86_64
>
> I very much like this approach!
>
Even with the whole complexity?
https://lists.fedoraproject.org/pipermail/devel/2015-February/208563.html
J.
More information about the devel
mailing list