Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1740077 > unrolled thread

[PATCH 07/10] docs: kernel-doc.rst: add documentation about man pages

Started byMauro Carvalho Chehab <mchehab@s-opensource.com>
First post2017-09-26 20:10 +0200
Last post2017-09-27 04:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 07/10] docs: kernel-doc.rst: add documentation about man pages Mauro Carvalho Chehab <mchehab@s-opensource.com> - 2017-09-26 20:10 +0200
    Re: [PATCH 07/10] docs: kernel-doc.rst: add documentation about man  pages Randy Dunlap <rdunlap@infradead.org> - 2017-09-27 04:10 +0200

#1740077 — [PATCH 07/10] docs: kernel-doc.rst: add documentation about man pages

FromMauro Carvalho Chehab <mchehab@s-opensource.com>
Date2017-09-26 20:10 +0200
Subject[PATCH 07/10] docs: kernel-doc.rst: add documentation about man pages
Message-ID<uu2sW-8cl-19@gated-at.bofh.it>
kernel-doc-nano-HOWTO.txt has a chapter about man pages
production. While we don't have a working  "make manpages"
target, add it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
---
 Documentation/doc-guide/kernel-doc.rst | 61 ++++++++++++++++++++++++++--------
 1 file changed, 47 insertions(+), 14 deletions(-)

diff --git a/Documentation/doc-guide/kernel-doc.rst b/Documentation/doc-guide/kernel-doc.rst
index 9777aa53e3dd..50473f0db345 100644
--- a/Documentation/doc-guide/kernel-doc.rst
+++ b/Documentation/doc-guide/kernel-doc.rst
@@ -377,7 +377,6 @@ cross-references.
 For further details, please refer to the `Sphinx C Domain`_ documentation.
 
 
-
 In-line member documentation comments
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -391,19 +390,19 @@ on a line of their own, like all other kernel-doc comments::
    * @foo: The Foo member.
    */
   struct foo {
-        int foo;
-        /**
-         * @bar: The Bar member.
-         */
-        int bar;
-        /**
-         * @baz: The Baz member.
-         *
-         * Here, the member description may contain several paragraphs.
-         */
-        int baz;
-        /** @foobar: Single line description. */
-        int foobar;
+	int foo;
+	/**
+	 * @bar: The Bar member.
+	 */
+	int bar;
+	/**
+	 * @baz: The Baz member.
+	 *
+	 * Here, the member description may contain several paragraphs.
+	 */
+	int baz;
+	/** @foobar: Single line description. */
+	int foobar;
   }
 
 
@@ -452,3 +451,37 @@ file.
 
 Data structures visible in kernel include files should also be documented using
 kernel-doc formatted comments.
+
+How to use kernel-doc to generate man pages
+-------------------------------------------
+
+If you just want to use kernel-doc to generate man pages you can do this
+from the Kernel git tree::
+
+  $ scripts/kernel-doc -man $(git grep -l '/\*\*' |grep -v Documentation/) | ./split-man.pl /tmp/man
+
+Using the small ``split-man.pl`` script below::
+
+
+  #!/usr/bin/perl
+
+  if ($#ARGV < 0) {
+     die "where do I put the results?\n";
+  }
+
+  mkdir $ARGV[0],0777;
+  $state = 0;
+  while (<STDIN>) {
+      if (/^\.TH \"[^\"]*\" 9 \"([^\"]*)\"/) {
+	if ($state == 1) { close OUT }
+	$state = 1;
+	$fn = "$ARGV[0]/$1.9";
+	print STDERR "Creating $fn\n";
+	open OUT, ">$fn" or die "can't open $fn: $!\n";
+	print OUT $_;
+      } elsif ($state != 0) {
+	print OUT $_;
+      }
+  }
+
+  close OUT;
-- 
2.13.5

[toc] | [next] | [standalone]


#1740351 — Re: [PATCH 07/10] docs: kernel-doc.rst: add documentation about man pages

FromRandy Dunlap <rdunlap@infradead.org>
Date2017-09-27 04:10 +0200
SubjectRe: [PATCH 07/10] docs: kernel-doc.rst: add documentation about man pages
Message-ID<uu9Xs-4tR-15@gated-at.bofh.it>
In reply to#1740077
On 09/26/17 10:59, Mauro Carvalho Chehab wrote:
> kernel-doc-nano-HOWTO.txt has a chapter about man pages
> production. While we don't have a working  "make manpages"
> target, add it.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
> ---
>  Documentation/doc-guide/kernel-doc.rst | 61 ++++++++++++++++++++++++++--------
>  1 file changed, 47 insertions(+), 14 deletions(-)
> 
> diff --git a/Documentation/doc-guide/kernel-doc.rst b/Documentation/doc-guide/kernel-doc.rst
> index 9777aa53e3dd..50473f0db345 100644
> --- a/Documentation/doc-guide/kernel-doc.rst
> +++ b/Documentation/doc-guide/kernel-doc.rst
> @@ -377,7 +377,6 @@ cross-references.
>  For further details, please refer to the `Sphinx C Domain`_ documentation.
>  
>  
> -
>  In-line member documentation comments
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  
> @@ -391,19 +390,19 @@ on a line of their own, like all other kernel-doc comments::
>     * @foo: The Foo member.
>     */
>    struct foo {
> -        int foo;
> -        /**
> -         * @bar: The Bar member.
> -         */
> -        int bar;
> -        /**
> -         * @baz: The Baz member.
> -         *
> -         * Here, the member description may contain several paragraphs.
> -         */
> -        int baz;
> -        /** @foobar: Single line description. */
> -        int foobar;
> +	int foo;
> +	/**
> +	 * @bar: The Bar member.
> +	 */
> +	int bar;
> +	/**
> +	 * @baz: The Baz member.
> +	 *
> +	 * Here, the member description may contain several paragraphs.
> +	 */
> +	int baz;
> +	/** @foobar: Single line description. */
> +	int foobar;
>    }

The above doesn't belong in this patch. (??)

>  
> @@ -452,3 +451,37 @@ file.
>  
>  Data structures visible in kernel include files should also be documented using
>  kernel-doc formatted comments.
> +
> +How to use kernel-doc to generate man pages
> +-------------------------------------------
> +
> +If you just want to use kernel-doc to generate man pages you can do this
> +from the Kernel git tree::
> +
> +  $ scripts/kernel-doc -man $(git grep -l '/\*\*' |grep -v Documentation/) | ./split-man.pl /tmp/man
> +
> +Using the small ``split-man.pl`` script below::
> +
> +
> +  #!/usr/bin/perl
> +
> +  if ($#ARGV < 0) {
> +     die "where do I put the results?\n";
> +  }
> +
> +  mkdir $ARGV[0],0777;
> +  $state = 0;
> +  while (<STDIN>) {
> +      if (/^\.TH \"[^\"]*\" 9 \"([^\"]*)\"/) {
> +	if ($state == 1) { close OUT }
> +	$state = 1;
> +	$fn = "$ARGV[0]/$1.9";
> +	print STDERR "Creating $fn\n";
> +	open OUT, ">$fn" or die "can't open $fn: $!\n";
> +	print OUT $_;
> +      } elsif ($state != 0) {
> +	print OUT $_;
> +      }
> +  }
> +
> +  close OUT;
> 


-- 
~Randy

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web