2020-01-14 09:42:24 +00:00
|
|
|
# SPDX-License-Identifier: LGPL-2.1+
|
|
|
|
|
2018-09-14 15:41:09 +00:00
|
|
|
common_ent_file = configure_file(
|
2019-08-28 08:40:46 +00:00
|
|
|
input: 'common.ent.in',
|
|
|
|
output: '@BASENAME@',
|
2019-11-21 14:27:21 +00:00
|
|
|
configuration: data_conf,
|
2017-11-25 10:39:06 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
xsltproc_options = [
|
|
|
|
xsltproc,
|
|
|
|
'--output', '@OUTPUT@',
|
|
|
|
'--path', meson.current_build_dir(),
|
|
|
|
'--xinclude',
|
|
|
|
'--nonet',
|
|
|
|
'--stringparam', 'man.output.quietly', '1',
|
|
|
|
'--stringparam', 'funcsynopsis.style', 'ansi',
|
|
|
|
'--stringparam', 'man.th.extra1.suppress', '1',
|
|
|
|
'--stringparam', 'man.authors.section.enabled', '0',
|
|
|
|
'--stringparam', 'man.copyright.section.enabled', '0',
|
2018-10-18 10:50:20 +00:00
|
|
|
'--stringparam', 'man.th.title.max.length', '30',
|
2017-11-25 10:39:06 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
docbook_xls = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl'
|
|
|
|
|
|
|
|
mans_xmls = []
|
|
|
|
|
|
|
|
mans = [
|
|
|
|
['NetworkManager', '8'],
|
|
|
|
['NetworkManager.conf', '5'],
|
|
|
|
['nm-online', '1'],
|
|
|
|
['nmcli-examples', '7'],
|
|
|
|
['nmcli', '1'],
|
2018-09-22 07:17:07 +00:00
|
|
|
['nmtui', '1'],
|
|
|
|
['nm-initrd-generator', '8'],
|
2017-11-25 10:39:06 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
if enable_ovs
|
|
|
|
mans += [['nm-openvswitch', '7']]
|
|
|
|
endif
|
|
|
|
|
2020-12-03 17:12:21 +00:00
|
|
|
if enable_nm_cloud_setup
|
|
|
|
mans += [['nm-cloud-setup', '8']]
|
|
|
|
endif
|
|
|
|
|
2017-11-25 10:39:06 +00:00
|
|
|
foreach man: mans
|
|
|
|
input = man[0] + '.xml'
|
|
|
|
content_files += join_paths(meson.current_source_dir(), input)
|
|
|
|
|
|
|
|
output = '@0@.@1@'.format(man[0], man[1])
|
|
|
|
|
|
|
|
custom_target(
|
|
|
|
output,
|
|
|
|
input: input,
|
|
|
|
output: output,
|
|
|
|
command: xsltproc_options + [docbook_xls, '@INPUT@'],
|
2018-09-14 15:41:09 +00:00
|
|
|
depend_files: common_ent_file,
|
2017-11-25 10:39:06 +00:00
|
|
|
install: true,
|
2018-10-18 10:50:20 +00:00
|
|
|
install_dir: join_paths(nm_mandir, 'man' + man[1]),
|
2017-11-25 10:39:06 +00:00
|
|
|
)
|
|
|
|
endforeach
|
|
|
|
|
|
|
|
if enable_introspection
|
2020-06-09 16:53:47 +00:00
|
|
|
|
|
|
|
name = 'dbus'
|
|
|
|
nm_settings_docs_xml_dbus = custom_target(
|
|
|
|
'nm-settings-docs-' + name + '.xml',
|
|
|
|
input: [nm_settings_docs_xml_gir, nm_property_infos_xml[name]],
|
|
|
|
output: 'nm-settings-docs-' + name + '.xml',
|
|
|
|
command: [
|
|
|
|
python.path(),
|
2020-06-09 21:22:34 +00:00
|
|
|
join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-merge.py'),
|
2020-06-09 16:53:47 +00:00
|
|
|
'@OUTPUT@',
|
|
|
|
nm_property_infos_xml[name],
|
|
|
|
nm_settings_docs_xml_gir,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
name = 'nmcli'
|
|
|
|
nm_settings_docs_xml_nmcli = custom_target(
|
|
|
|
'nm-settings-docs-' + name + '.xml',
|
|
|
|
input: [nm_settings_docs_xml_gir, nm_property_infos_xml[name]],
|
|
|
|
output: 'nm-settings-docs-' + name + '.xml',
|
|
|
|
command: [
|
|
|
|
python.path(),
|
2020-06-09 21:22:34 +00:00
|
|
|
join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-merge.py'),
|
2020-06-11 16:54:43 +00:00
|
|
|
'--only-from-first',
|
docs: fix build with meson
Fix the following build error with meson:
/usr/bin/python3 /home/bgalvani/work/NetworkManager/tools/generate-docs-nm-settings-docs-merge.py man/nm-settings-docs-nmcli.xml --only-from-first clients/cli/generate-docs-nm-settings-nmcli.xml libnm/nm-propery-infos-nmcli.xml libnm/nm-settings-docs-gir.xml
Traceback (most recent call last):
File "/home/bgalvani/work/NetworkManager/tools/generate-docs-nm-settings-docs-merge.py", line 120, in <module>
xml_roots = list([ET.parse(f).getroot() for f in gl_input_files])
File "/home/bgalvani/work/NetworkManager/tools/generate-docs-nm-settings-docs-merge.py", line 120, in <listcomp>
xml_roots = list([ET.parse(f).getroot() for f in gl_input_files])
File "/usr/lib64/python3.8/xml/etree/ElementTree.py", line 1202, in parse
tree.parse(source, parser)
File "/usr/lib64/python3.8/xml/etree/ElementTree.py", line 584, in parse
source = open(source, "rb")
FileNotFoundError: [Errno 2] No such file or directory: '--only-from-first'
Fixes: 3c11116c484d ('docs: in "generate-docs-nm-settings-docs-merge.py" only take properties from first setting')
2020-06-12 14:01:28 +00:00
|
|
|
'@OUTPUT@',
|
2020-06-04 14:53:40 +00:00
|
|
|
generate_docs_nm_settings_nmcli_xml,
|
2020-06-09 16:53:47 +00:00
|
|
|
nm_property_infos_xml[name],
|
|
|
|
nm_settings_docs_xml_gir,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
nm_settings_docs_xml = {
|
|
|
|
'gir': nm_settings_docs_xml_gir,
|
|
|
|
'dbus': nm_settings_docs_xml_dbus,
|
|
|
|
'nmcli': nm_settings_docs_xml_nmcli,
|
|
|
|
}
|
|
|
|
|
2017-11-25 10:39:06 +00:00
|
|
|
mans = [
|
2020-05-28 11:51:56 +00:00
|
|
|
['nm-settings-keyfile', '5', nm_property_infos_xml['keyfile']],
|
docs: add more nm-settings manpages (dbus,nmcli,keyfile,ifcfg-rh)
A significant part of NetworkManager's API are the connection profiles, documented
in `man nm-settings*`. But there are different aspects about profiles, depending
on what you are interested. There is the D-Bus API, nmcli options, keyfile format,
and ifcfg-rh format. Additionally, there is also libnm API.
Add distinct manual pages for the four aspects. Currently the two new manual
pages "nm-settings-dbus" and "nm-settings-nmcli" are still identical to the
former "nm-settings.5" manual. In the future, they will diverge to
account for the differences.
There are the following aspects:
- "dbus"
- "keyfile"
- "ifcfg-rh"
- "nmcli"
For "libnm" we don't generate a separate "nm-settings-libnm" manual
page. That is instead documented via gtk-doc.
Currently the keyfile and ifcfg-rh manual pages only detail settings
which differ. But later I think also these manual pages should contain
all settings that apply.
2020-06-02 17:24:12 +00:00
|
|
|
['nm-settings-dbus', '5', nm_settings_docs_xml['dbus']],
|
|
|
|
['nm-settings-nmcli', '5', nm_settings_docs_xml['nmcli']],
|
2017-11-25 10:39:06 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
if enable_ifcfg_rh
|
2020-05-28 11:51:56 +00:00
|
|
|
mans += [['nm-settings-ifcfg-rh', '5', nm_property_infos_xml['ifcfg-rh']]]
|
2017-11-25 10:39:06 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
foreach man: mans
|
|
|
|
output = man[0] + '.xml'
|
|
|
|
|
|
|
|
input = custom_target(
|
|
|
|
output,
|
|
|
|
input: man[2],
|
|
|
|
output: output,
|
2018-10-18 10:50:20 +00:00
|
|
|
command: xsltproc_options + [join_paths(meson.current_source_dir(), man[0] + '.xsl'), '@INPUT@'],
|
2017-11-25 10:39:06 +00:00
|
|
|
)
|
|
|
|
content_files += input.full_path()
|
|
|
|
|
|
|
|
output = '@0@.@1@'.format(man[0], man[1])
|
|
|
|
|
|
|
|
custom_target(
|
|
|
|
output,
|
|
|
|
input: input,
|
|
|
|
output: output,
|
|
|
|
command: xsltproc_options + [docbook_xls, '@INPUT@'],
|
|
|
|
install: true,
|
2018-10-18 10:50:20 +00:00
|
|
|
install_dir: join_paths(nm_mandir, 'man' + man[1]),
|
2017-11-25 10:39:06 +00:00
|
|
|
)
|
|
|
|
endforeach
|
|
|
|
endif
|