On Thu, 8 Apr 1999, John Polstra wrote:

> 
> I am not saying the dependencies are broken.  I'm just lamenting the
> general problem that it's difficult to upgrade a port that depends on
> a lot of things.  It's a general structural problem, and I don't know
> how to fix it.
> 
> Say you've got a bunch of ports that all depend on the same shared
> library -- maybe libjpeg or libXpm.  You've had them installed for
> a few months, and they all work fine.  Now you decide to upgrade
> one of them, the "foo" port.  Oops, it requires a newer version of
> libjpeg.  You have to remove the old libjpeg so that the newer one
> can be installed without a lot of complaints.  Oops, a bunch of other
> ports used the old libjpeg.  Now you have to upgrade those ports too.
> Oops, some of those ports depend on libXpm, and a new version of it is
> needed now.  Oops, now some other ports that used the old libXpm need
> to be upgraded.
> 
> At this point, you throw up your hands, pkg_delete -f everything,
> and reinstall all your ports from scratch.  And the next time you're
> tempted to upgrade a port, you decide it would be easier to just buy
> a new machine. :-)
> 
> John

I agree completely.  I had just recently run into this problem in a big
way over gnome.  I am not familiar at all with the inner workings of the
ports/package database system but it occurred to me that perhaps the
database is currently only storing which packages a given package depends
upon and is NOT storing which packages depend upon a given
package -- i.e. the leaves know which branch they are on but the branches
don't know which leaves they bear.  If this is in fact the case then it
seems to me that a first step in improving the behaviour of the
port/package system is to make the database be a leaf-to-branch and
branch-to-leaf linked relationship tree that can be traversed as needed.
I'm not sure of the standard Computer Science jargon to describe such a
tree.

Tom




To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to