+########################
+#
+# 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 its way into a release will need a file
Do-first:
-cygnus_files="release release-info build-all.mk"
+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 grez 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 textutils
+ texinfo tgas utils uudecode wdiff xiberty
+ configure.bat makeall.bat winsup
+ guile perl
+ 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}"
lose_these_too="${lose_these_too} ${cygnus_files}"
fi
-mpw_files="mpw-README mpw-configure mpw-config.in mpw-build.in ChangeLog.mpw"
+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\-mpw > /dev/null) ; then
- keep_these_too="${keep_these_too} ${mpw_files}"
+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
- lose_these_too="${lose_these_too} ${mpw_files}"
+ 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
Things-to-keep:
-.cvsignore
COPYING
COPYING.LIB
-CYGNUS
ChangeLog
Makefile.in
README
-autoconf
-bfd
-binutils
-byacc
config
+config-ml.in
config.guess
config.sub
configure
configure.in
-cvs
-deja-gnu
-dejagnu
-diff
-dosrel
-dvips
-emacs
etc
-examples
-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
+symlink-tree
Things-to-lose:
Do-last:
+# Don't try to clean directories here, as the 'mv' command will fail.
+# Also, grep fails on NFS mounted directories.
+
if ( echo $* | egrep verbose > /dev/null ) ; then
verbose=true
else
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
fi
if [ -n "${verbose}" ] ; then
- echo Removing traces of \"mpw\"...
+ 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\-mpw > /dev/null ) ; then
+arc_files="config.sub configure.in config-ml.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-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
+
+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
+ fi
+ done
+fi
+
+if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then
+ echo Catering to RMS by removing traces of \"gdbtk\"...
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"gdbtk\" from Makefile.in...
+ fi
+ cp Makefile.in new
+ sed -e '/GDBTK_SUPPORT_DIRS=/d' -e 's/ $(GDBTK_SUPPORT_DIRS)//' < Makefile.in > new
+ if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching Makefile.in in .Recover...
+ fi
+ mv Makefile.in .Recover
+ fi
+ mv new Makefile.in
+fi
+
+if ( echo $* | grep keep\-gm > /dev/null ) ; then
for i in * ; do
- if test ! -d $i && (grep sanitize-mpw $i > /dev/null) ; then
+ if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then
if [ -n "${verbose}" ] ; then
- echo Keeping mpw stuff in $i
+ echo Keeping gm stuff in $i
fi
fi
done
else
for i in * ; do
- if test ! -d $i && (grep sanitize-mpw $i > /dev/null) ; then
+ if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then
if [ -n "${verbose}" ] ; then
- echo Removing traces of \"mpw\" from $i...
+ echo Removing traces of \"gm\" from $i...
fi
cp $i new
- sed '/start\-sanitize\-mpw/,/end-\sanitize\-mpw/d' < $i > new
+ sed '/start\-sanitize\-gm/,/end-\sanitize\-gm/d' < $i > new
if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
if [ -n "${verbose}" ] ; then
echo Caching $i in .Recover...
done
fi
+# Do this check LAST!
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
+ exit 1
fi
done