This article shows how I upgraded my box shortly after installing from CD. I
don't go into much detail about the actual install, but what I do provide may help in your
upgrade. Of special note is a make file I obtained from Jim Mock. I've found it very useful
for my make worlds
Please note: if you are upgrading from 3.x to 4.0, you should read /usr/src/UPDATING
and follow those instructions.
# make all install
===> Extracting for apache-1.3.12
>> Checksum OK for apache_1.3.12.tar.gz.
>> Checksum OK for powerlogo.gif.
===> Patching for apache-1.3.12
This port requires the OpenSSL library, which is part of
the FreeBSD crypto distribution but not installed on your
machine. Please see Chapter 6.5 in the handbook for
instructions on how to obtain and install the FreeBSD
OpenSSL distribution.
*** Error code 1
I tried to install OpenSSL, but I couldn't because it was part of the base install.
I was confused as to what to do.
But I knew that doing a cvsup would pull in all the code I needed.
And I wanted to upgrade to -stable anyway. So I upgraded. I decided to
upgrade from 4.0-R to 4.0-STABLE. I was going to use cvsup. But wait?
How do I cvsup without ports? Easy. Use the package. I
documented that in getting cvsup installed.
The make world
"make world" refers to the process of rebuilding everything in
your system, literally. Sometimes this confuses people as to what to do and when.
I know I've missed out steps and had to redo a build world. But Jim's handy
script comes to the rescue.
For more detail on make world, please refer to the Using make world
section of the FreeBSD Handbook. If
you don't read that first, and bugger up your system, you have only yourself to blame.
Actually, even if you do read it, you still have only yourself to blame. *smile*
The script
Here is the script I use to
upgrade my boxes. Please note the following:
rename the file to Makefile
if you get strange errors when you use this file, make sure there are tabs not spaces
after each label. e.g. the line after "build:" must contain a tab, not
spaces.
I put this script in /root/make, which means I can get to it, as root, by
doing: