| 1 | ######################## |
| 2 | # |
| 3 | # H H EEEEEE Y Y !! |
| 4 | # H H E Y Y !! |
| 5 | # H H E Y Y !! |
| 6 | # H H E Y !! |
| 7 | # HHHHHH EEEEE Y !! |
| 8 | # H H E Y !! |
| 9 | # H H E Y !! |
| 10 | # H H E Y |
| 11 | # H H EEEEEE Y !! |
| 12 | # |
| 13 | # YO! READ ME!!!!!!!!! |
| 14 | # If you're about to add a file or directory which isn't checked out as part |
| 15 | # of every module in devo (e.g., if "cvs co gas+utils" won't get it, or if |
| 16 | # "cvs co gcc" won't get it), then don't, Don't, DON'T add it to the regular |
| 17 | # things-to-keep or things-to-lose sections. Instead, add it to the setting |
| 18 | # of keep_these_too or lose_these_too before those variables are rescanned |
| 19 | # to check for the existence of the items listed in them. |
| 20 | # |
| 21 | # Otherwise, somebody will check out some package that doesn't include your |
| 22 | # new file, and will get warnings from Sanitize when everything is really |
| 23 | # okay. You don't want to get people in the habit of ignoring complaints from |
| 24 | # Sanitize, do you? No, I didn't think so. |
| 25 | # |
| 26 | # If you do add a file to the regular things-to-keep section, don't forget |
| 27 | # to add the corresponding entry to the devo-support entry (or whatever) in |
| 28 | # the modules file. |
| 29 | # |
| 30 | ######################## |
| 31 | |
| 32 | # .Sanitize for devo. |
| 33 | |
| 34 | # Each directory to survive its way into a release will need a file |
| 35 | # like this one called "./.Sanitize". All keyword lines must exist, |
| 36 | # and must exist in the order specified by this file. Each directory |
| 37 | # in the tree will be processed, top down, in the following order. |
| 38 | |
| 39 | # Hash started lines like this one are comments and will be deleted |
| 40 | # before anything else is done. Blank lines will also be squashed |
| 41 | # out. |
| 42 | |
| 43 | # The lines between the "Do-first:" line and the "Things-to-keep:" |
| 44 | # line are executed as a /bin/sh shell script before anything else is |
| 45 | # done in this directory. |
| 46 | |
| 47 | Do-first: |
| 48 | |
| 49 | keep_these_too="${keep_these_too} .cvsignore CYGNUS autoconf |
| 50 | apache |
| 51 | bfd binutils byacc cvs deja-gnu dejagnu diff dosrel dvips emacs emacs19 |
| 52 | examples expect fileutils flex |
| 53 | gas gcc gdb gdbm gdbtest glob gprof grep grez groff guile |
| 54 | include inet install.sh ispell |
| 55 | ld libg++ libgcc libgloss libiberty libio librx libstdc++ |
| 56 | m4 make mmalloc move-if-change newlib opcodes |
| 57 | pagas patch perl prms |
| 58 | rcs readline sed send-pr shellutils sim textutils |
| 59 | texinfo tgas utils uudecode wdiff xiberty |
| 60 | configure.bat makeall.bat setup.com make-all.com winsup |
| 61 | mpw-README mpw-configure mpw-config.in mpw-build.in" |
| 62 | |
| 63 | lose_these_too="${lose_these_too} testsuite" |
| 64 | |
| 65 | cygnus_files="release release-info build-all.mk test-build.mk COPYING.NEWLIB" |
| 66 | |
| 67 | if ( echo $* | grep keep\-cygnus > /dev/null) ; then |
| 68 | keep_these_too="${keep_these_too} ${cygnus_files}" |
| 69 | else |
| 70 | lose_these_too="${lose_these_too} ${cygnus_files}" |
| 71 | fi |
| 72 | |
| 73 | gdbtk_files="tcl tk" |
| 74 | |
| 75 | if ( echo $* | grep lose\-gdbtk > /dev/null) ; then |
| 76 | lose_these_too="${lose_these_too} ${gdbtk_files}" |
| 77 | if [ -n "${verbose}" ] ; then |
| 78 | echo Deleting ${gdbtk_files} |
| 79 | fi |
| 80 | else |
| 81 | keep_these_too="${keep_these_too} ${gdbtk_files}" |
| 82 | if [ -n "${verbose}" ] ; then |
| 83 | echo Keeping ${gdbtk_files} |
| 84 | fi |
| 85 | fi |
| 86 | |
| 87 | # This is for newlib net releases. |
| 88 | newlib_file="COPYING.NEWLIB" |
| 89 | |
| 90 | if (echo $* | grep keep\-newlib > /dev/null) ; then |
| 91 | if (echo $* | grep -v keep\-cygnus > /dev/null) ; then |
| 92 | keep_these_too="${keep_these_too} ${newlib_file}" |
| 93 | lose_these_too="`echo ${lose_these_too} | sed -e s/${newlib_file}//`" |
| 94 | fi |
| 95 | else |
| 96 | true; # Let keep-cygnus handle it. |
| 97 | fi |
| 98 | |
| 99 | # This top-level directory is special. We often check out only subsets |
| 100 | # of this directory, and complaining about directories or files we didn't |
| 101 | # check out just gets obnoxious. |
| 102 | |
| 103 | list="`(for i in ${keep_these_too}; do echo $i ; done) | sort -u`" |
| 104 | keep_these_too= |
| 105 | |
| 106 | for file in $list ; do |
| 107 | if [ -r $file ] || [ -d $file ] ; then |
| 108 | keep_these_too="${keep_these_too} $file" |
| 109 | fi |
| 110 | done |
| 111 | |
| 112 | list="`(for i in ${lose_these_too}; do echo $i ; done) | sort -u` " |
| 113 | lose_these_too= |
| 114 | |
| 115 | for file in $list ; do |
| 116 | if [ -r $file ] || [ -d $file ] ; then |
| 117 | lose_these_too="${lose_these_too} $file" |
| 118 | fi |
| 119 | done |
| 120 | |
| 121 | # All files listed between the "Things-to-keep:" line and the |
| 122 | # "Do-last:" line will be kept. All other files will be removed. |
| 123 | # Directories listed in this section will have their own Sanitize |
| 124 | # called. Directories not listed will be removed in their entirety |
| 125 | # with rm -rf. |
| 126 | |
| 127 | Things-to-keep: |
| 128 | |
| 129 | COPYING |
| 130 | COPYING.LIB |
| 131 | ChangeLog |
| 132 | Makefile.in |
| 133 | README |
| 134 | config |
| 135 | config-ml.in |
| 136 | config.guess |
| 137 | config.sub |
| 138 | configure |
| 139 | configure.in |
| 140 | etc |
| 141 | symlink-tree |
| 142 | |
| 143 | Things-to-lose: |
| 144 | |
| 145 | # The lines between the "Do-last:" line and the end of the file |
| 146 | # are executed as a /bin/sh shell script after everything else is |
| 147 | # done. |
| 148 | |
| 149 | Do-last: |
| 150 | |
| 151 | # Don't try to clean directories here, as the 'mv' command will fail. |
| 152 | # Also, grep fails on NFS mounted directories. |
| 153 | |
| 154 | if ( echo $* | egrep verbose > /dev/null ) ; then |
| 155 | verbose=true |
| 156 | else |
| 157 | verbose= |
| 158 | fi |
| 159 | |
| 160 | # Remove "sanitize-Sanitize" lines. |
| 161 | if [ -n "${verbose}" ] ; then |
| 162 | echo Cleaning unconditional sanitizations out of Makefile.in... |
| 163 | fi |
| 164 | cp Makefile.in new |
| 165 | sed '/start\-sanitize\-Sanitize/,/end-\sanitize\-Sanitize/d' < Makefile.in > new |
| 166 | if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then |
| 167 | mv Makefile.in .Recover |
| 168 | fi |
| 169 | mv new Makefile.in |
| 170 | |
| 171 | if [ -n "${verbose}" ] ; then |
| 172 | echo Thawing away the \"chill\"... |
| 173 | fi |
| 174 | |
| 175 | if ( echo $* | grep keep\-chill > /dev/null ) ; then |
| 176 | for i in * ; do |
| 177 | if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then |
| 178 | if [ -n "${verbose}" ] ; then |
| 179 | echo Keeping chill stuff in $i |
| 180 | fi |
| 181 | fi |
| 182 | done |
| 183 | else |
| 184 | for i in * ; do |
| 185 | if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then |
| 186 | if [ -n "${verbose}" ] ; then |
| 187 | echo Thawing the \"chill\" out of $i... |
| 188 | fi |
| 189 | cp $i new |
| 190 | sed '/start\-sanitize\-chill/,/end-\sanitize\-chill/d' < $i > new |
| 191 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then |
| 192 | if [ -n "${verbose}" ] ; then |
| 193 | echo Caching $i in .Recover... |
| 194 | fi |
| 195 | mv $i .Recover |
| 196 | fi |
| 197 | mv new $i |
| 198 | fi |
| 199 | done |
| 200 | fi |
| 201 | |
| 202 | if [ -n "${verbose}" ] ; then |
| 203 | echo Processing \"arc\"... |
| 204 | fi |
| 205 | |
| 206 | arc_files="config.sub configure.in config-ml.in" |
| 207 | |
| 208 | if ( echo $* | grep keep\-arc > /dev/null ) ; then |
| 209 | for i in $arc_files ; do |
| 210 | if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then |
| 211 | if [ -n "${verbose}" ] ; then |
| 212 | echo Keeping arc stuff in $i |
| 213 | fi |
| 214 | fi |
| 215 | done |
| 216 | else |
| 217 | for i in * ; do |
| 218 | if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then |
| 219 | if [ -n "${verbose}" ] ; then |
| 220 | echo Removing traces of \"arc\" from $i... |
| 221 | fi |
| 222 | cp $i new |
| 223 | sed '/start\-sanitize\-arc/,/end-\sanitize\-arc/d' < $i > new |
| 224 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then |
| 225 | if [ -n "${verbose}" ] ; then |
| 226 | echo Caching $i in .Recover... |
| 227 | fi |
| 228 | mv $i .Recover |
| 229 | fi |
| 230 | mv new $i |
| 231 | fi |
| 232 | done |
| 233 | fi |
| 234 | |
| 235 | if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then |
| 236 | echo Catering to RMS by removing traces of \"gdbtk\"... |
| 237 | if [ -n "${verbose}" ] ; then |
| 238 | echo Removing traces of \"gdbtk\" from Makefile.in... |
| 239 | fi |
| 240 | cp Makefile.in new |
| 241 | sed -e '/GDBTK_SUPPORT_DIRS=/d' -e 's/ $(GDBTK_SUPPORT_DIRS)//' < Makefile.in > new |
| 242 | if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then |
| 243 | if [ -n "${verbose}" ] ; then |
| 244 | echo Caching Makefile.in in .Recover... |
| 245 | fi |
| 246 | mv Makefile.in .Recover |
| 247 | fi |
| 248 | mv new Makefile.in |
| 249 | fi |
| 250 | |
| 251 | if ( echo $* | grep keep\-gm > /dev/null ) ; then |
| 252 | for i in * ; do |
| 253 | if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then |
| 254 | if [ -n "${verbose}" ] ; then |
| 255 | echo Keeping gm stuff in $i |
| 256 | fi |
| 257 | fi |
| 258 | done |
| 259 | else |
| 260 | for i in * ; do |
| 261 | if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then |
| 262 | if [ -n "${verbose}" ] ; then |
| 263 | echo Removing traces of \"gm\" from $i... |
| 264 | fi |
| 265 | cp $i new |
| 266 | sed '/start\-sanitize\-gm/,/end-\sanitize\-gm/d' < $i > new |
| 267 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then |
| 268 | if [ -n "${verbose}" ] ; then |
| 269 | echo Caching $i in .Recover... |
| 270 | fi |
| 271 | mv $i .Recover |
| 272 | fi |
| 273 | mv new $i |
| 274 | fi |
| 275 | done |
| 276 | fi |
| 277 | |
| 278 | # Do this check LAST! |
| 279 | for i in * ; do |
| 280 | if test ! -d $i && (grep sanitize $i > /dev/null) ; then |
| 281 | echo '***' Some mentions of Sanitize are still left in $i! 1>&2 |
| 282 | exit 1 |
| 283 | fi |
| 284 | done |
| 285 | |
| 286 | # eof |