Bug 928004 - h2database has artifact with invalid content of Implementation-Version
Summary: h2database has artifact with invalid content of Implementation-Version
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Build
Version: 6.1.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ER6
: EAP 6.1.0
Assignee: David Walluck
QA Contact:
URL:
Whiteboard:
Depends On: JBPAPP6-1575
Blocks: 927238
TreeView+ depends on / blocked
 
Reported: 2013-03-26 16:36 UTC by Fernando Nasser
Modified: 2015-02-20 10:22 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

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


Note You need to log in before you can comment on or make changes to this bug.