|Subject:||Re: ports question|
|From:||Mike Meyer (mw...@mired.org)|
|Date:||Oct 29, 2000 11:40:33 pm|
Crist J . Clark writes:
On Sun, Oct 29, 2000 at 01:00:56PM -0600, Mike Meyer wrote:
Correct me if I'm wrong, but I thought that when installing a port it would also update any dependencies. For example, I want to install xfce from the port, but it failed apparently on esound. So I then went to install esound by itself by it failed with the message that libtool is out of date. So I used pkg_delete on the old libtool and then installed the new libtool port, and now xfce installs just fine because esound also installs fine. I thought stuff like this got updated by installing from the port? This is the first time this sort of problem has happened to me, and I have installed many of the ports just to see what some of these programs are.
Well, "updating" a port isn't something the ports system deals with every well. It tries to *install* the dependencies if it can't find them. Libtool seems to break under these conditions, but it's the only thing I've run into that does.
IMHO, this is the correct behavior.
While I may agree with you, libtool isn't doing it right. It fails to build with strange messages, without telling you what's really wrong.
Other ports have simply installed multiple versions of the port.
Not really, other ports have _overwritten_ earlier versions of the port without changing the package database. That, IMHO, is bad. I'd rather be warned to remove the old and install the new than just clobber the old with new.
No, "installed" is the correct word. The installed packages datebase is updated - both versions are listed in the database. It's very likely that installing an update version of one package will overwrite files in an older version, possibly even all of them. This is not restricted to ports that are updates of each other; two unrelated ports may install a binary with the same name. Just to confuse matters, some ports are designed so that having multiple versions around works correctly, with the last one installed being the "default" one.
As a final twist, if you remove an old version of a port and install a new one, you may break packages that are dependent on the old one unless you reinstall them after installing the new one. Except that reinstalling the dependent ports may well reinstall the "old" version of the package again (though that's gotten a lot better lately). Of course, if the port in question was designed to have multiple installed versions, this dance may not have been necessary at all.
All of which was summarized in my original answer as "'updating' a port isn't something the ports system deals with very well.".
To Unsubscribe: send mail to majo...@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message