summaryrefslogtreecommitdiff
path: root/archivers/unzip
diff options
context:
space:
mode:
authorwiz <wiz>2010-03-03 16:27:57 +0000
committerwiz <wiz>2010-03-03 16:27:57 +0000
commitaee182a5afe684a0129c8c554d08d65cbb42bea1 (patch)
treea9ddefb0ab03e44f991e8c124bdf60a347f0aa59 /archivers/unzip
parentd934dd5fcaa9a5aa5caf494343c1860e01eed2a7 (diff)
downloadpkgsrc-aee182a5afe684a0129c8c554d08d65cbb42bea1.tar.gz
Update to 6.0:
New features in UnZip 6.0, released 20 April 2009: * Support PKWARE ZIP64 extensions, allowing Zip archives and Zip archive entries larger than 4 GiBytes and more than 65536 entries within a single Zip archive. This support is currently only available for Unix, OpenVMS and Win32/Win64. * Support for bzip2 compression method. * Support for UTF-8 encoded entry names, both through PKWARE's "General Purpose Flags Bit 11" indicator and Info-ZIP's new "up" unicode path extra field. (Currently, on Windows the UTF-8 handling is limited to the character subset contained in the configured non-unicode "system code page".) * Added "wrong implementation used" warning to error messages of the MSDOS port when used under Win32, in an attempt to reduce false bug reports. * Fixed "Time of Creation/Time of Use" vulnerability when setting attributes of extracted files, for Unix and Unix-like ports. * Fixed memory leak when processing invalid deflated data. * Fixed long-standing bug in unshrink (partial_clear), added boundary checks against invalid compressed data. * On Unix, keep inherited SGID attribute bit for extracted directories unless restoration of owner/group id or SUID/SGID/Tacky attributes was requested. * On Unix, allow extracted filenames to contain embedded control characters when explicitly requested by specifying the new command line option "-^". * On Unix, support restoration of symbolic link attributes. * On Unix, support restoration of 32-bit UID/GID data using the new "ux" IZUNIX3 extra field introduced with Zip 3.0. * Support for ODS5 extended filename syntax on new OpenVMS systems. * Support symbolic links zipped up on VMS. * On VMS (only 8.x or better), support symbolic link creation. * On VMS, support option to create converted text files in Stream_LF format. * New -D option to suppress restoration of timestamps for extracted directory entries (on those ports that support setting of directory timestamps). By specifying "-DD", this new option also allows to suppress timestamp restoration for ALL extracted files on all UnZip ports which support restoration of timestamps. On VMS, the default behaviour is now to skip restoration of directory timestamps; here, "--D" restores ALL timestamps, "-D" restores none. * On OS/2, Win32, and Unix, the (previously optional) feature UNIXBACKUP to allow saving backup copies of overwritten files on extraction is now enabled by default. For the UnZip 6.0 release, we want to give special credit to Myles Bennet, who started the job of supporting ZIP64 extensions and Large-File (> 2GiB) and provided a first (alpha-state) port.
Diffstat (limited to 'archivers/unzip')
-rw-r--r--archivers/unzip/Makefile14
-rw-r--r--archivers/unzip/PLIST4
-rw-r--r--archivers/unzip/distinfo14
-rw-r--r--archivers/unzip/patches/patch-ab10
-rw-r--r--archivers/unzip/patches/patch-ac88
-rw-r--r--archivers/unzip/patches/patch-ad27
-rw-r--r--archivers/unzip/patches/patch-ae52
7 files changed, 44 insertions, 165 deletions
diff --git a/archivers/unzip/Makefile b/archivers/unzip/Makefile
index 1ab1905fa78..a25bca87587 100644
--- a/archivers/unzip/Makefile
+++ b/archivers/unzip/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.72 2010/01/21 16:32:21 heinz Exp $
+# $NetBSD: Makefile,v 1.73 2010/03/03 16:27:57 wiz Exp $
-DISTNAME= unzip552
-PKGNAME= unzip-5.52
-PKGREVISION= 4
+DISTNAME= unzip60
+PKGNAME= unzip-6.0
CATEGORIES= archivers
MASTER_SITES= ftp://ftp.info-zip.org/pub/infozip/src/
EXTRACT_SUFX= .tgz
@@ -15,8 +14,6 @@ LICENSE= info-zip
PKG_INSTALLATION_TYPES= overwrite pkgviews
PKG_DESTDIR_SUPPORT= user-destdir
-DIST_SUBDIR= ${PKGNAME_NOREV} # Remove on next update.
-WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
USE_TOOLS+= gmake
CONFLICTS= fcrackzip<1.0nb1
@@ -32,7 +29,7 @@ CFLAGS+= -I. -DUNIX -Dunix -DUSE_UNSHRINK
MAKE_FLAGS+= CF=${CPPFLAGS:Q}\ ${CFLAGS:Q}
MAKE_FLAGS+= LF2=${_STRIPFLAG_CC:Q}\ ${LDFLAGS:Q}\ -lz
-INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 share/doc
+INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 share/doc/unzip
TEST_TARGET= check
@@ -42,11 +39,10 @@ do-install:
cd ${WRKSRC}/unix && ${INSTALL_SCRIPT} zipgrep ${DESTDIR}${PREFIX}/bin
cd ${WRKSRC}/man && ${INSTALL_MAN} funzip.1 unzip.1 unzipsfx.1 \
zipgrep.1 zipinfo.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
- ${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/doc/unzip
cd ${WRKSRC} && ${INSTALL_DATA} BUGS LICENSE README WHERE \
${DESTDIR}${PREFIX}/share/doc/unzip
cd ${WRKSRC} && ${INSTALL_DATA} COPYING.OLD \
- ${DESTDIR}${PREFIX}/share/doc/unzip/COPYING
+ ${DESTDIR}${PREFIX}/share/doc/unzip
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/archivers/unzip/PLIST b/archivers/unzip/PLIST
index d6a34f477bf..5b88f720046 100644
--- a/archivers/unzip/PLIST
+++ b/archivers/unzip/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.3 2009/06/14 17:28:18 joerg Exp $
+@comment $NetBSD: PLIST,v 1.4 2010/03/03 16:27:57 wiz Exp $
bin/funzip
bin/unzip
bin/unzipsfx
@@ -10,7 +10,7 @@ man/man1/unzipsfx.1
man/man1/zipgrep.1
man/man1/zipinfo.1
share/doc/unzip/BUGS
-share/doc/unzip/COPYING
+share/doc/unzip/COPYING.OLD
share/doc/unzip/LICENSE
share/doc/unzip/README
share/doc/unzip/WHERE
diff --git a/archivers/unzip/distinfo b/archivers/unzip/distinfo
index 34e52075a2b..aceebca07f4 100644
--- a/archivers/unzip/distinfo
+++ b/archivers/unzip/distinfo
@@ -1,10 +1,8 @@
-$NetBSD: distinfo,v 1.18 2008/03/23 13:03:13 tron Exp $
+$NetBSD: distinfo,v 1.19 2010/03/03 16:27:57 wiz Exp $
-SHA1 (unzip-5.52/unzip552.tgz) = 1831bd59b9e607a69052f83b263384895e2d4a19
-RMD160 (unzip-5.52/unzip552.tgz) = b749b0923bc4cceaa6f937aef688e9713a84328c
-Size (unzip-5.52/unzip552.tgz) = 1140291 bytes
+SHA1 (unzip60.tgz) = abf7de8a4018a983590ed6f5cbd990d4740f8a22
+RMD160 (unzip60.tgz) = 48af66606e9472e45fbb94bc4e285da23d1b89ba
+Size (unzip60.tgz) = 1376845 bytes
SHA1 (patch-aa) = de66b7b5c45904167e8596ce5235d957c2df4d2a
-SHA1 (patch-ab) = dd426fdf4b774bd73f4ee46da470ffa3c2cf6513
-SHA1 (patch-ac) = ada9059d9b3384396bbf6437f55fa40f2f6c0c73
-SHA1 (patch-ad) = a0ad66bc1f13dd1ec9f9d7c9eb5b49ca3edb09be
-SHA1 (patch-ae) = b6f50523a0020b57e3385731dd0c7b447b1a9242
+SHA1 (patch-ab) = 3b15e24ac04af371b2b424251582b5434e14a91f
+SHA1 (patch-ac) = 7891fad33d07746d1067e373bf955086489e0fee
diff --git a/archivers/unzip/patches/patch-ab b/archivers/unzip/patches/patch-ab
index 494b398008d..60a3deff651 100644
--- a/archivers/unzip/patches/patch-ab
+++ b/archivers/unzip/patches/patch-ab
@@ -1,6 +1,6 @@
-$NetBSD: patch-ab,v 1.5 2004/01/22 12:25:59 grant Exp $
+$NetBSD: patch-ab,v 1.6 2010/03/03 16:27:57 wiz Exp $
---- unix/Makefile.orig 2002-02-17 04:00:38.000000000 +1100
+--- unix/Makefile.orig 2009-01-18 22:41:18.000000000 +0000
+++ unix/Makefile
@@ -42,7 +42,7 @@
# such as -DDOSWILD).
@@ -10,8 +10,8 @@ $NetBSD: patch-ab,v 1.5 2004/01/22 12:25:59 grant Exp $
+#CC = cc# try using "gcc" target rather than changing this (CC and LD
LD = $(CC)# must match, else "unresolved symbol: ___main" is possible)
AS = as
- LOC = $(LOCAL_UNZIP)
-@@ -552,7 +552,7 @@ generic3: unix_make # third try if unkn
+ LOC = $(D_USE_BZ2) $(LOCAL_UNZIP)
+@@ -580,7 +580,7 @@ generic_bz2: unix_make
generic_zlib: unix_make
@echo\
"This target assumes zlib (libz.a or libz.so.*) is already installed."
@@ -20,7 +20,7 @@ $NetBSD: patch-ab,v 1.5 2004/01/22 12:25:59 grant Exp $
# Generic GNU C shared library. This is an example of how to compile UnZip as
# a shared library. (Doing so as a static library would be similar.) See also
-@@ -613,7 +613,7 @@ vax: unzips # general-purpose VAX targe
+@@ -651,7 +651,7 @@ vax: unzips # general-purpose VAX targe
bsd: _bsd # generic BSD (BSD 4.2 & Ultrix handled in unzip.h)
_bsd: unix_make
diff --git a/archivers/unzip/patches/patch-ac b/archivers/unzip/patches/patch-ac
index 062be0cbd3e..30e9d46fc0b 100644
--- a/archivers/unzip/patches/patch-ac
+++ b/archivers/unzip/patches/patch-ac
@@ -1,64 +1,28 @@
-$NetBSD: patch-ac,v 1.1 2005/08/04 14:20:35 tron Exp $
+$NetBSD: patch-ac,v 1.2 2010/03/03 16:27:57 wiz Exp $
---- unix/unix.c.orig 2005-02-26 19:43:42.000000000 +0000
-+++ unix/unix.c 2005-08-04 15:15:17.000000000 +0100
-@@ -1042,8 +1042,6 @@
- ush z_uidgid[2];
- int have_uidgid_flg;
-
-- fclose(G.outfile);
--
- /*---------------------------------------------------------------------------
- If symbolic links are supported, allocate storage for a symlink control
- structure, put the uncompressed "data" and other required info in it, and
-@@ -1059,6 +1057,8 @@
- strlen(G.filename);
- slinkentry *slnk_entry;
-
-+ fclose(G.outfile);
-+
- if ((unsigned)slnk_entrysize < ucsize) {
- Info(slide, 0x201, ((char *)slide,
- "warning: symbolic link (%s) failed: mem alloc overflow\n",
-@@ -1107,6 +1107,11 @@
- }
- #endif /* SYMLINKS */
-
-+#ifndef NO_CHMOD
-+ if (fchmod(fileno(G.outfile), filtattr(__G__ G.pInfo->file_attr)))
-+ perror("chmod (file attributes) error");
+--- inflate.c.orig 2008-07-30 01:31:08.000000000 +0000
++++ inflate.c
+@@ -473,7 +473,11 @@ int UZinflate(__G__ is_defl64)
+ retval = 2;
+ } else {
+ /* output write failure */
++#ifdef FUNZIP
++ retval = PK_DISK;
++#else
+ retval = (G.disk_full != 0 ? PK_DISK : IZ_CTRLC);
+#endif
-+
- #ifdef QLZIP
- if (G.extra_field) {
- static void qlfix OF((__GPRO__ uch *ef_ptr, unsigned ef_len));
-@@ -1120,7 +1125,7 @@
- /* if -X option was specified and we have UID/GID info, restore it */
- if (have_uidgid_flg) {
- TTrace((stderr, "close_outfile: restoring Unix UID/GID info\n"));
-- if (chown(G.filename, (uid_t)z_uidgid[0], (gid_t)z_uidgid[1]))
-+ if (fchown(fileno(G.outfile), (uid_t)z_uidgid[0], (gid_t)z_uidgid[1]))
- {
- if (uO.qflag)
- Info(slide, 0x201, ((char *)slide,
-@@ -1133,6 +1138,8 @@
- }
- }
-
-+ fclose(G.outfile);
-+
- /* set the file's access and modification times */
- if (utime(G.filename, &(zt.t2))) {
- #ifdef AOS_VS
-@@ -1156,11 +1163,6 @@
- zipfile.
- ---------------------------------------------------------------------------*/
-
--#ifndef NO_CHMOD
-- if (chmod(G.filename, filtattr(__G__ G.pInfo->file_attr)))
-- perror("chmod (file attributes) error");
--#endif
--
- } /* end function close_outfile() */
-
- #endif /* !MTS */
+ }
+ } else {
+ Trace((stderr, "oops! (inflateBack9() err = %d)\n", err));
+@@ -538,7 +542,11 @@ int UZinflate(__G__ is_defl64)
+ retval = 2;
+ } else {
+ /* output write failure */
++#ifdef FUNZIP
++ retval = PK_DISK;
++#else
+ retval = (G.disk_full != 0 ? PK_DISK : IZ_CTRLC);
++#endif
+ }
+ } else {
+ Trace((stderr, "oops! (inflateBack() err = %d)\n", err));
diff --git a/archivers/unzip/patches/patch-ad b/archivers/unzip/patches/patch-ad
deleted file mode 100644
index 604b13444cd..00000000000
--- a/archivers/unzip/patches/patch-ad
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD: patch-ad,v 1.1 2006/11/03 07:53:55 rillig Exp $
-
-unzipsfx does not need libz, so a special compile rule is needed for it.
-
---- unix/Makefile.orig Mon Oct 30 22:45:35 2006
-+++ unix/Makefile Mon Oct 30 22:48:02 2006
-@@ -87,7 +87,7 @@
- OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $M$O
- LOBJS = $(OBJS)
- OBJSDLL = $(OBJS:.o=.pic.o) api.pic.o
--OBJX = unzipsfx$O $(CRC32)$O crctab_$O crypt_$O extract_$O fileio_$O \
-+OBJX = unzipsfx$O crc32_$O crctab_$O crypt_$O extract_$O fileio_$O \
- globals_$O inflate_$O match_$O process_$O ttyio_$O $M_$O
- LOBJX = $(OBJX)
- OBJF = funzip$O $(CRC32)$O cryptf$O globalsf$O inflatef$O ttyiof$O
-@@ -306,6 +306,11 @@
- -$(CP) unzip.c unzipsfx.c
- $(CC) -c $(CF) -DSFX unzipsfx.c
- $(RM) unzipsfx.c
-+
-+crc32_$O: crc32.c $(UNZIP_H) zip.h # unzipsfx only
-+ -$(CP) crc32.c crc32_.c
-+ $(CC) -c $(CF) -DSFX crc32_.c
-+ $(RM) crc32_.c
-
- crctab_$O: crctab.c $(UNZIP_H) zip.h
- -$(CP) crctab.c crctab_.c
diff --git a/archivers/unzip/patches/patch-ae b/archivers/unzip/patches/patch-ae
deleted file mode 100644
index 42d7502fe36..00000000000
--- a/archivers/unzip/patches/patch-ae
+++ /dev/null
@@ -1,52 +0,0 @@
-$NetBSD: patch-ae,v 1.1 2008/03/23 13:03:13 tron Exp $
-
---- inflate.c.orig 2005-02-27 06:08:46.000000000 +0000
-+++ inflate.c 2008-03-23 12:58:42.000000000 +0000
-@@ -983,6 +983,7 @@
- unsigned l; /* last length */
- unsigned m; /* mask for bit lengths table */
- unsigned n; /* number of lengths to get */
-+ struct huft *tlp;
- struct huft *tl; /* literal/length code table */
- struct huft *td; /* distance code table */
- unsigned bl; /* lookup bits for tl */
-@@ -996,6 +997,8 @@
- int retval = 0; /* error code returned: initialized to "no error" */
-
-
-+ td = tlp = tl = (struct huft *)NULL;
-+
- /* make local bit buffer */
- Trace((stderr, "\ndynamic block"));
- b = G.bb;
-@@ -1047,9 +1050,9 @@
- while (i < n)
- {
- NEEDBITS(bl)
-- j = (td = tl + ((unsigned)b & m))->b;
-+ j = (tlp = tl + ((unsigned)b & m))->b;
- DUMPBITS(j)
-- j = td->v.n;
-+ j = tlp->v.n;
- if (j < 16) /* length of code in bits (0..15) */
- ll[i++] = l = j; /* save last length in l */
- else if (j == 16) /* repeat last length 3 to 6 times */
-@@ -1141,6 +1144,7 @@
- huft_free(td);
- }
- huft_free(tl);
-+
- return retval;
- }
-
-@@ -1149,8 +1153,8 @@
-
- cleanup_and_exit:
- /* free the decoding tables, return */
-- huft_free(tl);
-- huft_free(td);
-+ if (tl) huft_free(tl);
-+ if (td) huft_free(td);
- return retval;
- }
-