binutils-gdb/.Sanitize
Ken Raeburn 694ea471a2 Move various files that are only checked out for certain modules into
the *_these_too lists before the check for existence of the items of those
lists.

Apply "sort -u" to the *_these_too lists to keep Sanitize from complaining
when it can't delete COPYING.NEWLIB twice.

I'm not convinced the right thing will be done with COPYING.NEWLIB when
keep-cygnus or keep-newlib (but not both) is supplied; that's unchanged.
1995-06-27 21:22:30 +00:00

275 lines
7.3 KiB
Plaintext

# .Sanitize for devo.
########################
# 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 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.
# 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:
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
# called. Directories not listed will be removed in their entirety
# with rm -rf.
Things-to-keep:
COPYING
COPYING.LIB
ChangeLog
Makefile.in
README
config
config.guess
config.sub
configure
configure.in
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
# done.
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
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"
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
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-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\-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
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