######################## # # 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 # 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. # ??? 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: COPYING COPYING.LIB ChangeLog Makefile.in README config cfg-ml-com.in cfg-ml-pos.in 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 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-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