Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Oct 2000 01:40:55 -0600 (CST)
From:      Mike Meyer <mwm@mired.org>
To:        cjclark@alum.mit.edu
Cc:        Chip <chip@wiegand.org>, questions@FreeBSD.ORG
Subject:   Re: ports question
Message-ID:  <14845.9735.739423.377442@guru.mired.org>
In-Reply-To: <20001029120815.Q75251@149.211.6.64.reflexcom.com>
References:  <1807303@toto.iv> <14844.29672.848678.465770@guru.mired.org> <20001029120815.Q75251@149.211.6.64.reflexcom.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Crist J . Clark writes:
> On Sun, Oct 29, 2000 at 01:00:56PM -0600, Mike Meyer wrote:
> > Chip writes:
> > > 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.".

	<mike


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?14845.9735.739423.377442>