From 5b229fbec89b90f73d1829e022163d9b896dc94c Mon Sep 17 00:00:00 2001 From: Matthew Wilcox Date: Tue, 13 Feb 2018 13:15:35 -0800 Subject: [PATCH] Add scripts/split-man.pl Instead of asking the user to copy and paste a small perl script from the documentation, just distribute the perl script in the scripts directory. Signed-off-by: Matthew Wilcox Signed-off-by: Jonathan Corbet --- Documentation/doc-guide/kernel-doc.rst | 30 ++------------------------ scripts/split-man.pl | 28 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 28 deletions(-) create mode 100755 scripts/split-man.pl diff --git a/Documentation/doc-guide/kernel-doc.rst b/Documentation/doc-guide/kernel-doc.rst index 64ca081d075e..466347067f79 100644 --- a/Documentation/doc-guide/kernel-doc.rst +++ b/Documentation/doc-guide/kernel-doc.rst @@ -528,32 +528,6 @@ 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:: +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 () { - 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; + $ scripts/kernel-doc -man $(git grep -l '/\*\*' -- :^Documentation :^tools) | scripts/split-man.pl /tmp/man diff --git a/scripts/split-man.pl b/scripts/split-man.pl new file mode 100755 index 000000000000..bfe16cbe42df --- /dev/null +++ b/scripts/split-man.pl @@ -0,0 +1,28 @@ +#!/usr/bin/perl +# SPDX-License-Identifier: GPL-2.0 +# +# Author: Mauro Carvalho Chehab +# +# Produce manpages from kernel-doc. +# See Documentation/doc-guide/kernel-doc.rst for instructions + +if ($#ARGV < 0) { + die "where do I put the results?\n"; +} + +mkdir $ARGV[0],0777; +$state = 0; +while () { + 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;