bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#58591: Java packages do not appear to keep a reference to their inpu


From: Julien Lepiller
Subject: bug#58591: Java packages do not appear to keep a reference to their inputs
Date: Tue, 18 Oct 2022 17:32:32 +0200
User-agent: K-9 Mail for Android

Hi, replying to a few emails at once.

The ant-build-system uses zip -0 to produce an uncompressed archive. By default, jar produces a compressed one, so there's a repack phase for that:
http://git.savannah.nongnu.org/cgit/guix.git/tree/guix/build/ant-build-system.scm#n226

Embedding the classpath in the manifest is possible but would not have the expected effect. That's because a line in the manifest cannot exceed 72 bytes (see "line length" in https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#Notes_on_Manifest_and_Signature_Files), so the classpath will look like:

Class-Path: ../../../1234567891011
1213141516/share/java/foo.jar

Although java would read that fine, the grafter will not see it, nor be able to graft foo in a meaningful manner: java would still use the ungrafted version even if another file references foo.

Le 18 octobre 2022 16:56:01 GMT+02:00, Maxim Cournoyer <maxim.cournoyer@gmail.com> a écrit :
Hello,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

Tobias Geerinckx-Rice <me@tobias.gr> writes:

[...]

Groan. Which package(s) compress .jars?

Oh, aren't they all? I hadn't realized .jar compression was optional.

Actually, reading [0] again, it seems a JAR *is* a zip archive, so
cannot be either compressed or uncompressed.

[0] https://docs.oracle.com/en/java/javase/19/docs/specs/jar/jar.html

--
Thanks,
Maxim

reply via email to

[Prev in Thread] Current Thread [Next in Thread]