Subject: Re: On comp.tar.gz
To: None <raub@kushana.aero.ufl.edu>
From: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
List: port-sun3
Date: 01/22/1996 14:34:16
> [...]
> ./usr/share/mk/bsd.subdir.mk
> ./var/db/libc.tags
> 
> gzip: stdout: Broken pipe
> tar: child returned status 1
> Extraction complete
> 
> Extract more sets? [n]

I don't know whether it's what's actually happening here, but I've seen
similar things whenever I uncompress a compressed tar archive and pipe
the output into tar.  There is an "end-of-archive" header block in the
tar archive format; when tar sees such a thing it normally exits
immediately.  If there is enough padding after the end-of-archive
block, the uncompression program may not have written the last byte of
padding to the pipe by the time tar decides to die.

This is further complicated by the blocking of 512-byte archive blocks
into "tape blocks", usually 10K, and the fact that most (all?) tars
write _two_ end-of-archive blocks at the end of a generated archive.
It also depends on the details of how tar reads a piped-in archive,
which I don't know for NetBSD tar.

Hmm, perhaps I should add an option to my tar, to read to EOF upon
seeing an end-of-archive header block. :-)

					der Mouse

			    mouse@collatz.mcrcim.mcgill.edu