On 22/03/2021 14:53, Konstantin Kolinko wrote:
пн, 22 мар. 2021 г. в 17:32, Mark Thomas <[email protected]>:

On 22/03/2021 13:16, Konstantin Kolinko wrote:
сб, 20 мар. 2021 г. в 18:24, Emmanuel Bourg <[email protected]>:

I got a quick look, I guess you replaced the <jar> tasks with <zip> to
make the timestamp of the zip entries reproducible? I'm not sure this is
sufficient, there is no guarantee the order of the entries will be the
same (this is usually dependent on the filesystem used, I don't think
Ant sorts the entries).

I have not reviewed the changes, but jar and zip differ in
a) placement of Manifest file (jar spec requires it to be the first
file in the archive IIRC)
b) encoding used for file names (jar uses UTF-8, zip uses platform default)

I couldn't find a reference to a requirement regarding the location of
MANIFEST. Do you have a reference?

I do not see with quick search in current spec [1],
but I see it mentioned and discussed here:
[2] https://en.wikipedia.org/wiki/JAR_(file_format)#Manifest
[3] 
https://stackoverflow.com/questions/4727637/how-do-i-verify-the-order-of-manifest-mf-within-jar

I did a little more digging. There is an assumption in JarInputStream that /META-INF/MANIFEST.MF is either first or only preceded by /META-INF/

I suspect I'm going to need to revert the <jar .../> to <zip .../> changes. I'm currently looking into alternatives.

Mark




[1] https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to