Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 May 1995 01:20:03 -0700
From:      Philippe CHARNIER <charnier@lirmm.fr>
To:        freebsd-bugs
Subject:   gnu/451: cvsinit/cvs doesn't work as expected with perl
Message-ID:  <199505280820.BAA07281@freefall.cdrom.com>
In-Reply-To: Your message of Sun, 28 May 1995 10:11:04 %2B0200 <199505280811.KAA11574@pcdif01.lirmm.fr>

next in thread | previous in thread | raw e-mail | index | archive | help

>Number:         451
>Category:       gnu
>Synopsis:       cvsinit/cvs doesn't work as expected with perl
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs (FreeBSD bugs mailing list)
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun May 28 01:20:01 1995
>Originator:     Philippe CHARNIER
>Organization:
>Release:        FreeBSD 2.0.950412-SNAP i386
>Environment:

	Also in current, (need perl to be installed)

>Description:

cvsinit is buggy, then cvs doesn't work as expected when perl is
found and used.

for example, the DEFAULT entry of loginfo is not compatible with 
log.pl which dies in:
                ($donefiles) && die "Too many arguments!\n";

cvsinit is also looking for files in the source tree, that is not
correct, for those who don't have it...

	

>How-To-Repeat:

create a cvs root using cvsinit, if perl is on the system, cvs will use it.
create some files, add them and commit them.


>Fix:
	
	

1) add a Makefile for installing log.pl in /usr/share/.. because
   cvsinit need it.
2) add contrib as a subdir, it contains log.pl.
3) make cvsinit look into /usr/share/... (was the source tree).
4) make loginfo compatible with log.pl.
===================================================================
New file /usr/src/gnu/usr.bin/cvs/contrib/Makefile
*** /dev/null	Sun May 28 00:21:33 1995
--- contrib/Makefile	Sun May 28 00:18:13 1995
***************
*** 0 ****
--- 1,17 ----
+ # $Id$
+ 
+ CVSFILES= log.pl
+ 
+ EXAMPDIR = /usr/share/examples/cvs
+ 
+ NOMAN = noman
+ 
+ all clean:
+ 	@echo -n
+ 
+ install:
+ 	cd ${.CURDIR}; \
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${CVSFILES} \
+ 		${DESTDIR}${EXAMPDIR}
+ 
+ .include <bsd.prog.mk>
===================================================================
RCS file: /home2h/FreeBSD.cvsroot/src/gnu/usr.bin/cvs/Makefile,v
retrieving revision 1.6
diff -u -r1.6 Makefile
--- 1.6	1995/04/14 15:15:27
+++ Makefile	1995/05/27 22:15:11
@@ -1,5 +1,5 @@
 #	$Id: Makefile,v 1.6 1995/04/14 15:15:27 nate Exp $
 
-SUBDIR = lib cvs mkmodules cvsinit doc examples
+SUBDIR = lib cvs mkmodules cvsinit doc examples contrib
 
 .include <bsd.subdir.mk>
===================================================================
RCS file: /home2h/FreeBSD.cvsroot/src/gnu/usr.bin/cvs/cvsinit/cvsinit.sh,v
retrieving revision 1.2
diff -u -r1.2 cvsinit.sh
--- 1.2	1995/03/31 07:55:23
+++ cvsinit.sh	1995/05/27 22:11:45
@@ -10,8 +10,8 @@
 #
 # This script should be run once to help you setup your site for CVS.
 
-# this line is edited by Makefile when creating cvsinit.inst
-CVSLIB="/usr/src/gnu/usr.bin/cvs"
+
+CVSLIB="/usr/share/examples/cvs"
 
 # Make sure that the CVSROOT variable is set
 if [ "x$CVSROOT" = x ]; then
@@ -157,15 +157,15 @@
 	echo "Making a simple one for you..."
 	# try to find perl; use fancy log script if we can
 	for perlpath in `echo $PATH | sed -e 's/:/ /g'` x; do
-	    if [ -f $perlpath/perl -a -r $CVSLIB/contrib/log.pl ]; then
+	    if [ -f $perlpath/perl -a -r $CVSLIB/log.pl ]; then
 		echo "#!$perlpath/perl" > $CVSROOT/CVSROOT/log.pl
-		cat $CVSLIB/contrib/log.pl >> $CVSROOT/CVSROOT/log.pl
+		cat $CVSLIB/log.pl >> $CVSROOT/CVSROOT/log.pl
 		chmod 755 $CVSROOT/CVSROOT/log.pl
-		cp $CVSLIB/examples/loginfo $CVSROOT/CVSROOT/loginfo
+		cp $CVSLIB/loginfo $CVSROOT/CVSROOT/loginfo
 		break
 	    fi
 	done
-	if [ $perlpath = x -o ! -r $CVSLIB/contrib/log.pl ]; then
+	if [ $perlpath = x -o ! -r $CVSLIB/log.pl ]; then
 	    # we did not find perl anywhere, so make a simple loginfo file
 	    cat > $CVSROOT/CVSROOT/loginfo <<"HERE"
 #
@@ -211,9 +211,9 @@
 	    (cd $CVSROOT/CVSROOT; ci -q -u -t/dev/null -m"initial checkin of $info" $info)
 	else
 	    echo "The $CVSROOT/CVSROOT/$info file does not exist."
-	    if [ -r $CVSLIB/examples/$info ]; then
+	    if [ -r $CVSLIB/$info ]; then
 	        echo "Making a simple one for you..."
-	        sed -e 's/^\([^#]\)/#\1/' $CVSLIB/examples/$info > $CVSROOT/CVSROOT/$info
+	        sed -e 's/^\([^#]\)/#\1/' $CVSLIB/$info > $CVSROOT/CVSROOT/$info
 	    fi
 	fi
 	echo ""
===================================================================
RCS file: /home2h/FreeBSD.cvsroot/src/gnu/usr.bin/cvs/examples/loginfo,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 loginfo
--- 1.1.1.2	1995/03/31 07:44:33
+++ loginfo	1995/05/27 22:16:58
@@ -17,4 +17,4 @@
 # If the name ALL appears as a regular expression it is always used
 # in addition to the first matching regex or DEFAULT.
 #
-DEFAULT			$CVSROOT/CVSROOT/log.pl %s $CVSROOT/CVSROOT/commitlog
+DEFAULT		$CVSROOT/CVSROOT/log.pl -f $CVSROOT/CVSROOT/commitlog %s


>Audit-Trail:
>Unformatted:





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199505280820.BAA07281>