Subject: Re: hier(7) silent on pkg documentation
To: NetBSD Packages Technical Discussion List <tech-pkg@NetBSD.org>
From: James K. Lowden <jklowden@schemamania.org>
List: tech-pkg
Date: 11/06/2003 20:56:33
On Thu, 6 Nov 2003, "Greg A. Woods" <woods@weird.com> wrote:
> [ On Thursday, November 6, 2003, James K. Lowden wrote: ]
> > 
> > Am I the only person who thinks it's no fun to guess which rock
> > pkg_add hid the documentation for <packagename>?  Let's see:
> > 
> > /usr/pkg/share/<pkg>
> > /usr/pkg/share/doc/<pkg>
> > /usr/pkg/share/doc/html/<pkg>
> 
> It wouldn't be quite so bad if $PREFIX/share was always the prefix to
> documentation, but it's not.  ($PREFIX/man, $PREFIX/info, to name just
> the most obvious two exceptions)

I agree with you, what's good for the goose is good for the gander. 
Documentation of all kinds should be in /usr/pkg/share/, because it's
machine-independent stuff.  

> The other problem is of course that stupid injection of "/html".  It
> should not be done!

Quite so, unless it comes after <pkg>.  It's up to each package how to
arrange its tree, just as it's up to us where to plant it.  

> All non-manual page documentation should go uniformly into:
> 
> 	$PREFIX/share/doc/$PKGNAME

I was afraid a many-packaged system would become unwieldy without a
hierarchy.  You don't think that's a problem?  

> > /usr/X11R6/share/<pkg>
> > /usr/X11R6/share/doc/<pkg>
> > /usr/X11R6/share/games/<pkg>
> 
> Those are a non-issue.  Use xpkgwedge  ;-)

It's not a non-issue, it's two issues.  One, just as with non-X packages,
it's not like everything's rooted in one place.  

I can live with the "use xpkgwedge" approach, but I think it's arcane. 
The point of pkgsrc is to make installing packages easy, contained, and
predictable.  Writing to the system tree is contrary to that end.  

Fundamentally, the whole X11R6 hierarchy is an interesting vestige of Unix
history (the importation of X into Unix from MIT), but it has no technical
merit at all.  It's really left over from the closed-source days, when
vendors partitioned "their" code from MIT's.  Applications are
applications, tools are tools.  X-ness is not a distinguishing attribute,
any more than networkingness is.  

But, fine, OK, we import XFree86 (say) and lots of things expect the
*system* X stuff to be in /usr/X11R6.  Why in the world should pkgsrc
abandon its mission of predictability just because some application says
"Boo! I do X!"?  And what rational choice is there for AC/DC apps like
emacs?  

xpkgwedge should be the default.   Dyed in the wool blueblood
traditionalists should use its counterpart, xtraditional or something.  

> Personally I think hier(7) should be entirely silent on /usr/pkg, save
> for this one sentence:
> 
> 	/usr/pkg	- mirrors the structure of /usr with the
> 			  addition of /etc as /usr/pkg/etc.

Hear, hear!  /usr/pkg/var, while we're at it.

> That means moving $PREFIX/man and $PREFIX/info into $PREFIX/share, for a
> start.

And why not?  It's the right thing to do.  

--jkl