cvsup-mirror 設定

ただいま 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