Bug 1413864

Summary: Upgrade of eclipse-epp-logging pulls too many new dependencies
Product: [Fedora] Fedora Reporter: Lukas Slebodnik <lslebodn>
Component: eclipse-epp-loggingAssignee: Sopot Cela <scela>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: mat.booth, scela
Target Milestone: ---Keywords: Reopened
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: 2017-01-18 12:58:38 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 Lukas Slebodnik 2017-01-17 07:54:15 UTC
Description of problem:
I tried to upgrade eclipse-epp-logging and it tries to pull 33 new dependencies.
Is it really required or it is just a packaging bug?
If some dependencies are optional than you can use weak dependencies



Version-Release number of selected component (if applicable):
eclipse-epp-logging-2.0.3-2.fc25

How reproducible:
Deterministic

Steps to Reproduce:
1. //ensure you have installed older version of eclipse-epp-logging
rpm -q eclipse-epp-logging
   
2. // try to upgrade package from updates testing
   dnf update --enablerepo=updates-testing eclipse-epp-logging

Actual results:
sh# dnf update --enablerepo=updates-testing eclipse-epp-logging
Last metadata expiration check: 0:11:23 ago on Tue Jan 17 07:38:22 2017.
Dependencies resolved.
================================================================================
 Package                      Arch   Version              Repository       Size
================================================================================
Installing:
 antlr3-java                  noarch 1:3.5.2-11.fc25      fedora          173 k
 apache-commons-beanutils     noarch 1.9.2-5.fc24         fedora          244 k
 apache-commons-collections   noarch 3.2.2-3.fc25         fedora          534 k
 apache-commons-compress      noarch 1.12-1.fc25          fedora          404 k
 apache-commons-digester      noarch 2.1-7.fc25           fedora          191 k
 apache-commons-discovery     noarch 2:0.5-16.fc25        fedora           88 k
 axis                         noarch 1.4-29.fc25          fedora           11 M
 bea-stax                     noarch 1.2.0-12.fc24        fedora          182 k
 bea-stax-api                 noarch 1.2.0-12.fc24        fedora           36 k
 beust-jcommander             noarch 1.47-3.fc25          fedora           71 k
 bsh                          noarch 1.3.0-36.fc25        updates         494 k
 hawtjni-runtime              noarch 1.10-6.fc24          fedora           38 k
 hppc                         noarch 0.7.1-3.fc24         fedora          1.3 M
 httpcomponents-client-cache  noarch 4.5.2-4.fc25         fedora          157 k
 jackson-core                 noarch 2.7.6-1.fc25         fedora          252 k
 jansi                        noarch 1.11-10.fc24         fedora           49 k
 jansi-native                 x86_64 1.5-10.fc24          fedora           51 k
 jline                        noarch 2.13-6.fc25          fedora          155 k
 log4j12                      noarch 1.2.17-13.fc25       fedora          457 k
 lucene4                      noarch 4.10.4-7.fc25        updates-testing  20 M
 morfologik-stemming          noarch 2.0.1-4.fc25         fedora          2.0 M
 nekohtml                     noarch 1.9.22-2.fc24        fedora          160 k
 randomizedtesting            noarch 2.3.1-2.fc24         fedora           14 k
 randomizedtesting-junit4-ant noarch 2.3.1-2.fc24         fedora          212 k
 randomizedtesting-runner     noarch 2.3.1-2.fc24         fedora          209 k
 rhino                        noarch 1.7.7.1-1.fc25       fedora          1.1 M
 simple-xml                   noarch 2.7.1-8.fc24         fedora          377 k
 snowball-java                noarch 0-0.7.20130902.fc24  fedora          101 k
 uima-addons                  noarch 2.3.1-7.fc24         fedora          5.7 M
 uimaj                        noarch 2.8.1-3.fc25         fedora          2.5 M
 wsdl4j                       noarch 1.6.3-8.fc24         fedora          190 k
 xmlbeans                     noarch 2.6.0-12.fc25        fedora          2.4 M
 xpp3                         noarch 1.1.4-11.c.fc25      fedora          329 k
Upgrading:
 eclipse-epp-logging          noarch 2.0.3-2.fc25         updates-testing 522 k

Transaction Summary
================================================================================
Install  33 Packages
Upgrade   1 Package

Total download size: 51 M

Expected results:
Just required packages are installed (if any)

Additional info:
Disabling weak dependencies did not help.
dnf update --enablerepo=updates-testing --setopt=install_weak_deps=false eclipse-epp-logging

Comment 1 Mat Booth 2017-01-17 16:05:47 UTC
This is because eclipse-epp-logging had to be moved to lucene 4 from lucene 5 to ensure that it functions correctly.

These additional deps are pulled in by lucene4 as an (unfortunate) consequence.

This is not a epp-logging bug (since moving to lucene4 is an intentional, but temporary measure until Eclipse upstream moves to newer lucene).

Comment 2 Lukas Slebodnik 2017-01-17 16:42:00 UTC
Could you explain why lucene was not required in 2.0.3-1 and is required in minor release update 2.0.3-2?

If it was not strictly required in 2.0.3-1 could it be changed to weak dependency? http://rpm.org/user_doc/dependencies.html#weak-dependencies.

And I can see lucene-upgrade.patch even in 2.0.3-1.

Comment 3 Mat Booth 2017-01-18 12:58:38 UTC
(In reply to Lukas Slebodnik from comment #2)
> Could you explain why lucene was not required in 2.0.3-1 and is required in
> minor release update 2.0.3-2?
> 
> If it was not strictly required in 2.0.3-1 could it be changed to weak
> dependency? http://rpm.org/user_doc/dependencies.html#weak-dependencies.
> 
> And I can see lucene-upgrade.patch even in 2.0.3-1.

With version 2.0.3-1 you will likely find your workspace logs littered with "could not read lucene index" errors. 

This is because epp-logging downloads lucene 3 indexes from the internet, but lucene 5 cannot read them. Lucene 4 is able to correctly read these indexes. I moved epp-logging from lucene 5 to lucene 4 to fix this bug.

Lucene is not an optional dependency, I cannot make it a weak dep.

IMO the reported problem is not a bug with epp-logging, it would be more appropriate to file a bug with lucene 4 to split it up into subpackages if you want to reduce the dependency count.

Comment 4 Lukas Slebodnik 2017-01-18 17:57:49 UTC
Thank you for detailed explanation.