mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-07-21 10:14:41 +00:00
b7d0218ee1
"generate-docs-nm-settings-docs-merge.py" merges properties from multiple XMLs. It supported an argument "--only-from-first", to only select properties that were in the first of the provided XMLs. The idea is that the first XML would be "src/nmcli/gen-metadata-nm-settings-nmcli.xml" which is generated from nmcli meta-data and exactly describes the supported properties. For example, "connection.read-only", "user.data" or "wireless.tx-power" exist as properties somewhere, but not supported by nmcli. Change that, to not tie the selected property to the first XML. "gen-metadata-nm-settings-nmcli.xml" is the XML that contains which properties to select from, but "src/libnm-client-impl/nm-property-infos-nmcli.xml" contains hand crafted descriptions. The latter descriptions are preferred. As the order of the XML is already relevant for which description is preferred, the selection is orthogonal to that. With this, prefer descriptions from "src/libnm-client-impl/nm-property-infos-nmcli.xml" but still select properties from "src/nmcli/gen-metadata-nm-settings-nmcli.xml". Note that the argument is only used to generate "man/nm-settings-docs-nmcli.xml", and with the current input, there is no actual change in behavior.
136 lines
3.5 KiB
Meson
136 lines
3.5 KiB
Meson
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
common_ent_file = configure_file(
|
|
input: 'common.ent.in',
|
|
output: '@BASENAME@',
|
|
configuration: data_conf,
|
|
)
|
|
|
|
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',
|
|
'--stringparam', 'man.th.title.max.length', '30',
|
|
]
|
|
|
|
docbook_xls = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl'
|
|
|
|
mans_xmls = []
|
|
|
|
mans = [
|
|
['NetworkManager', '8'],
|
|
['NetworkManager-dispatcher', '8'],
|
|
['NetworkManager-wait-online.service', '8'],
|
|
['NetworkManager.conf', '5'],
|
|
['nm-online', '1'],
|
|
['nmcli-examples', '7'],
|
|
['nmcli', '1'],
|
|
['nmtui', '1'],
|
|
['nm-initrd-generator', '8'],
|
|
]
|
|
|
|
if enable_ovs
|
|
mans += [['nm-openvswitch', '7']]
|
|
endif
|
|
|
|
if enable_nm_cloud_setup
|
|
mans += [['nm-cloud-setup', '8']]
|
|
endif
|
|
|
|
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@'],
|
|
depend_files: common_ent_file,
|
|
install: true,
|
|
install_dir: join_paths(nm_mandir, 'man' + man[1]),
|
|
)
|
|
endforeach
|
|
|
|
if enable_introspection
|
|
|
|
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(),
|
|
join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-merge.py'),
|
|
'@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(),
|
|
join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-merge.py'),
|
|
'@OUTPUT@',
|
|
'--only-properties-from',
|
|
gen_metadata_nm_settings_nmcli_xml,
|
|
nm_property_infos_xml[name],
|
|
gen_metadata_nm_settings_nmcli_xml,
|
|
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,
|
|
}
|
|
|
|
mans = [
|
|
['nm-settings-keyfile', '5', nm_property_infos_xml['keyfile']],
|
|
['nm-settings-dbus', '5', nm_settings_docs_xml['dbus']],
|
|
['nm-settings-nmcli', '5', nm_settings_docs_xml['nmcli']],
|
|
]
|
|
|
|
if enable_ifcfg_rh
|
|
mans += [['nm-settings-ifcfg-rh', '5', nm_property_infos_xml['ifcfg-rh']]]
|
|
endif
|
|
|
|
foreach man: mans
|
|
output = man[0] + '.xml'
|
|
|
|
input = custom_target(
|
|
output,
|
|
input: man[2],
|
|
output: output,
|
|
command: xsltproc_options + [join_paths(meson.current_source_dir(), man[0] + '.xsl'), '@INPUT@'],
|
|
)
|
|
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,
|
|
install_dir: join_paths(nm_mandir, 'man' + man[1]),
|
|
)
|
|
endforeach
|
|
endif
|