*BSD News Article 20047


Return to BSD News archive

Newsgroups: comp.os.386bsd.bugs
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!elroy.jpl.nasa.gov!usc!sol.ctr.columbia.edu!news.kei.com!news.oc.com!utacfd.uta.edu!rwsys!sneaky!gordon
From: gordon@sneaky.lonestar.org (Gordon Burditt)
Subject: Re: Problem with CPIO? (+Fix)
Message-ID: <CCCpzB.AEI@sneaky.lonestar.org>
Supersedes: <CCCJ6A.96r@sneaky.lonestar.org>
Organization: Gordon Burditt
References: <251oub$csf@manuel.anu.edu.au> <CC4pDz.3A7@nynexdpi.com>
Date: Thu, 26 Aug 1993 05:30:34 GMT
Lines: 48


>>	cpio -ivBct < /dev/rst0
>[...]
>>	cpio: Out of phase--get help
...
>Since my system with the tape drive is in bad144-heaven right now, try
>doing your cpio *without* ASCII headers (remove the -c option).  I had
>problems writing an ASCII-header cpio archive on *disk*.  I believe it
>starts to barf when it sees a symbolic link.  I have a feeling that
>somewhere along the line, symbolic links and ASCII headers don't
>work well together, but I could be completely off the deep end here.

cpio doesn't WRITE ASCII headers for symbolic links - it always
uses binary, even with -c.  It expects to read them, though.  

					Gordon L. Burditt
					sneaky.lonestar.org!gordon

Patch relative to 0.2.4 patchkit, and this file hasn't changed
since 0.2.1 patchkit.
Index: /usr/src/usr.bin/cpio/cpio.c
*** 1.4	1993/02/26 07:35:46
--- 1.5	1993/07/13 06:27:12
***************
*** 363,369 ****
  					continue;
  				}
  				Symlbuf[symlsz] = '\0';
! 				bwrite(&Hdr, HDRSIZE+Hdr.h_namesize);
  				bwrite(Symlbuf, symlsz);
  				if(Verbose)
  					(void) fprintf(stderr, "%s\n",
--- 363,372 ----
  					continue;
  				}
  				Symlbuf[symlsz] = '\0';
! 				if( Cflag )
! 					bwrite(Chdr,CHARS+Hdr.h_namesize);
! 				else
! 					bwrite(&Hdr, HDRSIZE+Hdr.h_namesize);
  				bwrite(Symlbuf, symlsz);
  				if(Verbose)
  					(void) fprintf(stderr, "%s\n",