Bug 1373793

Summary: java-1.8.0-openjdk.i686 and java-1.8.0-openjdk-headless.i686 mismatched version
Product: [Fedora] Fedora Reporter: Gabriel Machado <gmachado.tl1>
Component: java-1.8.0-openjdkAssignee: jiri vanek <jvanek>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 24CC: ahughes, dbhole, edoubrayrie, jerboaa, jvanek, msrb, omajid
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-07 14:48:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Gabriel Machado 2016-09-07 07:25:30 UTC
Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. dnf update && dnf install java-1.8.0-openjdk-headless


Actual results:
Error : package java-1.8.0-openjdk-1:1.8.0.91-7.b14.fc24.i686 requires java-1.8.0-openjdk-headless = 1:1.8.0.91-7.b14.fc24, but none of the providers can be installed

Expected results:
Successful installation

Additional info:
java-1.8.0-openjdk-1.8.0.102-1.b14.fc24.i686.rpm is not in the updates repository.

64 bits and 32 bits java-1.8.0-openjdk rpm packages have not the same version :
dnf info java-1.8.0-openjdk
Vérification de l'expiration des métadonnées effectuée il y a 0:04:33 sur Wed Sep  7 09:16:39 2016.
Paquets disponibles
Nom         : java-1.8.0-openjdk
Architectur : i686
Époque      : 1
Version     : 1.8.0.91
Révision    : 7.b14.fc24
Taille      : 232 k
Dépôt       : fedora
Résumé      : OpenJDK Runtime Environment
URL         : http://openjdk.java.net/
Licence     : ASL 1.1 and ASL 2.0 and GPL+ and GPLv2 and GPLv2 with exceptions and LGPL+ and LGPLv2 and MPLv1.0 and MPLv1.1 and Public Domain and W3C
Description : The OpenJDK runtime environment.

Nom         : java-1.8.0-openjdk
Architectur : x86_64
Époque      : 1
Version     : 1.8.0.102
Révision    : 1.b14.fc24
Taille      : 228 k
Dépôt       : updates
Résumé      : OpenJDK Runtime Environment
URL         : http://openjdk.java.net/
Licence     : ASL 1.1 and ASL 2.0 and GPL+ and GPLv2 and GPLv2 with exceptions and LGPL+ and LGPLv2 and MPLv1.0 and MPLv1.1 and Public Domain and W3C
Description : The OpenJDK runtime environment.

64 bits and 32 bits java-1.8.0-openjdk-headless rpm packages have the same version :
dnf info java-1.8.0-openjdk-headless
Vérification de l'expiration des métadonnées effectuée il y a 0:06:41 sur Wed Sep  7 09:16:39 2016.
Paquets installés
Nom         : java-1.8.0-openjdk-headless
Architectur : x86_64
Époque      : 1
Version     : 1.8.0.102
Révision    : 1.b14.fc24
Taille      : 103 M
Dépôt       : @System
Depuis le d : updates
Résumé      : OpenJDK Runtime Environment
URL         : http://openjdk.java.net/
Licence     : ASL 1.1 and ASL 2.0 and GPL+ and GPLv2 and GPLv2 with exceptions and LGPL+ and LGPLv2 and MPLv1.0 and MPLv1.1 and Public Domain and W3C
Description : The OpenJDK runtime environment without audio and video support.

Paquets disponibles
Nom         : java-1.8.0-openjdk-headless
Architectur : i686
Époque      : 1
Version     : 1.8.0.102
Révision    : 1.b14.fc24
Taille      : 31 M
Dépôt       : updates
Résumé      : OpenJDK Runtime Environment
URL         : http://openjdk.java.net/
Licence     : ASL 1.1 and ASL 2.0 and GPL+ and GPLv2 and GPLv2 with exceptions and LGPL+ and LGPLv2 and MPLv1.0 and MPLv1.1 and Public Domain and W3C
Description : The OpenJDK runtime environment without audio and video support.

