[dpdk-dev,v2,2/4] doc: rendering and installation of man pages

Message ID 1472629812-4397-3-git-send-email-christian.ehrhardt@canonical.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Commit Message

Christian Ehrhardt Aug. 31, 2016, 7:50 a.m. UTC
  This enables the rendering of rst into man pages as well as installing
them (if built) along the binaries. To do so there is a new make target
"doc-guides-man" which will render the rst files into man format.

Currently these three tools had docs that were compatible "enough" to
make up for a reasonable manpage.
- testpmd
- dpdk-pdump
- dpdk-procinfo

Since a man page should be installed along the binary they are not
installed in install-doc but install-runtime insteade. If not explicitly
built by the "doc-guides-man" target before calling install-runtime
there is no change to the old behaviour.

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
---
 doc/guides/conf.py   | 8 ++++++++
 mk/rte.sdkdoc.mk     | 2 +-
 mk/rte.sdkinstall.mk | 6 ++++++
 3 files changed, 15 insertions(+), 1 deletion(-)
  

Comments

John McNamara Sept. 26, 2016, 3:14 p.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Christian Ehrhardt
> Sent: Wednesday, August 31, 2016 8:50 AM
> To: christian.ehrhardt@canonical.com; thomas.monjalon@6wind.com;
> dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v2 2/4] doc: rendering and installation of man
> pages
> 
> This enables the rendering of rst into man pages as well as installing
> them (if built) along the binaries. To do so there is a new make target
> "doc-guides-man" which will render the rst files into man format.
> 
> Currently these three tools had docs that were compatible "enough" to make
> up for a reasonable manpage.
> - testpmd
> - dpdk-pdump
> - dpdk-procinfo
> 
> Since a man page should be installed along the binary they are not
> installed in install-doc but install-runtime insteade. If not explicitly
> built by the "doc-guides-man" target before calling install-runtime there
> is no change to the old behaviour.
> 
> Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>

Acked-by: John McNamara <john.mcnamara@intel.com>
  
Thomas Monjalon Oct. 26, 2016, 9:13 p.m. UTC | #2
2016-08-31 09:50, Christian Ehrhardt:
> +ifneq ($(wildcard $O/doc/man/*/*.1),)
> +	$(Q)$(call rte_mkdir,     $(DESTDIR)$(mandir))

This line is useless because implicit in the next one.

> +	$(Q)$(call rte_mkdir,     $(DESTDIR)$(mandir)/man1)
> +	$(Q)cp -a $O/doc/man/*/*.1 $(DESTDIR)$(mandir)/man1
> +endif

There is also a small alignment issue.
  

Patch

diff --git a/doc/guides/conf.py b/doc/guides/conf.py
index cd6a4f7..55b6b2f 100644
--- a/doc/guides/conf.py
+++ b/doc/guides/conf.py
@@ -105,6 +105,14 @@  class CustomLatexFormatter(LatexFormatter):
 # Replace the default latex formatter.
 PygmentsBridge.latex_formatter = CustomLatexFormatter
 
+# Configuration for man pages
+man_pages = [("testpmd_app_ug/run_app", "testpmd",
+              "tests for dpdk pmds", "", 1),
+             ("tools/pdump", "dpdk-pdump",
+              "enable packet capture on dpdk ports", "", 1),
+             ("tools/proc_info", "dpdk-procinfo",
+              "access dpdk port stats and memory info", "", 1)]
+
 ######## :numref: fallback ########
 # The following hook functions add some simple handling for the :numref:
 # directive for Sphinx versions prior to 1.3.1. The functions replace the
diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk
index 9952f25..21d9bdf 100644
--- a/mk/rte.sdkdoc.mk
+++ b/mk/rte.sdkdoc.mk
@@ -63,7 +63,7 @@  help:
 all: api-html guides-html guides-pdf
 
 .PHONY: clean
-clean: api-html-clean guides-html-clean guides-pdf-clean
+clean: api-html-clean guides-html-clean guides-pdf-clean guides-man-clean
 
 .PHONY: api-html
 api-html: api-html-clean
diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
index 5217063..533d369 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -66,6 +66,7 @@  includedir  ?=      $(prefix)/include/dpdk
 datarootdir ?=      $(prefix)/share
 docdir      ?=       $(datarootdir)/doc/dpdk
 datadir     ?=       $(datarootdir)/dpdk
+mandir      ?=       $(datarootdir)/man
 sdkdir      ?=                $(datadir)
 targetdir   ?=                $(datadir)/$(RTE_TARGET)
 
@@ -133,6 +134,11 @@  install-runtime:
 	                           $(DESTDIR)$(sbindir)/dpdk-devbind)
 	$(Q)$(call rte_symlink,    $(DESTDIR)$(datadir)/tools/dpdk-pmdinfo.py, \
 	                           $(DESTDIR)$(bindir)/dpdk-pmdinfo)
+ifneq ($(wildcard $O/doc/man/*/*.1),)
+	$(Q)$(call rte_mkdir,     $(DESTDIR)$(mandir))
+	$(Q)$(call rte_mkdir,     $(DESTDIR)$(mandir)/man1)
+	$(Q)cp -a $O/doc/man/*/*.1 $(DESTDIR)$(mandir)/man1
+endif
 
 install-kmod:
 ifneq ($(wildcard $O/kmod/*),)