Clarification Of In Place Upgrade Process

Lowell Gilbert freebsd-questions-local at
Sun Feb 7 13:57:50 UTC 2010

Tim Daneliuk <tundra at> writes:

> When migrating from 6.x to 7.x and to do system refreshes within a
> given release branch, I did/do this:
> 	- Get sources
>         - mergemaster -i
> 	- make buildworld buildkernel
> 	- go single user
>         - make installworld installkernel
>         - reboot

Especially for major-version upgrades, you would be *much* better
advised to follow the official upgrade method.  This one will usually
work, but it's not particularly easier than the recommended method.

> I now wish to do the same to get to the 8.x branch, BUT ... somewhere on
> USENET, someone commented that you have to also reinstall/rebuild
> all the packages/ports when you do this.  This was news to me.  Is there
> some reason the entire application base has to be reinstalled when
> moving to a new branch?  If so, has this always been the case or is it
> new for 8.x?  My 6.x -> 7.x upgrade went flawlessly using the method
> above without touching the ports/packages tree.

This has always been the case.  You don't actually need to rebuild all
you ports right away, but you do need to do so eventually (i.e., before
you start building more pots).  Your old ports are linked against the
old libraries, and if you get something linked against a mix of old
(e.g., 7.x) and new (e.g., 8.x) libraries, it won't work.

But then, that's covered in the upgrade instructions also...

Lowell Gilbert, embedded/networking software engineer, Boston area

More information about the freebsd-questions mailing list