Updating Sources with CVSup
Applicable to: FreeBSD 5.x
Updated: September 22nd, 2007
This Sheet describes the procedure used to keep the FreeBSD source code and the ports collection up to date. Before performing this procedure, you should review the FreeBSD Handbook articles Staying Stable with FreeBSD and Using CVSup.
- If sources are not yet installed in /usr/src, use Sysinstall to install them:
While CVSup will install the sources if they are not present, your CVSup run will go much faster (especially if you have a slow Internet connection) if you first install the sources from the CD, so that CVSup only has to make differential changes.
- If not already done, install the CVSup port:
# cd /usr/ports/net/cvsup-without-gui && make && make install && make clean
- Create the /usr/local/etc/cvsup/sup directory tree:
# mkdir -p /usr/local/etc/cvsup/sup
- Create /usr/local/etc/cvsup/sup/supfile: *default host=cvsup8.FreeBSD.org (Pick a mirror near you, see below)
*default release=cvs tag=RELENG_5
*default delete use-rel-suffix
Mirror sites are listed here.
- Create the refuse file /usr/local/etc/cvsup/sup/refuse
If you don’t have a lot of disk space to spend on language-specific collections, create a refuse file with these entries (omit languages from this list that you actually want): doc/bn_*
- Create /usr/local/bin/cvsrun:
echo Subject: `hostname` weekly cvsup run output
/usr/local/bin/cvsup -g -L 2 /usr/local/etc/cvsup/sup/supfile
Make the scripts executable by root only:
# chown root:wheel /usr/local/bin/cvsrun
# chmod u+x /usr/local/bin/cvsrun
- Edit /etc/crontab to run CVSup every Friday night:
# Run cvsup every Friday night at 10:00 pm.
0 22 * * 5 root /usr/local/bin/cvsrun | sendmail root
- Run cvsup to update the sources: