From 3403ceeb80938fe554606e08d1d703e952415071 Mon Sep 17 00:00:00 2001 From: minskim Date: Sun, 6 Jun 2004 21:29:33 +0000 Subject: Update gcpio to 2.5. Based on patches submitted by reed@ in PR pkg/20799 and sketch@ in PR pkg/22851. Also apply a patch from Debian Linux to fix the ustar problem (Debian bug #238177). Reported by Christian Weisgerber on tech-pkg@. Changes: * bug fixes from Debian, Red Hat, and SuSE GNU/Linux Distribution patches * --rsh-command option --- archivers/gcpio/DESCR | 3 +++ archivers/gcpio/Makefile | 13 +++++++----- archivers/gcpio/distinfo | 15 ++++++++------ archivers/gcpio/patches/patch-aa | 11 +++++++++- archivers/gcpio/patches/patch-ab | 8 +++---- archivers/gcpio/patches/patch-ac | 13 +----------- archivers/gcpio/patches/patch-ad | 12 +++++++++++ archivers/gcpio/patches/patch-ae | 15 ++++++++++++++ archivers/gcpio/patches/patch-af | 45 ++++++++++++++++++++++++++++++++++++++++ 9 files changed, 107 insertions(+), 28 deletions(-) create mode 100644 archivers/gcpio/patches/patch-ad create mode 100644 archivers/gcpio/patches/patch-ae create mode 100644 archivers/gcpio/patches/patch-af (limited to 'archivers/gcpio') diff --git a/archivers/gcpio/DESCR b/archivers/gcpio/DESCR index 692b862ebe3..eb90a898654 100644 --- a/archivers/gcpio/DESCR +++ b/archivers/gcpio/DESCR @@ -1,3 +1,6 @@ GNU cpio, originally shipped as NetBSD's "cpio" up to version 1.3, is a full-featured cpio command that can access remote and local magnetic tapes, and both tar and cpio format archives in files or on tapes. + +This package does not include the mt (control magnetic tape drive +operation) or rmt commands. diff --git a/archivers/gcpio/Makefile b/archivers/gcpio/Makefile index be24bd82564..70eabb2a55a 100644 --- a/archivers/gcpio/Makefile +++ b/archivers/gcpio/Makefile @@ -1,9 +1,8 @@ -# $NetBSD: Makefile,v 1.20 2004/03/11 18:03:49 xtraeme Exp $ +# $NetBSD: Makefile,v 1.21 2004/06/06 21:29:33 minskim Exp $ # -DISTNAME= cpio-2.4.2 -PKGNAME= gcpio-2.4.2 -PKGREVISION= 1 +DISTNAME= cpio-2.5 +PKGNAME= g${DISTNAME} CATEGORIES= archivers MASTER_SITES= ${MASTER_SITE_GNU:=cpio/} @@ -13,12 +12,16 @@ COMMENT= GNU copy-in/out (cpio) with remote magnetic tape (rmt) support USE_BUILDLINK3= yes GNU_CONFIGURE= yes -LIBS+= -lgnumalloc +USE_MAKEINFO= yes INFO_FILES= cpio.info .include "../../mk/bsd.prefs.mk" +.if ${OPSYS} == "NetBSD" +LIBS+= -lgnumalloc +.endif + .if defined(GNU_PROGRAM_PREFIX) CONFIGURE_ARGS+= --program-prefix=${GNU_PROGRAM_PREFIX} .endif diff --git a/archivers/gcpio/distinfo b/archivers/gcpio/distinfo index e8f76139bb2..5ccc77a6cac 100644 --- a/archivers/gcpio/distinfo +++ b/archivers/gcpio/distinfo @@ -1,7 +1,10 @@ -$NetBSD: distinfo,v 1.4 2003/03/16 00:17:23 wiz Exp $ +$NetBSD: distinfo,v 1.5 2004/06/06 21:29:33 minskim Exp $ -SHA1 (cpio-2.4.2.tar.gz) = 88e557b2e14ad7b575554473e4ef4624a993b71f -Size (cpio-2.4.2.tar.gz) = 185281 bytes -SHA1 (patch-aa) = 36f3287ea0a64ac0eb085335ef0ab6661e1458c7 -SHA1 (patch-ab) = aa50963702198b42345aa906f387b89adad2b9b0 -SHA1 (patch-ac) = 372b5fe8bb22a609c22089c78f67387e66436372 +SHA1 (cpio-2.5.tar.gz) = d5908ee20484f092e591a430620feec33060528c +Size (cpio-2.5.tar.gz) = 185480 bytes +SHA1 (patch-aa) = 2d6b714be46f26782b1a6e6af47710c6e20f50b8 +SHA1 (patch-ab) = e3529142851ebe87b6df37ab33571209512b0f17 +SHA1 (patch-ac) = 404dcc134a0c8b9007a3efdc8caf6b36efcf125b +SHA1 (patch-ad) = 854df599fa330ae2b07ab6cae4c2a1f2e0988ff5 +SHA1 (patch-ae) = 5de604f8278756e1ef8d4b72f9cd7638cb0496ab +SHA1 (patch-af) = d42ed286fa508dc2be2415614412cac8929f19f8 diff --git a/archivers/gcpio/patches/patch-aa b/archivers/gcpio/patches/patch-aa index d6d61a564c2..24bdfea0bc0 100644 --- a/archivers/gcpio/patches/patch-aa +++ b/archivers/gcpio/patches/patch-aa @@ -1,4 +1,4 @@ -$NetBSD: patch-aa,v 1.4 2003/03/16 00:17:24 wiz Exp $ +$NetBSD: patch-aa,v 1.5 2004/06/06 21:29:33 minskim Exp $ --- Makefile.in.orig Wed Dec 20 11:28:30 1995 +++ Makefile.in @@ -14,6 +14,15 @@ $NetBSD: patch-aa,v 1.4 2003/03/16 00:17:24 wiz Exp $ # Where to install the cpio and mt executables. +@@ -101,7 +101,7 @@ + SRCS = copyin.c copyout.c copypass.c defer.c dstring.c global.c \ + main.c tar.c util.c error.c getopt.c getopt1.c filemode.c version.c \ + rtapelib.c dirname.c idcache.c makepath.c xmalloc.c stripslash.c \ +-userspec.c xstrdup.c bcopy.c fnmatch.c mkdir.c strdup.c ++userspec.c xstrdup.c bcopy.c fnmatch.c mkdir.c + OBJS = copyin.o copyout.o copypass.o defer.o dstring.o global.o \ + main.o tar.o util.o error.o getopt.o getopt1.o filemode.o version.o \ + $(RTAPELIB) dirname.o idcache.o makepath.o xmalloc.o stripslash.o \ @@ -117,17 +117,14 @@ configure configure.in mkinstalldirs install-sh $(MT_SRCS) rmt.c tcexparg.c \ alloca.c cpio.texi cpio.info texinfo.tex diff --git a/archivers/gcpio/patches/patch-ab b/archivers/gcpio/patches/patch-ab index 024ebeb0bf7..d16d3411de1 100644 --- a/archivers/gcpio/patches/patch-ab +++ b/archivers/gcpio/patches/patch-ab @@ -1,8 +1,8 @@ -$NetBSD: patch-ab,v 1.3 2003/03/16 00:17:24 wiz Exp $ +$NetBSD: patch-ab,v 1.4 2004/06/06 21:29:33 minskim Exp $ ---- configure.orig Thu Dec 26 15:00:22 2002 -+++ configure Thu Dec 26 15:01:33 2002 -@@ -2117,6 +2117,7 @@ +--- configure.orig 2001-08-29 22:37:00.000000000 -0500 ++++ configure +@@ -2118,6 +2118,7 @@ s%@LDFLAGS@%$LDFLAGS%g s%@LIBS@%$LIBS%g s%@exec_prefix@%$exec_prefix%g s%@prefix@%$prefix%g diff --git a/archivers/gcpio/patches/patch-ac b/archivers/gcpio/patches/patch-ac index b13fe723921..4b5dcaea903 100644 --- a/archivers/gcpio/patches/patch-ac +++ b/archivers/gcpio/patches/patch-ac @@ -1,4 +1,4 @@ -$NetBSD: patch-ac,v 1.2 1998/08/07 10:35:48 agc Exp $ +$NetBSD: patch-ac,v 1.3 2004/06/06 21:29:33 minskim Exp $ --- filetypes.h.orig Sun Jul 19 01:53:46 1992 +++ filetypes.h Thu Mar 5 13:20:46 1998 @@ -8,14 +8,3 @@ $NetBSD: patch-ac,v 1.2 1998/08/07 10:35:48 agc Exp $ #endif -int lstat (); -int stat (); ---- main.c.orig Wed Nov 30 19:24:21 1994 -+++ main.c Thu Mar 5 13:22:28 1998 -@@ -492,7 +492,7 @@ - bzero (zeros_512, 512); - } - --void -+int - main (argc, argv) - int argc; - char *argv[]; diff --git a/archivers/gcpio/patches/patch-ad b/archivers/gcpio/patches/patch-ad new file mode 100644 index 00000000000..ed0e3fdc480 --- /dev/null +++ b/archivers/gcpio/patches/patch-ad @@ -0,0 +1,12 @@ +$NetBSD: patch-ad,v 1.1 2004/06/06 21:29:33 minskim Exp $ + +--- error.c.orig 2001-12-05 22:52:45.000000000 -0600 ++++ error.c +@@ -68,7 +68,6 @@ static char * + private_strerror (errnum) + int errnum; + { +- extern char *sys_errlist[]; + extern int sys_nerr; + + if (errnum > 0 && errnum <= sys_nerr) diff --git a/archivers/gcpio/patches/patch-ae b/archivers/gcpio/patches/patch-ae new file mode 100644 index 00000000000..0a448d56a2b --- /dev/null +++ b/archivers/gcpio/patches/patch-ae @@ -0,0 +1,15 @@ +$NetBSD: patch-ae,v 1.1 2004/06/06 21:29:33 minskim Exp $ + +--- mkdir.c.orig 2001-12-05 22:54:41.000000000 -0600 ++++ mkdir.c +@@ -51,8 +51,8 @@ extern int errno; + + int + mkdir (dpath, dmode) +- char *dpath; +- int dmode; ++ const char *dpath; ++ unsigned int dmode; + { + int cpid, status; + struct stat statbuf; diff --git a/archivers/gcpio/patches/patch-af b/archivers/gcpio/patches/patch-af new file mode 100644 index 00000000000..657aa223828 --- /dev/null +++ b/archivers/gcpio/patches/patch-af @@ -0,0 +1,45 @@ +$NetBSD: patch-af,v 1.1 2004/06/06 21:29:33 minskim Exp $ + +--- tar.c.orig 2004-03-15 19:58:03.504727318 +0100 ++++ tar.c 2004-03-15 19:59:41.803936327 +0100 +@@ -27,6 +27,7 @@ + #include "tarhdr.h" + + static void to_oct (); ++static void to_oct_no_nul (); + static char *stash_tar_linkname (); + static char *stash_tar_filename (); + +@@ -97,8 +98,8 @@ + to_oct (file_hdr->c_mode, 8, tar_hdr->mode); + to_oct (file_hdr->c_uid, 8, tar_hdr->uid); + to_oct (file_hdr->c_gid, 8, tar_hdr->gid); +- to_oct (file_hdr->c_filesize, 12, tar_hdr->size); +- to_oct (file_hdr->c_mtime, 12, tar_hdr->mtime); ++ to_oct_no_nul (file_hdr->c_filesize, 12, tar_hdr->size); ++ to_oct_no_nul (file_hdr->c_mtime, 12, tar_hdr->mtime); + + switch (file_hdr->c_mode & CP_IFMT) + { +@@ -446,6 +447,21 @@ + where[--digits] = ' '; + } + ++/* Convert a number into a string of octal digits. ++ Convert long VALUE into a DIGITS-digit field at WHERE, ++ including a trailing space. DIGITS==2 means ++ 1 digit, and a space. ++*/ ++ ++static void ++to_oct_no_nul (value, digits, where) ++ register long value; ++ register int digits; ++ register char *where; ++{ ++ to_oct (value, digits + 1, where); ++} ++ + /* Return + 2 if BUF is a valid POSIX tar header (the checksum is correct + and it has the "ustar" magic string), -- cgit v1.2.3