Talk:Ports Tree, Updating

From FreeBSDwiki
Revision as of 09:42, 22 December 2014 by Sidetone (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Merged sections pertaining to no longer supported cvs to cvs on December 21, 2014. Sidetone 09:42, 22 December 2014 (EST)


defaults section

This is incomplete. I'm getting this error message:

Release not specified for collection "default".


defaults section

should look something like this:

*default base=/var/db
*default prefix=/home/ncvs
*default release=cvs
*default delete use-rel-suffix

with a proper cvsup# server of course. You may need to mkdir a /home/ncvs if you do not already have one.


defaults section

Dave's conf above is a bit nonstandard - normally the ports tree lives under /usr in /usr/ports; whereas his will wind up in /home/ncvs/ports, which will confuse the hell out of mose FreeBSD admins (and generate a second unneeded copy of the ports tree if you installed it when you first built the system, in which case you've already got one at /usr/ports).

This is a working configuration (which is not to say that his isn't, except I don't think there's actually a "cvs000" server):

# Defaults that apply to all the collections
# IMPORTANT: Change the next line to use one of the CVSup mirror sites
# listed at
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix

# If you seem to be limited by CPU rather than network or disk bandwidth, try
# commenting out the following line.  (Normally, today's CPUs are fast enough
# that you want to run compression.)
*default compress

## Ports Collection.
# The easiest way to get the ports tree is to use the "ports-all"
# mega-collection.  It includes all of the individual "ports-*"
# collections,

Note that IS a valid cvsup server, as are cvsup1 through something like cvsup19 or so (?) - be careful with those, though, as quite a few of them are from way across the pond and slower than molasses. --Jimbo 01:14, 4 Jan 2005 (EST)

news to me

when i first copied over the confs in /usr.../example/cvsup all I changed was the cvsup server and ran cvsup against it, I got errors saying "/home/ncvs doesn't exist, loser" (or something like that,) so I just did a mkdir and it worked.....--Dave 09:41, 4 Jan 2005 (EST)

the /home/ncvs thing

Sure, it'll "work" if you want your ports in /home/ncvs/ports - but it's NOT updating the tree at /usr/ports. That's what the "prefix" section means.

Was this one of your Solaris boxes? Maybe that platform has an odd file in it. I've never seen the default ports-supfile have a prefix in it other than /usr. --Jimbo 10:11, 4 Jan 2005 (EST)

no, not a sparc box

this was a fresh install of 5.3-RELEASE on my POS compaq laptop. Do you build your cvsup files from scratch or do you modify the examples? I just copied the file in ...../examples/cvsup/ and ran sed to change the CHANGE_THIS parts.

--Dave 00:52, 7 Jan 2005 (EST)

I build the cvsup port, then go in and edit the supfile by hand, usually. Never seen it use a base of ANYTHING but /usr in the example as installed by the cvsup port. --Jimbo 03:10, 7 Jan 2005 (EST)

Add mention of indexes

portupgrade users can be constantly confused by cvsup-ing, but not rebuilding or downloading new index files. The result is that they don't see out-of-date ports using portversion. This is mostly a note to myself to add a note in this file when I writeup the portupgrade/portsnap/portmanager/csup/portversion/oodles-of-ports pages. --Joe 11:42, 17 Jan 2006 (EST)


The port fastest_cvsup takes (most of) the guess work out of finding the server that will be the fastest source for your location. You can use it on the command-line something like this:

/usr/local/bin/cvsup -h `/usr/local/bin/fastest_cvsup -Q -c us` /etc/cvsupfile

This adds a brief pause to the start of the cvsup process, as the program searches for the fastest connection ( -c us limits the search to servers in the US). The -h switch over-rides *default host= in the file, /etc/cvsupfile. Ninereasons 18:10, 12 May 2006 (EDT)


You can create a simple Makefile, adding targets that meet your preferences. This example uses fastest_cvsup to determine the best connection. To use it, you would save the file as /root/cvsup/Makefile and from the commandline, in the directory /root/cvsup, say make update:

# /root/cvsup/Makefile - a minimal cvsup Makefile
# Remember if copying this, that targeted commands start with tabs

# Create this directory for logging before running make

# a suffix added to all log files

# a unique suffix for all log files
DATE=`date "+%Y.%m.%d.%H.%M.%S"`

# this is the cvsup file to use when updating the source

# Use fastest_cvsup to determine the fastest cvsup connection
FASTHOST=`/usr/local/bin/fastest_cvsup -Q -c us`

	/usr/local/bin/cvsup -h ${FASTHOST} -g -z -L2 ${SUPFILE} 2>&1 | \
	/usr/bin/tee ${LOGTO}/update.${DATE}.${LOGTOSUFFIX};

Ninereasons 18:10, 12 May 2006 (EDT)
Personal tools