ただいま cvsリポジトリの取得中
%cd /usr/local/etc/cvsup/
%cat config.sh
user="cvsup"
group="cvsup"
cuser="cvsupin"
cgroup="cvsupin"
host="cvsup6.jp.freebsd.org"
interval="12"
maxclients="8"
facility="daemon"
distribs="distrib.self .. . FreeBSD.cvs /home/ncvs . FreeBSD-www.current SKIP . FreeBSD-gnats.current SKIP gnats FreeBSD-mail.current SKIP ."
%cat supfile
#
# Standard supfile for CVSup FreeBSD mirrors.
#
*default delete use-rel-suffix umask=002
cvs-all release=cvs prefix=prefixes/FreeBSD.cvs
gnats release=current prefix=prefixes/FreeBSD-gnats.current
www release=current prefix=prefixes/FreeBSD-www.current
mail-archive release=current prefix=prefixes/FreeBSD-mail.current
distrib release=self prefix=prefixes/distrib.self
%cat update.sh
#! /bin/sh
if ! PREFIX=$(expr $0 : "?(/.*?)/etc/cvsup/update?.sh?$"); then
echo "$0: Cannot determine the PREFIX" >&2
exit 1
fi
export PREFIX
export CVSUP_ARGS="$*"
export PATH=/bin:/usr/bin:${PREFIX}/bin
lock=/var/spool/lock/cvsup.lock
log=/var/log/cvsup.log
umask 22
exec >>${log} 2>&1
# Do the update
date "+CVSup update begins at %Y-%m-%d %T"
# The rest of this is executed while holding the lock file, to ensure that
# multiple instances won't collide with one another.
lockf -t 0 ${lock} /bin/sh << 'E*O*F'
base=${PREFIX}/etc/cvsup
rundir=/var/tmp
cd ${rundir} || exit
. ${base}/config.sh || exit
colldir=sup.client
startup=${PREFIX}/etc/rc.d
eval chome=~${cuser}
cmd="exec env HOME=${chome} cvsup"
options="-1gL 1 -b ${base} -c ${colldir} ${CVSUP_ARGS}"
umask 2
ok=yes
echo "Updating from ${host}"
su -f -m ${cuser} -c ?
"${cmd} ${options} -h ${host} ${base}/supfile" || ok=no
if [ ${ok} = yes ]; then
if [ -f ${base}/.start_server ]; then
if [ -x ${startup}/cvsupd.sh ]; then
echo -n "Starting the server:"
/bin/sh ${startup}/cvsupd.sh start
echo "."
fi
rm -f ${base}/.start_server
fi
fi
E*O*F
date "+CVSup update ends at %Y-%m-%d %T"
%cat cvsupd.access
-0.0.0.0/0 8 # Limit total connections
-0.0.0.0/0/32 1 # Allow only 1 connection from each host
+0.0.0.0/0 # If we reach this rule, we let the client in