Subject: Re: why does pkg_install continue to use GNU Tar?!?!?!?!
To: Alistair Crooks <agc@wasabisystems.com>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 05/08/2002 14:13:28
[ On Wednesday, May 8, 2002 at 08:56:06 (+0200), Alistair Crooks wrote: ]
> Subject: Re: why does pkg_install continue to use GNU Tar?!?!?!?!
>
> On Tue, May 07, 2002 at 08:08:42PM -0400, Greg A. Woods wrote:
> > [ On Tuesday, May 7, 2002 at 23:37:16 (+0200), Alistair Crooks wrote: ]
> > > Subject: Re: why does pkg_install continue to use GNU Tar?!?!?!?!
> > >
> > > The issue with pax(1) is its support for the GNU tar -C extension.
> > 
> > That is not a problem.  The fixes to pax I mentioned include this
> > feature in the 'tar' interface to pax.  They were a pre-requisite to the
> > changes I submitted.  As far as I can tell they've been there since
> > before 1.5 was even branched.
> 
> You're right - the fixes have been in pax for a while. They are
> also known not to function correctly. Given that fact, it would be
> a trifle silly for us to move over to using it.

I did not know they did not work.  I had applied my own changes based on
work from OpenBSD and FreeBSD's repositories to my local version of pax,
and my version works just fine (though it's not 100% compatible with the
GNU Tar feature, it's more than compatible enough for pkg_install).  I
assumed the changes made to the official NetBSD version would be
similarly functional (and I seem to remember discussion at the time
indicating they would be even better than my changes -- 100% GNU Tar
compatible!).

	$ tar -cv -T - -f /tmp/test.tar
	-C /
	netbsd
	-C /etc
	passwd
	^D
	netbsd
	passwd
	$ tar -tvf /tmp/test.tar
	-rw-r--r--  1 root     wheel    3707520 Aug 25  2001 netbsd
	-rw-r--r--  1 root     wheel       4795 Apr 10 17:44 passwd

> > > Each package with a @cwd directive in its PLIST needs this to
> > > function correctly. We are moving to eradicate these from pkgsrc,
> > > but haven't finished the transition yet.
> > > 
> > > There are still 4 left, all in the japanese category.
> > 
> > Eradicating them will certainly make it easier to use the native 'pax'
> > interface to pax, but it's not a necessary prerequisite to fixing
> > pkg_install.
> 
> Au contraire - we cannot switch over to using pax whilst those
> packages still use '@cwd' in their PLISTs. Even once we have
> eradicated them, there are a huge number of binary packages out
> there which need the @cwd functionality in there.

Well, only because it seems the so-called fixes to pax are apparently
incomplete.....   If I'd known that at the time I submitted my
pkg_install changes I could have also submitted my version of pax which
I know to work and be fully compatible and tested with my patched
pkg_install.  At the time it seems I made an incorrect assumption about
the quality of the NetBSD changes to pax.  :-/  No wonder my PR has
lingered so long with so little comment and no wonder the new
pkg_install tools still have to use our ancient version of GNU Tar.

(I'm still not sure why there seems to be such animosity against the
seemingly useful, and obviously used, "@cwd" feature.  If it were so
easy to do without then a simple and almost mechanical transformation of
the offending packages could have been completed years ago, no?)

-- 
								Greg A. Woods

+1 416 218-0098;  <gwoods@acm.org>;  <g.a.woods@ieee.org>;  <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>