+++ tony mancill [2012-01-06 13:26 -0800]: > On 01/05/2012 08:14 PM, Wookey wrote:
> Thank you for in-depth look into this bug. Niels or Matthew, any > concerns with me preparing an upload? > > > > > This seems to me to be a serious problem blocking all > > java-helper-using packages > > > > So, I took a look at what's going on and found the following: > > <--snip--> > > > We can fix it by explicitly removing and recreating it: > > > > verbose_print("Updating manifest in $jar"); > > $zip->removeMember( 'META-INF/MANIFEST.MF' ) unless($new_manifest); > > $zip->removeMember( 'META-INF/' ); > > $mem = $zip->addString($var, 'META-INF/MANIFEST.MF'); > > $mem->desiredCompressionMethod(COMPRESSION_DEFLATED); > > $zip->addDirectory( 'META-INF/' ); > > # This on the other hand may fail. > > $zip->overwrite() == AZ_OK or error("Writing modified jar ($jar) > > failed$ > > > > which I hope is an acceptable fix. Patch attached. Having thought about it a bit, I'm not sure what happens with the above workaround if there _isn't_ a META-INF/ dir already present (does that ever happen)? Does the dir member entry end up after the file member? Is that a problem in zipfiles? And what if ther META-INF dir has other files in it (does that happen with java-helper? - will doing this break that? - I'm not sure what filesystem semantics Archive::Zip imposes)? It might be a good idea to test this on some more packages than just terraintool. And in the meantime the perl people are taking some interest in the real bug, which I believe is in Archive::Zip, not jh_manifest, so as we've already waited several months another week or so to see if that gets fixed is probably in order before uploading this workaround in jh_manifest. There are 227 packages which build-depend on javahelper, and presumably all/mostly use jh_manifest so a fix of some sort is quite urgent. Wookey -- Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM http://wookware.org/ __ This is the maintainer address of Debian's Java team <http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers>. Please use debian-j...@lists.debian.org for discussions and questions.