######################## # # 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 apache bash bfd binutils byacc cvs deja-gnu dejagnu diff dosrel dvips emacs emacs19 examples expect fileutils findutils flex gas gawk gcc gdb gdbm gdbtest glob gprof grep grez groff guile gzip include inet install.sh ispell ld less libg++ libgcc libgloss libiberty libio librx libstdc++ m4 make mmalloc move-if-change newlib ncurses opcodes pagas patch perl prms rcs readline sed send-pr shellutils sim tar textutils time texinfo tgas utils uudecode wdiff xiberty configure.bat makeall.bat setup.com make-all.com winsup mpw-README mpw-configure mpw-config.in mpw-build.in mpw-install" 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 # IDK releases don't include files which only matter to CDK. inet_files="COPYING.LIB config config-ml.in etc symlink-tree" if (echo $* | grep keep\-inet > /dev/null); then lose_these_too="${lose_these_too} ${inet_files}" else keep_these_too="${keep_these_too} ${inet_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 ChangeLog Makefile.in README config.guess config.sub configure configure.in 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 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 if [ -n "${verbose}" ] ; then echo Processing \"d10v\"... fi d10v_files="ChangeLog config.sub configure.in" if ( echo $* | grep keep\-d10v > /dev/null ) ; then for i in $d10v_files ; do if test ! -d $i && (grep sanitize-d10v $i > /dev/null) ; then if [ -n "${verbose}" ] ; then echo Keeping d10v stuff in $i fi fi done else for i in * ; do if test ! -d $i && (grep sanitize-d10v $i > /dev/null) ; then if [ -n "${verbose}" ] ; then echo Removing traces of \"d10v\" from $i... fi cp $i new sed '/start\-sanitize\-d10v/,/end-\sanitize\-d10v/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 \"m32r\"... fi m32r_files="config.sub configure.in ChangeLog" if ( echo $* | grep keep\-m32r > /dev/null ) ; then for i in $m32r_files ; do if test ! -d $i && (grep sanitize-m32r $i > /dev/null) ; then if [ -n "${verbose}" ] ; then echo Keeping m32r stuff in $i fi fi done else for i in * ; do if test ! -d $i && (grep sanitize-m32r $i > /dev/null) ; then if [ -n "${verbose}" ] ; then echo Removing traces of \"m32r\" from $i... fi cp $i new sed '/start\-sanitize\-m32r/,/end-\sanitize\-m32r/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 v850_files="ChangeLog config.sub configure.in" if ( echo $* | grep keep\-v850 > /dev/null ) ; then for i in $v850_files ; do if test ! -d $i && (grep sanitize-v850 $i > /dev/null) ; then if [ -n "${verbose}" ] ; then echo Keeping v850 stuff in $i fi fi done else for i in * ; do if test ! -d $i && (grep sanitize-v850 $i > /dev/null) ; then if [ -n "${verbose}" ] ; then echo Removing traces of \"v850\" from $i... fi cp $i new sed '/start\-sanitize\-v850/,/end-\sanitize\-v850/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-gm $i > /dev/null) ; then if [ -n "${verbose}" ] ; then echo Keeping gm stuff in $i fi fi done else for i in * ; do if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then if [ -n "${verbose}" ] ; then echo Removing traces of \"gm\" from $i... fi cp $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... fi mv $i .Recover fi mv new $i fi 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 # eof