Re: Upgrading to 7.0 - stupid requirements





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.

For example if I was to upgrade firefox I'd have to upgrade
548 of the 582 packages on this machine.

Mark

getlist:
#!/bin/sh -f
sed -e '/Depends on:/d' \
-e '/Information for/d' \
-e '/Required by:/d' \
-e '/^$/d' \
-e 's/Dependency://' \
-e 's/ //g' |
sort -u

% pkg_info -rR "*fox*" | ./getlist | wc
100 100 1665
% pkg_info -rR "*fox*" | ./getlist | xargs pkg_info -rR | ./getlist | wc
467 467 8435
% pkg_info -rR "*fox*" | ./getlist | xargs pkg_info -rR | ./getlist | xargs pkg_info -rR | ./getlist | xargs pkg_info -rR | ./getlist | wc 547 547 9780
drugs:9.4.x 14:03 {2701} % pkg_info -rR "*fox*" | ./getlist | xargs pkg_info -rR | ./getlist | xargs pkg_info -rR | ./getlist | xargs pkg_info -rR | ./getlist | xargs pkg_info -rR | ./getlist | wc
548 548 9793
% pkg_info -rR "*fox*" | ./getlist | xargs pkg_info -rR | ./getlist | xargs pkg_info -rR | ./getlist | xargs pkg_info -rR | ./getlist | xargs pkg_info -rR | ./getlist | xargs pkg_info -rR | ./getlist | wc
548 548 9793
% pkg_info | wc
582 3869 34258
%

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@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe@xxxxxxxxxxx"
--
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: Mark_Andrews@xxxxxxx
_______________________________________________
freebsd-stable@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe@xxxxxxxxxxx"
--
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: Mark_Andrews@xxxxxxx
_______________________________________________
freebsd-stable@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: Firefox on -current dumps core.
    ... When I upgraded about two weeks ago, a lot of programs dumped core. ... Upgrade all the packages from source before I cvsup to -current, ... the only way to fix these problems is to rebuild all your ports in order that the installed ports match your library set and that all applications linked against old library versions are updated. ... Eventually, there will be a compat6x port that installs compatibility versions of libraries, but there are a number of open questions about how we want to approach that so the short term solution of upgrading everything is the way to go. ...
    (freebsd-current)
  • Re: If I have portmanager, do I need portupgrade?
    ... All ports have an implicit dependence on FreeBSD itself which isn't ... doesn't provide the means to force an upgrade. ... Portupgrade can force the rebuilding of all ports with -fa; ... restartable rebuild. ...
    (freebsd-questions)
  • Re: Upgrade suggestion
    ... ports to upgrade is that with ~17K ports, ... have updates available much less often than that. ... this suggestion (for all port/package upgrade suites): ... Gentoo's portage system does all of this. ...
    (freebsd-questions)
  • Re: Package managment
    ... There have also been major changes within ports (new ... > Most of us would recommend a general rebuild, ... Unless you actually need to upgrade, ...
    (freebsd-stable)
  • Re: gettext/GPLv4 virus infects FreeBSD
    ... just upgrade from ports when you have some ... customized options. ... Michel, I know your views about portupgrade, but the -P option has been ... and upgrade from ports only when using customized ...
    (comp.unix.bsd.freebsd.misc)