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

Reply via email to