rpms/unzip/F-8 unzip-5.52-4GB3.patch, NONE, 1.1 unzip-5.52-4GB_types.patch, NONE, 1.1 unzip-5.52-near-4GB.patch, 1.1, 1.2 unzip.spec, 1.35, 1.36

Ivana Varekova (varekova) fedora-extras-commits at redhat.com
Thu Jan 24 08:00:40 UTC 2008


Author: varekova

Update of /cvs/pkgs/rpms/unzip/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6636

Modified Files:
	unzip-5.52-near-4GB.patch unzip.spec 
Added Files:
	unzip-5.52-4GB3.patch unzip-5.52-4GB_types.patch 
Log Message:
- fix long file support #429674


unzip-5.52-4GB3.patch:

--- NEW FILE unzip-5.52-4GB3.patch ---
diff -up unzip-5.52/globals.h.pom unzip-5.52/globals.h
--- unzip-5.52/globals.h.pom	2008-01-22 14:54:15.000000000 +0100
+++ unzip-5.52/globals.h	2008-01-22 14:54:26.000000000 +0100
@@ -183,7 +183,7 @@ typedef struct Globals {
     int newzip;           /* reset in extract.c; used in crypt.c */
     Z_OFF_T   real_ecrec_offset;
     Z_OFF_T   expect_ecrec_offset;
-    long csize;           /* used by decompr. (NEXTBYTE): must be signed */
+    long long csize;           /* used by decompr. (NEXTBYTE): must be signed */
     long used_csize;      /* used by extract_or_test_member(), explode() */
 
 #ifdef DLL
diff -up unzip-5.52/process.c.pom unzip-5.52/process.c
--- unzip-5.52/process.c.pom	2008-01-22 14:54:15.000000000 +0100
+++ unzip-5.52/process.c	2008-01-22 14:54:47.000000000 +0100
@@ -1288,7 +1288,7 @@ int process_local_file_hdr(__G)    /* re
         G.lrec.ucsize = G.pInfo->uncompr_size;
     }
 
-    G.csize = (long)G.lrec.csize;
+    G.csize = (long long)G.lrec.csize;
 
     return PK_COOL;
 

unzip-5.52-4GB_types.patch:

--- NEW FILE unzip-5.52-4GB_types.patch ---
diff -up unzip-5.52/globals.h.pom unzip-5.52/globals.h
--- unzip-5.52/globals.h.pom	2008-01-23 14:20:11.000000000 +0100
+++ unzip-5.52/globals.h	2008-01-23 14:20:11.000000000 +0100
@@ -247,9 +247,9 @@ typedef struct Globals {
 #else
     int       zipfd;                /* zipfile file handle */
 #endif
-    Z_OFF_T   ziplen;
-    Z_OFF_T   cur_zipfile_bufstart; /* extract_or_test, readbuf, ReadByte */
-    Z_OFF_T   extra_bytes;          /* used in unzip.c, misc.c */
+    ulg       ziplen;
+    ulg       cur_zipfile_bufstart; /* extract_or_test, readbuf, ReadByte */
+    ulg       extra_bytes;          /* used in unzip.c, misc.c */
     uch       *extra_field;         /* Unix, VMS, Mac, OS/2, Acorn, ... */
     uch       *hold;
 
diff -up unzip-5.52/list.c.pom unzip-5.52/list.c
--- unzip-5.52/list.c.pom	2008-01-23 14:20:11.000000000 +0100
+++ unzip-5.52/list.c	2008-01-23 14:20:11.000000000 +0100
@@ -62,12 +62,12 @@
      "%8lu  %-7s%8lu %4s  %02u%c%02u%c%02u %02u:%02u  %08lx %c";
    static ZCONST char Far LongFileTrailer[] =
      "--------          -------  ---                       \
-     -------\n%8ju         %8ju %4s                            %lu file%s\n";
+     -------\n%8llu         %8llu %4s                            %lu file%s\n";
 #ifdef OS2_EAS
    static ZCONST char Far ShortHdrStats[] =
      "%9lu %6lu %6lu  %02u%c%02u%c%02u %02u:%02u  %c";
    static ZCONST char Far ShortFileTrailer[] = " --------  -----  -----       \
-            -------\n%9ju %6lu %6lu                   %lu file%s\n";
+            -------\n%9llu %6lu %6lu                   %lu file%s\n";
    static ZCONST char Far OS2ExtAttrTrailer[] =
      "%lu file%s %lu bytes of OS/2 extended attributes attached.\n";
    static ZCONST char Far OS2ACLTrailer[] =
diff -up unzip-5.52/unzpriv.h.pom unzip-5.52/unzpriv.h
--- unzip-5.52/unzpriv.h.pom	2008-01-23 14:20:11.000000000 +0100
+++ unzip-5.52/unzpriv.h	2008-01-23 14:23:21.000000000 +0100
@@ -1903,7 +1903,7 @@ void     defer_leftover_input OF((__GPRO
 unsigned readbuf              OF((__GPRO__ char *buf, register unsigned len));
 int      readbyte             OF((__GPRO));
 int      fillinbuf            OF((__GPRO));
-int      seek_zipf            OF((__GPRO__ Z_OFF_T abs_offset));
+int      seek_zipf            OF((__GPRO__ ulg abs_offset));
 #ifdef FUNZIP
    int   flush                OF((__GPRO__ ulg size));  /* actually funzip.c */
 #else
diff -up unzip-5.52/fileio.c.pom unzip-5.52/fileio.c
--- unzip-5.52/fileio.c.pom	2008-01-23 14:20:11.000000000 +0100
+++ unzip-5.52/fileio.c	2008-01-23 14:20:11.000000000 +0100
@@ -669,7 +669,7 @@ int fillinbuf(__G) /* like readbyte() ex
 
 int seek_zipf(__G__ abs_offset)
     __GDEF
-    Z_OFF_T abs_offset;
+    ulg abs_offset;
 {
 /*
  *  Seek to the block boundary of the block which includes abs_offset,
@@ -690,9 +690,9 @@ int seek_zipf(__G__ abs_offset)
  *  PK_EOF if seeking past end of zipfile
  *  PK_OK when seek was successful
  */
-    Z_OFF_T request = abs_offset + G.extra_bytes;
-    Z_OFF_T inbuf_offset = request % INBUFSIZ;
-    Z_OFF_T bufstart = request - inbuf_offset;
+    ulg request = abs_offset + G.extra_bytes;
+    ulg inbuf_offset = request % INBUFSIZ;
+    ulg bufstart = request - inbuf_offset;
 
     if (request > (Z_OFF_T) MAX_ZIP_SIZE) { 
         Info(slide, 1, ((char *)slide, LoadFarStringSmall(SeekMsg),
diff -up unzip-5.52/process.c.pom unzip-5.52/process.c
--- unzip-5.52/process.c.pom	2008-01-23 14:20:11.000000000 +0100
+++ unzip-5.52/process.c	2008-01-23 14:20:11.000000000 +0100
@@ -915,7 +915,7 @@ static int find_ecrec(__G__ searchlen)  
     long searchlen;
 {
     int i, numblks, found=FALSE;
-    Z_OFF_T tail_len;
+    ulg tail_len;
     ec_byte_rec byterec;
 
 
diff -up unzip-5.52/extract.c.pom unzip-5.52/extract.c
--- unzip-5.52/extract.c.pom	2008-01-23 14:20:11.000000000 +0100
+++ unzip-5.52/extract.c	2008-01-23 14:20:11.000000000 +0100
@@ -301,16 +301,16 @@ int extract_or_test_files(__G)    /* ret
      __GDEF
 {
     unsigned i, j;
-    Z_OFF_T cd_bufstart;
+    ulg cd_bufstart;
     uch *cd_inptr;
     int cd_incnt;
     ulg filnum=0L, blknum=0L;
     int reached_end, no_endsig_found;
     int error, error_in_archive=PK_COOL;
     int *fn_matched=NULL, *xn_matched=NULL;
-    Z_OFF_T members_processed;
+    ulg members_processed;
     ulg num_skipped=0L, num_bad_pwd=0L;
-    Z_OFF_T old_extra_bytes = 0L;
+    ulg old_extra_bytes = 0L;
 #ifdef SET_DIR_ATTRIB
     unsigned num_dirs=0;
     direntry *dirlist=(direntry *)NULL, **sorted_dirlist=(direntry **)NULL;
@@ -908,7 +908,7 @@ static int extract_or_test_entrylist(__G
     unsigned i;
     int renamed, query;
     int skip_entry;
-    Z_OFF_T bufstart, inbuf_offset, request;
+    ulg bufstart, inbuf_offset, request;
     int error, errcode;
 
 /* possible values for local skip_entry flag: */

unzip-5.52-near-4GB.patch:

Index: unzip-5.52-near-4GB.patch
===================================================================
RCS file: /cvs/pkgs/rpms/unzip/F-8/unzip-5.52-near-4GB.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- unzip-5.52-near-4GB.patch	22 Dec 2005 13:58:12 -0000	1.1
+++ unzip-5.52-near-4GB.patch	24 Jan 2008 08:00:28 -0000	1.2
@@ -23,7 +23,7 @@
            "debug: bufstart = %ld, cur_zipfile_bufstart = %ld\n",
            (long)bufstart, (long)G.cur_zipfile_bufstart));
 -        if (request < 0) {
-+        if ((request < 0) || (request > MAX_ZIP_SIZE)) { /* >2^32-8193 */  
++        if (request > MAX_ZIP_SIZE) { /* >2^32-8193 */  
 +	    printf("retry - request = 0x%lu\n", (ulg)request);
              Info(slide, 0x401, ((char *)slide, LoadFarStringSmall(SeekMsg),
                G.zipfn, LoadFarString(ReportMsg)));
@@ -44,7 +44,7 @@
  # for any platform.  Change "-O" to "-O3" or whatever, as desired...
  linux_noasm:	unix_make
 -	$(MAKE) unzips CC=gcc LD=gcc CF="$(RPM_OPT_FLAGS) -D_GNU_SOURCE -Wall -I. $(LOC)"
-+	$(MAKE) unzips CC=gcc LD=gcc CF="$(RPM_OPT_FLAGS) -D_LARGEFILE64_SOUCRE -D_GNU_SOURCE -Wall -I. $(LOC)"
++	$(MAKE) unzips CC=gcc LD=gcc CF="$(RPM_OPT_FLAGS) -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -Wall -I. $(LOC)"
  
  # Linux with lcc compiler:  __inline__ (stat.h) not recognized, and must edit
  # /usr/include/gnu/types.h to get rid of "long long" if __LCC__ defined.  -O3
@@ -178,7 +178,7 @@
      Z_OFF_T bufstart = request - inbuf_offset;
  
 -    if (request < 0) {
-+    if (request < 0) { 
++    if (request > (Z_OFF_T) MAX_ZIP_SIZE) { 
          Info(slide, 1, ((char *)slide, LoadFarStringSmall(SeekMsg),
               G.zipfn, LoadFarString(ReportMsg)));
          return(PK_BADERR);


Index: unzip.spec
===================================================================
RCS file: /cvs/pkgs/rpms/unzip/F-8/unzip.spec,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- unzip.spec	4 Sep 2007 08:59:53 -0000	1.35
+++ unzip.spec	24 Jan 2008 08:00:28 -0000	1.36
@@ -1,7 +1,7 @@
 Summary: A utility for unpacking zip files
 Name: unzip
 Version: 5.52
-Release: 5%{?dist}
+Release: 6%{?dist}
 License: BSD
 Group: Applications/Archiving
 Source: ftp://ftp.info-zip.org/pub/infozip/src/unzip552.tar.gz
@@ -14,6 +14,8 @@
 Patch9: unzip-5.52-long-filename.patch
 Patch10: unzip-5.52-makefile.patch
 Patch11: unzip-5.52-open.patch
+Patch12: unzip-5.52-4GB3.patch
+Patch13: unzip-5.52-4GB_types.patch
 URL: http://www.info-zip.org/pub/infozip/UnZip.html
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -39,6 +41,8 @@
 %patch9 -p1 -b .lfn
 %patch10 -p1 -b .make
 %patch11 -p1 -b .open
+%patch12 -p1 -b .4GB3
+%patch13 -p1 -b .4BG4
 ln -s unix/Makefile Makefile
 
 %build
@@ -59,6 +63,9 @@
 %{_mandir}/*/*
 
 %changelog
+* Thu Jan 24 2008 Ivana Varekova <varekova at redhat.com> - 5.52-6
+- fix long file support #429674
+
 * Tue Sep  4 2007 Ivana Varekova <varekova at redhat.com> - 5.52-5
 - fix open call
 




More information about the fedora-extras-commits mailing list