Bug 1348689 - dnf pulls in eclipse for my gradle rpm
Summary: dnf pulls in eclipse for my gradle rpm
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf
Version: 24
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: rpm-software-management
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-06-21 19:16 UTC by Ferry Huberts
Modified: 2016-07-18 07:08 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2016-07-16 09:03:16 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
build log (87.36 KB, text/plain)
2016-07-15 17:28 UTC, Ferry Huberts
no flags Details
dnf log (26.89 KB, text/plain)
2016-07-15 17:29 UTC, Ferry Huberts
no flags Details

Description Ferry Huberts 2016-06-21 19:16:25 UTC
Description of problem:
I have repackaged Gradle, see https://github.com/fhuberts/rpmsUpstream
Building it and installing it pulls in Eclipse platform.
This was not the case on F23


Version-Release number of selected component (if applicable):
dnf-1.1.9-2.fc24.noarch


How reproducible:
always


Steps to Reproduce:
1. git clone https://github.com/fhuberts/rpmsUpstream.git
2. git clone https://github.com/fhuberts/rpmBuilder.git
3. cd rpmsUpstream/gradle-upstream
4. ../buildRPMs rpm.spec
5. dnf install RPMS/fedora/linux/releases/24/Everything/x86_64/os/Packages/g/gradle-upstream-2.13-1.fc24.noarch.rpm


Actual results:

$ dnf install gradle-upstream-2.13-1.fc24.noarch.rpm 
Failed to synchronize cache for repo 'rpmfusion-nonfree-updates', disabling.
Failed to synchronize cache for repo 'pelagic', disabling.
Last metadata expiration check: 1:10:26 ago on Tue Jun 21 19:54:44 2016.
Dependencies resolved.
===============================================================================================
 Package              Arch       Version                                Repository        Size
===============================================================================================
Installing:
 eclipse-platform     x86_64     1:4.6.0-0.6.git201605092000.fc24       fedora            39 M
Upgrading:
 gradle-upstream      noarch     2.13-1.fc24                            @commandline      44 M

Transaction Summary
===============================================================================================
Install  1 Package
Upgrade  1 Package

Total size: 83 M
Total download size: 39 M
Is this ok [y/N]: 
Operation aborted.


Expected results:
Not pulling in eclipseplatform


Additional info:

Comment 1 Igor Gnatenko 2016-06-27 11:24:44 UTC
Please run with --debugsolver and attach debugdata.

also would be nice to get RPMs.

Comment 2 Fedora Admin XMLRPC Client 2016-07-08 09:30:54 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 3 Ferry Huberts 2016-07-15 17:24:27 UTC
Nothing special reported by --debugsolver.

I do see that the rpm pulls in a boatload of packages, and these are also removed upon uninstall.
That is totally undesired since the gradle package is totally self-contained.

I'm going to attach the rpms, the build log and the dnf log

Comment 4 Ferry Huberts 2016-07-15 17:28:50 UTC
Created attachment 1180224 [details]
build log

Comment 5 Ferry Huberts 2016-07-15 17:29:15 UTC
Created attachment 1180225 [details]
dnf log

Comment 6 Ferry Huberts 2016-07-15 17:33:37 UTC
Can't attach rpms, they are too large.

You can produce them yourself by running:


mkdir bug1348689
cd bug1348689
git clone https://github.com/fhuberts/rpmbuilder.git
git clone https://github.com/fhuberts/rpmsUpstream.git
cd ./rpmsUpstream/fedora/gradle-upstream/
../buildRPMs rpm.spec

