Date: Tue, 27 Nov 2001 00:48:45 -0600 From: Mike Meyer <mwm@mired.org> To: Simon J Mudd <sjmudd@pobox.com> Cc: questions@freebsd.org Subject: Re: gv port builds but fails - needing libpng.so.4 (?) Message-ID: <15363.14157.861168.682892@guru.mired.org> In-Reply-To: <96683653@toto.iv>
next in thread | previous in thread | raw e-mail | index | archive | help
[I should know better than to reply before reading all of a thread....] Simon J Mudd <sjmudd@pobox.com> types: > The problem perhaps is that once you've isntalled two conflicting copies > of a port it is impossible to uninstall one without affecting the other one. Correct. > You also don't know which port is _really_ installed completely (if at all). You may be able to figure it out by looking at the dates in /var/db/pkgs. Since I normally want to resolve the situation, it doesn't matter. > So you can't go back from this situation, and it's easy to get into it. Backing out is easy. Decide which one you want to install. Delete both packages, using the force option if necessary, and then install the one you want installed. Poof, you're done. If you're using portupgrade, you'll want to fix the db. Depending on the packages, you may want to note the dependency list of the one you didn't reinstall so you can reinstall those as well. > > There's no reason to upgrade everything it depends > > on in that case. > If you want to upgrade portA-1.2.3 -> portA-2.0.1 and the dependency for > portA-2.0.1 is for a package portB-X and the installed version of portB is > less than X, then this doesn requires portB to be upgraded. Obviously > this is the situation where "all hell may break loose" because this may > require further package upgrades. Ideally the packaging system would > tell you two things: > > (A) you can't do this if other ports depend on the installed > version of portB > (B) if you do this you'll need to upgrade other ports which depend > on portB to ensure that the system stays "stable". > > rpm does (A) which is obviously easier, and I'm not aware of a packaging > system which does (B). Ok, FreeBSD does A, assuming the packages database is up to date. What happens for B is that it installs the old version as well as the new one. In some cases, this works. In the cases where it doesn't, the only harm done is that you'll have to reinstall the newer B a second time. Getting warnings would give you the option of not upgrading A until you had time to deal with all hell breaking loose. This can't be fixed as a general problem because applications - and hence packages - change names. I.e. - cdrecord has become cdrtools. If I have cdrecord installed, and install something that wants part of cdrtools that wasn't in cdrecord, there's currently no way to solve the problem. > Thus deleting packages doesn't seem to be the problem it's more installing > is "too easy". I *never* expected to hear that said about *anything* associated with a Unix system. <mike -- Mike Meyer <mwm@mired.org> http://www.mired.org/home/mwm/ Q: How do you make the gods laugh? A: Tell them your plans. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15363.14157.861168.682892>