| 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 bash |
| 51 | bfd binutils byacc cvs deja-gnu dejagnu diff dosrel dvips emacs emacs19 |
| 52 | examples expect fileutils findutils flex |
| 53 | gas gawk gcc gdb gdbm gdbtest glob gprof grep grez groff guile gzip |
| 54 | include inet install-sh ispell |
| 55 | ld less libg++ libgcc libgloss libiberty libio librx libstdc++ |
| 56 | m4 make mkinstalldirs mmalloc move-if-change newlib ncurses opcodes |
| 57 | pagas patch perl prms |
| 58 | rcs readline sed send-pr shellutils sim tar textutils time |
| 59 | texinfo tgas utils uudecode wdiff xiberty |
| 60 | configure.bat makeall.bat setup.com makefile.vms winsup |
| 61 | mpw-README mpw-configure mpw-config.in mpw-build.in mpw-install |
| 62 | ltconfig ltmain.sh missing ylwrap" |
| 63 | |
| 64 | lose_these_too="${lose_these_too} testsuite" |
| 65 | |
| 66 | cygnus_files="release release-info build-all.mk test-build.mk COPYING.NEWLIB" |
| 67 | |
| 68 | if ( echo $* | grep keep\-cygnus > /dev/null) ; then |
| 69 | keep_these_too="${keep_these_too} ${cygnus_files}" |
| 70 | else |
| 71 | lose_these_too="${lose_these_too} ${cygnus_files}" |
| 72 | fi |
| 73 | |
| 74 | gdbtk_files="tcl tk itcl tix" |
| 75 | |
| 76 | if ( echo $* | grep lose\-gdbtk > /dev/null) ; then |
| 77 | lose_these_too="${lose_these_too} ${gdbtk_files}" |
| 78 | if [ -n "${verbose}" ] ; then |
| 79 | echo Deleting ${gdbtk_files} |
| 80 | fi |
| 81 | else |
| 82 | keep_these_too="${keep_these_too} ${gdbtk_files}" |
| 83 | if [ -n "${verbose}" ] ; then |
| 84 | echo Keeping ${gdbtk_files} |
| 85 | fi |
| 86 | fi |
| 87 | |
| 88 | # This is for newlib net releases. |
| 89 | newlib_file="COPYING.NEWLIB" |
| 90 | |
| 91 | if (echo $* | grep keep\-newlib > /dev/null) ; then |
| 92 | if (echo $* | grep -v keep\-cygnus > /dev/null) ; then |
| 93 | keep_these_too="${keep_these_too} ${newlib_file}" |
| 94 | lose_these_too="`echo ${lose_these_too} | sed -e s/${newlib_file}//`" |
| 95 | fi |
| 96 | else |
| 97 | true; # Let keep-cygnus handle it. |
| 98 | fi |
| 99 | |
| 100 | # IDK releases don't include files which only matter to CDK. |
| 101 | inet_files="COPYING.LIB config config-ml.in etc symlink-tree" |
| 102 | |
| 103 | if (echo $* | grep keep\-inet > /dev/null); then |
| 104 | lose_these_too="${lose_these_too} ${inet_files}" |
| 105 | else |
| 106 | keep_these_too="${keep_these_too} ${inet_files}" |
| 107 | fi |
| 108 | |
| 109 | ide_files="itcl libide vmake" |
| 110 | |
| 111 | if (echo $* | grep keep\-ide > /dev/null); then |
| 112 | lose_these_too="${lose_these_too} ${ide_files}" |
| 113 | test -n "$verbose" && echo Keeping ${ide_files} |
| 114 | else |
| 115 | keep_these_too="${keep_these_too} ${ide_files}" |
| 116 | fi |
| 117 | |
| 118 | |
| 119 | # This top-level directory is special. We often check out only subsets |
| 120 | # of this directory, and complaining about directories or files we didn't |
| 121 | # check out just gets obnoxious. |
| 122 | |
| 123 | list="`(for i in ${keep_these_too}; do echo $i ; done) | sort -u`" |
| 124 | keep_these_too= |
| 125 | |
| 126 | for file in $list ; do |
| 127 | if [ -r $file ] || [ -d $file ] ; then |
| 128 | keep_these_too="${keep_these_too} $file" |
| 129 | fi |
| 130 | done |
| 131 | |
| 132 | list="`(for i in ${lose_these_too}; do echo $i ; done) | sort -u` " |
| 133 | lose_these_too= |
| 134 | |
| 135 | for file in $list ; do |
| 136 | if [ -r $file ] || [ -d $file ] ; then |
| 137 | lose_these_too="${lose_these_too} $file" |
| 138 | fi |
| 139 | done |
| 140 | |
| 141 | # All files listed between the "Things-to-keep:" line and the |
| 142 | # "Do-last:" line will be kept. All other files will be removed. |
| 143 | # Directories listed in this section will have their own Sanitize |
| 144 | # called. Directories not listed will be removed in their entirety |
| 145 | # with rm -rf. |
| 146 | |
| 147 | Things-to-keep: |
| 148 | |
| 149 | COPYING |
| 150 | ChangeLog |
| 151 | Makefile.in |
| 152 | README |
| 153 | config.guess |
| 154 | config.sub |
| 155 | configure |
| 156 | configure.in |
| 157 | |
| 158 | Things-to-lose: |
| 159 | |
| 160 | # The lines between the "Do-last:" line and the end of the file |
| 161 | # are executed as a /bin/sh shell script after everything else is |
| 162 | # done. |
| 163 | |
| 164 | Do-last: |
| 165 | |
| 166 | # Don't try to clean directories here, as the 'mv' command will fail. |
| 167 | # Also, grep fails on NFS mounted directories. |
| 168 | |
| 169 | if ( echo $* | egrep verbose > /dev/null ) ; then |
| 170 | verbose=true |
| 171 | else |
| 172 | verbose= |
| 173 | fi |
| 174 | |
| 175 | # Remove "sanitize-Sanitize" lines. |
| 176 | if [ -n "${verbose}" ] ; then |
| 177 | echo Cleaning unconditional sanitizations out of Makefile.in... |
| 178 | fi |
| 179 | cp Makefile.in new |
| 180 | sed '/start\-sanitize\-Sanitize/,/end-\sanitize\-Sanitize/d' < Makefile.in > new |
| 181 | if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then |
| 182 | mv Makefile.in .Recover |
| 183 | fi |
| 184 | mv new Makefile.in |
| 185 | |
| 186 | if [ -n "${verbose}" ] ; then |
| 187 | echo Thawing away the \"chill\"... |
| 188 | fi |
| 189 | |
| 190 | if ( echo $* | grep keep\-chill > /dev/null ) ; then |
| 191 | for i in * ; do |
| 192 | if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then |
| 193 | if [ -n "${verbose}" ] ; then |
| 194 | echo Keeping chill stuff in $i |
| 195 | fi |
| 196 | fi |
| 197 | done |
| 198 | else |
| 199 | for i in * ; do |
| 200 | if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then |
| 201 | if [ -n "${verbose}" ] ; then |
| 202 | echo Thawing the \"chill\" out of $i... |
| 203 | fi |
| 204 | cp $i new |
| 205 | sed '/start\-sanitize\-chill/,/end-\sanitize\-chill/d' < $i > new |
| 206 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then |
| 207 | if [ -n "${verbose}" ] ; then |
| 208 | echo Caching $i in .Recover... |
| 209 | fi |
| 210 | mv $i .Recover |
| 211 | fi |
| 212 | mv new $i |
| 213 | fi |
| 214 | done |
| 215 | fi |
| 216 | |
| 217 | if [ -n "${verbose}" ] ; then |
| 218 | echo Processing \"d30v\"... |
| 219 | fi |
| 220 | |
| 221 | d30v_files="ChangeLog config.sub configure.in" |
| 222 | |
| 223 | if ( echo $* | grep keep\-d30v > /dev/null ) ; then |
| 224 | for i in $d30v_files ; do |
| 225 | if test ! -d $i && (grep sanitize-d30v $i > /dev/null) ; then |
| 226 | if [ -n "${verbose}" ] ; then |
| 227 | echo Keeping d30v stuff in $i |
| 228 | fi |
| 229 | fi |
| 230 | done |
| 231 | else |
| 232 | for i in * ; do |
| 233 | if test ! -d $i && (grep sanitize-d30v $i > /dev/null) ; then |
| 234 | if [ -n "${verbose}" ] ; then |
| 235 | echo Removing traces of \"d30v\" from $i... |
| 236 | fi |
| 237 | cp $i new |
| 238 | sed '/start\-sanitize\-d30v/,/end-\sanitize\-d30v/d' < $i > new |
| 239 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then |
| 240 | if [ -n "${verbose}" ] ; then |
| 241 | echo Caching $i in .Recover... |
| 242 | fi |
| 243 | mv $i .Recover |
| 244 | fi |
| 245 | mv new $i |
| 246 | fi |
| 247 | done |
| 248 | fi |
| 249 | |
| 250 | if [ -n "${verbose}" ] ; then |
| 251 | echo Processing \"v850\"... |
| 252 | fi |
| 253 | |
| 254 | v850_files="ChangeLog config.sub configure.in" |
| 255 | |
| 256 | if ( echo $* | grep keep\-v850 > /dev/null ) ; then |
| 257 | for i in $v850_files ; do |
| 258 | if test ! -d $i && (grep sanitize-v850 $i > /dev/null) ; then |
| 259 | if [ -n "${verbose}" ] ; then |
| 260 | echo Keeping v850 stuff in $i |
| 261 | fi |
| 262 | fi |
| 263 | done |
| 264 | else |
| 265 | for i in * ; do |
| 266 | if test ! -d $i && (grep sanitize-v850 $i > /dev/null) ; then |
| 267 | if [ -n "${verbose}" ] ; then |
| 268 | echo Removing traces of \"v850\" from $i... |
| 269 | fi |
| 270 | cp $i new |
| 271 | sed '/start\-sanitize\-v850/,/end-\sanitize\-v850/d' < $i > new |
| 272 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then |
| 273 | if [ -n "${verbose}" ] ; then |
| 274 | echo Caching $i in .Recover... |
| 275 | fi |
| 276 | mv $i .Recover |
| 277 | fi |
| 278 | mv new $i |
| 279 | fi |
| 280 | done |
| 281 | fi |
| 282 | |
| 283 | r5900_files="ChangeLog config.sub configure.in" |
| 284 | |
| 285 | if ( echo $* | grep keep\-r5900 > /dev/null ) ; then |
| 286 | for i in $r5900_files ; do |
| 287 | if test ! -d $i && (grep sanitize-r5900 $i > /dev/null) ; then |
| 288 | if [ -n "${verbose}" ] ; then |
| 289 | echo Keeping r5900 stuff in $i |
| 290 | fi |
| 291 | fi |
| 292 | done |
| 293 | else |
| 294 | for i in * ; do |
| 295 | if test ! -d $i && (grep sanitize-r5900 $i > /dev/null) ; then |
| 296 | if [ -n "${verbose}" ] ; then |
| 297 | echo Removing traces of \"r5900\" from $i... |
| 298 | fi |
| 299 | cp $i new |
| 300 | sed '/start\-sanitize\-r5900/,/end-\sanitize\-r5900/d' < $i > new |
| 301 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then |
| 302 | if [ -n "${verbose}" ] ; then |
| 303 | echo Caching $i in .Recover... |
| 304 | fi |
| 305 | mv $i .Recover |
| 306 | fi |
| 307 | mv new $i |
| 308 | fi |
| 309 | done |
| 310 | fi |
| 311 | |
| 312 | tic80_files="ChangeLog config.sub configure.in" |
| 313 | |
| 314 | if ( echo $* | grep keep\-tic80 > /dev/null ) ; then |
| 315 | for i in $tic80_files ; do |
| 316 | if test ! -d $i && (grep sanitize-tic80 $i > /dev/null) ; then |
| 317 | if [ -n "${verbose}" ] ; then |
| 318 | echo Keeping tic80 stuff in $i |
| 319 | fi |
| 320 | fi |
| 321 | done |
| 322 | else |
| 323 | for i in * ; do |
| 324 | if test ! -d $i && (grep sanitize-tic80 $i > /dev/null) ; then |
| 325 | if [ -n "${verbose}" ] ; then |
| 326 | echo Removing traces of \"tic80\" from $i... |
| 327 | fi |
| 328 | cp $i new |
| 329 | sed '/start\-sanitize\-tic80/,/end-\sanitize\-tic80/d' < $i > new |
| 330 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then |
| 331 | if [ -n "${verbose}" ] ; then |
| 332 | echo Caching $i in .Recover... |
| 333 | fi |
| 334 | mv $i .Recover |
| 335 | fi |
| 336 | mv new $i |
| 337 | fi |
| 338 | done |
| 339 | fi |
| 340 | |
| 341 | if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then |
| 342 | echo Catering to RMS by removing traces of \"gdbtk\"... |
| 343 | if [ -n "${verbose}" ] ; then |
| 344 | echo Removing traces of \"gdbtk\" from Makefile.in... |
| 345 | fi |
| 346 | cp Makefile.in new |
| 347 | sed -e '/GDBTK_SUPPORT_DIRS=/d' -e 's/ $(GDBTK_SUPPORT_DIRS)//' < Makefile.in > new |
| 348 | if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then |
| 349 | if [ -n "${verbose}" ] ; then |
| 350 | echo Caching Makefile.in in .Recover... |
| 351 | fi |
| 352 | mv Makefile.in .Recover |
| 353 | fi |
| 354 | mv new Makefile.in |
| 355 | fi |
| 356 | |
| 357 | if ( echo $* | grep keep\-gm > /dev/null ) ; then |
| 358 | for i in * ; do |
| 359 | if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then |
| 360 | if [ -n "${verbose}" ] ; then |
| 361 | echo Keeping gm stuff in $i |
| 362 | fi |
| 363 | fi |
| 364 | done |
| 365 | else |
| 366 | for i in * ; do |
| 367 | if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then |
| 368 | if [ -n "${verbose}" ] ; then |
| 369 | echo Removing traces of \"gm\" from $i... |
| 370 | fi |
| 371 | cp $i new |
| 372 | sed '/start\-sanitize\-gm/,/end-\sanitize\-gm/d' < $i > new |
| 373 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then |
| 374 | if [ -n "${verbose}" ] ; then |
| 375 | echo Caching $i in .Recover... |
| 376 | fi |
| 377 | mv $i .Recover |
| 378 | fi |
| 379 | mv new $i |
| 380 | fi |
| 381 | done |
| 382 | fi |
| 383 | |
| 384 | if ( echo $* | grep keep\-ide > /dev/null ) ; then |
| 385 | for i in * ; do |
| 386 | if test ! -d $i && (grep sanitize-ide $i > /dev/null) ; then |
| 387 | if [ -n "${verbose}" ] ; then |
| 388 | echo Keeping ide stuff in $i |
| 389 | fi |
| 390 | fi |
| 391 | done |
| 392 | else |
| 393 | for i in * ; do |
| 394 | if test ! -d $i && (grep sanitize-ide $i > /dev/null) ; then |
| 395 | if [ -n "${verbose}" ] ; then |
| 396 | echo Removing traces of \"ide\" from $i... |
| 397 | fi |
| 398 | cp $i new |
| 399 | sed '/start\-sanitize\-ide/,/end-\sanitize\-ide/d' < $i > new |
| 400 | if [ -n "${safe}" -a ! -f .Recover/$i ] ; then |
| 401 | if [ -n "${verbose}" ] ; then |
| 402 | echo Caching $i in .Recover... |
| 403 | fi |
| 404 | mv $i .Recover |
| 405 | fi |
| 406 | mv new $i |
| 407 | fi |
| 408 | done |
| 409 | fi |
| 410 | |
| 411 | # Do this check LAST! |
| 412 | for i in * ; do |
| 413 | if test ! -d $i && (grep sanitize $i > /dev/null) ; then |
| 414 | echo '***' Some mentions of Sanitize are still left in $i! 1>&2 |
| 415 | exit 1 |
| 416 | fi |
| 417 | done |
| 418 | |
| 419 | # eof |