public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in app-arch/rzip/files: rzip-2.1-handle-broken-archive.patch rzip-2.1-darwin.patch
@ 2010-01-17 19:30 Thilo Bangert (bangert)
  0 siblings, 0 replies; only message in thread
From: Thilo Bangert (bangert) @ 2010-01-17 19:30 UTC (permalink / raw
  To: gentoo-commits

bangert     10/01/17 19:30:05

  Added:                rzip-2.1-handle-broken-archive.patch
                        rzip-2.1-darwin.patch
  Log:
  add updated darwin.patch (-r1), also include ability to read broken archives (-r2) (#217552)
  (Portage version: 2.2_rc61/cvs/Linux i686)

Revision  Changes    Path
1.1                  app-arch/rzip/files/rzip-2.1-handle-broken-archive.patch

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-arch/rzip/files/rzip-2.1-handle-broken-archive.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-arch/rzip/files/rzip-2.1-handle-broken-archive.patch?rev=1.1&content-type=text/plain

Index: rzip-2.1-handle-broken-archive.patch
===================================================================
diff -ur rzip-2.1/main.c rzip-2.1-patched/main.c
--- rzip-2.1/main.c	2006-02-14 01:38:23.000000000 +0100
+++ rzip-2.1-patched/main.c	2008-07-30 19:29:49.426926726 +0200
@@ -35,6 +35,7 @@
 	printf("     -k            keep existing files\n");
 	printf("     -P            show compression progress\n");
 	printf("     -L level      set compression level\n");
+	printf("     -l nr         set higher bits of the expected file length to nr\n");
 	printf("     -V            show version\n");
 #if 0
 	/* damn, this will be quite hard to do */
@@ -172,6 +173,13 @@
 
 	
 	read_magic(fd_in, fd_out, &expected_size);
+
+#ifdef HAVE_LARGE_FILES
+	if (control->nr) {
+		expected_size = ( ((off_t)(control->nr))<<32) | (expected_size & 0xFFFFFFFF);
+	}
+#endif
+
 	runzip_fd(fd_in, fd_out, fd_hist, expected_size);	
 	
 	if ((control->flags & FLAG_TEST_ONLY) == 0) {
@@ -267,7 +275,7 @@
 		control.flags |= FLAG_DECOMPRESS;
 	}
 
-	while ((c = getopt(argc, argv, "h0123456789dS:tVvkfPo:L:")) != -1) {
+	while ((c = getopt(argc, argv, "h0123456789dS:tVvkl:fPo:L:")) != -1) {
 		if (isdigit(c)) {
 			control.compression_level = c - '0';
 			continue;
@@ -295,6 +303,12 @@
 		case 'k':
 			control.flags |= FLAG_KEEP_FILES;
 			break;
+		case 'l':
+#ifndef HAVE_LARGE_FILES
+			fatal("You used the -l option, but this rzip doesn't support large files.");
+#endif
+			control.nr = atoi(optarg);
+			break;
 		case 'v':
 			control.verbosity++;
 			break;
diff -ur rzip-2.1/runzip.c rzip-2.1-patched/runzip.c
--- rzip-2.1/runzip.c	2003-10-08 00:08:28.000000000 +0200
+++ rzip-2.1-patched/runzip.c	2008-07-30 19:34:03.803564086 +0200
@@ -179,10 +179,16 @@
  */
 off_t runzip_fd(int fd_in, int fd_out, int fd_hist, off_t expected_size)
 {
-	off_t total = 0;
-	while (total < expected_size) {
-		total += runzip_chunk(fd_in, fd_out, fd_hist);
+	off_t total = 0, fin=1;
+	while (fin && total < expected_size) {
+		fin = runzip_chunk(fd_in, fd_out, fd_hist);
+		total += fin;
 	}
+
+	if (total < expected_size) {
+		fprintf(stderr, "Warning: The uncompressed size does not equal the expected file size.\nHowever if you used the -l option, this may be okay.\n");
+	}
+
 	return total;
 }
 
diff -ur rzip-2.1/rzip.h rzip-2.1-patched/rzip.h
--- rzip-2.1/rzip.h	2006-02-14 01:38:23.000000000 +0100
+++ rzip-2.1-patched/rzip.h	2008-07-30 19:29:49.426926726 +0200
@@ -113,6 +113,7 @@
 	unsigned compression_level;
 	unsigned flags;
 	unsigned verbosity;
+	unsigned nr;
 };
 
 void fatal(const char *format, ...);



1.1                  app-arch/rzip/files/rzip-2.1-darwin.patch

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-arch/rzip/files/rzip-2.1-darwin.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-arch/rzip/files/rzip-2.1-darwin.patch?rev=1.1&content-type=text/plain

Index: rzip-2.1-darwin.patch
===================================================================
diff -r -uN rzip-2.1/configure.in rzip-2.1-patched/configure.in
--- rzip-2.1/configure.in	2003-11-03 09:19:11.000000000 +0100
+++ rzip-2.1-patched/configure.in	2008-07-27 21:59:45.774740303 +0200
@@ -2,6 +2,12 @@
 AC_INIT(main.c)
 AC_CONFIG_HEADER(config.h)
 
+# test prior to AC_PROG_CC, since it sets cflags on it's own.
+if test x"CFLAGS" = x
+then
+	DEFAULT_CFLAGS="-g -Wall -O3"
+fi
+
 dnl Checks for programs.
 AC_PROG_CC
 AC_PROG_INSTALL
@@ -9,10 +15,10 @@
 AC_SYS_LARGEFILE
 
 # Thanks to Martin Pool
-if test x"$GCC" = xyes 
+if test x"$GCC" = xyes && test x"$DEFAULT_CFLAGS" != x
 then
     CFLAGS="-g -Wall -O3"
-    AC_MSG_NOTICE([Setting gcc options: $CFLAGS])
+    AC_MSG_RESULT([Setting default cflags: $CFLAGS])
 fi
 
 AC_CHECK_HEADERS(fcntl.h sys/time.h sys/unistd.h unistd.h)
@@ -45,12 +51,8 @@
 AC_CHECK_LIB(bz2, BZ2_bzBuffToBuffCompress, , 
         AC_MSG_ERROR([Could not find bz2 library - please install libbz2-devel]))
 
-echo $ac_n "checking for errno in errno.h... $ac_c"
-AC_TRY_COMPILE([#include <errno.h>],[int i = errno],
-echo yes; AC_DEFINE(HAVE_ERRNO_DECL),
-echo no)
-
 AC_CHECK_FUNCS(mmap strerror)
 AC_CHECK_FUNCS(getopt_long)
+AC_CHECK_FUNCS(strndup)
 
 AC_OUTPUT(Makefile)
diff -r -uN rzip-2.1/main.c rzip-2.1-patched/main.c
--- rzip-2.1/main.c	2006-02-14 01:38:23.000000000 +0100
+++ rzip-2.1-patched/main.c	2008-07-27 22:00:28.298071207 +0200
@@ -18,6 +18,7 @@
 /* rzip compression - main program */
 
 #include "rzip.h"
+#include "strutils.h"
 
 static void usage(void)
 {
diff -r -uN rzip-2.1/Makefile.in rzip-2.1-patched/Makefile.in
--- rzip-2.1/Makefile.in	2006-02-14 01:38:23.000000000 +0100
+++ rzip-2.1-patched/Makefile.in	2008-07-27 21:58:08.201419790 +0200
@@ -3,8 +3,8 @@
 
 prefix=@prefix@
 exec_prefix=@exec_prefix@
-INSTALL_BIN=$(exec_prefix)/bin
-INSTALL_MAN=$(prefix)/man
+INSTALL_BIN=$(DESTDIR)/@bindir@
+INSTALL_MAN=$(DESTDIR)/@mandir@
 
 LIBS=@LIBS@
 CC=@CC@
@@ -20,7 +20,7 @@
 .SUFFIXES:
 .SUFFIXES: .c .o
 
-OBJS= rzip.o runzip.o main.o stream.o util.o crc32.o
+OBJS= rzip.o runzip.o strutils.o main.o stream.o util.o crc32.o
 
 # note that the -I. is needed to handle config.h when using VPATH
 .c.o:
@@ -35,6 +35,7 @@
 	${INSTALLCMD} -m 755 rzip ${INSTALL_BIN}
 	-mkdir -p ${INSTALL_MAN}/man1
 	${INSTALLCMD} -m 644 $(srcdir)/rzip.1 ${INSTALL_MAN}/man1/
+	ln -s rzip $(INSTALL_BIN)/runzip
 
 rzip: $(OBJS)
 	$(CC) $(CFLAGS) -o rzip $(OBJS) $(LIBS)
diff -r -uN rzip-2.1/rzip.h rzip-2.1-patched/rzip.h
--- rzip-2.1/rzip.h	2006-02-14 01:38:23.000000000 +0100
+++ rzip-2.1-patched/rzip.h	2008-07-27 21:58:08.204752617 +0200
@@ -94,7 +94,7 @@
 #define strerror(i) sys_errlist[i]
 #endif
 
-#ifndef HAVE_ERRNO_DECL
+#if !defined(errno)
 extern int errno;
 #endif
 
diff -r -uN rzip-2.1/strutils.c rzip-2.1-patched/strutils.c
--- rzip-2.1/strutils.c	1970-01-01 01:00:00.000000000 +0100
+++ rzip-2.1-patched/strutils.c	2008-07-27 21:58:08.204752617 +0200
@@ -0,0 +1,29 @@
+/* 
+   Copyright (C) 2005 Gentoo Foundation
+   
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+/* string utilities that may be missing on various platforms */
+
+#include "strutils.h"
+
+#ifndef HAVE_STRNDUP
+char* strndup(const char* s, size_t n) {
+	char* ret = malloc(n + 1);
+	if (ret == NULL) return(ret);
+	ret[n] = '\0';
+	return(memcpy(ret, s, n));
+}
+#endif
diff -r -uN rzip-2.1/strutils.h rzip-2.1-patched/strutils.h
--- rzip-2.1/strutils.h	1970-01-01 01:00:00.000000000 +0100
+++ rzip-2.1-patched/strutils.h	2008-07-27 21:58:08.204752617 +0200
@@ -0,0 +1,31 @@
+/* 
+   Copyright (C) 2005 Gentoo Foundation
+   
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+/* string utilities that may be missing on various platforms */
+
+#ifndef _HEADER_STRUTIL
+#define _HEADER_STRUTIL 1
+
+#include <stdlib.h>
+#include <string.h>
+#include "config.h"
+
+# ifndef HAVE_STRNDUP
+char* strndup(const char* s, size_t n);
+# endif
+
+#endif






^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-01-17 19:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-17 19:30 [gentoo-commits] gentoo-x86 commit in app-arch/rzip/files: rzip-2.1-handle-broken-archive.patch rzip-2.1-darwin.patch Thilo Bangert (bangert)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox