Bug 928004

Summary: h2database has artifact with invalid content of Implementation-Version
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Fernando Nasser <fnasser>
Component: BuildAssignee: David Walluck <dwalluck>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.1.0CC: mikeb, rsvoboda
Target Milestone: ER6   
Target Release: EAP 6.1.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 900081    
Bug Blocks: 927238    

Description Fernando Nasser 2013-03-26 16:36:38 UTC
Description of problem:

List of artifact with invalid content of Implementation-Version:

modules/system/layers/base/com/h2database/h2/main/h2-1.3.168-redhat-1.jar
- filename doesn't contain a such suffix ('_' -> '-')

The version in the MANIFEST has the underscores instead of the dashes.


Additional info:

see https://bugzilla.redhat.com/show_bug.cgi?id=927238

Comment 1 David Walluck 2013-03-26 19:45:51 UTC
If I modify the build for h2, we can get the Implementation-Version how you want it, but the Export-Package line is changed as well. I think the OSGi version must be changed from a dash to a dot, but this isn't being done automatically.

Export-Package: org.h2;version="1.3.168-redhat-2",org.h2.api;version="^M
 1.3.168-redhat-2",org.h2.fulltext;version="1.3.168-redhat-2",org.h2.j^M
 dbcx;version="1.3.168-redhat-2",org.h2.tools;version="1.3.168-redhat-^M
 2",org.h2.util;version="1.3.168-redhat-2"^M
Implementation-Version: 1.3.168-redhat-2^M
Bundle-Version: 1.3.168-redhat-2^M

I know there are two QE version checks: one for having '-redhat-#' in the version and one for having OSGi correctness. So my concern is that it would be possible to violate the OSGi correctness when attempting to fix the '-redhat-#' check.

Also, given that there's several different pieces of software in play, it is not clear to me if the OSGi version can be checked beforehand. But, obviously it's not being checked or it should not be possible for a build to violate the OSGi correctness check unless the plugin that is adding the version is doing so incorrectly.

Comment 2 David Walluck 2013-03-26 21:39:47 UTC
Built:

h2database-1.3.168-3_redhat_2.ep6.el6

<https://brewweb.devel.redhat.com/buildinfo?buildID=263984>

Comment 3 Pavel Janousek 2013-03-27 07:16:54 UTC
@Rosta,
Could you please look at David's comment? I'm not expert of OSGi requirements and if I'm not wrong, you have been executing these checks.

Comment 5 Rostislav Svoboda 2013-04-04 07:04:01 UTC
OSGi version naming compliance is not goal for EAP 6, -redhat-XY suffix is enough.

I think Fernando is right and version in the MANIFEST should have the dashes instead of the underscores.


Info for EAP 6.1.0 ER3:
8. Number of invalid versions (strict OSGi naming rules)
176 of 458
http://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/EAP6/view/EAP6-Repository/job/eap-60-repository-maven-check-valid-versions/

9. Number of invalid versions (less strict, just with -redhat-XY substring)
0 of 458
http://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/EAP6/view/EAP6-Repository/job/eap-60-repository-maven-check-valid-versions/

Comment 6 Paul Gier 2013-04-09 20:44:10 UTC
This page includes an excerpt regarding the OSGi specification for version strings:

https://community.jboss.org/wiki/JBossProjectVersioning

Comment 7 Fernando Nasser 2013-04-19 13:10:01 UTC
Fix did not make it in time for the ER5 ZIP build, will be on ER6

Comment 8 Rostislav Svoboda 2013-05-05 07:56:35 UTC
Verified on EAP 6.1.0 ER6