Comment 7 Igor Gnatenko 2016-07-16 09:03:16 UTC
Well, it's kind of simple:
[INFO osgi.req] input: ['/tmp/rpmbuild.gradle-upstream.k515iVCbiu/BUILDROOT/gradle-upstream-2.13-1.fc24.x86_64/usr/libexec/gradle/lib/slf4j-api-1.7.10.jar']
Provides: gradle-upstream = 2.13-1.fc24 osgi(bcpg) = 1.51 osgi(bcprov) = 1.51 osgi(biz.aQute.bndlib) = 2.4.0 osgi(ch.qos.logback.classic) = 1.0.13 osgi(ch.qos.logback.core) = 1.0.13 osgi(com.beust.jcommander) = 1.12.0 osgi(com.fasterxml.jackson.core.jackson-annotations) = 2.3.2 osgi(com.fasterxml.jackson.core.jackson-core) = 2.3.2 osgi(com.fasterxml.jackson.core.jackson-databind) = 2.3.2 osgi(com.google.gson) = 2.2.4 osgi(com.google.guava.jdk5) = 17.0.0 osgi(com.googlecode.jatl) = 0.2.2 osgi(groovy-all) = 2.4.4 osgi(jcifs) = 1.3.17 osgi(jcl.over.slf4j) = 1.7.10 osgi(joda-time) = 2.8.2 osgi(jul.to.slf4j) = 1.7.10 osgi(log4j.over.slf4j) = 1.7.10 osgi(org.apache.commons.cli) = 1.2 osgi(org.apache.commons.codec) = 1.6.0 osgi(org.apache.commons.collections) = 3.2.2 osgi(org.apache.commons.io) = 2.2.0 osgi(org.apache.commons.lang) = 2.6 osgi(org.apache.ivy) = 2.2.0 osgi(org.apache.xbean.xbean-reflect) = 3.4 osgi(org.eclipse.jdt.core) = 3.1.1 osgi(org.fusesource.jansi) = 1.2.1 osgi(org.mortbay.jetty.annotations) = 6.1.25 osgi(org.mortbay.jetty.jsp-2.1) = 6.1.14 osgi(org.mortbay.jetty.jsp-api-2.1) = 2.1 osgi(org.mortbay.jetty.plus) = 6.1.25 osgi(org.mortbay.jetty.server) = 6.1.25 osgi(org.mortbay.jetty.servlet-api) = 2.5 osgi(org.mortbay.jetty.util) = 6.1.25 osgi(org.mortbay.naming) = 6.1.25 osgi(org.objectweb.asm.all) = 5.0.3 osgi(org.objenesis) = 1.2 osgi(org.testng) = 6.3.1 osgi(slf4j.api) = 1.7.10
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /usr/bin/env osgi(org.eclipse.core.resources) osgi(org.eclipse.core.runtime) osgi(org.eclipse.text)
Processing files: gradle-upstream-docs-2.13-1.fc24.noarch
Provides: gradle-upstream-docs = 2.13-1.fc24
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1

> Requires: /usr/bin/env osgi(org.eclipse.core.resources) osgi(org.eclipse.core.runtime) osgi(org.eclipse.text)
here you go.

Comment 8 Ferry Huberts 2016-07-16 11:04:40 UTC
And how is that simple?
It isn't.

The package is self-contained and all this analysis was not done in F23.
It seems to be a change in F24 and now it pulls all this boatload of extra, which is shouldn't.

Where is this analysis change documented?
Can I disable it?

Comment 9 Ferry Huberts 2016-07-16 11:05:19 UTC
BTW. that 'Requires: /usr/bin/env osgi(org.eclipse.core.resources)' is totally wrong. It does NOT require that

Comment 10 Igor Gnatenko 2016-07-16 11:06:37 UTC
(In reply to Ferry Huberts from comment #8)
> And how is that simple?
> It isn't.
> 
> The package is self-contained and all this analysis was not done in F23.
> It seems to be a change in F24 and now it pulls all this boatload of extra,
> which is shouldn't.
> 
> Where is this analysis change documented?
> Can I disable it?
Well, you can ask Java SIG (maillist, IRC channel)

Comment 11 Ferry Huberts 2016-07-16 11:10:47 UTC
References?

I'm not part of the Fedora community

Comment 12 Igor Gnatenko 2016-07-16 11:34:26 UTC
(In reply to Ferry Huberts from comment #11)
> References?
https://fedoraproject.org/wiki/SIGs/Java

There are links to maillist & channels on IRC
> 
> I'm not part of the Fedora community

Comment 13 Jonny Heggheim 2016-07-17 18:59:53 UTC
> Where is this analysis change documented?
> Can I disable it?

I would have a look at https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering

Comment 14 Ferry Huberts 2016-07-17 19:46:15 UTC
Thanks, I'll check it out and will report back

Comment 15 Ferry Huberts 2016-07-18 07:08:04 UTC
ok, after some email exchange on the java-devel list I got some tips and picked this option:

%global __requires_exclude_from ^%{_libexecdir}/gradle
%global __provides_exclude_from ^%{_libexecdir}/gradle 

which does what I want: disable the analysis


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