cvs commit: src/usr.bin/unzip Makefile unzip.1 unzip.c

Dag-Erling Smørgrav des at des.no
Tue Jan 15 14:13:40 PST 2008


Kris Kennaway <kris at FreeBSD.org> writes:
> No, you'd have to duplicate the do-extract code (or add a special
> variable for those 4 ports).  I'd much rather wait to see what Tim and
> Dag-Erling can come up with.

Take it easy everyone, no special-casing will be necessary as I fully
intend to add support for them to libarchive.

The four files I've identified are:

/usr/ports/distfiles/XMMS-AfterStep.zip
/usr/ports/distfiles/mathfonts-4.1/MathFonts_TrueType_41.exe
/usr/ports/distfiles/q2-3.20-x86-full.exe
/usr/ports/distfiles/wordsall.zip

Two of them are self-extracting.  There is no easy way to figure out how
much to skip.  I wrote a PE decoder which located the correct section,
but the zip file is preceded by decoder-specific data which I couldn't
decode.  The correct starting position can be obtained from the central
directory, which is at the end of the file, which means libarchive needs
full seek support.  I am working on that, but it requires a few changes
in the API between the libarchive core and the support modules, which is
a published API, so I need to discuss this with Tim (who until recently
was away on vacation).

AFAICT, the other two files simply have a dummy local header ("PK00") at
the beginning, which requires a trivial modification to the existing zip
support code to handle.

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the cvs-src mailing list