Date: Thu, 8 Apr 1999 13:54:34 -0700 (PDT) From: Tom Bartol <bartol@salk.edu> To: John Polstra <jdp@polstra.com> Cc: Jacques Vidrine <n@nectar.com>, current@FreeBSD.ORG Subject: Re: /sys/boot, egcs vs. gcc, -Os Message-ID: <Pine.BSF.3.96.990408132639.99973F-100000@eccles.salk.edu> In-Reply-To: <XFMail.990408122458.jdp@polstra.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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 majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.990408132639.99973F-100000>