# .Sanitize for devo.

# Each directory to survive it's way into a release will need a file
# like this one called "./.Sanitize".  All keyword lines must exist,
# and must exist in the order specified by this file.  Each directory
# in the tree will be processed, top down, in the following order.

# Hash started lines like this one are comments and will be deleted
# before anything else is done.  Blank lines will also be squashed
# out.

# The lines between the "Do-first:" line and the "Things-to-keep:"
# line are executed as a /bin/sh shell script before anything else is
# done in this directory.

Do-first:

if ( echo $* | grep keep\-cygnus > /dev/null) ; then
	keep_these_too="${keep_these_too} release release-info build-all.mk"
else
	lose_these_too="${lose_these_too} release release-info build-all.mk"
fi


# All files listed between the "Things-to-keep:" line and the
# "Do-last:" line will be kept.  All other files will be removed.
# Directories listed in this section will have their own Sanitize
# called.  Directories not listed will be removed in their entirety
# with rm -rf.

Things-to-keep:

.cvsignore
COPYING
COPYING.LIB
CYGNUS
ChangeLog
Makefile.in
README
autoconf
bfd
binutils
byacc
config
config.guess
config.sub
configure
configure.bat
configure.in
cvs
deja-gnu
dejagnu
diff
dvips
emacs
etc
expect
fileutils
flex
gas
gcc
gdb
gdbm
gdbtest
glob
gprof
grep
groff
include
install.sh
ispell
ld
libg++
libgcc
libiberty
libio
m4
make
mmalloc
move-if-change
newlib
opcodes
pagas
patch
prms
rcs
readline
sed
send-pr
shellutils
sim
tcl
textutils
tk
test-build.mk
texinfo
tgas
utils
uudecode
wdiff
xiberty

Things-to-lose:

# The lines between the "Do-last:" line and the end of the file
# are executed as a /bin/sh shell script after everything else is
# done.

Do-last:

if ( echo $* | egrep verbose > /dev/null ) ; then
	verbose=true
else
	verbose=
fi

if [ -n "${verbose}" ] ; then
	echo Looking for signs of \"v9\"...
fi

# Don't try to clean directories here, as the 'mv' command will fail.
# Also, grep fails on NFS mounted directories.
if ( echo $* | grep keep\-v9 > /dev/null ) ; then
	for i in * ; do
		if test ! -d $i && (grep sanitize-v9 $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping v9 stuff in $i
			fi
		fi
	done
else
	for i in * ; do
		if test ! -d $i && (grep sanitize-v9 $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Cleaning the \"v9\" out of $i...
			fi
			cp $i new
			sed '/start\-sanitize\-v9/,/end-\sanitize\-v9/d' < $i > new
			if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
				mv $i .Recover
			fi
			mv new $i
		fi
	done
fi

if [ -n "${verbose}" ] ; then
	echo Thawing away the \"chill\"...
fi

# Don't try to clean directories here, as the 'mv' command will fail.
# Also, grep fails on NFS mounted directories.
if ( echo $* | grep keep\-chill > /dev/null ) ; then
	for i in * ; do
		if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping chill stuff in $i
			fi
		fi
	done
else
	for i in * ; do
		if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Thawing the \"chill\" out of $i...
			fi
			cp $i new
			sed '/start\-sanitize\-chill/,/end-\sanitize\-chill/d' < $i > new
			if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
				if [ -n "${verbose}" ] ; then
					echo Caching $i in .Recover...
				fi
				mv $i .Recover
			fi
			mv new $i
		fi
	done
fi

for i in * ; do
	if test ! -d $i && (grep sanitize $i > /dev/null) ; then
		echo '***' Some mentions of Sanitize are still left in $i! 1>&2
	fi
done

# eof
