Freebsd-update to 9.3 from 9.2

Michael Powell nightrecon at hotmail.com
Fri Jul 18 23:41:25 UTC 2014


Doug Hardie wrote:

[snip]
> 
> 
> svn doesn't work either:
> 
> svn checkout https://svn0.us-west.FreeBSD.org/base/release/9.3.0 /usr/src

Incorrect syntax, which creates a new problem that didn't exist yet.
 
> The latest version of UPDATING I get is from 20130705.  The web repository
> shows the latest entry as 20140716.  I have used FreeBSD since 2.5.4 and
> it used to be easy to manage.  Now its virtually impossible.  Complete
> reinstalls on production systems are just not viable.  We need a working
> way to upgrade.  I haven't found it yet.

I have exactly zero experience with freebsd-update, and do not want to seem 
disparaging towards the work of someone much smarter than me. I also have a 
noted tendency to stick with what has worked well in the past and don't 
change things until either I have a really good reason or some other change 
makes trying "the new way" mandatory with no choice. Hence I still do 
upgrades along the make world/buildworld/etc dance. Generally speaking, I've 
been doing it this way since circa 2000 and have had almost never a problem 
so I stick with it.

Under a populated /usr/src there is a .svn subdirectory. I actually know 
very little about subversion, but I think this directory contains all the 
internal housekeeping. I've noticed before the header in many of the files 
I've read through all seem to contain OS version information. If you have a 
populated /usr/src you can cd to /usr/src and do rm -rf * and this will wipe 
everything _except_ the .svn subdirectory. You will first need to chflags -R 
noschg on this directory before you can rm -rf it.

Once wiped clean, do this:

svn checkout svn://svn0.us-west.FreeBSD.org/base/releng/9.3  /usr/src

Please note the svn:// , releng instead of release, and the space before 
/usr/src. This will pull in a fresh source tree for 9.3. To update do this:

svn update /usr/src

Usually running this immediately after pulling in a fresh tree does nothing, 
other than tell you you're already at the latest. If time goes by and 
security updates come out the svn update /usr/src command will pull in what 
once was known as the release 'security' branch. Of course, any of this only 
applies to NOT using freebsd-update.

One of the really neat things I do like is the revision number. You will see 
it in uname like this: 9.3-RELEASE FreeBSD 9.3-RELEASE #0 r268715. I have 
one machine left that only has a CD burner instead of the DVD burner all the 
others enjoy. So in order to fit a backup dump on a CD I have to delete the 
source tree. If at some point later I should need to pull in the source tree 
that matches my existing kernel  I look up the revision number in uname and 
do something like this:

svn checkout -r r268715 svn://svn0.us-west.FreeBSD.org/base/releng/9.3  
/usr/src

Using the revision numbers in this fashion allows for world and kernel to 
stay in sync. Typically this is not required most of the time, but I like 
very much that the feature exists and is so easy to utilize.

I can't speak to the original situation where the source tree was stale after 
freebsd-update. I simply just know next to nothing about freebsd-update, 
other than problems people have had with it that I've read about on the 
list. I've been steadily doing source based upgrades for 14 years and it 
works so I keep doing it that way.   :-)

-Mike




More information about the freebsd-questions mailing list