On Fri, 25 Nov 2005, Gürkan Sengün wrote: > Package: unzip > Version: 5.52-5 > Severity: normal > > $ uname -a > GNU/kFreeBSD gnu 5.4-1-686 #0 Sun Nov 20 17:50:29 CET 2005 i686 i386 AMD > Sempron(tm) 3000+ GNU/kFreeBSD > > how to reproduce: > $ wget http://www.braingames.getput.com/mog/downloads/mog-sources.zip > $ unzip mog-sources.zip > Archive: mog-sources.zip > error [mog-sources.zip]: start of central directory not found; > zipfile corrupt. > (please check that you have transferred or created the zipfile in the > appropriate BINARY mode and that you have compiled UnZip properly) > > after the patch: > $ unzip mog-sources.zip > Archive: mog-sources.zip > inflating: MoGv62-sources/bitmaps.cpp > inflating: MoGv62-sources/bitmaps.h > inflating: MoGv62-sources/debug-report.cpp > inflating: MoGv62-sources/demons.cpp > > Please apply this patch and also forward it to upstream: > > 00:51 < aurel32> --- unzip-5.52.orig/unix/unxcfg.h > 00:51 < aurel32> +++ unzip-5.52/unix/unxcfg.h > 00:51 < aurel32> @@ -15,6 +15,7 @@ > 00:51 < aurel32> #include <sys/types.h> /* off_t, time_t, dev_t, ... > */ > 00:51 < aurel32> #include <sys/stat.h> > 00:51 < aurel32> +#include <unistd.h> > 00:51 < aurel32> #ifndef COHERENT > 00:51 < aurel32> # include <fcntl.h> /* O_BINARY for open() w/o > CR/LF translation */
It is not enough that you provide a patch. They will surely reject the patch, as apparently they don't want to include unistd.h unconditionally. The current code uses the __GLIBC__ macro here and there (well, sometimes in combination with __GNU__, which is redundant). It will help if you could explain why it does not work without the patch, and why it works on Linux-based systems. Also, it would help if you could tell whether this is a single .zip file that it does not work, or no .zip file works at all now, because last time I checked on GNU/kFreeBSD, it worked.