Subject: Re: Package update disaster
To: Mark Weinem <mark.weinem@onlinehome.de>
From: Magnus Eriksson <magetoo@fastmail.fm>
List: netbsd-users
Date: 10/07/2004 14:01:34
On Thu, 7 Oct 2004, Mark Weinem wrote:
> On Wed, 06 Oct 2004, Magnus Eriksson wrote:
> > What the DragonFly people are doing seems interesting, even if I
> > don't really get exactly how it's supposed to work. Of course, back
> > on AmigaOS, things just worked. :-)
> What are they doing? Don't they use the FreeBSD-like ports-system anymore?
They do, but one of the goals is to build a package system of their own.
http://www.dragonflybsd.org/goals/packages.cgi
In short, an installed binary should only ever see its explicitly
specified dependencies, and never ever anything else. (inside a specific
tree of the filesystem, I suppose) This is something that will (have to)
be supported in the filesystem code itself.
So, in theory, if some package depends of some old version of, say, png,
when it is installed it will only see that old version. At the same time,
you could have multiple newer versions of png installed, each seen only by
the package that requires them. So for each installed package, it will
seem that the only thing that exists is itself and its dependencies.
Packages who fail to specify all dependencies will break instantly.
Packages who specify "too many" dependencies will in the worst case only
cause disk space to be wasted from keeping unnecessary packages installed.
In theory, all conflicts will go away; installing a newer version of
something will not force out older versions. And you will finally be able
to update your system one package at a time..
I belive some of the filesystem code is already there, so that a symlink
can point to multiple different locations, depending on who's asking.
(But don't take my word for it.) AFAIK, the packaging work is yet to be
done.
Magnus