version 1.5, 1996/09/20 07:57:45 |
version 1.6, 1997/09/10 07:25:19 |
|
|
# |
# |
# This archive contains: |
# This archive contains: |
# |
# |
# README |
|
# Makefile |
# Makefile |
|
# README |
# anoncvssh.c |
# anoncvssh.c |
# |
# |
|
echo x - Makefile |
|
sed 's/^X//' >Makefile << 'END-of-Makefile' |
|
X#CVSROOT=anoncvs@anoncvs1.usa.openbsd.org:/cvs |
|
XPROG= anoncvssh |
|
XBINOWN= root |
|
XBINMODE=4111 |
|
XBINDIR=/open |
|
XNOMAN= |
|
X |
|
X.include <bsd.prog.mk> |
|
X |
|
END-of-Makefile |
echo x - README |
echo x - README |
sed 's/^X//' >README << 'END-of-README' |
sed 's/^X//' >README << 'END-of-README' |
Xfind enough disk space. |
Xfind enough disk space. |
|
|
X anoncvs::32766:32766:Anonymous CVS User:/open/anoncvs:/open/anoncvssh |
X anoncvs::32766:32766:Anonymous CVS User:/open/anoncvs:/open/anoncvssh |
Xyes, that is right. the account has no password. |
Xyes, that is right. the account has no password. |
X |
X |
|
XFor :pserver: support (optional) |
|
X - Create an entry in /etc/services |
|
X cvspserver 2401/tcp # CVS client/server operations |
|
X - Create an entry in /etc/inetd.conf |
|
X cvspserver stream tcp nowait anoncvs /open/anoncvssh anoncvssh pserver |
|
X |
Xinstall a crontab entry which runs as any user besides anoncvs (ie. run |
Xinstall a crontab entry which runs as any user besides anoncvs (ie. run |
Xit as yourself, or as root). call that user $SUPUSER |
Xit as yourself, or as root). call that user $SUPUSER |
X 0 */3 * * 0,1,3,4,6 /usr/local/bin/sup -v /open/sup/ss |
|
X 0 */6 * * 2,5 /usr/local/bin/sup -vo /open/sup/ss |
|
X |
X |
Xanoncvs1.usa.openbsd.org uses this particular set of entries. A `sup |
XFor example: To run every three hours 'sup -v supfile', and thrice |
|
Xweekly 'sup -vo supfile' .. because sup is not reliable .. |
|
X |
|
X0 0,3,6,9,12,15,18,21 * * 0,2,4,5 sup -v /open/anoncvs/sup/ss > /dev/null |
|
X0 0,12,15,18,21 * * 1,3,6 sup -v /open/anoncvs/sup/ss > /dev/null |
|
X0 3 * * 1,3,6 sup -vo /open/anoncvs/sup/ss > /dev/null |
|
X |
|
Xanoncvs5.usa.openbsd.org uses this particular set of entries. A `sup |
X-o' is done every few days because sup is not very robust. |
X-o' is done every few days because sup is not very robust. |
X |
X |
Xthe file /open/sup/ss contains |
Xthe file /open/sup/ss contains |
|
|
Xmkdir /open/ |
Xmkdir /open/ |
Xmkdir /open/anoncvs |
Xmkdir /open/anoncvs |
Xmkdir /open/anoncvs/cvs |
Xmkdir /open/anoncvs/cvs |
Xmkdir /open/sup |
Xmkdir /open/anoncvs/sup |
Xchown -R $SUPUSER /open/anoncvs/cvs /open/sup |
Xchown -R $SUPUSER /open/anoncvs/cvs /open/anoncvs/sup /open/anoncvs |
X |
X |
Xstart filling the account up with nice stuff |
Xstart filling the account up with nice stuff |
X cd /open/anoncvs |
X cd /open/anoncvs |
|
|
X touch .profile |
X touch .profile |
X |
X |
Xput a message like the following in .plan: |
Xput a message like the following in .plan: |
X To use anonymous CVS install the latest version of CVS on your local machine. |
X To use anonymous CVS install the latest version of CVS on your local |
|
X machine. |
X Then set your CVSROOT environment variable to the following value: |
X Then set your CVSROOT environment variable to the following value: |
X anoncvs@anoncvs.openbsd.org:/cvs |
X anoncvs@anoncvs.openbsd.org:/cvs |
X |
X |
|
|
X mkdir usr/{bin,lib} |
X mkdir usr/{bin,lib} |
X cp /usr/bin/{ci,co,cvs,diff,diff3,gzip,rcs,rcsclean} usr/bin/ |
X cp /usr/bin/{ci,co,cvs,diff,diff3,gzip,rcs,rcsclean} usr/bin/ |
X cp /usr/bin/{rcsdiff,rcsfreeze,rcsmerge,rlog,sdiff,zdiff} usr/bin/ |
X cp /usr/bin/{rcsdiff,rcsfreeze,rcsmerge,rlog,sdiff,zdiff} usr/bin/ |
|
X cp /usr/bin/grep usr/bin |
X |
X |
Xif your system has ld.so in /usr/libexec, |
Xif your system has ld.so in /usr/libexec, |
X mkdir usr/libexec |
X mkdir usr/libexec |
|
|
X |
X |
X[eap anoncvs 14 ]> ls cvs |
X[eap anoncvs 14 ]> ls cvs |
XCVSROOT/ src/ sup/ www/ |
XCVSROOT/ src/ sup/ www/ |
X[eap anoncvs 15 ]> ls /open |
X[eap anoncvs 15 ]> cd /open |
X[eap anoncvs 16 ]> ls -alF sup |
X[eap anoncvs 16 ]> ls -alF sup |
Xtotal 8 |
Xtotal 8 |
Xdrwxrwxr-x 3 deraadt wheel 512 Dec 4 1995 ./ |
Xdrwxrwxr-x 3 deraadt wheel 512 Dec 4 1995 ./ |
|
|
X |
X |
X |
X |
XThat's pretty much it. |
XThat's pretty much it. |
END-of-README |
|
echo x - Makefile |
|
sed 's/^X//' >Makefile << 'END-of-Makefile' |
|
X#CVSROOT=anoncvs@anoncvs1.usa.openbsd.org:/cvs |
|
XPROG= anoncvssh |
|
XBINOWN= root |
|
XBINMODE=4111 |
|
XBINDIR=/open |
|
XNOMAN= |
|
X |
X |
X.include <bsd.prog.mk> |
XFrom Todd Fries <toddf@acm.org> to the adventurous. |
|
XA note for those installing anoncvs on non-OpenBSD operating systems. |
|
XYou are in for some fun. |
X |
X |
END-of-Makefile |
XFor OSF1, on a DEC alpha, I had to do the following in addition to the |
|
Xabove: |
|
X |
|
X- I do not know how to setup dynamic libraries on osf1 and as a result |
|
X everything had to be compiled statically. |
|
X- Therefore, everything but /bin/sh I had to recmpile in order to |
|
X get the chroot setup. In order that there be no guesswork |
|
X involved, the following packages' binaries must exist in the chroot |
|
X environment: |
|
X |
|
X GNU |
|
X cvs (from the OpenBSD source tree) |
|
X diff[utils] (unless you're running *BSD, probably better get it from a gnu |
|
X mirror...the Makefile doesn't work otherwise) |
|
X rcs (from the OpenBSD source tree) |
|
X |
|
XSome notes on compiling. |
|
X |
|
X rcs must have diff3 capable of diff3 -m during configure. |
|
X OSF doesn't by default, thus I had to compile diffutils first. |
|
X |
|
X cvs fails to install if you don't have makeinfo ... just search for the |
|
X string ' install-info$' with regex and remove it from the Makefile for the |
|
X install and you'll be fine, or install 'texinfo', your choice. |
|
END-of-README |
echo x - anoncvssh.c |
echo x - anoncvssh.c |
sed 's/^X//' >anoncvssh.c << 'END-of-anoncvssh.c' |
sed 's/^X//' >anoncvssh.c << 'END-of-anoncvssh.c' |
X/* |
X/* |
|
|
X /* |
X /* |
X * program now "safe" |
X * program now "safe" |
X */ |
X */ |
|
X |
|
X /* If we want pserver functionality */ |
|
X if (strcmp("pserver", argv[1])) { |
|
X execle("/usr/bin/cvs", "cvs", "pserver", NULL, env); |
|
X perror("execle: cvs"); |
|
X fprintf(stderr, "unable to exec CVS pserver!\n"); |
|
X exit(1); |
|
X /* NOTREACHED */ |
|
X } |
X |
X |
X if (argc != 3 || |
X if (argc != 3 || |
X strcmp("anoncvssh", argv[0]) != 0 || |
X strcmp("anoncvssh", argv[0]) != 0 || |