Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 929961

Summary: net-p2p/freenet: Missing dev-java/commons-io in the classpath
Product: Gentoo Linux Reporter: jonys <vidra.jonas>
Component: Current packagesAssignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed>
Status: UNCONFIRMED ---    
Severity: minor CC: gentoo, vidra.jonas
Priority: Normal Keywords: PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/36252
Whiteboard:
Package list:
Runtime testing required: ---

Description jonys 2024-04-13 18:54:41 UTC
While running net-p2p/freenet-0.7.5_p1497, the following message appears over and over in /var/freenet/logs/freenet-latest.log (I abbreviated the backtraces):
```
Caught java.lang.NoClassDefFoundError: org/apache/commons/io/input/NullInputStream running job freenet.support.PooledExecutor$Job@7bdca155
java.lang.NoClassDefFoundError: org/apache/commons/io/input/NullInputStream
        at freenet.client.ArchiveManager.handleTARArchive(ArchiveManager.java:373)
[... backtrace]
java.lang.ClassNotFoundException: org.apache.commons.io.input.NullInputStream
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
        at freenet.client.ArchiveManager.handleTARArchive(ArchiveManager.java:373)
[... backtrace]
```

If I manually add `/usr/share/commons-io-1/lib/commons-io.jar` to its classpath in /etc/freenet-wrapper.conf (in my case as wrapper.java.classpath.16; the number there has to be sequentially after the last existing one) and restart the daemon, the errors disappear.

I believe this should be resolved by adding a direct dependency on dev-java/commons-io – it's currently only a transitive dep through dev-java/commons-compress. The ebuild assembles the classpath in /etc/freenet-wrapper.conf out of the dependencies automatically.

Reproducible: Always
Comment 1 Volkmar W. Pogatzki 2024-04-14 08:33:39 UTC
(In reply to jonys from comment #0)
> [...]
> I believe this should be resolved by adding a direct dependency on
> dev-java/commons-io – it's currently only a transitive dep through
> dev-java/commons-compress. The ebuild assembles the classpath in
> /etc/freenet-wrapper.conf out of the dependencies automatically.
> [...]

Will you provide a pull request?
See https://wiki.gentoo.org/wiki/Creating_GitHub_Pull_Requests
Comment 2 jonys 2024-04-14 13:29:38 UTC
Sure, I'll try. I guess I can't just update the ebuild in-situ, but I have to make a new revision, right?
Comment 3 Volkmar W. Pogatzki 2024-04-14 13:39:50 UTC
(In reply to jonys from comment #2)
> Sure, I'll try. I guess I can't just update the ebuild in-situ, but I have
> to make a new revision, right?

revbump is needed every time an installed file is gonna change. here the affected file would be /usr/share/freenet/package.env
Comment 4 Volkmar W. Pogatzki 2024-04-14 13:42:37 UTC
(In reply to Volkmar W. Pogatzki from comment #3)
> (In reply to jonys from comment #2)
> > Sure, I'll try. I guess I can't just update the ebuild in-situ, but I have
> > to make a new revision, right?
> 
> revbump is needed every time an installed file is gonna change. here the
> affected file would be /usr/share/freenet/package.env

Use git mv