Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Feb 2008 13:30:29 +1100
From:      Mark Andrews <Mark_Andrews@isc.org>
To:        Skip Ford <skip@menantico.com>
Cc:        Marko Lerota <mlerota@iskon.hr>, freebsd-stable@freebsd.org
Subject:   Re: Upgrading to 7.0 - stupid requirements 
Message-ID:  <200802290230.m1T2UUNP021981@drugs.dv.isc.org>
In-Reply-To: Your message of "Thu, 28 Feb 2008 19:08:27 CDT." <20080229000827.GB967@menantico.com> 

next in thread | previous in thread | raw e-mail | index | archive | help

> Marko Lerota wrote:
> > In http://www.freebsd.org/releases/7.0R/announce.html says 
> > 
> > Updating Existing Systems
> > 
> > > An upgrade of any existing system to FreeBSD 7.0-RELEASE constitutes 
> > > a major version upgrade, so no matter which method you use to update 
> > > an older system you should reinstall any ports you have installed on 
> > > the machine. This will avoid binaries becoming linked to inconsistent 
> > > sets of libraries when future port upgrades rebuild one port but not 
> > > others that link to it. This can be done with:
> > 
> > # portupgrade -faP
> > 
> > etc...
> > 
> > Why!!!
> 
> If you never rebuild any ports at all after upgrading to a new major
> version, then your ports should all continue to work as long as they can
> find the old libraries they need.  However, once you rebuild a port, it
> will link to new libraries, and may also link to other libraries that
> continue to be linked to the old libraries.  You may end up with a binary
> being linked against libc.so.6 and libc.so.7, which will not work.
> 
> > Then the servers. Why should I reinstall all my databases and such? I always
> > liked that FreeBSD base (OS) is separated from packages. And no matter what I 
> > do with the packages, my OS will always work. I don't want dependency
> > hell like in Linux. Now you are telling me that my database might not work
> > after upgrade to a new version. Is that it?
> 
> Ports that depend on other ports are vulnerable to this problem.  Ports
> that only require base libraries are not.  The more ports a port depends
> on, the more likely you are to run into problems if you don't rebuild all
> ports to begin with.
> 
> So, if you don't ever rebuild any of your ports at all, everything should
> still work until you finally do rebuild a port.  At that point, if that port
> doesn't depend on other ports and only links to base libraries, you'll
> still be fine.  Once you rebuild a port that depends on other ports,
> things may break if you don't force a rebuild of every port that port
> depends on.

	Running "portupgrade -nrR <package-list>" repeated until
	<package-list> stabilised used to also work for just-in-time
	upgrades like this.  Unfortunately "portupgrade -nrR" no
	longer reports packages that won't be upgraded.  There are
	no longer any "-" entries in the output.

	I need to see what "portupgrade -nrRf" does before reporting
	this.
 
> The paragraph you quoted above attempts to avoid that breakage and the
> mailing list questions that ensue, by forcing a rebuild of all ports to
> begin with.
> 
> -- 
> Skip
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: Mark_Andrews@isc.org



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