meson: docs/manpages: install man pages

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
This commit is contained in:
Pavel Hrdina 2020-06-25 14:33:22 +02:00
parent b76bccf4cd
commit adfd1367f4
6 changed files with 148 additions and 139 deletions

View File

@ -16,129 +16,9 @@
## License along with this library. If not, see
## <http://www.gnu.org/licenses/>.
# Sync with src/util/
KEYCODES = linux osx atset1 atset2 atset3 xtkbd usb win32 qnum
KEYNAMES = linux osx win32
manpages_rst = \
manpages/index.rst \
$(NULL)
manpages1_rst = \
manpages/virt-pki-validate.rst \
manpages/virt-xml-validate.rst \
manpages/virt-admin.rst \
manpages/virsh.rst \
$(NULL)
manpages7_rst = \
$(KEYCODES:%=manpages/virkeycode-%.rst) \
$(KEYNAMES:%=manpages/virkeyname-%.rst) \
$(NULL)
manpages8_rst = $(NULL)
manpages_rst += \
$(manpages1_rst) \
$(manpages7_rst) \
$(manpages8_rst) \
$(NULL)
if WITH_LIBVIRTD
manpages8_rst += \
manpages/libvirtd.rst \
manpages/virtlockd.rst \
manpages/virtlogd.rst \
$(NULL)
else ! WITH_LIBVIRTD
manpages_rst += \
manpages/libvirtd.rst \
manpages/virtlockd.rst \
manpages/virtlogd.rst \
$(NULL)
endif ! WITH_LIBVIRTD
if WITH_HOST_VALIDATE
manpages1_rst += manpages/virt-host-validate.rst
else ! WITH_HOST_VALIDATE
manpages_rst += manpages/virt-host-validate.rst
endif ! WITH_HOST_VALIDATE
if WITH_LOGIN_SHELL
manpages1_rst += manpages/virt-login-shell.rst
else ! WITH_LOGIN_SHELL
manpages_rst += manpages/virt-login-shell.rst
endif ! WITH_LOGIN_SHELL
if WITH_SANLOCK
manpages8_rst += manpages/virt-sanlock-cleanup.rst
else ! WITH_SANLOCK
manpages_rst += manpages/virt-sanlock-cleanup.rst
endif ! WITH_SANLOCK
if WITH_QEMU
manpages1_rst += manpages/virt-qemu-run.rst
else ! WITH_QEMU
manpages_rst += manpages/virt-qemu-run.rst
endif ! WITH_QEMU
manpages_rst_html_in = \
$(manpages_rst:%.rst=%.html.in)
manpages_html = \
$(manpages_rst_html_in:%.html.in=%.html)
man1_MANS = $(manpages1_rst:%.rst=%.1)
man7_MANS = $(manpages7_rst:%.rst=%.7)
man8_MANS = $(manpages8_rst:%.rst=%.8)
%.1: %.rst
$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
grep -v '^\.\. contents::' < $< | \
sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \
-e 's|RUNSTATEDIR|$(runstatedir)|g' | \
$(RST2MAN) --strict > $@ || { rm $@ && exit 1; }
%.7: %.rst
$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
grep -v '^\.\. contents::' < $< | \
sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \
-e 's|RUNSTATEDIR|$(runstatedir)|g' | \
$(RST2MAN) --strict > $@ || { rm $@ && exit 1; }
%.8: %.rst
$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
grep -v '^\.\. contents::' < $< | \
sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \
-e 's|RUNSTATEDIR|$(runstatedir)|g' | \
$(RST2MAN) --strict > $@ || { rm $@ && exit 1; }
manpages/virkeycode-%.rst: $(top_srcdir)/src/keycodemapdb/data/keymaps.csv \
$(top_srcdir)/src/keycodemapdb/tools/keymap-gen Makefile.am
$(AM_V_GEN)export NAME=`echo $@ | \
sed -e 's,manpages/virkeycode-,,' -e 's,\.rst,,'` && \
$(MKDIR_P) manpages/ && \
$(RUNUTF8) $(PYTHON) $(top_srcdir)/src/keycodemapdb/tools/keymap-gen \
code-docs \
--lang rst \
--title "virkeycode-$$NAME" \
--subtitle "Key code values for $$NAME" \
$(top_srcdir)/src/keycodemapdb/data/keymaps.csv $$NAME > $@
manpages/virkeyname-%.rst: $(top_srcdir)/src/keycodemapdb/data/keymaps.csv \
$(top_srcdir)/src/keycodemapdb/tools/keymap-gen Makefile.am
$(AM_V_GEN)export NAME=`echo $@ | \
sed -e 's,manpages/virkeyname-,,' -e 's,\.rst,,'` && \
$(MKDIR_P) manpages/ && \
$(RUNUTF8) $(PYTHON) $(top_srcdir)/src/keycodemapdb/tools/keymap-gen \
name-docs \
--lang rst \
--title "virkeyname-$$NAME" \
--subtitle "Key name values for $$NAME" \
$(top_srcdir)/src/keycodemapdb/data/keymaps.csv $$NAME > $@
manpagesdir = $(HTML_DIR)/manpages
manpages_DATA = $(manpages_html)
schemadir = $(pkgdatadir)/schemas
schema_DATA = $(wildcard $(srcdir)/schemas/*.rng)
manpages/%.html.in: manpages/%.rst
$(AM_V_GEN)$(MKDIR_P) `dirname $@` && \
grep -v '^:Manual ' < $< | \
sed -e 's|SYSCONFDIR|$(sysconfdir)|g' \
-e 's|RUNSTATEDIR|$(runstatedir)|g' | \
$(RST2HTML) --strict > $@ || { rm $@ && exit 1; }
check-html:
$(XMLLINT) --nonet --noout html/*.html

View File

@ -131,29 +131,29 @@ FILES
When run as *root*
------------------
* ``SYSCONFDIR/libvirt/libvirtd.conf``
* ``@SYSCONFDIR@/libvirt/libvirtd.conf``
The default configuration file used by libvirtd, unless overridden on the
command line using the ``-f`` | ``--config`` option.
* ``RUNSTATEDIR/libvirt/libvirt-sock``
* ``RUNSTATEDIR/libvirt/libvirt-sock-ro``
* ``@RUNSTATEDIR@/libvirt/libvirt-sock``
* ``@RUNSTATEDIR@/libvirt/libvirt-sock-ro``
The sockets libvirtd will use.
* ``SYSCONFDIR/pki/CA/cacert.pem``
* ``@SYSCONFDIR@/pki/CA/cacert.pem``
The TLS **Certificate Authority** certificate libvirtd will use.
* ``SYSCONFDIR/pki/libvirt/servercert.pem``
* ``@SYSCONFDIR@/pki/libvirt/servercert.pem``
The TLS **Server** certificate libvirtd will use.
* ``SYSCONFDIR/pki/libvirt/private/serverkey.pem``
* ``@SYSCONFDIR@/pki/libvirt/private/serverkey.pem``
The TLS **Server** private key libvirtd will use.
* ``RUNSTATEDIR/libvirtd.pid``
* ``@RUNSTATEDIR@/libvirtd.pid``
The PID file to use, unless overridden by the ``-p`` | ``--pid-file`` option.
@ -210,8 +210,8 @@ To start libvirtd, instructing it to daemonize and create a PID file:
.. code-block::
# libvirtd -d
# ls -la RUNSTATEDIR/libvirtd.pid
-rw-r--r-- 1 root root 6 Jul 9 02:40 RUNSTATEDIR/libvirtd.pid
# ls -la @RUNSTATEDIR@/libvirtd.pid
-rw-r--r-- 1 root root 6 Jul 9 02:40 @RUNSTATEDIR@/libvirtd.pid
BUGS

128
docs/manpages/meson.build Normal file
View File

@ -0,0 +1,128 @@
# docs_man_files
# each entry is a dictionary with following items:
# name - man page name (required)
# section - man page section (required)
# install - whether to build and install the man page (required)
# file - generated RST file (optional, default none)
docs_man_files = [
{ 'name': 'index', 'section': '', 'install': false },
{ 'name': 'virsh', 'section': '1', 'install': true },
{ 'name': 'virt-admin', 'section': '1', 'install': true },
{ 'name': 'virt-host-validate', 'section': '1', 'install': conf.has('WITH_HOST_VALIDATE') },
{ 'name': 'virt-login-shell', 'section': '1', 'install': conf.has('WITH_LOGIN_SHELL') },
{ 'name': 'virt-pki-validate', 'section': '1', 'install': true },
{ 'name': 'virt-qemu-run', 'section': '1', 'install': conf.has('WITH_QEMU') },
{ 'name': 'virt-xml-validate', 'section': '1', 'install': true },
{ 'name': 'libvirtd', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
{ 'name': 'virt-sanlock-cleanup', 'section': '8', 'install': sanlock_dep.found() },
{ 'name': 'virtlockd', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
{ 'name': 'virtlogd', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
]
foreach name : keycode_list
rst_file = custom_target(
'virkeycode-@0@.rst'.format(name),
input: keymap_src_file,
output: 'virkeycode-@0@.rst'.format(name),
command: [
meson_python_prog, python3_prog.path(), keymap_gen_prog.path(), 'code-docs',
'--lang', 'rst',
'--title', 'virkeycode-@0@'.format(name),
'--subtitle', 'Key code values for @0@'.format(name),
'@INPUT@', name,
],
capture: true,
build_by_default: true,
)
docs_man_files += {
'name': 'virkeycode-@0@'.format(name), 'section': '7', 'install': true, 'file': rst_file,
}
endforeach
foreach name : keyname_list
rst_file = custom_target(
'virkeyname-@0@.rst'.format(name),
input: keymap_src_file,
output: 'virkeyname-@0@.rst'.format(name),
command: [
meson_python_prog, python3_prog.path(), keymap_gen_prog.path(), 'name-docs',
'--lang', 'rst',
'--title', 'virkeyname-@0@'.format(name),
'--subtitle', 'Key name values for @0@'.format(name),
'@INPUT@', name,
],
capture: true,
build_by_default: true,
)
docs_man_files += {
'name': 'virkeyname-@0@'.format(name), 'section': '7', 'install': true, 'file': rst_file,
}
endforeach
docs_man_conf = configuration_data()
docs_man_conf.set('SYSCONFDIR', sysconfdir)
docs_man_conf.set('RUNSTATEDIR', runstatedir)
foreach data : docs_man_files
rst_in_file = '@0@.rst'.format(data['name'])
html_in_file = '@0@.html.in'.format(data['name'])
html_file = '@0@.html'.format(data['name'])
if data.has_key('file')
rst_file = data['file']
else
rst_file = configure_file(
input: rst_in_file,
output: '@0@.rst'.format(data['name']),
configuration: docs_man_conf,
)
endif
if data['install']
man_file = '@0@.@1@'.format(data['name'], data['section'])
man_page = custom_target(
man_file,
input: rst_file,
output: man_file,
command: [ rst2man_prog, '--strict', '@INPUT@', '@OUTPUT@' ],
install: true,
install_dir: mandir / 'man@0@'.format(data['section']),
)
endif
html_in = custom_target(
html_in_file,
input: rst_file,
output: html_in_file,
command: [ rst2html_prog, '--strict', '@INPUT@' ],
capture: true,
)
custom_target(
html_file,
input: html_in,
output: html_file,
command: [
meson_python_prog,
python3_prog.path(),
meson_html_gen_prog.path(),
xsltproc_prog.path(),
xmllint_prog.path(),
meson.build_root(),
docs_timestamp,
subsite_xsl,
'@INPUT@',
'@OUTPUT@',
'manpages' / rst_in_file,
],
depends: [ aclperms_gen ],
depend_files: [ page_xsl ],
install: true,
install_dir: docs_html_dir / 'manpages',
)
endforeach

View File

@ -79,16 +79,16 @@ FILES
When run as *root*
------------------
* ``SYSCONFDIR/libvirt/virtlockd.conf``
* ``@SYSCONFDIR@/libvirt/virtlockd.conf``
The default configuration file used by ``virtlockd``, unless overridden on the
command line using the ``-f`` | ``--config`` option.
* ``RUNSTATEDIR/libvirt/virtlockd-sock``
* ``@RUNSTATEDIR@/libvirt/virtlockd-sock``
The sockets ``virtlockd`` will use.
* ``RUNSTATEDIR/virtlockd.pid``
* ``@RUNSTATEDIR@/virtlockd.pid``
The PID file to use, unless overridden by the ``-p`` | ``--pid-file`` option.
@ -130,8 +130,8 @@ To start ``virtlockd``, instructing it to daemonize and create a PID file:
.. code-block::
# virtlockd -d
# ls -la RUNSTATEDIR/virtlockd.pid
-rw-r--r-- 1 root root 6 Jul 9 02:40 RUNSTATEDIR/virtlockd.pid
# ls -la @RUNSTATEDIR@/virtlockd.pid
-rw-r--r-- 1 root root 6 Jul 9 02:40 @RUNSTATEDIR@/virtlockd.pid
BUGS
====

View File

@ -80,16 +80,16 @@ FILES
When run as *root*
------------------
* ``SYSCONFDIR/libvirt/virtlogd.conf``
* ``@SYSCONFDIR@/libvirt/virtlogd.conf``
The default configuration file used by ``virtlogd``, unless overridden on the
command line using the ``-f`` | ``--config`` option.
* ``RUNSTATEDIR/libvirt/virtlogd-sock``
* ``@RUNSTATEDIR@/libvirt/virtlogd-sock``
The sockets ``virtlogd`` will use.
* ``RUNSTATEDIR/virtlogd.pid``
* ``@RUNSTATEDIR@/virtlogd.pid``
The PID file to use, unless overridden by the ``-p`` | ``--pid-file`` option.
@ -131,8 +131,8 @@ To start ``virtlogd``, instructing it to daemonize and create a PID file:
.. code-block::
# virtlogd -d
# ls -la RUNSTATEDIR/virtlogd.pid
-rw-r--r-- 1 root root 6 Jul 9 02:40 RUNSTATEDIR/virtlogd.pid
# ls -la @RUNSTATEDIR@/virtlogd.pid
-rw-r--r-- 1 root root 6 Jul 9 02:40 @RUNSTATEDIR@/virtlogd.pid
BUGS

View File

@ -297,6 +297,7 @@ subdir('internals')
subdir('js')
subdir('kbase')
subdir('logos')
subdir('manpages')
# This hack enables us to view the web pages