Talk:Ports Tree, Updating
Merged sections pertaining to no longer supported cvs to cvs on December 21, 2014. Sidetone 09:42, 22 December 2014 (EST)
Contents |
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 host=cvsup000.FreeBSD.org *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.
-d.
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 http://www.freebsd.org/doc/handbook/mirrors.html. *default host=cvsup.FreeBSD.org *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, ports-all
Note that cvsup.freebsd.org 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)
fastest_cvsup
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)
Makefile
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 LOGTO=/usr/tmp # a suffix added to all log files LOGTOSUFFIX=log # 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 SUPFILE=/etc/cvsupfile # Use fastest_cvsup to determine the fastest cvsup connection FASTHOST=`/usr/local/bin/fastest_cvsup -Q -c us` update: /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)