mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
Added cvsinit shell script as a runnable command.
Submitted by: CVS mailing list.
This commit is contained in:
parent
049c88451b
commit
2f822e9be7
3 changed files with 242 additions and 1 deletions
|
|
@ -1,3 +1,3 @@
|
|||
SUBDIR = lib cvs mkmodules
|
||||
SUBDIR = lib cvs mkmodules cvsinit
|
||||
|
||||
.include <bsd.subdir.mk>
|
||||
|
|
|
|||
8
gnu/usr.bin/cvs/cvsinit/Makefile
Normal file
8
gnu/usr.bin/cvs/cvsinit/Makefile
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# $Id$
|
||||
|
||||
afterinstall:
|
||||
install -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
|
||||
${.CURDIR}/cvsinit.sh ${DESTDIR}${BINDIR}/cvsinit
|
||||
|
||||
.include "../../Makefile.inc"
|
||||
.include <bsd.prog.mk>
|
||||
233
gnu/usr.bin/cvs/cvsinit/cvsinit.sh
Normal file
233
gnu/usr.bin/cvs/cvsinit/cvsinit.sh
Normal file
|
|
@ -0,0 +1,233 @@
|
|||
:
|
||||
#
|
||||
# Copyright (c) 1992, Brian Berliner
|
||||
#
|
||||
# You may distribute under the terms of the GNU General Public License as
|
||||
# specified in the README file that comes with the CVS 1.3 kit.
|
||||
#
|
||||
# @(#)cvsinit 1.1 92/03/31
|
||||
#
|
||||
# This script should be run once to help you setup your site for CVS.
|
||||
|
||||
# Make sure that the CVSROOT variable is set
|
||||
if [ "x$CVSROOT" = x ]; then
|
||||
echo "The CVSROOT environment variable is not set."
|
||||
echo ""
|
||||
echo "You should choose a location for your source repository"
|
||||
echo "that can be shared by many developers. It also helps to"
|
||||
echo "place the source repository on a file system that has"
|
||||
echo "plenty of free space."
|
||||
echo ""
|
||||
echo "Please enter the full path for your CVSROOT source repository:"
|
||||
read CVSROOT
|
||||
remind_cvsroot=yes
|
||||
else
|
||||
echo "Using $CVSROOT as the source repository."
|
||||
remind_cvsroot=no
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Now, create the $CVSROOT if it is not already there
|
||||
if [ ! -d $CVSROOT ]; then
|
||||
echo "Hmmm... $CVSROOT does not exist; trying to make it..."
|
||||
path=
|
||||
for comp in `echo $CVSROOT | sed -e 's,/, ,g'`; do
|
||||
path=$path/$comp
|
||||
if [ ! -d $path ]; then
|
||||
mkdir $path
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo "Good... $CVSROOT already exists."
|
||||
fi
|
||||
|
||||
# Next, check for $CVSROOT/CVSROOT
|
||||
if [ ! -d $CVSROOT/CVSROOT ]; then
|
||||
if [ -d $CVSROOT/CVSROOT.adm ]; then
|
||||
echo "You have the old $CVSROOT/CVSROOT.adm directory."
|
||||
echo "I will rename it to $CVSROOT/CVSROOT for you..."
|
||||
mv $CVSROOT/CVSROOT.adm $CVSROOT/CVSROOT
|
||||
else
|
||||
echo "Making the $CVSROOT/CVSROOT directory..."
|
||||
mkdir $CVSROOT/CVSROOT
|
||||
fi
|
||||
else
|
||||
echo "Wow!... so does $CVSROOT/CVSROOT."
|
||||
fi
|
||||
echo ""
|
||||
if [ ! -d $CVSROOT/CVSROOT ]; then
|
||||
echo "You still don't have a $CVSROOT/CVSROOT directory."
|
||||
echo "I give up."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create the special *info files within $CVSROOT/CVSROOT
|
||||
|
||||
# Trump up a simple modules file, if one doesn't exist
|
||||
if [ -f $CVSROOT/CVSROOT/modules,v ]; then
|
||||
if [ ! -f $CVSROOT/CVSROOT/modules ]; then
|
||||
echo "You have a $CVSROOT/CVSROOT/modules,v file,"
|
||||
echo "But no $CVSROOT/CVSROOT/modules file. This is OK."
|
||||
echo "I'll checkout a fresh copy..."
|
||||
(cd $CVSROOT/CVSROOT; co -q modules)
|
||||
echo ""
|
||||
fi
|
||||
else
|
||||
if [ -f $CVSROOT/CVSROOT/modules ]; then
|
||||
echo "You have a $CVSROOT/CVSROOT/modules file,"
|
||||
echo "But no $CVSROOT/CVSROOT/modules,v file."
|
||||
echo "I'll create one for you, but otherwise leave it alone..."
|
||||
else
|
||||
echo "The $CVSROOT/CVSROOT/modules file does not exist."
|
||||
echo "Making a simple one for you..."
|
||||
cat > $CVSROOT/CVSROOT/modules <<"HERE"
|
||||
#
|
||||
# The CVS modules file
|
||||
#
|
||||
# Three different line formats are valid:
|
||||
# key -a aliases...
|
||||
# key [options] directory
|
||||
# key [options] directory files...
|
||||
#
|
||||
# Where "options" are composed of:
|
||||
# -i prog Run "prog" on "cvs commit" from top-level of module.
|
||||
# -o prog Run "prog" on "cvs checkout" of module.
|
||||
# -t prog Run "prog" on "cvs rtag" of module.
|
||||
# -u prog Run "prog" on "cvs update" of module.
|
||||
# -d dir Place module in directory "dir" instead of module name.
|
||||
# -l Top-level directory only -- do not recurse.
|
||||
#
|
||||
# And "directory" is a path to a directory relative to $CVSROOT.
|
||||
#
|
||||
# The "-a" option specifies an alias. An alias is interpreted as if
|
||||
# everything on the right of the "-a" had been typed on the command line.
|
||||
#
|
||||
# You can encode a module within a module by using the special '&'
|
||||
# character to interpose another module into the current module. This
|
||||
# can be useful for creating a module that consists of many directories
|
||||
# spread out over the entire source repository.
|
||||
#
|
||||
|
||||
# Convenient aliases
|
||||
world -a .
|
||||
|
||||
# CVSROOT support; run mkmodules whenever anything changes.
|
||||
CVSROOT -i mkmodules CVSROOT
|
||||
modules -i mkmodules CVSROOT modules
|
||||
loginfo -i mkmodules CVSROOT loginfo
|
||||
commitinfo -i mkmodules CVSROOT commitinfo
|
||||
rcsinfo -i mkmodules CVSROOT rcsinfo
|
||||
editinfo -i mkmodules CVSROOT editinfo
|
||||
|
||||
# Add other modules here...
|
||||
HERE
|
||||
fi
|
||||
(cd $CVSROOT/CVSROOT; ci -q -u -t/dev/null -m'initial checkin of modules' modules)
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# check to see if there are any references to the old CVSROOT.adm directory
|
||||
if grep CVSROOT.adm $CVSROOT/CVSROOT/modules >/dev/null 2>&1; then
|
||||
echo "Warning: your $CVSROOT/CVSROOT/modules file still"
|
||||
echo " contains references to the old CVSROOT.adm directory"
|
||||
echo " You should really change these to the new CVSROOT directory"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# loginfo, like modules, is special-cased
|
||||
if [ -f $CVSROOT/CVSROOT/loginfo,v ]; then
|
||||
if [ ! -f $CVSROOT/CVSROOT/loginfo ]; then
|
||||
echo "You have a $CVSROOT/CVSROOT/loginfo,v file,"
|
||||
echo "But no $CVSROOT/CVSROOT/loginfo file. This is OK."
|
||||
echo "I'll checkout a fresh copy..."
|
||||
(cd $CVSROOT/CVSROOT; co -q loginfo)
|
||||
echo ""
|
||||
fi
|
||||
else
|
||||
if [ -f $CVSROOT/CVSROOT/loginfo ]; then
|
||||
echo "You have a $CVSROOT/CVSROOT/loginfo file,"
|
||||
echo "But no $CVSROOT/CVSROOT/loginfo,v file."
|
||||
echo "I'll create one for you, but otherwise leave it alone..."
|
||||
else
|
||||
echo "The $CVSROOT/CVSROOT/loginfo file does not exist."
|
||||
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 ]; then
|
||||
echo "#!$perlpath/perl" > $CVSROOT/CVSROOT/log.pl
|
||||
cat contrib/log.pl >> $CVSROOT/CVSROOT/log.pl
|
||||
chmod 755 $CVSROOT/CVSROOT/log.pl
|
||||
cp examples/loginfo $CVSROOT/CVSROOT/loginfo
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ $perlpath = x ]; then
|
||||
# we did not find perl anywhere, so make a simple loginfo file
|
||||
cat > $CVSROOT/CVSROOT/loginfo <<"HERE"
|
||||
#
|
||||
# The "loginfo" file is used to control where "cvs commit" log information
|
||||
# is sent. The first entry on a line is a regular expression which is tested
|
||||
# against the directory that the change is being made to, relative to the
|
||||
# $CVSROOT. If a match is found, then the remainder of the line is a filter
|
||||
# program that should expect log information on its standard input.
|
||||
#
|
||||
# The filter program may use one and only one % modifier (ala printf). If
|
||||
# %s is specified in the filter program, a brief title is included (enclosed
|
||||
# in single quotes) showing the modified file names.
|
||||
#
|
||||
# If the repository name does not match any of the regular expressions in this
|
||||
# file, the "DEFAULT" line is used, if it is specified.
|
||||
#
|
||||
# If the name ALL appears as a regular expression it is always used
|
||||
# in addition to the first matching regex or DEFAULT.
|
||||
#
|
||||
DEFAULT (echo ""; echo $USER; date; cat) >> $CVSROOT/CVSROOT/commitlog
|
||||
HERE
|
||||
fi
|
||||
fi
|
||||
(cd $CVSROOT/CVSROOT; ci -q -u -t/dev/null -m'initial checkin of loginfo' loginfo)
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# The remaining files are generated from the examples files.
|
||||
for info in commitinfo rcsinfo editinfo; do
|
||||
if [ -f $CVSROOT/CVSROOT/${info},v ]; then
|
||||
if [ ! -f $CVSROOT/CVSROOT/$info ]; then
|
||||
echo "You have a $CVSROOT/CVSROOT/${info},v file,"
|
||||
echo "But no $CVSROOT/CVSROOT/$info file. This is OK."
|
||||
echo "I'll checkout a fresh copy..."
|
||||
(cd $CVSROOT/CVSROOT; co -q $info)
|
||||
echo ""
|
||||
fi
|
||||
else
|
||||
if [ -f $CVSROOT/CVSROOT/$info ]; then
|
||||
echo "You have a $CVSROOT/CVSROOT/$info file,"
|
||||
echo "But no $CVSROOT/CVSROOT/${info},v file."
|
||||
echo "I'll create one for you, but otherwise leave it alone..."
|
||||
else
|
||||
echo "The $CVSROOT/CVSROOT/$info file does not exist."
|
||||
echo "Making a simple one for you..."
|
||||
sed -e 's/^\([^#]\)/#\1/' examples/$info > $CVSROOT/CVSROOT/$info
|
||||
fi
|
||||
(cd $CVSROOT/CVSROOT; ci -q -u -t/dev/null -m"initial checkin of $info" $info)
|
||||
echo ""
|
||||
fi
|
||||
done
|
||||
|
||||
# Turn on history logging by default
|
||||
if [ ! -f $CVSROOT/CVSROOT/history ]; then
|
||||
echo "Enabling CVS history logging..."
|
||||
touch $CVSROOT/CVSROOT/history
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# finish up by running mkmodules
|
||||
echo "All done! Running 'mkmodules' as my final step..."
|
||||
mkmodules $CVSROOT/CVSROOT
|
||||
|
||||
# and, if necessary, remind them about setting CVSROOT
|
||||
if [ $remind_cvsroot = yes ]; then
|
||||
echo "Remember to set the CVSROOT environment variable in your login script"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
Loading…
Reference in a new issue