# .Sanitize for devo. # 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 test-build.mk texinfo tgas utils uudecode wdiff xiberty" cygnus_files="release release-info build-all.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 mpw_files="mpw-README mpw-configure mpw-config.in mpw-build.in ChangeLog.mpw" if ( echo $* | grep keep\-mpw > /dev/null) ; then keep_these_too="${keep_these_too} ${mpw_files}" else lose_these_too="${lose_these_too} ${mpw_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="${keep_these_too}" keep_these_too= for file in $list ; do if [ -r $file ] || [ -d $file ] ; then keep_these_too="${keep_these_too} $file" fi done list="${lose_these_too}" 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 configure.bat makeall.bat 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 # 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 # 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 if [ -n "${verbose}" ] ; then echo Removing traces of \"mpw\"... 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 for i in * ; do if test ! -d $i && (grep sanitize-mpw $i > /dev/null) ; then if [ -n "${verbose}" ] ; then echo Keeping mpw stuff in $i fi fi done else for i in * ; do if test ! -d $i && (grep sanitize-mpw $i > /dev/null) ; then if [ -n "${verbose}" ] ; then echo Removing traces of \"mpw\" from $i... fi cp $i new sed '/start\-sanitize\-mpw/,/end-\sanitize\-mpw/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 # Don't try to clean directories here, as the 'mv' command will fail. # Also, grep fails on NFS mounted directories. if ( echo $* | grep keep\-arc > /dev/null ) ; then for i in * ; 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 r16_files = "config.sub" if ( echo $* | grep keep\-r16 > /dev/null ) ; then for i in r16_files ; do if test ! -d $i && (grep sanitize-r16 $i > /dev/null) ; then if [ -n "${verbose}" ] ; then echo Keeping r16 stuff in $i fi fi done else for i in r16_files ; do if test ! -d $i && (grep sanitize-r16 $i > /dev/null) ; then if [ -n "${verbose}" ] ; then echo Removing traces of \"r16\" from $i... fi cp $i new sed '/start\-sanitize\-r16/,/end-\sanitize\-r16/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