Re: Source upgrade from 6.3-PRERELEASE to 7-STABLE

2008-04-06 Thread Joshua Isom


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

2008-04-05 Thread Matthew Seaman

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