Subject: Re: everything is a dependency and preventing removal
To: James K. Lowden <jklowden@schemamania.org>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 01/10/2003 21:08:23
[ On Friday, January 10, 2003 at 16:33:29 (-0500), James K. Lowden wrote: ]
> Subject: Re: everything is a dependency and preventing removal
>
> Why not keep two databases, say, /var/db/pkg/ and /var/db/syspkg?

Because then it's almost impossible to register any interdependencies
between them, and also impossible to replace a system package with a
third party package.  You really do need to have one unified package
database if you hope to form any relationships between packages
installed in different location (which is the very premise behind
keeping /usr/pkg while also still having system packages that install in
/usr or /).

>  Then
> the immutability of the package wouldn't be an attribute of the package,
> but rather of its installation, protected by separate privileges.

That doesn't help with the other issues I mentioned though....

> Likewise, whether or not a package is integral to the system depends on
> the value of "system".

Yes, but you still need a safe way to update it without having to remove
it....

> While I'm more-or-less on the subject, will someone please explain to me
> why /var for the database?

Personally I probably would have put it in /etc....

>  It's not a dynamic set of data, the way mail
> spools and logs are.

Well, it can be dynamic, but it's not usually as dynamic as those other
things are.....

>  It can't be blown away without dire consequences,
> the way /var can otherwise be.

Not my /var!  ;-)

However you can in fact completely remove everything in /var/db/pkg and
nothing funcational that's in production will break -- it'll your affect
ability to de-install any packages and possibly your ability to safely
install new packages.  I.e. /var/db/pkg is not truly critical.

>  It's fairly static system configuration
> information.

Yes, which is what makes /etc a better location IMNSHO....  :-)

>  The right place is /usr/pkg/var, because:

Not really, but to address your concerns one by one:

> 1. it's integral to /usr/pkg

True enough.  However what if you use PREFIX=/usr as I do?

> 2. it shares the read-only or r/w requirements of /usr/pkg

Yes, but I think that's more or less irrelevant.

> 3. it doesn't steal from /var, which needs headroom

That's also a completely meaningless point.

-- 
								Greg A. Woods

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