+++ /dev/null
-#! /usr/local/bin/perl
-
-eval "exec /usr/local/bin/perl -S $0 $*"
- if $running_under_some_shell;
-
-################################################################################
-#
-# File: ListTheTree <source tree>
-# RCS: $XConsortium: ListTheTree /main/3 1995/10/30 13:43:24 rswiston $
-# Author: Jim Andreas Hewlett-Packard, OSSD-CV
-# Created: 1/15/92
-# Modified by: Marc Ayotte Hewlett-Packard, OSSD-CV (perlizer)
-# Language: N/A
-# Package: N/A
-# Status: CDE distributed
-#
-# (c) Copyright 1993, Hewlett-Packard Company, all rights reserved.
-#
-# Description: This file does 2 things:
-# 1) List the source tree's structure.
-# This structure is placed into the source tree's
-# directory as :TreeListing.
-# 2) Creates a listing of all of the files locked in the
-# source tree and places it in :TreeListing.locks.
-################################################################################
-
-if ($ARGV[0]) {
- $TREE = $ARGV[0];
- #
- # if not / relative get pwd path
- #
- if ($TREE !~ m%^\/%) {
- print STDERR " Must be a / related path e.g -> /foo. Sorry!\n";
- exit 1;
- }
-}
-else {
- die " USAGE ListTheTree <source directory>\n";
-}
-
-# put /usr/local/bin in the path for Rcslocks
-$ENV{'PATH'} = "/x/cdesrc/admin/bin:/usr/local/bin:$ENV{'PATH'}";
-
-if (! chdir("$TREE")) {
- die " ERROR -> Couldn't change directory to $TREE.\n";
-}
-
-######################
-# get the tree listing
-######################
-system ("find . -print > :TreeListing.new");
-unlink(":TreeListing");
-if (! rename(":TreeListing.new",":TreeListing")) {
- print " WARNING -> couldn't mv :TreeListing.new to :TreeListing.\n";
-}
-
-
-###################################
-# find the locked files in the tree
-###################################
-unlink(":TreeListing.locks.new");
-open(NLOCK,">>$TREE/:TreeListing.locks.new");
-print NLOCK "List of locked files in $TREE\n\n";
-@dirs=(`find . -type d -print`);
-
-foreach $dir (@dirs) {
- undef(@rcsLocks);
- chop($dir);
- if (chdir("$dir")) {
- @rcsLocks = (`Rcslocks -v`);
- # only list directory if there are locks
- if (@rcsLocks) {
- print NLOCK "$dir\n";
- while (@rcsLocks) {
- $lock = shift(@rcsLocks);
- print NLOCK " $lock";
- }
- print NLOCK "\n";
- }
- }
- else {
- print " WARNING -> could not cd to ${TREE}/${dir}\n";
- print " $!\n";
- }
- chdir("$TREE");
-}
-
-unlink("$TREE/:TreeListing.locks");
-rename("$TREE/:TreeListing.locks.new","$TREE/:TreeListing.locks");
-
-
-#
-# get changes from last listing
-# check file $TREE/changestamp
-#
-$cstamp = "${TREE}/changestamp";
-if ( -f "${TREE}/changestamp" ) {
- $laststamp = `cat $cstamp`;
- chop $laststamp;
-}
-else {
- $date = `date +%y%m%d`;
- chop $date;
- $laststamp = "${date}0001";
- $dip = `echo "$laststamp" >$cstamp`;
- $date = `date +%m%d0001`;
- chop $date;
- system "touch $date $cstamp";
-}
-$curstamp = `date +%y%m%d%H%M`;
-chop $curstamp;
-
-unlink("$TREE/:TreeListing.changes.new");
-open(NCHANGE,">>$TREE/:TreeListing.changes.new");
-print NCHANGE "List of changed files in $TREE\n\n";
-@allfiles=(`find . -follow -name "*,v" -newer $cstamp -print`);
-foreach $file (@allfiles) {
- chop $file;
- if (open($RCSFILE,"$file")) {
- NEXTLINE:
- while ($line = <$RCSFILE>) {
- chop $line;
- if ($line !~ m%^date%) {
- next NEXTLINE;
- }
- else {
- $lastdate = $line;
- $author = $line;
- $lastdate =~ s%^.* (\d+\.\d+\.\d+\.\d+\.\d+).*$%\1%;
- $lastdate =~ s%\.%%g;
- if ($lastdate > $laststamp) {
- $author =~ s%^.*author (.*); .*;$%\1%;
- print NCHANGE "$file <-> $author\n";
- }
- }
- }
- close($RCSFILE);
- }
-}
-
-$dip = `echo "$curstamp" >$cstamp`;
-
-unlink("$TREE/:TreeListing.changes");
-rename("$TREE/:TreeListing.changes.new","$TREE/:TreeListing.changes");
+++ /dev/null
-#! /usr/local/bin/perl
-
-eval "exec /usr/local/bin/perl -S $0 $*"
- if $running_under_some_shell;
-
-################################################################################
-#
-# File: cleanLinks <source tree>
-# RCS: $XConsortium: cleanLinks /main/3 1995/10/30 13:43:35 rswiston $
-# Author: Marc Ayotte Hewlett-Packard, OSSD-CV
-# Created: Sun Jul 4 17:57:13 PDT 1993
-# Language: perl
-# Package: N/A
-# Status: CDE distributed
-#
-# (c) Copyright 1993, Hewlett-Packard Company, all rights reserved.
-#
-# Usage: cleanLinks <directory>
-#
-# Description: This script removes symbolic links to nowhere in
-# <directory>. It does not remove anything with RCS
-# in its path.
-#
-################################################################################
-if ($ARGV[0]) {
- $TREE = $ARGV[0];
-}
-else {
- die " USAGE CleanLinks <source directory>\n";
-}
-
-if (! chdir("$TREE")) {
- die " ERROR -> Couldn't change directory to $TREE.\n";
-}
-
-#######################################################
-# define local subroutines
-#######################################################
-sub dokill {
- die "\n left on INTR \n";
- exit 1;
-}
-########################################################
-# Catch signals
-########################################################
-$SIG{'INT'} = 'dokill';
-
-
-##############################
-# get the symlinks in the tree
-##############################
-if (! open(FIND,"find . -type d ! -type l -print|")) {
- print STDERR " ERROR failure in open used for find.\n";
- die "You may have to contact your build administrator\n";
-}
-#
-# don't buffer find output
-#
-$| = 1;
-
-print "************ List of symlinks to nowhere removed **********\n";
-
-
-##################################################################
-# go through the directories and examine each symlink.
-# resolve the symlink and, if the file at the end doesn't exist,
-# remove the original symlink. Don't do anything that ends in RCS.
-##################################################################
-FILE:
-while ($new = <FIND>) {
- chop $new;
- if (! opendir(THISDIR,"$new")) {
- print STDERR " WARNING -> could not process directory $new\n";
- next FILE;
- }
- else {
- if (! chdir("$new")) {
- print STDERR " WARNING -> could not change directory to $new\n";
- next FILE;
- }
- }
- # remove . from $new path for cuteness of output
- $new =~ s%^\.%%;
-
- @allfiles = grep(!/^\.\.?$/, readdir(THISDIR));
- foreach $file (@allfiles) {
- if (( -l $file) && ($file !~ m%RCS$%) && (! -d $file)) {
- #
- # resolve the link
- #
- $tmp1file = $file;
- $counter = 0;
- while (defined($tmp2file = readlink($tmp1file))) {
- $tmp1file = $tmp2file;
- #
- # watch for cyclic symlinks
- #
- if ($counter++ == 10) {
- last;
- }
- }
- #
- # if last piece in resolved chain is not a file
- # it is a symlink to nowhere -> remove
- #
- if ( ! -e $tmp1file) { # remove link to nowhere
- if (unlink("$file")) {
- print "removing ${TREE}${new}/${file}\n";
- }
- else {
- print STDERR " WARNING -> ${TREE}${new}/${file} -> could not remove\n";
- print "$!\n";
- }
- }
- }
- }
- closedir(THISDIR);
- if (! chdir("$TREE")) {
- die " ERROR -> Couldn't change directory to $TREE.\n";
- }
-}
+++ /dev/null
-#! /bin/sh
-
-# This shell script runs findnewrcs on a clone tree.
-
-# Usage
-DoUsage()
-{
- cat << dernier
-Usage: fnrclone [-OPTIONS] <source> <destination>
- where OPTIONS are:
- [-c (checkout any new versions of files from RCS)]
- [-s (create a script & log file in $HOME/fnrclone and
- execute the script)]
- [-n (leave actual files, not symbolic links)]
- [-f <logfile name> (create a log file of changes)]
- [-d (descend symbolically linked directories)]
- [-S (do not follow symbolic links for files)
- [-O (do not check out files, Only create symbolic links for existing files)
- [-C (process SCCS directories[usually they are ignored])
- [-u Usage message]
-NOTE: the default is make symbolic links and don't check out newer
- revisions of files, just shadow the source. If the RCS directory is
- accessible, check out any brand new files as real files. If the
- RCS directory is not accessible (remote exchange), do NOT check out
- any brand new files.
-dernier
-}
-
-
-if [ $# -lt 2 ] ; then
- DoUsage
- exit 1
-fi
-
-DEF_s="L"
-DEF_X="X"
-LINKOPT="l"
-ACTUAL=
-#Parse the options
-set -- `getopt csSCOdnuf: $*`
-while [ $# -gt 0 ]
-do
- case $1 in
- -n) LINKOPT= ;shift;;
- -s) DEF_X=;shift;;
- -S) DEF_S=s;shift;;
- -c) DEF_s=;shift;;
- -C) DEF_C=C;shift;;
- -O) DEF_O=O;shift;;
- -u) DoUsage;shift;;
- -f) LOG=$2;shift 2;;
- -d) ACTUAL="${ACTUAL}f";shift;;
- --) shift;;
- -*) DoUsage;shift;;
- *) SRC=$1;DEST=$2;shift 2;;
- esac
-done
-
-OPTS="${DEF_X}${DEF_s}${DEF_S}${DEF_C}${DEF_O}${ACTUAL}${LINKOPT}miA"
-
-#
-# get the system from uname -s
-#
-SYSTEM=`uname -s`
-RELEASE=`uname -r`
-MACHINE=`uname -m`
-
-Findnewrcs="findnewrcs.${SYSTEM}"
-if [ "$SYSTEM" = "HP-UX" ];then
- # 700's
- M700=`echo $MACHINE | fgrep '/7' 2>/dev/null`
- M800=`echo $MACHINE | fgrep '/8' 2>/dev/null`
- R100=`echo $RELEASE | fgrep '10.' 2>/dev/null`
- R90=`echo $RELEASE | fgrep '9.' 2>/dev/null`
- R80=`echo $RELEASE | fgrep '8.' 2>/dev/null`
- R70=`echo $RELEASE | fgrep '7.' 2>/dev/null`
- if [ "$M700" ]; then
- if [ "$R100" ];then
- Findnewrcs="findnewrcs.700.100"
- elif [ "$R80" ];then
- Findnewrcs="findnewrcs.700.807"
- fi
- elif [ "$M800" ]; then
- if [ "$R100" ];then
- Findnewrcs="findnewrcs.800.100"
- elif [ "$R90" ];then
- Findnewrcs="findnewrcs.800.90"
- elif [ "$R80" ];then
- Findnewrcs="findnewrcs.800.80"
- else
- Findnewrcs="findnewrcs.800.70"
- fi
- else
- if [ "$R90" ];then
- Findnewrcs="findnewrcs.300.90"
- elif [ "$R80" ];then
- Findnewrcs="findnewrcs.300.80"
- fi
- fi
-fi
-
-if [ "$SYSTEM" = "SunOS" ];then
-
- if [ "$MACHINE" = "i86pc" ];then
- Findnewrcs="findnewrcs.UNIX_SV"
- elif [ "$MACHINE" = "prep" ];then
- Findnewrcs="findnewrcs.SunOS_PPC"
- else
- Findnewrcs="findnewrcs.SunOS"
- fi
-
-fi
-
-#
-# make an old style script
-#
-FNR_BINDIR=`dirname $0`
-if [ ! "$DEF_X" ];then
- DATE=`date +%H%M%S`
- FNR_DIR=/$HOME/fnrclone
- [ ! -d $FNR_DIR ] && mkdir $FNR_DIR
- FNR_SCRIPT=$FNR_DIR/script$DATE
- FNR_LOG=$FNR_DIR/log$DATE
- $FNR_BINDIR/$Findnewrcs -S${SRC} -W${DEST} -${OPTS} > $FNR_SCRIPT 2> $FNR_LOG
- chmod 777 $FNR_SCRIPT
- chmod 777 $FNR_LOG
- $FNR_SCRIPT
- echo "`basename $0`: script is in $FNR_SCRIPT, logfile is $FNR_LOG"
- if [ "$LOG" ];then
- cat $FNR_LOG > $LOG
- echo "logfile is also in $LOG"
- fi
-else # execute without a script
- if [ "$LOG" ];then
- $FNR_BINDIR/$Findnewrcs -S${SRC} -W${DEST} -${OPTS} 2> $LOG
- else
- $FNR_BINDIR/$Findnewrcs -S${SRC} -W${DEST} -${OPTS}
- fi
-fi
-