Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Oct 2000 00:11:40 -0800
From:      "Crist J . Clark" <cjclark@reflexnet.net>
To:        Mike Meyer <mwm@mired.org>
Cc:        Chip <chip@wiegand.org>, questions@FreeBSD.ORG
Subject:   Re: ports question
Message-ID:  <20001030001140.C75251@149.211.6.64.reflexcom.com>
In-Reply-To: <14845.9735.739423.377442@guru.mired.org>; from mwm@mired.org on Mon, Oct 30, 2000 at 01:40:55AM -0600
References:  <1807303@toto.iv> <14844.29672.848678.465770@guru.mired.org> <20001029120815.Q75251@149.211.6.64.reflexcom.com> <14845.9735.739423.377442@guru.mired.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Oct 30, 2000 at 01:40:55AM -0600, Mike Meyer wrote:
> 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.

Hmmm, the message seems pretty straight forward to me,

  Your libtool installation is out of date. Please remove
  and reinstall /usr/ports/devel/libtool.

The code is in /usr/ports/Mk/bsd.port.mk.

> > > 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.

I never meant that "install" was incorrect. What I meant to correct
was the idea that you will have "multiple versions" of the port
installed. In most cases, you will overwrite most of the files from
the previous version(s). You will have an intact entry in /var/db/pkg,
but the information in it is now corrupted in the sense that the files
it lists may now belong to the newer install, i.e. DO NOT pkg_delete
an old version after you have installed the new version, delete the
old one first. I've always hated when that happens.

> This is not
> restricted to ports that are updates of each other; two unrelated
> ports may install a binary with the same name.

Yeah, I 'spose that could happen. Never seen it happen yet.

> 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.

Huh. I've seen it work unintentionally when a port changes
drastically between versions.

> 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.

Installing the new version without removing the old can break stuff
too. Sometimes maintaining legacy support while adding bleeding edge
software can be a pain, no?

> All of which was summarized in my original answer as "'updating' a
> port isn't something the ports system deals with very well.".

True. But I was just pointing out that I like the fact the effort was
put in to do some intelligent checks on the use libtool port. I think
that type of setup, warning the user and letting him determine how he
would like to proceed, is better than ports blindly installing and
quite probably overwriting previous versions.
-- 
Crist J. Clark                           cjclark@alum.mit.edu


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?20001030001140.C75251>