Update FreeBSD Ports Collection Up to Date and Latest
CVSup can be used as a quick method for getting the Ports Collection and keep the ports tree up to date. CVSup distributes and updates source trees from a master CVS repository on a remote server host. The FreeBSD sources are maintained in a CVS repository on a central development machine in California. With CVSup, FreeBSD users can easily keep their own source trees up to date.
CVSup uses the so-called pull model of updating. Under the pull model, each client asks the server for updates, if and when they are wanted. The server waits passively for update requests from its clients. Thus all updates are instigated by the client. The server never sends unsolicited updates. Users must either run the CVSup client manually to get an update, or they must set up a cron job to run it automatically on a regular basis
There are few ways to install CVSup in FreeBSD:
- Install CVSup by using the precompiled net/cvsup package from the FreeBSD packages collection
- Build CVSup from source by using the net/cvsup port (which includes CVSup GUI). Warning: the net/cvsup port depends on the Modula-3 system, which takes a substantial amount of time and disk space to download and build.
If CVSup is installed on a machine which does not have XFree86? or Xorg installed, such as a server, use the port which does not include the CVSup GUI, net/cvsup-without-gui.
For example,
# pkg_add -r cvsup-without-gui
Or build from ports collection at net/cvsup-without-gui.
After installing, CVSup is ready and can be executed with the following command:
# cvsup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile
where cvsup.FreeBSD.org is a CVSup server that change be change to a CVSup server near you. See CVSup Mirrors for a complete listing of mirror sites.
Replace /root/ports-supfile with your own supfile name and location.
The -L 2 tells CVSup to print out the details of all the file updates it is doing. There are three levels of verbosity, from -L 0 to -L 2. The default is 0, which means total silence except for error messages.
While -h specify the supfile location.
It’s also possible to create a configuration file for CVSup to avoid the need of passing the CVSup server on the command line. CVSup’s operation is controlled by a configuration file called the supfile. There are some sample supfiles in the directory /usr/share/examples/cvsup/.
As root, copy /usr/share/examples/cvsup/ports-supfile to a new location, such as /root or your home directory.
Edit ports-supfile.
Change CHANGE_THIS.FreeBSD.org to a CVSup server near you. See CVSup Mirrors for a complete listing of mirror sites.
To run cvsup by using the supfile, use the following as root, so that cvsup has the permissions it needs to update your files:
# cvsup -L 2 /root/ports-supfile
Replace /root/ports-supfile with your own supfile name and location.
The -L 2 tells CVSup to print out the details of all the file updates it is doing. There are three levels of verbosity, from -L 0 to -L 2. The default is 0, which means total silence except for error messages.
If you are not running X11 or if you just do not like GUIs, you should add a couple of options to the command line when you run cvsup and your CVSup is installed with GUI:
# cvsup -g -L 2 supfile
Replace supfile with your own supfile name and location.
The -g tells CVSup not to use its GUI. This is automatic if you are not running X11, but otherwise you have to specify it.
Running the CVSup command later will download and apply all the recent changes to your Ports Collection, except actually rebuilding the ports for your own system.
Share and contribute or get technical support and help at My Digital Life Forums.
Related Articles
- Update FreeBSD Ports Collection to Latest Version with Security Update with Portmanager and Portaudit
- Easy Way to Upgrade FreeBSD’s Ports
- Searching for Application in FreeBSD’s Ports Collection
- Using Portsnap to Update FreeBSD Ports Tree Collection
- Installing Web Server in FreeBSD 6.0 with Apache 2.2, MySQL 5.0 and PHP 5 - Part 4
- Installing Web Server in FreeBSD 6.0 with Apache 2.2, MySQL 5.0 and PHP 5 - Part 3
- Portdowngrade - Downgrade to Previous Version of FreeBSD’s Ports
- Installing Web Server in FreeBSD 6.0 with Apache 2.2, MySQL 5.0 and PHP 5 - Part 1
- FreeBSD 6.0 on VMware Server Time and Clock Slow Down
- Checking Free Disk Space on FreeBSD Server

































January 3rd, 2006 16:17
[...] Before you can update and upgrade the FreeBSD’s ports, the Ports Collection needs to be updated. Follow step here to update the Ports Collection. [...]
May 18th, 2006 22:30
[...] Portmanager is an FreeBSD utility that automates the process of upgrading and managing installed FreeBSD ports without or almost without user intervention when updating. Portmanager ensures that FreeBSD installed ports accurately reflect and update as of those available in the ports tree. To use portmanager, the FreeBSD ports collection tree needs to be updated with CVSup or Portsnap. [...]
June 21st, 2006 13:06
[...] CVSup can be used as a quick method for getting the Ports Collection and keep the ports tree up to date. CVSup distributes and updates source trees from a master CVS repository on a remote server host. The FreeBSD sources are maintained in a CVS repository on a central development machine in California. With CVSup, FreeBSD users can easily keep their own source trees up to date. CVSup uses the so-called pull model of updating. Under the pull model, each client asks the server for updates, if and when they are wanted. The server waits passively for update requests from its clients. Thus all updates are instigated by the client. The server never sends unsolicited updates. Users must either run the CVSup client manually to get an update, or they must set up a cron job to run it automatically on a regular basis There are few ways to install CVSup in FreeBSD: Install CVSup by using the precompiled net/cvsup package from the FreeBSD packages collection. To install from package collection. # pkg_add -r cvsup-without-gui# cd /usr/ports/net/cvsup-without-gui # make install clean Or build CVSup from source by using the net/cvsup port (which includes CVSup GUI). Warning: the net/cvsup port depends on the Modula-3 system, which takes a substantial amount of time and disk space to download and build. To build from source. After installing, CVSup is ready and can be executed with the following command: # cvsup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile Change cvsup.FreeBSD.org to a CVSup server near you. See CVSup Mirrors for a complete listing of mirror sites. The -L 2 tells CVSup to print out the details of all the file updates it is doing. There are three levels of verbosity, from -L 0 to -L 2. The default is 0, which means total silence except for error messages. While -h specify the supfile location. You may want to use your own ports-supfile, for example to avoid the need of passing the CVSup server on the command line. As root, copy /usr/share/examples/cvsup/ports-supfile to a new location, such as /root or your home directory. #cp /usr/share/examples/cvsup/ports-supfile /root Edit ports-supfile #vi /root/ports-supfile Change CHANGE_THIS.FreeBSD.org to a CVSup server near you. See CVSup Mirrors for a complete listing of mirror sites.Then, you can update your port collections with this command: # cvsup -L 2 /root/ports-supfile links: freebsd.org mydigitallife.info [...]