Re: Easter Eggs

Jacek M. Holeczek (holeczek@us.edu.pl)
Thu, 1 Apr 1999 18:56:47 +0200 (MET DST)


> very nice. After easter we will provide a daily updated CVS repository
> and a cvsweb interface from our machines. This on popular request by many.
At last :-)
But then it means, I have lost some days, fighting with it, ... .
> If you have any hints to share with me to get it smoothly setup, please
> let me know.
Fine.
First - create a special "user" with it's own uid and a group with it's
own gid for CVS ( it's not necessary, but in a long time it will be
helpful, especially if more people are expected to work with it ).
Then login as this "CVSuser" and create a CVSROOT subdirectory :
mkdir /cern/root/CVSsrc
then :
cvs -d /cern/root/CVSsrc init
then :
chmod a+w /cern/root/CVSsrc/CVSROOT/history
( this is NEEDED, otherwise the cvsweb will fail later )
( you may also rm /cern/root/CVSsrc/CVSROOT/history if you like )
then :
cd
( go $HOME )
cvs -d /cern/root/CVSsrc co CVSROOT
cd CVSROOT
( get checkoutlist, passwd, writers, cvsignore from my WWW page,
modify them if needed )
cvs -d /cern/root/CVSsrc add -m "initial checkin" writers
cvs -d /cern/root/CVSsrc add -m "initial checkin" passwd
cvs -d /cern/root/CVSsrc add -m "ignore *_G_*.cxx, *Dict.* *.root, *.hbook" cvsignore
cd ..
cvs -d /cern/root/CVSsrc ci -m "initial checkin" CVSROOT/writers
cvs -d /cern/root/CVSsrc ci -m "initial checkin" CVSROOT/passwd
cvs -d /cern/root/CVSsrc ci -m "passwd should work" CVSROOT/checkoutlist
cvs -d /cern/root/CVSsrc ci -m "ignore *_G_*.cxx, *Dict.* *.root, *.hbook" CVSROOT/cvsignore
then :
cvs -d /cern/root/CVSsrc release -d CVSROOT
At this point you should have the basic CVS repository working locally.
Then import the root source :
cd $ROOTSYS
( note : you should be in the $ROOTSYS subdirectory )
cvs -d /cern/root/CVSsrc
cvs -d /cern/root/CVSsrc import -m "ROOT version 2.21/08" root CERN root_v2_21_08
At this point you should have the root module in the CVS repository
working locally.
Then get the cvsweb from :
http://linux.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi
Unpack it, copy the cgi script to the server's cgi-bin subdirectory and
the conf file to the server's conf subdirectory. Then in the cvsweb.cgi
script modify the "$config" to point to the cvsweb.conf, and modify the
cvsweb.conf in some places :
%CVSROOT = ( 'ROOT-src' => '/cern/root/CVSsrc' );
$cvstreedefault = 'ROOT-src';
hideattic" => "0",
( be "nice" )
$address = "holeczek\@us.edu.pl";
$show_author=0;
( "author" simply take only the place on the screen )
$allow_annotate=0;
( this one is important )
At this point you should have the cvsweb interface working.
Finally create the CVS "pserver" ( see the "cvs.info -> Repository ->
Remote repositories -> Password authenticated -> Password authentication
server" for details ). First add in the /etc/services :
cvspserver 2401/tcp
then in the /etc/inetd.conf :
cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/cern/root/CVSsrc pserver
then restart the inetd.
At this point you should have the CVS "pserver" working ( including the
"anonymous" ROOT account as defined in the CVS "passwd" file ).
Hopefully, that was it,
Jacek.