Re: Source upgrade from 6.3-PRERELEASE to 7-STABLE
On Apr 5, 2008, at 3:57 AM, Matthew Seaman wrote: Joshua Isom wrote: I've looked back at a lot of the emails about upgrading a system from 6 to 7, but all seem to contain some caveat or other, generally ports. I want a "clean" system, but don't want to deal with backing up, reformatting, and installing, not to mention reconfiguring everything. Since by now many people have done it, what's the best way to upgrade from 6.3 to 7.0 for the entire system, base and ports? Note that once you have the base OS updated, you can leave it running with the ports from 6.x for a while -- so long as you've still got the 6.x shlibs available everything will carry on working. That means you either have to install the misc/compat6.x port or you have to skip the 'make delete-old-libs' step at the end of the buildworld procedure. (Well, postpone it until the ports can be rebuilt.) ... Don't forget the 'make delete-old-libs' step at the end. You can probably deinstall compat6x similarly although there are some ports that will now require it -- diablo-j{dk,re}15 for example. Cheers, Matthew I decided to go with the plan of listing all leaf ports and all ports(install leaves first and then find out what's missing that I'd want based on everything I had), then deleting all of them and cleaning up some of the leftovers, and reinstalling the base and deleting the old libraries to get a good clean 7.0 system. Only problem is when I started rebuilding stuff, I think libtool found f77 and some of the other 6.3 binaries that weren't deleted and things like gettext didn't want to install. It seems as though either `make delete-old-libs` needs adapted to include deleting binaries, or a separate target for old binaries. I'm currently building up my ports tree, and it seems to be working well now, so all the 6.3 binaries I found and deleted didn't seem to hurt anything, not that they could run as libc.so.6 is gone. ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: Source upgrade from 6.3-PRERELEASE to 7-STABLE
Joshua Isom wrote: I've looked back at a lot of the emails about upgrading a system from 6 to 7, but all seem to contain some caveat or other, generally ports. I want a "clean" system, but don't want to deal with backing up, reformatting, and installing, not to mention reconfiguring everything. Since by now many people have done it, what's the best way to upgrade from 6.3 to 7.0 for the entire system, base and ports? It depends... Seriously, one very good and fairly bulletproof way of migrating from 6.3 to 7.0 is by a nuke and repave job on your machine. That may not be right for you though. Given that, you have to do an in-place update. Consider the base system and the ports separately. To upgrade the base you have essentially two choices: *) Use FreeBSD-update -- follow the procedure shown here: http://www.daemonology.net/blog/2007-11-11-freebsd-major-version-upgrade.html *) cvsup with the appropriate TAG for the branch you want to switch to (RELENG_7_0 for 7.0-RELEASE, RELENG_7 for 7.0-STABLE) and then build and update your system according to the instructions in the Handbook and the notes in /usr/src/UPDATING. If you've been using either one of these methods to maintain your system previously, then you're probably best to stick with what you know for the major upgrade. FreeBSD Update may have difficulties with a system that isn't either a virgin install from the distribution ISOs or that has been maintained solely through FreeBSD Update previously. Note that once you have the base OS updated, you can leave it running with the ports from 6.x for a while -- so long as you've still got the 6.x shlibs available everything will carry on working. That means you either have to install the misc/compat6.x port or you have to skip the 'make delete-old-libs' step at the end of the buildworld procedure. (Well, postpone it until the ports can be rebuilt.) If you do choose to run a mixed system like this for a while, bear in mind that you should not now upgrade or install the odd port here and there: either you go ahead with the next stage which is to upgrade the whole lot, or you leave well alone. The second major phase of work is to upgrade all your ports. The mechanisms for doing this are essentially the same as you'ld use for maintaining ports routinely. You will need to use a management tool that will order all of the updates correctly: portmaster and portupgrade are the two leading examples. portmaster should work without any further ado as it has no other dependencies within the ports tree. portupgrade requires you to rebuild ruby and whichever of the ruby-bdb ports it links against first. Something like this: # pkg_info -rx portupgrade Information for portupgrade-devel-2.4.3_1: Depends on: Dependency: ruby-1.8.6.111_1,1 Dependency: perl-5.8.8_1 Dependency: db44-4.4.20.4 Dependency: ruby18-bdb44-0.6.2 # pkg_delete -f portupgrade-devel-2.4.3_1 ruby18-bdb44-0.6.2 db44-4.4.20.4 ruby-1.8.6.111_1,1 [...] # cd /usr/ports/ports-mgmt/portupgrade-devel # make install [...] Then you can proceed with 'portupgrade -fa' (Substitute ports-mgmt/portupgrade if you don't want the development version) Either of the ports management tools can be made to install pre-built packages given the appropriate command line arguments: this can save you quite a lot of time at the cost of a certain amount of flexibility in customising options. Don't forget the 'make delete-old-libs' step at the end. You can probably deinstall compat6x similarly although there are some ports that will now require it -- diablo-j{dk,re}15 for example. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate Kent, CT11 9PW signature.asc Description: OpenPGP digital signature