A missing securetty file is not an error.
[oweals/busybox.git] / docs / autodocifier.pl
index 9133afb98746a39e1af6afd66c6869ea58eb7230..377c8b55b385c524128730d7667b16f9974ee346 100755 (executable)
@@ -27,8 +27,8 @@ sub beautify {
        my @line = split("\n", $text);
        $text = join('',
                map { 
-                       s/^\s*//;
-                       s/"//g;
+                       s/^\s*"//;
+                       s/"\s*$//;
                        s/%/%%/g;
                        s/\$/\\\$/g;
                        eval qq[ sprintf(qq{$_}) ]
@@ -62,12 +62,12 @@ sub pod_for_usage {
        }
        my $full = join("\n", @f1);
 
-       # prepare notes if they exists
+       # prepare notes if they exist
        my $notes = (defined $usage->{notes})
                ? "$usage->{notes}\n\n"
                : "";
 
-       # prepare example if one exists
+       # prepare examples if they exist
        my $example = (defined $usage->{example})
                ?  
                        "Example:\n\n" .
@@ -107,6 +107,7 @@ sub sgml_for_usage {
 # {
 #     trivial => "...",
 #     full    => "...",
+#     notes   => "...",
 #     example => "...",
 # }
 my %docs;
@@ -176,17 +177,28 @@ autodocifier.pl - generate docs for busybox based on usage.h
 
 =head1 SYNOPSIS
 
-autodocifier.pl usage.h > something
+autodocifier.pl [OPTION]... [FILE]...
+
+Example:
+
+    ( cat docs/busybox_header.pod; \
+      docs/autodocifier.pl usage.h; \
+      cat docs/busybox_footer.pod ) > docs/busybox.pod
 
 =head1 DESCRIPTION
 
 The purpose of this script is to automagically generate documentation
 for busybox using its usage.h as the original source for content.
-Currently, the same content has to be duplicated in 3 places in
+It used to be that same content has to be duplicated in 3 places in
 slightly different formats -- F<usage.h>, F<docs/busybox.pod>, and
-F<docs/busybox.sgml>.  This is tedious, so Perl has come to the rescue.
+F<docs/busybox.sgml>.  This was tedious and error-prone, so it was
+decided that F<usage.h> would contain all the text in a
+machine-readable form, and scripts could be used to transform this
+text into other forms if necessary.
 
-This script was based on a script by Erik Andersen (andersen@lineo.com).
+F<autodocifier.pl> is one such script.
+It was based on a script by Erik Andersen <andersen@lineo.com>
+which was in turn based on a script by Mark Whitley <markw@lineo.com>
 
 =head1 OPTIONS
 
@@ -219,7 +231,7 @@ The following is an example of some data this script might parse.
     #define length_full_usage \
             "Prints out the length of the specified STRING."
     #define length_example_usage \
-            "$ length "Hello"\n" \
+            "$ length Hello\n" \
             "5\n"
 
 Each entry is a cpp macro that defines a string.  The macros are
@@ -243,19 +255,20 @@ a command.  I<REQUIRED>
 =item B<full>
 
 This should contain descriptions of each option.  This will also
-be displayed along with the trivial help if BB_FEATURE_TRIVIAL_HELP
+be displayed along with the trivial help if CONFIG_FEATURE_TRIVIAL_HELP
 is disabled.  I<REQUIRED>
 
 =item B<notes>
 
 This is documentation that is intended to go in the POD or SGML, but
-not be output when a B<-h> is given to a command.  To see an example
-of notes being used, see init_notes_usage.  I<OPTIONAL>
+not be printed when a B<-h> is given to a command.  To see an example
+of notes being used, see init_notes_usage in F<usage.h>.  I<OPTIONAL>
 
 =item B<example>
 
-This should be an example of how the command is acutally used.
-I<OPTIONAL>
+This should be an example of how the command is actually used.
+This will not be printed when a B<-h> is given to a command -- it
+will only be included in the POD or SGML documentation.  I<OPTIONAL>
 
 =back
 
@@ -271,8 +284,8 @@ terms as Perl itself.
 
 =head1 AUTHOR
 
-John BEPPU <beppu@lineo.com>
+John BEPPU <b@ax9.org>
 
 =cut
 
-# $Id: autodocifier.pl,v 1.19 2001/04/05 20:03:33 beppu Exp $
+# $Id: autodocifier.pl,v 1.23 2001/10/31 04:29:18 beppu Exp $