summaryrefslogtreecommitdiffstats
path: root/source/a/zoo/zoo_2.10-18.diff
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/zoo/zoo_2.10-18.diff')
-rw-r--r--source/a/zoo/zoo_2.10-18.diff1285
1 files changed, 1285 insertions, 0 deletions
diff --git a/source/a/zoo/zoo_2.10-18.diff b/source/a/zoo/zoo_2.10-18.diff
new file mode 100644
index 000000000..b0c741347
--- /dev/null
+++ b/source/a/zoo/zoo_2.10-18.diff
@@ -0,0 +1,1285 @@
+--- zoo-2.10.orig/debian/patches/01_old_fixes.dpatch
++++ zoo-2.10/debian/patches/01_old_fixes.dpatch
+@@ -0,0 +1,597 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 01_old_fixes.dpatch by Jose Carlos Medeiros <debian@psabs.com.br>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: Old fixes, that were made before this package has changed to use dpatch.
++
++[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
++patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
++
++if [ $# -lt 1 ]; then
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1
++fi
++
++case "$1" in
++ -patch) patch $patch_opts -p1 < $0;;
++ -unpatch) patch $patch_opts -p1 -R < $0;;
++ *)
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1;;
++esac
++
++exit 0
++
++@DPATCH@
++diff -urNad zoo-2.10~/ar.h zoo-2.10/ar.h
++--- zoo-2.10~/ar.h 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/ar.h 2005-11-16 17:28:23.308950960 -0200
++@@ -7,6 +7,7 @@
++ ***********************************************************/
++
++ #include <stdio.h>
+++#include <sys/types.h>
++
++ #ifdef ANSI_HDRS
++ # include <limits.h>
++@@ -15,9 +16,11 @@
++ /* uchar should be 8 bits or more */
++ /* typedef unsigned char uchar; -- already in zoo.h */
++
+++#ifndef _SYS_TYPES_H
++ typedef unsigned int uint; /* 16 bits or more */
++ typedef unsigned short ushort; /* 16 bits or more */
++ typedef unsigned long ulong; /* 32 bits or more */
+++#endif
++
++ /* T_UINT16 must be #defined in options.h to be
++ a 16-bit unsigned integer type */
++diff -urNad zoo-2.10~/basename.c zoo-2.10/basename.c
++--- zoo-2.10~/basename.c 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/basename.c 2005-11-16 17:28:23.308950960 -0200
++@@ -18,7 +18,7 @@
++
++ /* This function strips device/directory information from
++ a pathname and returns just the plain filename */
++-void basename (pathname, fname)
+++void zoo_basename (pathname, fname)
++ char *pathname;
++ char fname[];
++ {
++diff -urNad zoo-2.10~/fiz.1 zoo-2.10/fiz.1
++--- zoo-2.10~/fiz.1 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/fiz.1 2005-11-16 17:28:23.309950808 -0200
++@@ -5,7 +5,7 @@
++ .\"
++ .TH FIZ 1 "Jan 31, 1988"
++ .SH NAME
++-fiz \- analyze damaged zoo archive for data revovery
+++fiz \- analyze damaged zoo archive for data recovery
++ .SH SYNOPSIS
++ .I fiz
++ .RB archive[ .zoo ]
++diff -urNad zoo-2.10~/linux.c zoo-2.10/linux.c
++--- zoo-2.10~/linux.c 1969-12-31 21:00:00.000000000 -0300
+++++ zoo-2.10/linux.c 2005-11-16 17:28:23.310950656 -0200
++@@ -0,0 +1,73 @@
+++/* machine.c for Linux. */
+++
+++/* Basically code stolen from bsd.c, and adjusted for Linux. */
+++
+++#include <sys/stat.h>
+++#include <sys/time.h>
+++#include <unistd.h>
+++
+++/* Function isadir() returns 1 if the supplied handle is a directory,
+++ * else it returns 0. */
+++
+++int isadir (ZOOFILE f)
+++{
+++ struct stat buffer; /* buffer to hold file information */
+++
+++ if (fstat (fileno (f), &buffer) == -1)
+++ return (0); /* inaccessible -- assume not dir */
+++ else
+++ {
+++ if (buffer.st_mode & S_IFDIR)
+++ return (1);
+++ else
+++ return (0);
+++ }
+++}
+++
+++
+++/* Standard UNIX-compatible time routines */
+++#include "nixtime.i"
+++
+++/* Standard UNIX-specific file attribute routines */
+++#include "nixmode.i"
+++
+++/* Function gettz() returns the offset from GMT in seconds */
+++long gettz()
+++{
+++#define SEC_IN_DAY (24L * 60L * 60L)
+++#define INV_VALUE (SEC_IN_DAY + 1L)
+++
+++ static long retval = INV_VALUE; /* cache, init to impossible value */
+++ struct timeval tp;
+++ struct timezone tzp;
+++
+++ if (retval != INV_VALUE) /* if have cached value, return it */
+++ return retval;
+++
+++ gettimeofday (&tp, &tzp);
+++
+++ retval = tzp.tz_minuteswest * 60 - tzp.tz_dsttime * 3600L;
+++ return retval;
+++}
+++
+++/* Function fixfname() converts the supplied filename to a syntax
+++ * legal for the host system. It is used during extraction.
+++ * Undocumented */
+++
+++char *fixfname(char *fname)
+++{
+++ return fname; /* default is no-op */
+++}
+++
+++/* Function zootrunc() truncates the file passed to it.
+++ * Undocumented. */
+++
+++int zootrunc(FILE *f)
+++{
+++ long seekpos;
+++ int fd = fileno(f);
+++
+++ seekpos = lseek(fd, 0L, SEEK_CUR);
+++ if (seekpos >= 0)
+++ return ftruncate(fd, seekpos);
+++}
++diff -urNad zoo-2.10~/machine.c zoo-2.10/machine.c
++--- zoo-2.10~/machine.c 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/machine.c 2005-11-16 17:28:23.310950656 -0200
++@@ -48,6 +48,10 @@
++ /* PART 2. FOR EACH SPECIFIC SYSTEM, INCLUDE A C FILE HERE. */
++ /***********************************************************************/
++
+++#ifdef LINUX
+++#include "linux.c"
+++#endif
+++
++ #ifdef SYS_V
++ #include "sysv.c"
++ #endif
++diff -urNad zoo-2.10~/makefile zoo-2.10/makefile
++--- zoo-2.10~/makefile 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/makefile 2005-11-16 17:28:23.311950504 -0200
++@@ -23,7 +23,7 @@
++ MODEL =
++ EXTRA = -DBIG_MEM -DNDEBUG
++ LINTFLAGS = -DLINT
++-OPTIM = -O
+++OPTIM = -O -Wall
++ DESTDIR = /usr/local/bin
++
++ #List of all object files created for Zoo
++@@ -53,6 +53,7 @@
++ @echo "ultrix: ULTRIX 4.1"
++ @echo "convex: Convex C200 series"
++ @echo "sysv: System V Release 2 or 3; or SCO Xenix"
+++ @echo "linux: Linux"
++ @echo "scodos: Cross-compiler under SCO Xenix/UNIX for MS-DOS"
++ @echo "xenix286: Older Xenix/286 (not tested)"
++ @echo "xenix68k: Xenix/68000 (not tested)"
++@@ -94,6 +95,10 @@
++ bsd:
++ $(MAKE) CFLAGS="-c $(OPTIM) -DBSD4_3" $(TARGETS)
++
+++# Linux
+++linux:
+++ $(MAKE) CC="gcc" CFLAGS="-c $(OPTIM) $(LINTFLAGS) -DLINUX -DANSI_HDRS" $(TARGETS)
+++
++ # ULTRIX 4.1
++ ultrix:
++ $(MAKE) CFLAGS="-c $(OPTIM) -DULTRIX" $(TARGETS)
++@@ -235,7 +240,11 @@
++ parse.o: zoofns.h zooio.h
++ portable.o: /usr/include/stdio.h assert.h debug.h machine.h options.h
++ portable.o: portable.h various.h zoo.h zoofns.h zooio.h
++-prterror.o: /usr/include/stdio.h /usr/include/varargs.h options.h various.h
+++
+++# I deleted varags.h dependancy from prterror.o since that is a
+++# dependancy covered by a #ifdef, and in Debian's case #undef'ed
+++
+++prterror.o: /usr/include/stdio.h options.h various.h
++ prterror.o: zoofns.h zooio.h
++ sysv.o: /usr/include/sys/stat.h /usr/include/sys/types.h /usr/include/time.h
++ sysv.o: nixmode.i nixtime.i
++diff -urNad zoo-2.10~/makelist.c zoo-2.10/makelist.c
++--- zoo-2.10~/makelist.c 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/makelist.c 2005-11-16 17:28:23.311950504 -0200
++@@ -21,6 +21,8 @@
++
++ char *nameptr PARMS((char *));
++ void modpath PARMS((char *));
+++int isadir PARMS((ZOOFILE));
+++int isfdir PARMS((char *));
++
++ /*******************/
++ /*
++diff -urNad zoo-2.10~/misc.c zoo-2.10/misc.c
++--- zoo-2.10~/misc.c 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/misc.c 2005-11-16 17:28:23.313950200 -0200
++@@ -8,6 +8,7 @@
++ Copyright (C) 1986, 1987 Rahul Dhesi -- All rights reserved
++ (C) Copyright 1988 Rahul Dhesi -- All rights reserved
++ */
+++#include <signal.h>
++ #include "options.h"
++ /* Miscellaneous functions needed by Zoo but not by Ooz */
++
++@@ -201,7 +202,7 @@
++ ZOOFILE zoo_file;
++ {
++ #ifndef NOSIGNAL
++- T_SIGNAL (*oldsignal)();
+++ T_SIGNAL (*oldsignal)(int);
++ oldsignal = signal (SIGINT, SIG_IGN);
++ #endif
++ if (fwr_dir (direntry, zoo_file) == -1)
++diff -urNad zoo-2.10~/misc2.c zoo-2.10/misc2.c
++--- zoo-2.10~/misc2.c 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/misc2.c 2005-11-16 17:28:23.312950352 -0200
++@@ -7,6 +7,10 @@
++ Copyright (C) 1986, 1987 Rahul Dhesi -- All rights reserved
++ (C) Copyright 1988 Rahul Dhesi -- All rights reserved
++ */
+++#include <sys/stat.h>
+++#include <sys/types.h>
+++#include <fcntl.h>
+++#include <unistd.h>
++ #include "options.h"
++ /* Miscellaneous routines */
++ #include "portable.h"
++diff -urNad zoo-2.10~/nixtime.i zoo-2.10/nixtime.i
++--- zoo-2.10~/nixtime.i 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/nixtime.i 2005-11-16 17:28:23.313950200 -0200
++@@ -10,6 +10,9 @@
++
++ -- Rahul Dhesi 1986/12/31
++ */
+++#include <sys/types.h>
+++#include <time.h>
+++#include <utime.h>
++
++ struct tm *localtime();
++
++@@ -51,9 +54,10 @@
++ {
++ long mstonix();
++ long gettz();
++- long utimbuf[2];
++- utimbuf[0] = utimbuf[1] = gettz() + mstonix (date, time);
++- return (utime (path, utimbuf));
+++ struct utimbuf utbf;
+++
+++ utbf.actime = utbf.modtime = gettz() + mstonix (date, time);
+++ return (utime (path, &utbf));
++ }
++
++ /****************
++diff -urNad zoo-2.10~/options.h zoo-2.10/options.h
++--- zoo-2.10~/options.h 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/options.h 2005-11-16 17:28:23.314950048 -0200
++@@ -13,6 +13,32 @@
++
++
++ /***********************************************************************/
+++/* Linux */
+++/***********************************************************************/
+++
+++#ifdef LINUX
+++#define FILTER
+++#define IO_MACROS
+++#define EXISTS(f) (access(f, 00) == 0)
+++#define FNLIMIT 1023
+++#define CHEKDIR
+++#define NIXTIME
+++#define NIXFNAME
+++#define NEEDCTYP
+++#define NOENUM
+++#define REN_STDC
+++#define SETBUF
+++#define GETTZ
+++#define FATTR
+++#define T_SIGNAL void
+++#define STDARG
+++#define HAVE_ISATTY /* undocumented #define option */
+++#define ANSI_PROTO
+++#define VOIDPTR void *
+++#define NO_STDIO_FN /* Do we need this? RUARI QUINN */
+++#endif /* Linux */
+++
+++/***********************************************************************/
++ /* SYSTEM V (should be compatible with most releases) */
++ /***********************************************************************/
++
++diff -urNad zoo-2.10~/portable.h zoo-2.10/portable.h
++--- zoo-2.10~/portable.h 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/portable.h 2005-11-16 17:28:23.314950048 -0200
++@@ -90,6 +90,12 @@
++ #define MKDIR(x) mkdir(x, 0777)
++ #endif
++
+++/* Linux */
+++#ifdef LINUX
+++#define NIX_IO /* standard **IX I/O */
+++#define MKDIR(x) mkdir(x, 0777)
+++#endif
+++
++ /* Amiga */
++ #ifdef MCH_AMIGA
++ # include "MCH_AMIGA NEEDS REVISION"
++diff -urNad zoo-2.10~/zoo.1 zoo-2.10/zoo.1
++--- zoo-2.10~/zoo.1 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/zoo.1 2005-11-16 17:33:56.112357152 -0200
++@@ -955,7 +955,7 @@
++ 2526: DIR [changes] ==> 95
++ 2587: DATA
++ ****************
++- 3909: DIR [copyrite] ==> 1478
+++ 3909: DIR [copyright] ==> 1478
++ 3970: DATA
++ 4769: DATA
++ ****************
++@@ -1041,7 +1041,7 @@
++ Matches any sequence of zero or more characters.
++ .PP
++ .TP
++-.B \?
+++.B ?
++ Matches any single character.
++ .sp 1
++ Arbitrary combinations of
++@@ -1466,23 +1466,12 @@
++ .I zoo
++ on all systems. So far as I can tell, this
++ upward compatibility (all manipulations) and downward
++-compatiblity (ability to extract and list)
+++compatibility (ability to extract and list)
++ is maintained by
++ .I zoo
++ versions up to 2.01. Version 2.1 adds the incompatibility
++ that if high-performance compression is used, earlier
++ versions cannot extract files compressed with version 2.1.
++-This is the only incompatibility that is permissible.
++-You are forbidden, with the force of
++-copyright law, to create from the
++-.I zoo
++-source code any derivative work
++-that violates this compatibility goal,
++-whether knowingly or through negligence.
++-If any violation of this
++-compatibility goal is observed,
++-this should be
++-considered a serious problem and reported to me.
++ .SH CHANGES
++ Here is a list of changes occurring from version 1.50 to
++ version 2.01. In parentheses is given the version in which each
++@@ -1581,7 +1570,7 @@
++ .TP
++ \-
++ (2.01) Blanks around equal signs in commands given to "make"
++-were removed from the mk* scripts for better compatiblity
+++were removed from the mk* scripts for better compatibility
++ with more **IX implementations including Sun's.
++ .TP
++ \-
++diff -urNad zoo-2.10~/zoo.c zoo-2.10/zoo.c
++--- zoo-2.10~/zoo.c 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/zoo.c 2005-11-16 17:28:23.319949288 -0200
++@@ -15,6 +15,7 @@
++ (C) Copyright 1988 Rahul Dhesi -- All rights reserved
++ (C) Copyright 1991 Rahul Dhesi -- All rights reserved
++ */
+++#include <unistd.h>
++ #include "options.h"
++ #include "zooio.h"
++ #include "various.h"
++diff -urNad zoo-2.10~/zoo.h zoo-2.10/zoo.h
++--- zoo-2.10~/zoo.h 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/zoo.h 2005-11-16 17:28:23.321948984 -0200
++@@ -1,5 +1,6 @@
++ /* derived from: zoo.h 2.16 88/01/27 23:21:36 */
++-
+++#ifndef ZOO_H
+++#define ZOO_H
++ /*
++ The contents of this file are hereby released to the public domain.
++
++@@ -240,3 +241,4 @@
++ #define MAXGEN 0x0f
++ /* version mask to prune down to correct size on large-word machines */
++ #define VER_MASK 0xffff
+++#endif
++diff -urNad zoo-2.10~/zooadd.c zoo-2.10/zooadd.c
++--- zoo-2.10~/zooadd.c 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/zooadd.c 2005-11-16 17:28:23.318949440 -0200
++@@ -9,11 +9,13 @@
++ (C) Copyright 1988 Rahul Dhesi -- All rights reserved
++ (C) Copyright 1991 Rahul Dhesi -- All rights reserved
++ */
+++#include <unistd.h>
++ #include "options.h"
++ /* Adds files specified in parameter-list to archive zoo_path. */
++
++ #define LONGEST 20 /* assumed length of longest filename */
++ #include "zoomem.h" /* to define MAXADD */
+++#undef PORTABLE
++ #include "zoo.h"
++ #include "zooio.h"
++ #include "various.h"
++@@ -37,6 +39,7 @@
++ void copyfields PARMS ((struct direntry *, struct tiny_header *));
++ void storefname PARMS ((struct direntry *, char *, int));
++ char *choosefname PARMS ((struct direntry *));
+++int isadir PARMS((ZOOFILE));
++
++ extern struct zoo_header zoo_header;
++
++@@ -132,7 +135,7 @@
++
++ if (zoo_file == NOFILE)
++ prterror ('f', could_not_open, zoo_path);
++-basename(zoo_path, zoo_fname); /* get basename of archive */
+++zoo_basename(zoo_path, zoo_fname); /* get basename of archive */
++ rootname (zoo_path, zoo_bak); /* name without extension */
++ strcat (zoo_bak, BACKUP_EXT); /* name of backup of this archive */
++
++@@ -222,7 +225,7 @@
++ break;
++ }
++
++- basename (this_path, this_fname); /* get just filename for later */
+++ zoo_basename (this_path, this_fname); /* get just filename for later */
++
++ this_file = zooopen(this_path, Z_READ);
++ if (this_file == NOFILE) {
++diff -urNad zoo-2.10~/zooadd2.c zoo-2.10/zooadd2.c
++--- zoo-2.10~/zooadd2.c 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/zooadd2.c 2005-11-16 17:28:23.317949592 -0200
++@@ -7,7 +7,9 @@
++ Copyright (C) 1986, 1987 Rahul Dhesi -- All rights reserved
++ (C) Copyright 1988 Rahul Dhesi -- All rights reserved
++ */
+++#include <unistd.h>
++ #include "options.h"
+++#undef PORTABLE
++ #include "zoo.h"
++ #ifndef OK_STDIO
++ #include <stdio.h>
++@@ -20,7 +22,7 @@
++ #include "assert.h"
++ #include "debug.h"
++ #include "parse.h"
++-
+++int isfdir PARMS((char *));
++ /*
++ Miscellaneous routines to support zooadd().
++ */
++diff -urNad zoo-2.10~/zooext.c zoo-2.10/zooext.c
++--- zoo-2.10~/zooext.c 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/zooext.c 2005-11-16 17:28:23.320949136 -0200
++@@ -14,7 +14,8 @@
++ /* Extract file from archive. Extracts files specified in parameter-list
++ from archive zoo_path. If none specified, extracts all files from
++ archive. */
++-
+++#include <unistd.h>
+++#include <signal.h>
++ #include "options.h"
++ #include "zoo.h"
++ #include "parse.h" /* defines struct for parse() */
++@@ -62,7 +63,7 @@
++ char *whichname; /* which name to extract */
++ char matchname[PATHSIZE]; /* for pattern matching only */
++ #ifndef NOSIGNAL
++-T_SIGNAL (*oldsignal)(); /* to save previous SIGINT handler */
+++T_SIGNAL (*oldsignal)(int); /* to save previous SIGINT handler */
++ #endif
++ ZOOFILE zoo_file; /* open archive */
++ long next_ptr; /* pointer to within archive */
++@@ -626,7 +627,7 @@
++
++ /* Ctrl_c() is called if ^C is hit while a file is being extracted.
++ It closes the files, deletes it, and exits. */
++-T_SIGNAL ctrl_c()
+++T_SIGNAL ctrl_c(int dummy)
++ {
++ #ifndef NOSIGNAL
++ signal (SIGINT, SIG_IGN); /* ignore any more */
++diff -urNad zoo-2.10~/zoofns.h zoo-2.10/zoofns.h
++--- zoo-2.10~/zoofns.h 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/zoofns.h 2005-11-16 17:28:23.320949136 -0200
++@@ -42,12 +42,12 @@
++ int cfactor PARMS ((long, long));
++ int chname PARMS ((char *, char *));
++ int cmpnum PARMS ((unsigned int, unsigned int, unsigned int, unsigned int));
++-T_SIGNAL ctrl_c PARMS ((void));
+++T_SIGNAL ctrl_c PARMS ((int));
++ int exists PARMS ((char *));
++ int getfile PARMS ((ZOOFILE, ZOOFILE, long, int));
++ int getutime PARMS ((char *, unsigned *, unsigned *));
++ int gettime PARMS ((ZOOFILE, unsigned *, unsigned *));
++-T_SIGNAL handle_break PARMS ((void));
+++T_SIGNAL handle_break PARMS ((int));
++
++ #ifdef USE_ASCII
++ int isupper PARMS ((int));
++@@ -85,7 +85,7 @@
++ void addfname PARMS ((char *, long, unsigned int, unsigned int,
++ unsigned, unsigned));
++ void add_version PARMS ((char *, struct direntry *));
++-void basename PARMS ((char *, char []));
+++void zoo_basename PARMS ((char *, char []));
++ void break_off PARMS ((void));
++ void close_file PARMS ((ZOOFILE));
++ void comment PARMS ((char *, char *));
++diff -urNad zoo-2.10~/zooio.h zoo-2.10/zooio.h
++--- zoo-2.10~/zooio.h 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/zooio.h 2005-11-16 17:28:23.321948984 -0200
++@@ -7,6 +7,7 @@
++
++ -- Rahul Dhesi 1988/01/24
++ */
+++#include "zoo.h"
++ #ifndef OK_STDIO
++ #include <stdio.h>
++ #define OK_STDIO
++diff -urNad zoo-2.10~/zoolist.c zoo-2.10/zoolist.c
++--- zoo-2.10~/zoolist.c 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/zoolist.c 2005-11-16 17:28:23.322948832 -0200
++@@ -47,6 +47,7 @@
++ int ver_too_high PARMS((struct zoo_header *));
++ int needed PARMS((char *, struct direntry *, struct zoo_header *));
++ void printtz PARMS((int));
+++int fputchar PARMS ((int));
++
++ void zoolist (argv, option, argc)
++ char **argv, *option;
++@@ -414,7 +415,7 @@
++ if (direntry.fattr == 0)
++ printf ("--- ");
++ else if ((direntry.fattr >> 22) == 1)
++- printf ("%03o ", direntry.fattr & 0x1ff);
+++ printf ("%03lo ", direntry.fattr & 0x1ff);
++ else
++ printf ("??? ");
++ }
++diff -urNad zoo-2.10~/zoopack.c zoo-2.10/zoopack.c
++--- zoo-2.10~/zoopack.c 2005-11-16 17:11:21.000000000 -0200
+++++ zoo-2.10/zoopack.c 2005-11-16 17:28:23.323948680 -0200
++@@ -10,6 +10,7 @@
++ Copyright (C) 1986, 1987 Rahul Dhesi -- All rights reserved
++ (C) Copyright 1988 Rahul Dhesi -- All rights reserved
++ */
+++#include <unistd.h>
++ #include "options.h"
++ /* Packs an archive. The sequence is:
++ 1. Copy all files from current archive to new one.
++@@ -171,7 +172,7 @@
++ } else {
++ strcpy (temp_file, xes);
++ }
++-mktemp (temp_file); /* ... and make unique */
+++mkstemp (temp_file); /* ... and make unique */
++ new_file = zoocreate (temp_file);
++ if (new_file == NOFILE)
++ prterror ('f', "Could not create temporary file %s.\n", temp_file);
++@@ -388,7 +389,7 @@
++
++ /* handle_break() */
++ /* Sets break_hit to 1 when called */
++-T_SIGNAL handle_break()
+++T_SIGNAL handle_break(int dummy)
++ {
++ #ifndef NOSIGNAL
++ signal (SIGINT, SIG_IGN); /* ignore future control ^Cs for now */
+--- zoo-2.10.orig/debian/patches/00options
++++ zoo-2.10/debian/patches/00options
+@@ -0,0 +1 @@
++DPEP_OPTION_EXEC_TEMPLATE=1
+--- zoo-2.10.orig/debian/patches/00list
++++ zoo-2.10/debian/patches/00list
+@@ -0,0 +1,5 @@
++01_old_fixes
++02_traversal_directory
++03_fix_manage_archive_under_AMD64
++04_fix_fullpath_buffer_overflow
++05_CVE-2006-1269.dpatch
+--- zoo-2.10.orig/debian/patches/00template
++++ zoo-2.10/debian/patches/00template
+@@ -0,0 +1,43 @@
++#!/bin/sh
++# Sample debian/patches/00template script
++# era Thu May 15 23:24:07 2003
++
++# This simply creates the equivalent of the hard-coded template.
++# Adapt and hack to suit your needs.
++
++file="$1"
++shift
++description="$@"
++
++fullnameguess="$(getent passwd $(id -un) | cut -f5 -d: | cut -f1 -d,)"
++domainguess=$([ -f /etc/mailname ] && cat /etc/mailname || hostname -f)
++emailguess="${DEBEMAIL:-${EMAIL:-$(logname)@${domainguess}}}"
++
++cat <<EOF
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## ${file} by ${DEBFULLNAME:-$fullnameguess} <$emailguess>
++##
++## All lines beginning with \`## DP:' are a description of the patch.
++## DP: ${description:-No description}
++
++[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
++patch_opts="\${patch_opts:--f --no-backup-if-mismatch \${2:+-d \$2}}"
++
++if [ \$# -lt 1 ]; then
++ echo >&2 "\`basename \$0\`: script expects -patch|-unpatch as argument"
++ exit 1
++fi
++
++case "\$1" in
++ -patch) patch \$patch_opts -p1 < \$0;;
++ -unpatch) patch \$patch_opts -p1 -R < \$0;;
++ *)
++ echo >&2 "\`basename \$0\`: script expects -patch|-unpatch as argument"
++ exit 1;;
++esac
++
++exit 0
++
++@DPATCH@
++EOF
++
+--- zoo-2.10.orig/debian/patches/02_traversal_directory.dpatch
++++ zoo-2.10/debian/patches/02_traversal_directory.dpatch
+@@ -0,0 +1,70 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 02_traversal_directory.dpatch by Jose Carlos Medeiros <debian@psabs.com.br>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: patch to solve problem with "directory traversal bug" CVE id CAN-2005-2349
++
++[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
++patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
++
++if [ $# -lt 1 ]; then
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1
++fi
++
++case "$1" in
++ -patch) patch $patch_opts -p1 < $0;;
++ -unpatch) patch $patch_opts -p1 -R < $0;;
++ *)
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1;;
++esac
++
++exit 0
++
++@DPATCH@
++diff -urNad zoo-2.10/portable.c /tmp/dpep.W7Aoaj/zoo-2.10/portable.c
++--- zoo-2.10/portable.c 2005-07-22 15:34:22.000000000 -0300
+++++ /tmp/dpep.W7Aoaj/zoo-2.10/portable.c 2005-07-25 14:43:57.757855384 -0300
++@@ -364,6 +364,41 @@
++ show_dir(direntry);
++ }
++ #endif
+++ /* #########################################################################
+++ *
+++ * THIS CODE WAS WRITTEN TO SOLVE PROBLEM WITH DIRECTORY TRAVERSAL SECURITY
+++ * BUG (CVE id CAN-2005-2349).
+++ *
+++ * ########################################################################
+++ */
+++ char *p;
+++ /* take off '../' */
+++ while ((p = strstr( direntry->dirname, "../" )) != NULL) {
+++ while (*(p+3) != '\0') {
+++ *p = *(p + 3);
+++ p++;
+++ }
+++ *p = *(p+3); /* move last null */
+++ //printf("zoo: skipped \"../\" path component in '%s'\n", direntry->dirname);
+++ }
+++ /* take off '/' */
+++ if ( direntry->dirname[0] == '/' ) {
+++ p = direntry->dirname;
+++ while (*p != '\0') {
+++ *p = *(p + 1);
+++ p++;
+++ }
+++ *p = *(p+1); /* move last null */
+++ //printf("zoo: skipped \"/\" path component in '%s'\n", direntry->dirname);
+++ }
+++ /* direntry->dirlen = strlen(direntry->dirname); */
+++
+++ /* ##################################################################
+++ *
+++ * END
+++ *
+++ * ###################################################################
+++ */
++ return (0);
++ }
++
+--- zoo-2.10.orig/debian/patches/03_fix_manage_archive_under_AMD64.dpatch
++++ zoo-2.10/debian/patches/03_fix_manage_archive_under_AMD64.dpatch
+@@ -0,0 +1,107 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 03_fix_manage_archive_under_AMD64.dpatch by Jose Carlos Medeiros <debian@psabs.com.br>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: patch to solve problems managing files under AMD64 and maybe under others 64 archs.
++
++[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
++patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
++
++if [ $# -lt 1 ]; then
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1
++fi
++
++case "$1" in
++ -patch) patch $patch_opts -p1 < $0;;
++ -unpatch) patch $patch_opts -p1 -R < $0;;
++ *)
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1;;
++esac
++
++exit 0
++
++@DPATCH@
++diff -urNad zoo-2.10~/makefile zoo-2.10/makefile
++--- zoo-2.10~/makefile 2005-11-16 12:10:06.773065688 -0200
+++++ zoo-2.10/makefile 2005-11-16 12:12:50.816127352 -0200
++@@ -54,6 +54,7 @@
++ @echo "convex: Convex C200 series"
++ @echo "sysv: System V Release 2 or 3; or SCO Xenix"
++ @echo "linux: Linux"
+++ @echo "linux64: Linux with 64 bit long"
++ @echo "scodos: Cross-compiler under SCO Xenix/UNIX for MS-DOS"
++ @echo "xenix286: Older Xenix/286 (not tested)"
++ @echo "xenix68k: Xenix/68000 (not tested)"
++@@ -99,6 +100,10 @@
++ linux:
++ $(MAKE) CC="gcc" CFLAGS="-c $(OPTIM) $(LINTFLAGS) -DLINUX -DANSI_HDRS" $(TARGETS)
++
+++# Linux64
+++linux64:
+++ $(MAKE) CC="gcc" CFLAGS="-c $(OPTIM) $(LINTFLAGS) -DLINUX -DLONG64 -DANSI_HDRS" $(TARGETS)
+++
++ # ULTRIX 4.1
++ ultrix:
++ $(MAKE) CFLAGS="-c $(OPTIM) -DULTRIX" $(TARGETS)
++diff -urNad zoo-2.10~/misc.c zoo-2.10/misc.c
++--- zoo-2.10~/misc.c 2005-11-16 12:10:06.775065384 -0200
+++++ zoo-2.10/misc.c 2005-11-16 12:20:48.366528656 -0200
++@@ -173,7 +173,11 @@
++
++ frd_zooh (header, zoo_file);
++
+++#ifdef LONG64
+++ if ((int)(header->zoo_start = header->zoo_minus) != 0)
+++#else
++ if ((header->zoo_start + header->zoo_minus) != 0L)
+++#endif
++ prterror ('f', failed_consistency);
++ if (ver_too_high (header))
++ prterror ('f', wrong_version, header->major_ver, header->minor_ver);
++diff -urNad zoo-2.10~/zoodel.c zoo-2.10/zoodel.c
++--- zoo-2.10~/zoodel.c 1991-07-05 13:00:00.000000000 -0300
+++++ zoo-2.10/zoodel.c 2005-11-16 12:20:19.776874944 -0200
++@@ -138,7 +138,11 @@
++
++ /* read archive header */
++ frd_zooh (&zoo_header, zoo_file);
+++#ifdef LONG64
+++ if ((int)(zoo_header.zoo_start + zoo_header.zoo_minus) != 0)
+++#else
++ if ((zoo_header.zoo_start + zoo_header.zoo_minus) != 0L)
+++#endif
++ prterror ('f', failed_consistency);
++ if (ver_too_high (&zoo_header))
++ prterror ('f', wrong_version, zoo_header.major_ver, zoo_header.minor_ver);
++diff -urNad zoo-2.10~/zooext.c zoo-2.10/zooext.c
++--- zoo-2.10~/zooext.c 2005-11-16 12:10:06.783064168 -0200
+++++ zoo-2.10/zooext.c 2005-11-16 12:22:08.373365768 -0200
++@@ -164,7 +164,11 @@
++ } else {
++ /* read header */
++ frd_zooh (&zoo_header, zoo_file);
+++#ifdef LONG64
+++ if ((int)(zoo_header.zoo_start + zoo_header.zoo_minus) != 0) {
+++#else
++ if ((zoo_header.zoo_start + zoo_header.zoo_minus) != 0L) {
+++#endif
++ prterror ('w', failed_consistency);
++ bad_header++;
++ exit_status = 1;
++diff -urNad zoo-2.10~/zoopack.c zoo-2.10/zoopack.c
++--- zoo-2.10~/zoopack.c 2005-11-16 12:10:06.786063712 -0200
+++++ zoo-2.10/zoopack.c 2005-11-16 12:23:01.145343208 -0200
++@@ -140,7 +140,11 @@
++ /* Read the header of the old archive. */
++ frd_zooh(&old_zoo_header, zoo_file);
++
+++#ifdef LONG64
+++if ((int)(old_zoo_header.zoo_start + old_zoo_header.zoo_minus) != 0) {
+++#else
++ if ((old_zoo_header.zoo_start + old_zoo_header.zoo_minus) != 0L) {
+++#endif
++ prterror ('w', failed_consistency);
++ ++bad_header; /* remember for future error message */
++ }
+--- zoo-2.10.orig/debian/patches/04_fix_fullpath_buffer_overflow.dpatch
++++ zoo-2.10/debian/patches/04_fix_fullpath_buffer_overflow.dpatch
+@@ -0,0 +1,44 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 04_fix_fullpath_buffer_overflow.dpatch by Jose Carlos Medeiros <debian@psabs.com.br>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: Fix "fullpath()" File Name Handling Buffer Overflow, CAN-2006-0855
++
++[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
++patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
++
++if [ $# -lt 1 ]; then
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1
++fi
++
++case "$1" in
++ -patch) patch $patch_opts -p1 < $0;;
++ -unpatch) patch $patch_opts -p1 -R < $0;;
++ *)
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1;;
++esac
++
++exit 0
++
++@DPATCH@
++diff -urNad zoo-2.10~/misc.c zoo-2.10/misc.c
++--- zoo-2.10~/misc.c 2006-03-03 18:51:31.000000000 -0300
+++++ zoo-2.10/misc.c 2006-03-03 18:54:29.000000000 -0300
++@@ -136,11 +136,14 @@
++ char *fullpath (direntry)
++ struct direntry *direntry;
++ {
++- static char result[PATHSIZE];
+++ static char result[PATHSIZE+PATHSIZE+12]; // Room for enough space
++ combine (result,
++ direntry->dirlen != 0 ? direntry->dirname : "",
++ (direntry->namlen != 0) ? direntry->lfname : direntry->fname
++ );
+++ if (strlen (result) >= PATHSIZE) {
+++ prterror ('f', "Combined dirname and filename too long\n");
+++ }
++ return (result);
++ }
++
+--- zoo-2.10.orig/debian/patches/05_CVE-2006-1269.dpatch
++++ zoo-2.10/debian/patches/05_CVE-2006-1269.dpatch
+@@ -0,0 +1,37 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 05_CVE-2006-1269.dpatch by Alec Berryman <alec@thened.net>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=183426
++
++[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
++patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
++
++if [ $# -lt 1 ]; then
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1
++fi
++
++case "$1" in
++ -patch) patch $patch_opts -p1 < $0;;
++ -unpatch) patch $patch_opts -p1 -R < $0;;
++ *)
++ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
++ exit 1;;
++esac
++
++exit 0
++
++@DPATCH@
++diff -urNad zoo-2.10~/parse.c zoo-2.10/parse.c
++--- zoo-2.10~/parse.c 1991-07-05 17:00:00.000000000 +0100
+++++ zoo-2.10/parse.c 2006-05-18 14:16:32.000000000 +0100
++@@ -39,7 +39,7 @@
++ char *namep; /* points to relevant part of tempname */
++
++ char *p;
++- strcpy (tempname, fname);
+++ strncpy (tempname, fname, LFNAMESIZE);
++
++ #ifdef DEBUG
++ printf ("parse: supplied name is [%s].\n", tempname);
+--- zoo-2.10.orig/debian/compat
++++ zoo-2.10/debian/compat
+@@ -0,0 +1 @@
++5
+--- zoo-2.10.orig/debian/changelog
++++ zoo-2.10/debian/changelog
+@@ -0,0 +1,139 @@
++zoo (2.10-18) unstable; urgency=low
++
++ * Added patch to solve "CVE-2006-1269: local arbitrary code execution",
++ thanks to Alec Berryman <alec@thened.net> (closes: #367858)
++ * Updated to DH_COMPAT 5
++
++ -- Jose Carlos Medeiros <debian@psabs.com.br> Fri, 19 May 2006 19:23:24 -0300
++
++zoo (2.10-17) unstable; urgency=low
++
++ * Added 04_fix_fullpath_buffer_overflow patch to fix a Buffer Overflow,
++ CAN-2006-0855. Thanks to Jean-SébastienGuay-Leroux
++ <jean-sebastien_at_guay-leroux.com>, (closes: #354461)
++
++ -- Jose Carlos Medeiros <debian@psabs.com.br> Fri, 3 Mar 2006 18:56:02 -0300
++
++zoo (2.10-16) unstable; urgency=low
++
++ * Added 03_fix_manage_archive_under_AMD64 patch, thanks to carlj
++ <Carl.Johnson.carlj@peak.org>. (closes: #335114)
++ * Updated debian/rules to test and compile to AMD64.
++ * Updated to Standards-Version 3.6.2.
++ * Changed 01_old_fixes dpatch to solve problem "missing \?" in zoo.1.
++
++ -- Jose Carlos Medeiros <debian@psabs.com.br> Wed, 16 Nov 2005 16:48:24 -0200
++
++zoo (2.10-15) unstable; urgency=low
++
++ * Added dpatch as Build-Depends in debian/control.
++ * Added debian/watch file. (closes: #322246)
++ * Updated linux.c in 01_old_fixes. (closes: #322194)
++ Thanks to Robert Millan <rmh@aybabtu.com>
++
++ -- Jose Carlos Medeiros <debian@psabs.com.br> Tue, 9 Aug 2005 15:07:48 -0300
++
++zoo (2.10-14) unstable; urgency=low
++
++ * Changed call from "mktemp" to "mkstemp" in zoopack.c file.
++ * Added debian/patches/00options, debian/patches/00list and
++ debian/patches/00template files.
++ * Updated rules and control to use dpatch.
++ * Added 01_old_fixes.dpatch file with old changes.
++ * Added 02_traversal_directory.dpatch to solve problem with "directory
++ traversal security bug - CVE id CAN-2005-2349". Thanks to
++ Jorge Ventura <jorge.ventura@fusemail.com> (closes: #309594)
++ * Changed upstream source link in copyright file.
++
++ -- Jose Carlos Medeiros <debian@psabs.com.br> Fri, 22 Jul 2005 12:59:07 -0300
++
++zoo (2.10-13) unstable; urgency=low
++
++ * Updated zoo.1 file (thanks to A Costa <agcosta@gis.net>). (closes: #302817)
++ * Changed email of Mantainer in control file.
++ * Updated fiz.1 file (thanks to A Costa <agcosta@gis.net>). (closes: #309874)
++
++ -- Jose Carlos Medeiros <debian@psabs.com.br> Tue, 7 Jun 2005 20:47:51 -0300
++
++zoo (2.10-12) unstable; urgency=low
++
++ * New maintainer (closes: #302895)
++ * Created compat file.
++ * Deleted debian/docs unused file.
++ * Changed rules to complain debhelper > 4.0.
++ * Changed README.compilers to README.debian.
++
++ -- Jose Carlos Medeiros <jose@psabs.com.br> Wed, 13 Apr 2005 18:39:14 -0300
++
++zoo (2.10-11) unstable; urgency=low
++
++ * New maintainer (closes: #258470)
++ * Move to main from non-free (zoo is now in public domain).
++ * Updated copyright file
++ * Updated zoo.1 file
++ * Removed unnecessary, compile related files from the binary package.
++ * Standards-Version: 3.6.1.0
++
++ -- Niklas Vainio <nvainio+deb@iki.fi> Sat, 10 Jul 2004 21:29:26 +0300
++
++zoo (2.10-10) unstable; urgency=low
++
++ * Recompile to allow prelinking (closes: #231547).
++
++ -- Petr Cech <cech@debian.org> Mon, 9 Feb 2004 12:02:32 +0100
++
++zoo (2.10-9) unstable; urgency=low
++
++ * Fix build with new glibc-2.2 (closes: #94865)
++
++ -- Petr Cech <cech@debian.org> Sun, 22 Apr 2001 22:17:14 +0200
++
++zoo (2.10-8) unstable; urgency=low
++
++ * Added README.compilers.
++ * Standards-version: 3.2.1.
++ * Glibc-2.2 build.
++ * Fix long utibuf[2] to struct utimbuf.
++
++ -- Petr Cech <cech@debian.org> Tue, 17 Oct 2000 15:07:50 +0200
++
++zoo (2.10-7) unstable; urgency=low
++
++ * Don't know how, but the copyright was gone
++ * Added documentation from source package
++
++ -- Petr Cech <cech@debian.org> Sat, 16 May 1998 11:32:30 +0200
++
++zoo (2.10-6) frozen unstable; urgency=low
++
++ * Use debhelper.
++ * Added some includes and prototypes to have less warnings
++ * New maintainer.
++ * updated to 2.4.1
++
++ -- Petr CECH <Petr.Cech@st.mff.cuni.cz> Fri, 8 May 1998 01:06:39 +0200
++
++zoo (2.10-5) unstable; urgency=low
++
++ * Orphaned the package.
++ * debian/control (Standards-Version): updated to 2.4.0.0 [#16772].
++ * debian/control (Section): changed to non-free/utils [fails #3 of DFSG].
++ * debian/control (Maintainer): set to debian-qa list.
++ * debian/rules: rewritten.
++
++ -- James Troup <jjtroup@comp.brad.ac.uk> Wed, 4 Mar 1998 02:17:57 +0000
++
++zoo (2.10-4) unstable; urgency=low
++
++ * Rebuilt for libc6.
++
++ -- James Troup <jjtroup@comp.brad.ac.uk> Wed, 25 Jun 1997 17:04:23 +0000
++
++zoo (2.10-3) unstable; urgency=low
++
++ * New maintainer.
++ * Updated package to standards version 2.1.1.2.
++ * Removed executables from source package.
++ * Added better linux support, fixes bug #3961 and #4904.
++
++ -- James Troup <jjtroup@comp.brad.ac.uk> Wed, 22 Jan 1997 02:18:51 +0000
+--- zoo-2.10.orig/debian/watch
++++ zoo-2.10/debian/watch
+@@ -0,0 +1,3 @@
++version=3
++opts=dversionmangle=s/\.// \
++ http://www.ibiblio.org/pub/packages/ccic/software/unix/utils/zoo(.*)\.tar\.gz
+--- zoo-2.10.orig/debian/control
++++ zoo-2.10/debian/control
+@@ -0,0 +1,20 @@
++Source: zoo
++Section: utils
++Priority: optional
++Build-Depends: debhelper (>= 5.0.0), dpatch (>= 2.0.10)
++Maintainer: Jose Carlos Medeiros <debian@psabs.com.br>
++Uploaders: Ola Lundqvist <opal@debian.org>
++Standards-Version: 3.6.2
++
++Package: zoo
++Architecture: any
++Depends: ${shlibs:Depends}
++Description: manipulate zoo archives
++ Zoo is used to create and maintain collections of files in compressed
++ form. It uses a Lempel-Ziv compression algorithm that gives space
++ savings in the range of 20% to 80% depending on the type of file data.
++ Zoo can store and selectively extract multiple generations of the same
++ file.
++ .
++ This package exists for its historical value. If you are looking for
++ a compression tool for serious use, check tar and gzip.
+--- zoo-2.10.orig/debian/rules
++++ zoo-2.10/debian/rules
+@@ -0,0 +1,94 @@
++#!/usr/bin/make -f
++# debian/rules file - for zoo (2.1).
++# Based on sample debian.rules file - for GNU Hello (1.3).
++# Copyright 1994,1995 by Ian Jackson.
++# Copyright 1997,1998 by James Troup.
++# Copyright 1998,1999,2000 by Petr Èech.
++# Copyright 2005 by Jose Carlos N. Medeiros.
++# I hereby give you perpetual unlimited permission to copy,
++# modify and relicense this file, provided that you do not remove
++# my name from the file itself. (I assert my moral right of
++# paternity under the Copyright, Designs and Patents Act 1988.)
++# Uncomment this to turn on verbose mode.
++#export DH_VERBOSE=1
++
++# This has to be exported to make some magic below work.
++#export DH_OPTIONS
++
++CFLAGS = -Wall
++
++ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
++ CFLAGS += -O0
++else
++ CFLAGS += -O2
++endif
++ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
++ CFLAGS += -g
++endif
++ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
++ INSTALL += -s
++endif
++
++DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
++PACKAGE = zoo
++
++# Include dpatch stuff.
++include /usr/share/dpatch/dpatch.make
++
++configure: configure-stamp
++configure-stamp:
++ dh_testdir
++ touch configure-stamp
++
++build: build-stamp
++
++build-stamp: configure-stamp patch
++ dh_testdir
++
++ echo $(DEB_HOST_ARCH)
++ifeq ($(DEB_HOST_ARCH),amd64)
++ $(MAKE) OPTIM="$(CFLAGS)" linux64
++else
++ $(MAKE) OPTIM="$(CFLAGS)" linux
++endif
++ touch build-stamp
++
++clean: unpatch
++ dh_testdir
++ dh_testroot
++ -$(MAKE) -i clean
++ dh_clean build-stamp configure-stamp zoo fiz
++
++install: build
++ dh_testdir
++ dh_testroot
++ dh_clean -k
++ dh_installdirs
++
++ # Add here commands to install the package into debian/zoo.
++ install -m 755 -s zoo fiz debian/zoo/usr/bin
++
++# Build architecture-independent files here.
++binary-indep: build install
++# We have nothing to do by default.
++
++# Build architecture-dependent files here.
++binary-arch: build install
++ dh_testdir
++ dh_testroot
++ dh_installchangelogs
++ dh_installdocs
++ dh_installman fiz.1 zoo.1
++ dh_link
++ dh_strip
++ dh_compress
++ dh_fixperms
++ dh_installdeb
++ dh_shlibdeps
++ dh_gencontrol
++ dh_md5sums
++ dh_builddeb
++
++binary: binary-indep binary-arch
++.PHONY: build clean binary-indep binary-arch binary install configure
++
+--- zoo-2.10.orig/debian/copyright
++++ zoo-2.10/debian/copyright
+@@ -0,0 +1,64 @@
++This is Debian GNU/Linux's prepackaged version of the zoo archiver.
++
++This package was put together by James Troup from the original
++source obtained from:
++ http://www.ibiblio.org/pub/packages/ccic/software/unix/utils/zoo210.tar.gz
++
++From May 1998 to July 2004 it was maintained by Petr Èech and
++currently it is maintained by Niklas Vainio <nvainio+deb@iki.fi>
++
++Copyright and license:
++
++Zoo was written by Rahul Dhesi. He has now released it into the public
++domain:
++
++
++Return-Path: <dhesi@rahul.net>
++Date: Sat, 19 Jun 2004 13:50:26 -0700 (PDT)
++From: dhesi@rahul.net
++To: Niklas Vainio <nvainio@iki.fi>
++Subject: Re: License of Zoo
++
++Hi, the last release of the zoo archive program was marked entirely
++public domain, with no restrictions. I'm sure this statement will be
++found somewhere in the files in the sources. If not, I hope this email
++will suffice: everything in the zoo package is entirely public domain,
++with no restrictions whatsoever.
++
++Rahul
++
++
++On Sat, 19 Jun 2004, Niklas Vainio wrote:
++
++> Dear Rahul Dhesi,
++>
++> The Zoo archiving program you wrote, is part of the Debian GNU/Linux system,
++> in its unofficial section called "non-free". I'm asking you to relax licence
++> conditions of Zoo a bit to make it free software and allow it to move into
++> the official Debian distribution.
++>
++> Zoo licensing conditions have two clauses that make it non-free software.
++> Those clauses are the following:
++>
++> "(b) do not create, whether deliberately or through negligence, any
++> derivative work that violates the compatibility goals describe in the
++> reference manual for zoo 2.1,"
++>
++> "(d) make the fully commented source code of the derivative work available
++> to me at no cost if I so request, and make no attempt to restrict the
++> distribution or use of this source code."
++>
++> Of course this is more of historical interest than any actual need, but
++> would you please consider licensing Zoo under a free license?
++>
++> Best regards,
++> - Nikke, a Debian volunteer
++>
++> --
++> Niklas Vainio <niklas.vainio@iki.fi>
++>
++
++
++
++
++
+--- zoo-2.10.orig/debian/dirs
++++ zoo-2.10/debian/dirs
+@@ -0,0 +1 @@
++usr/bin
+--- zoo-2.10.orig/debian/README.debian
++++ zoo-2.10/debian/README.debian
+@@ -0,0 +1,11 @@
++The linux target I created was based on the bsd 4.3 target, with the
++following differences :-
++
++ Linux has strchr().
++ Linux signal handler returns void data type.
++ (Debian GNU/)Linux uses stdarg.h in preference to varags.h.
++ Linux has memmove().
++ (Debian GNU/)Linux uses ansi C compilers (required for stdarg.h).
++ Linux malloc() returns a void pointer.
++ Linux has vprintf().
++