#988312 libslf4j-java: misses liblog4j1.2-java as a dependency

#988312#5
Date:
2021-05-10 09:23:30 UTC
From:
To:
Dear maintainer,

Version 1.7.30-1 of libslf4j does not declare liblog4j1.2-java as a dependency,
it is only declared within the "Suggests:" field in debian/control.

Yet the classes of liblog4j1.2-java are needed by many classes in
slf4j-migrator.jar, slf4j-log4j12.jar, log4j-over-slf4j.jar. log4j:log4j is
also a declared dependency with scope runtime in slf4j-log4j12/pom.xml.
For this reason, other projects depending on the artifact slf4j-log4j12 fail to
resolve log4j:log4j:1.2.x.

Thanks for your help,
Pierre Gruet

#988312#10
Date:
2021-05-10 10:41:36 UTC
From:
To:
Le 2021-05-10 11:23, Pierre Gruet a écrit :

The dependency on log4j is only suggested because it's optional. The
right
solution I think it to move slf4j-log4j12 into its own
libslf4j-log4j12-java
package with a hard dependency on liblog4j1.2-java.

Emmanuel Bourg

#988312#15
Date:
2021-05-11 08:49:29 UTC
From:
To:
Hello Emmanuel,

Le 10/05/2021 à 12:41, Emmanuel Bourg a écrit :

Thanks for your advice, this looks sensible.
I think we could do so after the release of Bullseye!

Best regards,
Pierre

#988312#20
Date:
2021-08-27 20:41:26 UTC
From:
To:
Hi Emmanuel,

On Mon, 10 May 2021 12:41:36 +0200 Emmanuel Bourg <ebourg@apache.org> wrote:
 > Le 2021-05-10 11:23, Pierre Gruet a écrit :
 >
 > > Version 1.7.30-1 of libslf4j does not declare liblog4j1.2-java as a
 > > dependency,
 > > it is only declared within the "Suggests:" field in debian/control.
 > >
 > > Yet the classes of liblog4j1.2-java are needed by many classes in
 > > slf4j-migrator.jar, slf4j-log4j12.jar, log4j-over-slf4j.jar.
 > > log4j:log4j is
 > > also a declared dependency with scope runtime in slf4j-log4j12/pom.xml.
 > > For this reason, other projects depending on the artifact slf4j-log4j12
 > > fail to
 > > resolve log4j:log4j:1.2.x.
 >
 > The dependency on log4j is only suggested because it's optional. The
 > right
 > solution I think it to move slf4j-log4j12 into its own
 > libslf4j-log4j12-java
 > package with a hard dependency on liblog4j1.2-java.

I have just given it a try, it is quite easy to create a second binary
package libslf4j-log4j12-java that depends on libslf4j-java and on
liblog4j1.2-java, yet I tried to use ratt and it attempts to rebuild
more than 850 packages.

I am unsure the binary package split is worth running this number of
builds and then touching all the reverse-dependencies that need it.
Does keeping one binary package libslf4j-java and having it depend on
liblog4j1.2-java (instead of just suggesting it) really seem
unreasonable to you?
After all, the log4j-1.2.jar file is really needed in the classpath when
using the artifact slf4j-log4j12.

 >
 > Emmanuel Bourg
 >
 >

Thanks again for your advice on this,