cvsup and portupgrade
Richard Coleman
richardcoleman at mindspring.com
Wed Oct 8 13:23:24 PDT 2003
David Bear wrote:
> I'm still trying to muddle through the loads of different ways to keep
> FreeBSD 'current' -- meaning, safely patched, aka RELENG_5_1 (for me)
>
> As I conceptualize the operations there are two levels of 'patching',
> 1) the kernel and base system
> 2) then all the ports that I may have installed
>
> I've read the cvsup docs and can see how to update both the kernel
> source and ports. But the problem I see is the ports. After the
> ports collection has cvsupdated, I would still need to do a make
> install for each port I have previous installed, correct? (or, more
> appropriately, make deinstall, the cvsup the ports, then make install)
> Is this making things more difficult? Seems there really should be a
> cleaner way to keep things updated.
>
> I've heard reference to a portupgrade package, but can't find any
> details on how and what it really does-- and how well it plays with
> cvsupdate.
>
> The other rotten thing here is that cvsupdate requires modula-3 -- and
> portupgrade requires ruby... It would really be nice if all this were
> done in the most perfect language, python;-)
>
> looking for some advice.. thx.
cvsup and portupgrade do different things.
Cvsup will keep your copy of a particular source trees (/usr/src,
/usr/port, etc.) up-to-date with the current sources in the CVS
repository. Actually, cvsup can track the sources along any CVS branch
point or by date. There is usually a pre-built binary package for
cvsup, so you don't generally need to build it from source (or build the
modula3 package). Just get it from the FreeBSD ftp site and use pkg_add
to add the binary package.
But once you've got the updated sources, you need to update your
machine. For /usr/src, you have to follow the procedures to "build the
world" Check the handbook for this.
For /usr/port, you can update manually (pkg_delete the old version and
make install the new version) or use portupgrade.
To get started with portupgrade, just do:
cd /usr/ports/sysutils/portupgrade
make install clean
rehash # if you are using csh or tcsh
pkgdb -F
portsdb -Uu
If you want to see the ports that are available for updating, use the
command "portversion".
You will need to re-run "portsdb -Uu" every time you update the ports
source tree using cvsup.
Richard Coleman
richardcoleman at mindspring.com
More information about the freebsd-questions
mailing list