Subject: Re: Package paths: consensus?
To: NetBSD Packages Technical Discussion List <tech-pkg@netbsd.org>
From: Greg A. Woods <woods@most.weird.com>
List: tech-pkg
Date: 01/13/1999 23:04:47
[ On Thu, January 14, 1999 at 04:27:43 (+0100), Soren S. Jorvang wrote: ]
> Subject: Re: Package paths: consensus?
>
> (We don't want no steenking symlinks at all :-)

Well, with either "B" or "C" you don't need any symlinks just so long as
you don't need to do anything special to meet special requirements (such
as diskless operation, or whatever).

> Ah, but while it would be nice if package configuration files were
> segregated from the usual /etc/* bunch, they should not be physically
> separate from the rest of /etc.

I agree, but you must realize that /usr/pkg/etc files need not be
physically separate from the rest of /etc either.  It is quite possible
to have full segregation (with easy management of that segregation) and
at the same time store those files on the very same physical medium, and
perhaps even in the very same logical filesystem.

> > Well, yes, and no.  It depends on your requirements and perceptions.
> > They are most definitely associated to some degree with their parent
> > package.  They do require storage private (or at least dedicated) to a
> > particular host in *some* circumstances.  Those circumstances are
> > relatively rare, but they're extremely important since how they are
> > handled will possibly make the decision as to whether or not a given
> > system can feasibly be used in those circumstances.
> 
> We disagree here; I'd almost all configuration are, largely by
> definition, host-specific. For exceptions (but I cannot really
> think of any), /usr/pkg/etc (or whatever) would be fine. 

I'm not so sure we do, but I see a massive difference in perceptions.
Note that I said "require storage private to a particular host in *some*
circumstances" -- the key word being "require".  What I was thinking was
that in all other circumstances *all* of the storage for a given host is
guaranteed to be "private" anyway, so this requirement is met by
default.  Admittedly my wording could have been better -- I did not mean
to imply that any config files should always be shared.

> I could certainly live with /etc/pkg/packagename/*, although that
> may be a bit heavy for some people, although I think the people
> so many voted A rather than C was because 'well, isn't /var/pkg/foopkg
> and all that making a bit much out of it?'.
> 
> Again, alternatives such as /etc/pkg/allofthemtogether or /etc/pkg-*/*
> are also within reason.
> 
> I think these naming details are what we need to clear up.

Indeed.  It is my recollection that the "C" option suggests simply
/etc/pkg/* (and /var/pkg/*).  I.e. all pkg config (and run-time) files
lumped together in one sub-directory of the "normal" config (and
run-time) directories.  I certainly don't like anything that includes
the package name in the pathname, and I don't think I've ever said
anything to even suggest this possibility, nor do I recall that any
versions of any proposals put forth to date use this scheme.  Perhaps
you are confusing something here with the SunOS-5 way of doing things.
Such a scheme takes segregation a little further than I think anyone
here would like.

> /var is not so controversial, I think. I somewhat agree with
> your idea of /var as throw-away. Anyway, the var files
> of many packages really belong with other files in /var
> (/var/games/foo.scores).

Segregation is segregation.  Either it's 100%, or it's not segregation
(at least in this scenario -- you can't segregate binaries and not
segregate their associated files and claim that you've segregated the
packages from the system because it just wouldn't be so).

Both the "B" and "C" proposals offer segregation.  The "B" proposal is
the most elegant and orthogonal, at least in my opinion, and the "C"
proposal offers to avoid necessary symlinks in a few more circumstances
while at the same time associating like files under the same
sub-directory.

*I* am not afraid of a couple of necessary symlinks, and if I want to be
rid of them then I will simpy integrate everything into the one true
hierarchy.  I.e. if you don't like symlinks then you have the option of
total integration....

There is no option which includes keeping the cake forever and eating it
at the same time.

-- 
							Greg A. Woods

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