diff options
author | Theodore Tso <tytso@mit.edu> | 1994-07-16 03:11:44 +0000 |
---|---|---|
committer | Theodore Tso <tytso@mit.edu> | 1994-07-16 03:11:44 +0000 |
commit | e0e0fc3d6654715013800aaa240b83011580bd60 (patch) | |
tree | 890edabed43d6418ff99917d349fcf6e9236b98e /src/util/lndir | |
parent | cce46e49c0bba33092e64812fd062de36055fd25 (diff) | |
download | krb5-e0e0fc3d6654715013800aaa240b83011580bd60.zip krb5-e0e0fc3d6654715013800aaa240b83011580bd60.tar.gz krb5-e0e0fc3d6654715013800aaa240b83011580bd60.tar.bz2 |
lndir --- used to be autotools; used for making symlink trees
reconf --- quickie shell script which runs autoconf and autoheader
with the right arguments.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@3983 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/util/lndir')
-rw-r--r-- | src/util/lndir | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/util/lndir b/src/util/lndir new file mode 100644 index 0000000..e12503e --- /dev/null +++ b/src/util/lndir @@ -0,0 +1,97 @@ +#! /bin/sh + +# lndir - create shadow link tree +# +# Time stamp <89/11/28 18:56:54 gildea> +# By Stephen Gildea <gildea@bbn.com> based on +# XConsortium: lndir.sh,v 1.1 88/10/20 17:37:16 jim Exp +# +# Used to create a copy of the a directory tree that has links for all non- +# directories (except those named RCS). If you are building the distribution +# on more than one machine, you should use this script. +# +# If your master sources are located in /usr/local/src/X and you would like +# your link tree to be in /usr/local/src/new-X, do the following: +# +# % mkdir /usr/local/src/new-X +# % cd /usr/local/src/new-X +# % lndir ../X +# +# Note: does not link files beginning with "." Is this a bug or a feature? +# +# Improvements over R3 version: +# Allows the fromdir to be relative: usually you want to say "../dist" +# The name is relative to the todir, not the current directory. +# +# Bugs in R3 version fixed: +# Do "pwd" command *after* "cd $DIRTO". +# Don't try to link directories, avoiding error message "<dir> exists". +# Barf with Usage message if either DIRFROM *or* DIRTO is not a directory. + +USAGE="Usage: $0 fromdir [todir]" + +if [ $# -lt 1 -o $# -gt 2 ] +then + echo "$USAGE" + exit 1 +fi + +DIRFROM=$1 + +if [ $# -eq 2 ]; +then + DIRTO=$2 +else + DIRTO=. +fi + +if [ ! -d $DIRTO ] +then + echo "$0: $DIRTO is not a directory" + echo "$USAGE" + exit 2 +fi + +cd $DIRTO + +if [ ! -d $DIRFROM ] +then + echo "$0: $DIRFROM is not a directory" + echo "$USAGE" + exit 2 +fi + +pwd=`pwd` + +if [ `(cd $DIRFROM; pwd)` = $pwd ] +then + echo "$pwd: FROM and TO are identical!" + exit 1 +fi + +for file in `ls $DIRFROM` +do + if [ ! -d $DIRFROM/$file ] + then + ln -s $DIRFROM/$file . + else + if [ $file != RCS -a $file != CVS -a $file != . -a $file != .. ] + then + echo $file: + mkdir $file + (cd $file + pwd=`pwd` + case "$DIRFROM" in + /*) ;; + *) DIRFROM=../$DIRFROM ;; + esac + if [ `(cd $DIRFROM/$file; pwd)` = $pwd ] + then + echo "$pwd: FROM and TO are identical!" + exit 1 + fi + $0 $DIRFROM/$file + ) + fi + fi +done |