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 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
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"
63 lose_these_too="${lose_these_too} testsuite"
65 cygnus_files="release release-info build-all.mk test-build.mk COPYING.NEWLIB"
67 if ( echo $* | grep keep\-cygnus > /dev/null) ; then
68 keep_these_too="${keep_these_too} ${cygnus_files}"
70 lose_these_too="${lose_these_too} ${cygnus_files}"
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}
81 keep_these_too="${keep_these_too} ${gdbtk_files}"
82 if [ -n "${verbose}" ] ; then
83 echo Keeping ${gdbtk_files}
87 # This is for newlib net releases.
88 newlib_file="COPYING.NEWLIB"
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}//`"
96 true; # Let keep-cygnus handle it.
99 # IDK releases don't include files which only matter to CDK.
100 inet_files="COPYING.LIB config config-ml.in etc symlink-tree"
102 if (echo $* | grep keep\-inet > /dev/null); then
103 lose_these_too="${lose_these_too} ${inet_files}"
105 keep_these_too="${keep_these_too} ${inet_files}"
109 # This top-level directory is special. We often check out only subsets
110 # of this directory, and complaining about directories or files we didn't
111 # check out just gets obnoxious.
113 list="`(for i in ${keep_these_too}; do echo $i ; done) | sort -u`"
116 for file in $list ; do
117 if [ -r $file ] || [ -d $file ] ; then
118 keep_these_too="${keep_these_too} $file"
122 list="`(for i in ${lose_these_too}; do echo $i ; done) | sort -u` "
125 for file in $list ; do
126 if [ -r $file ] || [ -d $file ] ; then
127 lose_these_too="${lose_these_too} $file"
131 # All files listed between the "Things-to-keep:" line and the
132 # "Do-last:" line will be kept. All other files will be removed.
133 # Directories listed in this section will have their own Sanitize
134 # called. Directories not listed will be removed in their entirety
150 # The lines between the "Do-last:" line and the end of the file
151 # are executed as a /bin/sh shell script after everything else is
156 # Don't try to clean directories here, as the 'mv' command will fail.
157 # Also, grep fails on NFS mounted directories.
159 if ( echo $* | egrep verbose > /dev/null ) ; then
165 # Remove "sanitize-Sanitize" lines.
166 if [ -n "${verbose}" ] ; then
167 echo Cleaning unconditional sanitizations out of Makefile.in...
170 sed '/start\-sanitize\-Sanitize/,/end-\sanitize\-Sanitize/d' < Makefile.in > new
171 if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then
172 mv Makefile.in .Recover
176 if [ -n "${verbose}" ] ; then
177 echo Thawing away the \"chill\"...
180 if ( echo $* | grep keep\-chill > /dev/null ) ; then
182 if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
183 if [ -n "${verbose}" ] ; then
184 echo Keeping chill stuff in $i
190 if test ! -d $i && (grep sanitize-chill $i > /dev/null) ; then
191 if [ -n "${verbose}" ] ; then
192 echo Thawing the \"chill\" out of $i...
195 sed '/start\-sanitize\-chill/,/end-\sanitize\-chill/d' < $i > new
196 if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
197 if [ -n "${verbose}" ] ; then
198 echo Caching $i in .Recover...
207 if [ -n "${verbose}" ] ; then
208 echo Processing \"arc\"...
211 arc_files="config.sub configure.in config-ml.in"
213 if ( echo $* | grep keep\-arc > /dev/null ) ; then
214 for i in $arc_files ; do
215 if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
216 if [ -n "${verbose}" ] ; then
217 echo Keeping arc stuff in $i
223 if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
224 if [ -n "${verbose}" ] ; then
225 echo Removing traces of \"arc\" from $i...
228 sed '/start\-sanitize\-arc/,/end-\sanitize\-arc/d' < $i > new
229 if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
230 if [ -n "${verbose}" ] ; then
231 echo Caching $i in .Recover...
240 rce_files="config.sub"
242 if ( echo $* | grep keep\-rce > /dev/null ) ; then
243 for i in $rce_files ; do
244 if test ! -d $i && (grep sanitize-rce $i > /dev/null) ; then
245 if [ -n "${verbose}" ] ; then
246 echo Keeping rce stuff in $i
251 for i in $rce_files ; do
252 if test ! -d $i && (grep sanitize-rce $i > /dev/null) ; then
253 if [ -n "${verbose}" ] ; then
254 echo Removing traces of \"rce\" from $i...
257 sed '/start\-sanitize\-rce/,/end-\sanitize\-rce/d' < $i > new
258 if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
259 if [ -n "${verbose}" ] ; then
260 echo Caching $i in .Recover...
269 if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then
270 echo Catering to RMS by removing traces of \"gdbtk\"...
271 if [ -n "${verbose}" ] ; then
272 echo Removing traces of \"gdbtk\" from Makefile.in...
275 sed -e '/GDBTK_SUPPORT_DIRS=/d' -e 's/ $(GDBTK_SUPPORT_DIRS)//' < Makefile.in > new
276 if [ -n "${safe}" -a ! -f .Recover/Makefile.in ] ; then
277 if [ -n "${verbose}" ] ; then
278 echo Caching Makefile.in in .Recover...
280 mv Makefile.in .Recover
285 if ( echo $* | grep keep\-gm > /dev/null ) ; then
287 if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then
288 if [ -n "${verbose}" ] ; then
289 echo Keeping gm stuff in $i
295 if test ! -d $i && (grep sanitize-gm $i > /dev/null) ; then
296 if [ -n "${verbose}" ] ; then
297 echo Removing traces of \"gm\" from $i...
300 sed '/start\-sanitize\-gm/,/end-\sanitize\-gm/d' < $i > new
301 if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
302 if [ -n "${verbose}" ] ; then
303 echo Caching $i in .Recover...
312 # Do this check LAST!
314 if test ! -d $i && (grep sanitize $i > /dev/null) ; then
315 echo '***' Some mentions of Sanitize are still left in $i! 1>&2