1 ########################
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.
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.
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
30 ########################
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.
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
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.
49 keep_these_too="${keep_these_too} .cvsignore CYGNUS autoconf
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
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"
64 lose_these_too="${lose_these_too} testsuite"
66 cygnus_files="release release-info build-all.mk test-build.mk COPYING.NEWLIB"
68 if ( echo $* | grep keep\-cygnus > /dev/null) ; then
69 keep_these_too="${keep_these_too} ${cygnus_files}"
71 lose_these_too="${lose_these_too} ${cygnus_files}"
74 gdbtk_files="tcl tk itcl tix"
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}
82 keep_these_too="${keep_these_too} ${gdbtk_files}"
83 if [ -n "${verbose}" ] ; then
84 echo Keeping ${gdbtk_files}
88 # This is for newlib net releases.
89 newlib_file="COPYING.NEWLIB"
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}//`"
97 true; # Let keep-cygnus handle it.
100 # IDK releases don't include files which only matter to CDK.
101 inet_files="COPYING.LIB config config-ml.in etc symlink-tree"
103 if (echo $* | grep keep\-inet > /dev/null); then
104 lose_these_too="${lose_these_too} ${inet_files}"
106 keep_these_too="${keep_these_too} ${inet_files}"
109 ide_files="itcl libide vmake"
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}
115 keep_these_too="${keep_these_too} ${ide_files}"
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.
123 list="`(for i in ${keep_these_too}; do echo $i ; done) | sort -u`"
126 for file in $list ; do
127 if [ -r $file ] || [ -d $file ] ; then
128 keep_these_too="${keep_these_too} $file"
132 list="`(for i in ${lose_these_too}; do echo $i ; done) | sort -u` "
135 for file in $list ; do
136 if [ -r $file ] || [ -d $file ] ; then
137 lose_these_too="${lose_these_too} $file"
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
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
166 # Don't try to clean directories here, as the 'mv' command will fail.
167 # Also, grep fails on NFS mounted directories.
169 if ( echo $* | egrep verbose > /dev/null ) ; then
175 # Remove "sanitize-Sanitize" lines.
176 if [ -n "${verbose}" ] ; then
177 echo Cleaning unconditional sanitizations out of Makefile.in...
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
186 if [ -n "${verbose}" ] ; then
187 echo Thawing away the \"chill\"...
190 if ( echo $* | grep keep\-chill > /dev/null ) ; then
192 if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
193 if [ -n "${verbose}" ] ; then
194 echo Keeping chill stuff in $i
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...
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...
217 if [ -n "${verbose}" ] ; then
218 echo Processing \"d30v\"...
221 d30v_files="ChangeLog config.sub configure.in"
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
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...
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...
250 if [ -n "${verbose}" ] ; then
251 echo Processing \"v850\"...
254 v850_files="ChangeLog config.sub configure.in"
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
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...
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...
283 r5900_files="ChangeLog config.sub configure.in"
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
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...
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...
312 tic80_files="ChangeLog config.sub configure.in"
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
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...
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...
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...
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...
352 mv Makefile.in .Recover
357 if ( echo $* | grep keep\-gm > /dev/null ) ; then
359 if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then
360 if [ -n "${verbose}" ] ; then
361 echo Keeping gm stuff in $i
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...
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...
384 if ( echo $* | grep keep\-ide > /dev/null ) ; then
386 if test ! -d $i && (grep sanitize-ide $i > /dev/null) ; then
387 if [ -n "${verbose}" ] ; then
388 echo Keeping ide stuff in $i
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...
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...
411 # Do this check LAST!
413 if test ! -d $i && (grep sanitize $i > /dev/null) ; then
414 echo '***' Some mentions of Sanitize are still left in $i! 1>&2