aboutsummaryrefslogtreecommitdiff
path: root/DOC.Sanitize
diff options
context:
space:
mode:
Diffstat (limited to 'DOC.Sanitize')
-rw-r--r--DOC.Sanitize66
1 files changed, 66 insertions, 0 deletions
diff --git a/DOC.Sanitize b/DOC.Sanitize
new file mode 100644
index 0000000..ce687d6
--- /dev/null
+++ b/DOC.Sanitize
@@ -0,0 +1,66 @@
+
+
+ The Sanitization Process
+
+
+Usage:
+
+To sanitize a directory or subtree, foo:
+
+cd foo ; /usr/unsupported/bin/Sanitize
+
+and you should be left with source code free of any distribution
+restrictions.
+
+
+Configuration:
+
+Each directory to be kept in a release should have a .Sanitize file in
+cvs. See devo/.Sanitize for a more or less self describing template.
+
+The default action is to remove all files and directories not
+explicitly listed in the .Sanitize file as being "Things-to-keep:".
+Directories that are kept will have Sanitize called on their own
+.Sanitize files.
+
+For other than default action, there are three hooks.
+
+The "Do-first:" section of .Sanitize should be a shell script
+fragment. It will be sourced by the Sanitize shell script after
+verifying that the .Sanitize file looks reasonable but before taking
+any other action. The arguments to Sanitize are passed to this
+fragment so that you can take conditional action. For an example of
+it's use, see devo/gcc/config/.Sanitize.
+
+If the "Do-first:" section sets the local shell variable
+"keep_these_too", the files and/or directories listed there will be
+kept in addition to any files listed in "Things-to-keep:". For an
+example of it's use, see devo/gcc/config/.Sanitize.
+
+The "Do-last:" section of .Sanitize should be a shell script fragment.
+It will be sourced by Sanitize after all other action is taken for
+this directory. This section is intended to be used to strip code out
+of source files. For an example of grep'ing out specific lines, see
+devo/include/.Sanitize. For an example of sed'ing out sections of
+code, see devo/gas/config/.Sanitize.
+
+Command line options are extremely free form. The Sanitize script
+itself only knows about keep-cvs. All arguments to Sanitize are
+passed to the "Do-first:" and "Do-last:" fragments. Feel free to add
+new options as you see fit so long as you list them here.
+
+Defined options:
+
+keep-cvs avoids removing CVS.adm directories. This option is
+ actually recognized and handled by the Sanitize shell
+ script.
+
+keep-v9 avoids removing the v9 stuff.
+keep-life avoids removing the life stuff.
+keep-cri avoids removing the cray research inc changes to emacs.
+for-intel builds a distribution in the style that Intel likes.
+for-fsf builds a distribution in the style that the FSF likes.
+
+test instead of removing dirty files, cache them away in a
+ .Recover directory
+recover intended to undo the effects of a "Sanitize test".