Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 05 Apr 2008 09:57:27 +0100
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        Joshua Isom <jrisom@gmail.com>
Cc:        FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Re: Source upgrade from 6.3-PRERELEASE to 7-STABLE
Message-ID:  <47F73EF7.3040306@infracaninophile.co.uk>
In-Reply-To: <56fa92a7090e9529f0cb571cb2340aa5@gmail.com>
References:  <56fa92a7090e9529f0cb571cb2340aa5@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig657071F250F2C07904386577
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Joshua Isom wrote:
> I've looked back at a lot of the emails about upgrading a system from 6=
=20
> to 7, but all seem to contain some caveat or other, generally ports.  I=
=20
> want a "clean" system, but don't want to deal with backing up,=20
> reformatting, and installing, not to mention reconfiguring everything. =
=20
> Since by now many people have done it, what's the best way to upgrade=20
> 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-upg=
rade.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=
=2E

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.  (Wel=
l,
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 the=
re:
either you go ahead with the next stage which is to upgrade the whole lot=
,
or you leave well alone. =20

The second major phase of work is to upgrade all your ports.  The mechani=
sms
for doing this are essentially the same as you'ld use for maintaining por=
ts
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=20
rebuild ruby and whichever of the ruby-bdb ports it links against
first.  Something like this:

# pkg_info -rx portupgrade=20
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 probabl=
y
deinstall compat6x similarly although there are some ports that will now
require it -- diablo-j{dk,re}15 for example.

	Cheers,

	Matthew

--=20
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
                                                  Kent, CT11 9PW


--------------enig657071F250F2C07904386577
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.8 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEAREIAAYFAkf3PwMACgkQ8Mjk52CukIy8pQCgg2dumpsWDygQMrd4DRV7J3pg
ogoAn3luDnkPAn2AttR07/haDTncuus2
=kdAt
-----END PGP SIGNATURE-----

--------------enig657071F250F2C07904386577--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47F73EF7.3040306>