One thing that has been bothering me for quite some time now is that ZIP files created by the JDK classes don't get the correct permissions set on Unix - at least when using Info-ZIP's unzip.
OK, I created a simple test-archive with Ant and using the command line zip (Info-ZIP 2.2) - I took the latest documentation I could find at <ftp://ftp.uu.net/pub/archiving/zip/doc/> and started hexl-mode. As far as I can tell, Info-ZIP doesn't put file permission data into the "extra field" - they store timestamp and UID/GID there - but into the "external file attributes", which are platform specific and completely undocumented. I've already written a subclass of ZipEntry that uses what is called "ASi Unix" extra field data to record file modes and it works - the format is correct - but Info-Zip simply ignores this extra data when extracting the archive. I seem to be stuck. I cannot see any way to make Ant created ZIP files useful for Unix users short of rewriting ZipOutputStream (a lot of private stuff there) and borrowing code from Info-ZIP (reusing my rusty C knowledge). I'm willing to undergo that effort, but wanted to ask if anybody knows an alternative before that. Cheers Stefan