Re: Upgrading to 7.0 - stupid requirements
- From: Mark Andrews <Mark_Andrews@xxxxxxx>
- Date: Fri, 29 Feb 2008 14:14:55 +1100
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"
- References:
- Re: Upgrading to 7.0 - stupid requirements
- From: Mark Andrews
- Re: Upgrading to 7.0 - stupid requirements
- Prev by Date: Re: Upgrading to 7.0 - stupid requirements
- Next by Date: Re: jerky mouse still in 7.0-RELEASE
- Previous by thread: Re: Upgrading to 7.0 - stupid requirements
- Next by thread: Re: Upgrading to 7.0 - stupid requirements
- Index(es):
Relevant Pages
|
|