+########################
+#
+# H H EEEEEE Y Y !!
+# H H E Y Y !!
+# H H E Y Y !!
+# H H E Y !!
+# HHHHHH EEEEE Y !!
+# H H E Y !!
+# H H E Y !!
+# H H E Y
+# H H EEEEEE Y !!
+#
+# 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.
+#
+# If you do add a file to the regular things-to-keep section, don't forget
+# to add the corresponding entry to the devo-support entry (or whatever) in
+# the modules file.
+#
+########################
+
# .Sanitize for devo.
-# 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_file="COPYING.NEWLIB"
+
+if (echo $* | grep keep\-newlib > /dev/null) ; then
+ if (echo $* | grep -v keep\-cygnus > /dev/null) ; then
+ keep_these_too="${keep_these_too} ${newlib_file}"
+ lose_these_too="`echo ${lose_these_too} | sed -e s/${newlib_file}//`"
+ fi
+else
+ true; # Let keep-cygnus handle it.
+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
# called. Directories not listed will be removed in their entirety
# with rm -rf.
+# ??? It is debatable whether cfg-*.in belongs in Things-to-keep or
+# keep_these_too. If someone feels strongly about it, please move them.
+
Things-to-keep:
-.cvsignore
COPYING
COPYING.LIB
-CYGNUS
ChangeLog
Makefile.in
README
-autoconf
-bfd
-binutils
-build-all.mk
-byacc
config
+cfg-ml-com.in
+cfg-ml-pos.in
+config.guess
config.sub
configure
-configure.bat
configure.in
-cvs
-deja-gnu
-diff
-dvips
-emacs
etc
-expect
-fileutils
-flex
-gas
-gcc
-gdb
-gdbm
-gdbtest
-glob
-gprof
-grep
-groff
-h8300sim
-include
-ispell
-ld
-libg++
-libgcc
-libiberty
-m4
-make
-mmalloc
-move-if-change
-newlib
-opcodes
-patch
-prms
-rcs
-readline
-sed
-send_pr
-shellutils
-tcl
-textutils
-tk
-test-build.mk
-texinfo
-tgas
-wdiff
-xiberty
-z8ksim
+
+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-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
+
+if [ -n "${verbose}" ] ; then
+ echo Processing \"arc\"...
+fi
+
+arc_files="config.sub configure.in cfg-ml-com.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-v9 $i > /dev/null) ; then
- echo Keeping v9 stuff 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-v9 $i > /dev/null) ; then
- echo Cleaning the \"v9\" 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\-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\-v9/,/end-\sanitize\-v9/d' < $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