When I build a java package inside an SCL on Fedora 21, the auto generated provides/requires do not have the SCL name prefix. The package in question uses this idiom: %build %{?scl:scl enable %{scl} - << "EOF"} %mvn_artifact pom.xml icu4j.jar %{?scl:EOF} %install %{?scl:scl enable %{scl} - << "EOF"} %mvn_install -J doc %{?scl:EOF} For example, see this SRPM: https://fedorapeople.org/~mbooth/copr/eclipse-mars-icu4j-54.1.1-4.fc21.1.src.rpm When built inside an SCL, I get result: $ rpm -q --provides -p noarch/eclipse-mars-icu4j-54.1.1-4.fc22.1.noarch.rpm eclipse-mars-icu4j = 1:54.1.1-4.fc22.1 eclipse-mars-icu4j-eclipse = 1:54.1.1-4.fc22.1 mvn(com.ibm.icu:icu4j) = 54.1.1 mvn(com.ibm.icu:icu4j:pom:) = 54.1.1 osgi(com.ibm.icu) = 54.1.1 scl-package(eclipse-mars) What I expect to see: $ rpm -q --provides -p noarch/eclipse-mars-icu4j-54.1.1-4.fc22.1.noarch.rpm eclipse-mars-icu4j = 1:54.1.1-4.fc22.1 eclipse-mars-icu4j-eclipse = 1:54.1.1-4.fc22.1 eclipse-mars-mvn(com.ibm.icu:icu4j) = 54.1.1 eclipse-mars-mvn(com.ibm.icu:icu4j:pom:) = 54.1.1 osgi(com.ibm.icu) = 54.1.1 scl-package(eclipse-mars)
Hmm... I always thought that it was responsibility of xmvn-install to provide all necessary information regarding SCLs. There is no <namespace> element in metadata, so there are no SCL requires/provides. Nevertheless, fixing it javapackages shouldn't be difficult.
(In reply to Michal Srb from comment #1) > Hmm... I always thought that it was responsibility of xmvn-install to > provide all necessary information regarding SCLs. There is no <namespace> > element in metadata, so there are no SCL requires/provides. The way it was supposed to be implemented: macros that define artifacts (i.e. %mvn_build, %mvn_artifacts and %add_maven_depmap) should add <namespace> elements to artifacts they define. xmvn-install copies namespace to package metadata, from where it is read by dependency generators. (This way different artifacts could even be installed in different SCLs.) Currently only %mvn_build and %add_maven_depmap implement SCL detection. What is missing is SCL support in %mvn_artifact.
(In reply to Mat Booth from comment #0) > What I expect to see: ... > osgi(com.ibm.icu) = 54.1.1 I would expect eclipse-mars-osgi(com.ibm.icu) = 54.1.1 The JAR should be present in Maven metadata with namespace "eclipse-mars", so OSGi dep generator should generate properly SCL-ized provides.
javapackages-tools-4.1.0-5.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/javapackages-tools-4.1.0-5.fc21
The situation around SCL-ized OSGi provides/requires is a bit tricky and I need to think it through first. For example I don't see a reliable way of generating SCL-ized OSGi requires, because I have no obvious way of determining whether some particular R should be satisfied from base system, from same SCL or some other SCL.
Package javapackages-tools-4.1.0-5.fc21: * should fix your issue, * was pushed to the Fedora 21 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing javapackages-tools-4.1.0-5.fc21' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-15650/javapackages-tools-4.1.0-5.fc21 then log in and leave karma (feedback).
Hi, this still does not work for me. It's even worse in fact since now there is an exception: http://paste.fedoraproject.org/154240/14170022/ Here is the excerpt from the spec file: http://paste.fedoraproject.org/154241/00241914/
Fixed in xmvn-2.0.1-3
xmvn-2.0.1-3.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/xmvn-2.0.1-3.fc21
Moving to QA for testing.
xmvn-2.0.1-3.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.
I believe that this bug is fixed in xmvn-2.0.1-3, which is available in Fedora 21, so I am closing this bug now. The build containing the fix can be found at Koji: http://koji.fedoraproject.org/koji/buildinfo?buildID=595732