# .Sanitize for devo.
-# $Id$
+
+########################
+# YO! READ ME!!!!!!!!!
+# If you're about to add a file or directory which isn't checked out as part
+# of every module in devo (e.g., if "cvs co gas+utils" won't get it, or if
+# "cvs co gcc" won't get it), then don't, Don't, DON'T add it to the regular
+# things-to-keep or things-to-lose sections. Instead, add it to the setting
+# of keep_these_too or lose_these_too before those variables are rescanned
+# to check for the existence of the items listed in them.
#
+# Otherwise, somebody will check out some package that doesn't include your
+# new file, and will get warnings from Sanitize when everything is really
+# okay. You don't want to get people in the habit of ignoring complaints from
+# Sanitize, do you? No, I didn't think so.
+########################
-# Each directory to survive it's way into a release will need a file
+# Each directory to survive its 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.
Do-first:
+keep_these_too="${keep_these_too} .cvsignore CYGNUS autoconf
+ bfd binutils byacc cvs deja-gnu dejagnu diff dosrel dvips emacs emacs19
+ examples expect fileutils flex gas gcc gdb gdbm gdbtest glob gprof grep
+ groff include install.sh ispell ld libg++ libgcc libgloss libiberty
+ libio librx libstdc++ m4 make mmalloc move-if-change newlib opcodes
+ pagas patch prms rcs readline sed send-pr shellutils sim tcl textutils
+ tk texinfo tgas utils uudecode wdiff xiberty
+ configure.bat makeall.bat
+ mpw-README mpw-configure mpw-config.in mpw-build.in"
+
+lose_these_too="${lose_these_too} testsuite"
+
+cygnus_files="release release-info build-all.mk test-build.mk COPYING.NEWLIB"
+
+if ( echo $* | grep keep\-cygnus > /dev/null) ; then
+ keep_these_too="${keep_these_too} ${cygnus_files}"
+else
+ lose_these_too="${lose_these_too} ${cygnus_files}"
+fi
+
+gdbtk_files="tcl tk"
+
+if ( echo $* | grep lose\-gdbtk > /dev/null) ; then
+ lose_these_too="${lose_these_too} ${gdbtk_files}"
+ if [ -n "${verbose}" ] ; then
+ echo Deleting ${gdbtk_files}
+ fi
+else
+ keep_these_too="${keep_these_too} ${gdbtk_files}"
+ if [ -n "${verbose}" ] ; then
+ echo Keeping ${gdbtk_files}
+ fi
+fi
+
+# This is for newlib net releases.
+newlib_files="COPYING.NEWLIB"
+
+if ( echo $* | grep keep\-newlib > /dev/null) ; then
+ keep_these_too="${keep_these_too} ${newlib_files}"
+else
+ lose_these_too="${lose_these_too} ${newlib_files}"
+fi
+
+# This top-level directory is special. We often check out only subsets
+# of this directory, and complaining about directories or files we didn't
+# check out just gets obnoxious.
+
+list="`(for i in ${keep_these_too}; do echo $i ; done) | sort -u`"
+keep_these_too=
+
+for file in $list ; do
+ if [ -r $file ] || [ -d $file ] ; then
+ keep_these_too="${keep_these_too} $file"
+ fi
+done
+
+list="`(for i in ${lose_these_too}; do echo $i ; done) | sort -u` "
+lose_these_too=
+
+for file in $list ; do
+ if [ -r $file ] || [ -d $file ] ; then
+ lose_these_too="${lose_these_too} $file"
+ fi
+done
+
# 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
Things-to-keep:
+COPYING
+COPYING.LIB
+ChangeLog
Makefile.in
README
-bfd
-binutils
-bison
-cfg-paper.texi
-clib
config
+config.guess
config.sub
configure
-configure.bat
configure.in
-configure.man
-configure.texi
-cvs
-diff
-emacs
-gas
-gcc
-gdb
-gdbm
-gdbtest
-glob
-gprof
-grep
-include
-ld
-libg++
-libgcc
-libiberty
-make
-mmalloc
-move-if-change
-newlib
-rcs
-readline
-send_pr
-texinfo
+etc
+
+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
Do-last:
-echo Looking for signs of \"v9\"...
-
# 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
+
+if ( echo $* | egrep verbose > /dev/null ) ; then
+ verbose=true
+else
+ verbose=
+fi
+
+# Remove "sanitize-Sanitize" lines.
+if [ -n "${verbose}" ] ; then
+ echo Cleaning unconditional sanitizations out of Makefile.in...
+fi
+cp Makefile.in new
+sed '/start\-sanitize\-Sanitize/,/end-\sanitize\-Sanitize/d' < Makefile.in > new
+if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then
+ mv Makefile.in .Recover
+fi
+mv new Makefile.in
+
+if [ -n "${verbose}" ] ; then
+ echo Thawing away the \"chill\"...
+fi
+
+if ( echo $* | grep keep\-chill > /dev/null ) ; then
for i in * ; do
- if test ! -d $i && (grep sanitize-v9 $i > /dev/null) ; then
- echo Keeping v9 stuff in $i
+ 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-v9 $i > /dev/null) ; then
- echo Cleaning the \"v9\" out of $i...
+ 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\-v9/,/end-\sanitize\-v9/d' < $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
done
fi
-echo Looking for signs of \"life\"...
+if [ -n "${verbose}" ] ; then
+ echo Processing \"arc\"...
+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\-life > /dev/null ) ; then
+arc_files="config.sub configure.in"
+
+if ( echo $* | grep keep\-arc > /dev/null ) ; then
+ for i in $arc_files ; do
+ if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping arc stuff in $i
+ fi
+ fi
+ done
+else
for i in * ; do
- if test ! -d $i && (grep sanitize-life $i > /dev/null) ; then
- echo Keeping life alive in $i
+ if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"arc\" from $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-arc/,/end-\sanitize\-arc/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
+
+psion_files="config.sub configure.in"
+
+if ( echo $* | grep keep\-psion > /dev/null ) ; then
+ for i in $psion_files; do
+ if test ! -d $i && (grep sanitize-psion $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping psion stuff in $i
+ fi
fi
done
else
for i in * ; do
- if test ! -d $i && (grep sanitize-life $i > /dev/null) ; then
- echo Beating the \"life\" out of $i...
+ if test ! -d $i && (grep sanitize-psion $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"psion\" from $i...
+ fi
cp $i new
- sed '/start\-sanitize\-life/,/end-\sanitize\-life/d' < $i > new
+ sed '/start\-sanitize\-psion/,/end-\sanitize\-psion/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
+
+rce_files="config.sub"
+
+if ( echo $* | grep keep\-rce > /dev/null ) ; then
+ for i in $rce_files ; do
+ if test ! -d $i && (grep sanitize-rce $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping rce stuff in $i
+ fi
+ fi
+ done
+else
+ for i in $rce_files ; do
+ if test ! -d $i && (grep sanitize-rce $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"rce\" from $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-rce/,/end-\sanitize\-rce/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
for i in * ; do
if test ! -d $i && (grep sanitize $i > /dev/null) ; then
- echo Some mentions of Sanitize are still left in $i!
+ echo '***' Some mentions of Sanitize are still left in $i! 1>&2
fi
done
+
+# eof