Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Apr 2008 20:15:16 -0400
From:      Jim Pingle <lists@pingle.org>
To:        "Ronald F. Guilmette" <rfg@tristatelogic.com>
Cc:        freebsd-x11@freebsd.org
Subject:   Re: Upgrade questions
Message-ID:  <4813C594.4070006@pingle.org>
In-Reply-To: <29385.1209244242@tristatelogic.com>
References:  <29385.1209244242@tristatelogic.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Ronald F. Guilmette wrote:
> Yeabut I'm hoplessly curious, and I'd like to know why things that really
> _should_ work apparently don't.
> 
> So who should I really be asking about the above error, and why it happened
> and the Right Way to fix it properly.
> 
> (Call me anal retentive... and you wouldn't be the first to do so... but I
> really don't like "mystery" errors/warnings that have nither any obvious
> cause nor any obvious cure.)
> 

Have you ever updated your world and kernel? Sometimes, especially on older 
FreeBSD versions, the ports system will break because it expects a more 
recent world. I don't think that should have happened since 6.2-RELEASE, but 
I'm really not sure on that.

 From the errors you are seeing, it might indicate that a newer version of 
the package management tools are in need. At the very least, you can try to 
uninstall portupgrade and reinstall it from your new ports tree. I thought 
there was a port that would update these (ports-mgmt/pkg_install maybe?) in 
older installations.

> Help me out a little here.  Educate me.  Please.  Teach a man to fish.  How
> does one deal with situations like this, i.e. some package wants Version X
> of package P, but what you have installed in version Y, and about eight
> zillion things that depend on that (version Y).

If you have portupgrade installed, you can force an upgrade or reinstall 
like so:

portupgrade -f packagename

However, if there are two versions in the ports tree, with different port 
directories, you may need to do this:

portupgrade -o type/newportdir packagename

i.e.
portupgrade -o databases/mysql51-client mysql-client-4.0

If you are worried about dependency tracking, pkgdb -L will restore lost 
dependencies, but *do* *not* *run* *this* *before* *updating* *xorg* to 7.3. 
It will severely mess things up. (I shot myself in the foot with this on one 
system.)

> After all these years of using FreeBSD without ever really understanding
> the ports system, I really would like to finally learn how to use it
> properly, but at this point I'm about this far -><- away from just
> through in the towel, finding a spare drive someplace, and just loading
> up 7.0-RELEASE on it, just to avoid his "twisty maze of little error
> messages, all different".

Because your ports are from before the major X.org revision, that may be a 
valid course of action. It would certainly involve a lot less hair pulling.

The instructions provided in UPDATING do work, I followed them several times 
shortly after they were written. Even though it's counterintuitive to do 
everything in one fell swoop instead of in discrete (verified) chunks, the 
process was very well tested at the time.

I'm not sure if portsnap supports reverting back to a specific date, but it 
might be a good idea to somehow (csup, possibly) revert your ports tree to 
shortly after the X.org 7.2 changeover and try to update to that point.

You can also use "portupgrade -P" when upgrading ports to have it try to 
fetch a package first, to save the compilation time. "portupgrade -aP" will 
upgrade all ports, preferring packages over compiling where possible.

Hope that helps a little bit,

Jim



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4813C594.4070006>