Comment 1 jiri vanek 2016-09-07 10:31:10 UTC
Hello. I'm finding the report a bit confusing (sorry). This is probably fedora release engineering issue, or maybe also dnf issue or really maybe java issue


First to clarify: When you are installing not-your-architecture, but still compatible one (as you do with i686 on x86_64)  thngs may go wrong.

1) dnf install java-1.8.0-openjdk.i686
Error: package java-1.8.0-openjdk-1:1.8.0.91-7.b14.fc24.i686 requires java-1.8.0-openjdk-headless = 1:1.8.0.91-7.b14.fc24, but none of the providers can be installed

Imho dnf is trying to satisfy  java-1.8.0-openjdk.i686's dependency of headless one by x64. And that is failing... Not exactly sure why.

2)However when you go with 
dnf install java-1.8.0-openjdk.i686 java-1.8.0-openjdk-headless.i686
Last metadata expiration check: 1:42:25 ago on Wed Sep  7 10:31:44 2016.
Dependencies resolved.
========================================================================================
 Package                         Arch     Version                    Repository   Size
========================================================================================
Installing:
 giflib                          i686     4.1.6-15.fc24              fedora       45 k
 java-1.8.0-openjdk              i686     1:1.8.0.91-7.b14.fc24      fedora      232 k
 java-1.8.0-openjdk-headless     i686     1:1.8.0.91-7.b14.fc24      fedora       31 M
Skipping packages with conflicts:(add '--best --allowerasing' to command line to force their upgrade):
 java-1.8.0-openjdk-headless     i686     1:1.8.0.102-1.b14.fc24     updates      31 M

Transaction Summary
========================================================================================
Install  3 Packages
Skip     1 Package

The result is much better.  But you are very right that versions are wrong. I'm pretty sure my updates were correct: 
https://bodhi.fedoraproject.org/updates/FEDORA-2016-7e41b6802e and on all arches:
http://koji.fedoraproject.org/koji/buildinfo?buildID=794434


3) Now - last of all: My specs http://pkgs.fedoraproject.org/cgit/rpms/java-1.8.0-openjdk.git/tree/java-1.8.0-openjdk.spec#n655 are requesting headless *without* architecture ( %{_isa} ) macro.  That shouldbe correct and aligned with packaging guidelines.


So if 3 is the fault, and I should depend with isa... it wil break guidelines (?)
if 1 is the fault then dnf need some fix (dnf)
And if 3 is the fault, then i686 build did not make it to repos.... (release-engineering)


Thoughts?

Comment 2 jiri vanek 2016-09-07 10:33:20 UTC
hmm.. Interesting is that  the installed i686 packages are going form *fedora* repo, but the one with missing depndencises is going from *updates* repo.

Isn't 32bit fedora already "dead"? That means the update repos do not work?

Comment 3 Gabriel Machado 2016-09-07 14:23:45 UTC
jiri vanek, you're  right.

The problem is that updates repository contains only the 64 bits version java-1.8.0-openjdk rpm (version 102). So dnf find the 32 bits version rpm in fedora repository only (version 91).

To install the package, i've downloaded and installed the java-1.8.0-openjdk.i686 (version 102) package from the fedora 24 i686 updates repository. 

To solve definitively this issue, you should add the rpm java-1.8.0-openjdk.i686 (version 102) to x86_64 updates repository too.

Comment 4 jiri vanek 2016-09-07 14:48:54 UTC
Ok. It looks like multilib openjdk is intentionally out of play: https://fedorahosted.org/rel-eng/ticket/5762

As you can use it by direct download from koji and localinstall, I will close as not a bug.

Comment 5 Gabriel Machado 2016-09-07 14:53:34 UTC
it's not a bug, just a missing package.

Who can add the missing package in fedora 24 x86_64 updates repository ?

Comment 6 jiri vanek 2016-09-07 14:58:50 UTC
No one. Openjdk is blacklisted on multilib, On 32b fedora, the update is normally available.