Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1781933

Summary: [201901] Broken OSGi metadata in apache-commons-* packages
Product: [Fedora] Fedora Modules Reporter: Mat Booth <mat.booth>
Component: javapackages-toolsAssignee: Mikolaj Izdebski <mizdebsk>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: jan.public, mizdebsk
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-04 17:41:13 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:
Embargoed:

Description Mat Booth 2019-12-10 22:07:33 UTC
Description of problem:

Non-modular packages apache-commons-codec and apache-commons-logging have the following provides:

osgi(org.apache.commons.codec)
osgi(org.apache.commons.logging)

But in javapackages-tools:201901 these packages' provides changed to:

osgi(org.apache.commons.commons-codec)
osgi(org.apache.commons.commons-logging)

I think this is due to a change in the apache parent pom and the OSGi symbolic name is no longer being set correctly.

Please pass the "commons.osgi.symbolicName" system property to the build to set the correct OSGi symbolic name in the broken packages, e.g.:

-Dcommons.osgi.symbolicName=org.apache.commons.codec

Comment 2 Mat Booth 2019-12-11 09:36:15 UTC
(In reply to Mikolaj Izdebski from comment #1)
> Patches posted for review:
> https://src.fedoraproject.org/fork/mbi/rpms/apache-commons-codec/c/5964547
> https://src.fedoraproject.org/fork/mbi/rpms/apache-commons-logging/c/6ef61a5
> 
> Builds:
> https://koji.kjnet.xyz/koji/buildinfo?buildID=7344
> https://koji.kjnet.xyz/koji/buildinfo?buildID=7345
> 
> OSGi provides seem correct in these builds.

Thanks, these changes look good to me

Comment 3 Mat Booth 2019-12-11 14:06:34 UTC
Hi I decided to check all apache-commons-* packages you are building and found more occurances of incorrect OSGi metadata:


[mbooth@thinkpad-p50 javapackages-tools-201901-29]$ rpm -qp --provides apache-commons-* | grep 'org\.apache\.commons\.commons'
osgi(org.apache.commons.commons-beanutils) = 1.9.3
osgi(org.apache.commons.commons-codec) = 1.12.0
osgi(org.apache.commons.commons-collections) = 3.2.2
osgi(org.apache.commons.commons-exec) = 1.3.0
osgi(org.apache.commons.commons-io) = 2.6.0
osgi(org.apache.commons.commons-jxpath) = 1.3.0
osgi(org.apache.commons.commons-lang) = 2.6.0
osgi(org.apache.commons.commons-logging) = 1.2.0
osgi(org.apache.commons.commons-logging.adapters) = 1.2.0
osgi(org.apache.commons.commons-logging.api) = 1.2.0
osgi(org.apache.commons.commons-net) = 3.6.0

Comment 4 Mikolaj Izdebski 2019-12-11 14:19:16 UTC
Thanks Mat for checking this.
Marian, could you please fix all remaining cases in MBI?

Comment 5 Mikolaj Izdebski 2019-12-12 07:23:25 UTC
All packages have been fixed in MBI:

$ dnf -q --repofrompath mbi,https://koji.kjnet.xyz/kojifiles/repos/jp-build/latest/x86_64/ --repo mbi repoquery --provides | grep ^osgi | grep apache.commons
osgi(org.apache.commons.beanutils) = 1.9.4
osgi(org.apache.commons.cli) = 1.4.0
osgi(org.apache.commons.codec) = 1.13.0
osgi(org.apache.commons.collections) = 3.2.2
osgi(org.apache.commons.compress) = 1.19.0
osgi(org.apache.commons.exec) = 1.3.0
osgi(org.apache.commons.io) = 2.6.0
osgi(org.apache.commons.jxpath) = 1.3.0
osgi(org.apache.commons.lang3) = 3.9.0
osgi(org.apache.commons.logging) = 1.2.0
osgi(org.apache.commons.logging.adapters) = 1.2.0
osgi(org.apache.commons.logging.api) = 1.2.0
osgi(org.apache.commons.net) = 3.6.0

Comment 6 Mikolaj Izdebski 2021-05-04 17:41:13 UTC
According to current modules policy [1] modular packages can only exist as alternative versions.
Since Javapackages exists as non-modular package in Fedora, modular Javapackages in the same version is not allowed according to the policy.

[1] https://docs.fedoraproject.org/en-US/modularity/policies/