Another questionable dependency chain -- libreoffice-writer installs log4j-chainsaw

Mikolaj Izdebski mizdebsk at redhat.com
Thu Jan 30 12:48:16 UTC 2014


On 01/30/2014 12:28 PM, Richard Hughes wrote:
> On 30 January 2014 11:17, Aleksandar Kurtakov <akurtako at redhat.com> wrote:
>> Clarification the actual chain is
>> .... java-headless->rhino->jline->jansi->hawtjni->xbean->avalon-framework->log4j
> 
> Ahh, thanks for working that one out. Java isn't my area of expertise.
> 
>> It's time to prune such things out of the distro.
> 
> So what can we prune for F21? Does xbean actually require
> avalon-framework -- or does hawtjni actually need xbean? etc..

As owner or comaintainer of several packages listed above I can say that
dependencies after jline are correct, at least as correct as they can
be.  The problem is inability of RPM or YUM to handle more complex
dependency scenarios.

1) Although RPM 4.x has some (very) limited support for optional
dependencies (aka "soft dependencies"), YUM doesn't understand them at
all.  Some of dependencies mentioned by Aleksandar are in fact optional,
but I'm unable to mark them as such because of limitations imposed by YUM.

2) RPM doesn't differentiate between dependency scopes.  Some
dependencies may be required only in some contexts, for example only for
testing, or only when using that package to compile other packages.  In
the latter case one would normally put these dependencies in -devel
packages, but these are forbidden by packaging guidelines for Java.

3) RPM doesn't support dependency exclusions.  I'm not able to express
"require xbean, but without avalon" in terms of RPM requires.

I don't think that the above dependency situation can be improved
without removing legitimate Requires or patching upstream code.

-- 
Mikolaj Izdebski
IRC: mizdebsk


More information about the devel mailing list