diff options
author | Thomas Haller <thaller@redhat.com> | 2022-10-31 09:15:23 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2022-10-31 09:15:23 +0100 |
commit | c51e0b1f6dd599b86cdcf220ae5f3846ab0065a0 (patch) | |
tree | 41fec92d1da625db01a10b9ffb14f16330957f3b | |
parent | 0ffe391f8257c8c63580147a311b2f68568fd3c9 (diff) | |
parent | d699f76855d2957c6f33a0e401b881c39540adb6 (diff) | |
download | NetworkManager-c51e0b1f6dd599b86cdcf220ae5f3846ab0065a0.tar.gz |
build: merge branch 'th/gen-metadata-nm-settings-libnm-core'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1441
-rw-r--r-- | .gitignore | 14 | ||||
-rw-r--r-- | Makefile.am | 89 | ||||
-rw-r--r-- | man/meson.build | 2 | ||||
-rw-r--r-- | src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.c | 77 | ||||
-rw-r--r-- | src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in | 1135 | ||||
-rw-r--r-- | src/libnm-core-impl/meson.build | 49 | ||||
-rw-r--r-- | src/libnmc-setting/meson.build | 5 | ||||
-rw-r--r-- | src/nmcli/gen-metadata-nm-settings-nmcli.c (renamed from src/nmcli/generate-docs-nm-settings-nmcli.c) | 0 | ||||
-rw-r--r-- | src/nmcli/gen-metadata-nm-settings-nmcli.xml.in (renamed from src/nmcli/generate-docs-nm-settings-nmcli.xml.in) | 0 | ||||
-rw-r--r-- | src/nmcli/meson.build | 25 | ||||
-rwxr-xr-x | tools/check-compare-generated.sh | 11 |
11 files changed, 1359 insertions, 48 deletions
diff --git a/.gitignore b/.gitignore index dda11fa675..bb2b8e6bed 100644 --- a/.gitignore +++ b/.gitignore @@ -145,6 +145,8 @@ test-*.trs /src/libnm-core-impl/tests/test-need-secrets /src/libnm-core-impl/tests/test-secrets /src/libnm-core-impl/tests/test-setting +/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core +/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml /src/libnm-glib-aux/tests/test-json-aux /src/libnm-glib-aux/tests/test-shared-general /src/libnm-platform/tests/test-nm-platform @@ -176,8 +178,8 @@ test-*.trs /src/nm-cloud-setup/tests/test-cloud-setup-general /src/nmcli/nmcli -/src/nmcli/generate-docs-nm-settings-nmcli -/src/nmcli/generate-docs-nm-settings-nmcli.xml +/src/nmcli/gen-metadata-nm-settings-nmcli +/src/nmcli/gen-metadata-nm-settings-nmcli.xml /src/nm-online/nm-online @@ -341,6 +343,7 @@ test-*.trs /include/ /initscript/*/[Nn]etwork[Mm]anager /initscript/Slackware/rc.networkmanager +/intltool-* /introspection/nmdbus-*.c /introspection/nmdbus-*.h /introspection/nmdbus-*.xml @@ -393,7 +396,9 @@ test-*.trs /libnm/tests/test-nm-client /libnm/tests/test-remote-settings-client /libnm/tests/test-secret-agent +/m4/intltool.m4 /man/nm-settings.xml +/po/.intltool-merge-cache /policy/org.freedesktop.NetworkManager.policy /policy/org.freedesktop.NetworkManager.policy.in /shared/nm-glib-aux/tests/test-json-aux @@ -439,6 +444,8 @@ test-*.trs /src/nm-priv-helper/org.freedesktop.nm-priv-helper.service /src/nm-sudo/nm-sudo /src/nm-sudo/org.freedesktop.nm.sudo.service +/src/nmcli/generate-docs-nm-settings-nmcli +/src/nmcli/generate-docs-nm-settings-nmcli.xml /src/platform/tests/dump /src/platform/tests/monitor /src/platform/tests/platform @@ -482,6 +489,3 @@ test-*.trs /src/tests/test-systemd /src/tests/test-utils /src/tests/test-wired-defname -/intltool-* -/m4/intltool.m4 -/po/.intltool-merge-cache diff --git a/Makefile.am b/Makefile.am index 0172acec1c..8e60a5f5bd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1848,6 +1848,39 @@ EXTRA_DIST += src/libnm-client-public/meson.build ############################################################################### +noinst_PROGRAMS += src/libnm-core-impl/gen-metadata-nm-settings-libnm-core + +src_libnm_core_impl_gen_metadata_nm_settings_libnm_core_SOURCES = \ + src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.c \ + $(NULL) + +src_libnm_core_impl_gen_metadata_nm_settings_libnm_core_CPPFLAGS = \ + $(clients_cppflags) \ + $(NULL) + +src_libnm_core_impl_gen_metadata_nm_settings_libnm_core_LDADD = \ + src/libnm-core-impl/libnm-core-impl.la \ + src/libnm-crypto/libnm-crypto.la \ + $(libnm_crypto_lib) \ + src/libnm-core-aux-intern/libnm-core-aux-intern.la \ + src/libnm-base/libnm-base.la \ + src/libnm-systemd-shared/libnm-systemd-shared.la \ + src/libnm-log-null/libnm-log-null.la \ + src/libnm-glib-aux/libnm-glib-aux.la \ + src/libnm-std-aux/libnm-std-aux.la \ + src/c-siphash/libc-siphash.la \ + $(GLIB_LIBS) \ + $(NULL) + +src_libnm_core_impl_gen_metadata_nm_settings_libnm_core_LDFLAGS = \ + -Wl,--version-script="$(srcdir)/linker-script-binary.ver" \ + $(SANITIZER_EXEC_LDFLAGS) \ + $(NULL) + +$(src_libnm_core_impl_gen_metadata_nm_settings_libnm_core_OBJECTS): $(src_libnm_core_public_mkenums_h) + +############################################################################### + noinst_LTLIBRARIES += src/libnm-client-impl/libnm-client-impl.la src_libnm_client_impl_libnm_client_impl_la_CPPFLAGS = \ @@ -1982,7 +2015,8 @@ src/libnm-client-impl/libnm.typelib: src/libnm-client-impl/libnm.gir INTROSPECTION_GIRS += src/libnm-client-impl/NM-1.0.gir libnm_noinst_data = \ - src/nmcli/generate-docs-nm-settings-nmcli.xml \ + src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml \ + src/nmcli/gen-metadata-nm-settings-nmcli.xml \ man/nm-settings-docs-dbus.xml \ man/nm-settings-docs-nmcli.xml \ src/libnm-client-impl/nm-property-infos-dbus.xml \ @@ -1995,19 +2029,34 @@ libnm_noinst_data = \ noinst_DATA += $(libnm_noinst_data) -EXTRA_DIST += src/nmcli/generate-docs-nm-settings-nmcli.xml.in +EXTRA_DIST += src/nmcli/gen-metadata-nm-settings-nmcli.xml.in + +if BUILD_DOCS +src/nmcli/gen-metadata-nm-settings-nmcli.xml: src/nmcli/gen-metadata-nm-settings-nmcli + $(AM_V_GEN) src/nmcli/gen-metadata-nm-settings-nmcli > "$@" +check-local-gen-metadata-nm-settings-nmcli: src/nmcli/gen-metadata-nm-settings-nmcli.xml + $(srcdir)/tools/check-compare-generated.sh "$(srcdir)/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in" "$(builddir)/src/nmcli/gen-metadata-nm-settings-nmcli.xml" +check_local += check-local-gen-metadata-nm-settings-nmcli +DISTCLEANFILES += src/nmcli/gen-metadata-nm-settings-nmcli.xml +else +src/nmcli/gen-metadata-nm-settings-nmcli.xml: src/nmcli/gen-metadata-nm-settings-nmcli.xml.in + $(AM_V_GEN) cp $^ $@ +check-local-gen-metadata-nm-settings-nmcli: +endif + +EXTRA_DIST += src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in if BUILD_DOCS -src/nmcli/generate-docs-nm-settings-nmcli.xml: src/nmcli/generate-docs-nm-settings-nmcli - $(AM_V_GEN) src/nmcli/generate-docs-nm-settings-nmcli > "$@" -check-local-generate-docs-nm-settings-nmcli: src/nmcli/generate-docs-nm-settings-nmcli.xml - $(srcdir)/tools/check-compare-generated.sh "$(srcdir)" "$(builddir)" "$<" -check_local += check-local-generate-docs-nm-settings-nmcli -DISTCLEANFILES += src/nmcli/generate-docs-nm-settings-nmcli.xml +src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml: src/libnm-core-impl/gen-metadata-nm-settings-libnm-core + $(AM_V_GEN) src/libnm-core-impl/gen-metadata-nm-settings-libnm-core > "$@" +check-local-gen-metadata-nm-settings-libnm-core: src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml + $(srcdir)/tools/check-compare-generated.sh "$(srcdir)/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in" "$(builddir)/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml" +check_local += check-local-gen-metadata-nm-settings-libnm-core +DISTCLEANFILES += src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml else -src/nmcli/generate-docs-nm-settings-nmcli.xml: src/nmcli/generate-docs-nm-settings-nmcli.xml.in +src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml: src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in $(AM_V_GEN) cp $^ $@ -check-local-generate-docs-nm-settings-nmcli: +check-local-gen-metadata-nm-settings-libnm-core: endif libnm_docs_sources = $(src_libnm_core_impl_lib_c_settings_real) @@ -2030,7 +2079,7 @@ src/libnm-client-impl/nm-settings-docs-gir.xml: tools/generate-docs-nm-settings- --gir $(builddir)/src/libnm-client-impl/NM-1.0.gir \ --output $@ -man/nm-settings-docs-nmcli.xml: src/nmcli/generate-docs-nm-settings-nmcli.xml src/libnm-client-impl/nm-property-infos-nmcli.xml src/libnm-client-impl/nm-settings-docs-gir.xml tools/generate-docs-nm-settings-docs-merge.py man/common.ent +man/nm-settings-docs-nmcli.xml: src/nmcli/gen-metadata-nm-settings-nmcli.xml src/libnm-client-impl/nm-property-infos-nmcli.xml src/libnm-client-impl/nm-settings-docs-gir.xml tools/generate-docs-nm-settings-docs-merge.py man/common.ent $(AM_V_GEN) "$(PYTHON)" $(srcdir)/tools/generate-docs-nm-settings-docs-merge.py --only-from-first $@ $(wordlist 1,3,$^) src/libnmc-setting/settings-docs-input.xml: src/libnm-client-impl/nm-property-infos-nmcli.xml src/libnm-client-impl/nm-settings-docs-gir.xml tools/generate-docs-nm-settings-docs-merge.py @@ -4832,7 +4881,7 @@ $(libnmc_setting_settings_doc_h): src/libnmc-setting/settings-docs-input.xml src $(AM_V_GEN) "$(PYTHON)" $(srcdir)/tools/generate-docs-settings-docs.py --output $@ --xml $< DISTCLEANFILES += $(libnmc_setting_settings_doc_h) check-local-settings-docs: $(libnmc_setting_settings_doc_h) - $(srcdir)/tools/check-compare-generated.sh "$(srcdir)" "$(builddir)" "$(libnmc_setting_settings_doc_h)" + $(srcdir)/tools/check-compare-generated.sh "$(srcdir)/$(libnmc_setting_settings_doc_h).in" "$(builddir)/$(libnmc_setting_settings_doc_h)" check_local += check-local-settings-docs else $(libnmc_setting_settings_doc_h): $(libnmc_setting_settings_doc_h).in src/libnmc-setting/.dirstamp @@ -4973,17 +5022,17 @@ endif ############################################################################### -noinst_PROGRAMS += src/nmcli/generate-docs-nm-settings-nmcli +noinst_PROGRAMS += src/nmcli/gen-metadata-nm-settings-nmcli -src_nmcli_generate_docs_nm_settings_nmcli_SOURCES = \ - src/nmcli/generate-docs-nm-settings-nmcli.c \ +src_nmcli_gen_metadata_nm_settings_nmcli_SOURCES = \ + src/nmcli/gen-metadata-nm-settings-nmcli.c \ $(NULL) -src_nmcli_generate_docs_nm_settings_nmcli_CPPFLAGS = \ +src_nmcli_gen_metadata_nm_settings_nmcli_CPPFLAGS = \ $(clients_cppflags) \ $(NULL) -src_nmcli_generate_docs_nm_settings_nmcli_LDADD = \ +src_nmcli_gen_metadata_nm_settings_nmcli_LDADD = \ src/libnmc-setting/libnmc-setting.la \ src/libnmc-base/libnmc-base.la \ src/libnm-client-aux-extern/libnm-client-aux-extern.la \ @@ -4998,13 +5047,13 @@ src_nmcli_generate_docs_nm_settings_nmcli_LDADD = \ $(GLIB_LIBS) \ $(NULL) -src_nmcli_generate_docs_nm_settings_nmcli_LDFLAGS = \ +src_nmcli_gen_metadata_nm_settings_nmcli_LDFLAGS = \ -Wl,--version-script="$(srcdir)/linker-script-binary.ver" \ $(SANITIZER_EXEC_LDFLAGS) \ $(NULL) -$(src_nmcli_generate_docs_nm_settings_nmcli_OBJECTS): $(src_libnm_core_public_mkenums_h) -$(src_nmcli_generate_docs_nm_settings_nmcli_OBJECTS): $(src_libnm_client_public_mkenums_h) +$(src_nmcli_gen_metadata_nm_settings_nmcli_OBJECTS): $(src_libnm_core_public_mkenums_h) +$(src_nmcli_gen_metadata_nm_settings_nmcli_OBJECTS): $(src_libnm_client_public_mkenums_h) ############################################################################### diff --git a/man/meson.build b/man/meson.build index c814604402..356759bafb 100644 --- a/man/meson.build +++ b/man/meson.build @@ -87,7 +87,7 @@ if enable_introspection join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-merge.py'), '--only-from-first', '@OUTPUT@', - generate_docs_nm_settings_nmcli_xml, + gen_metadata_nm_settings_nmcli_xml, nm_property_infos_xml[name], nm_settings_docs_xml_gir, ], diff --git a/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.c b/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.c new file mode 100644 index 0000000000..eeadb19c32 --- /dev/null +++ b/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.c @@ -0,0 +1,77 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +#include "libnm-core-impl/nm-default-libnm-core.h" + +#include "libnm-core-intern/nm-meta-setting-base.h" +#include "libnm-core-intern/nm-core-internal.h" + +#define INDENT 4 + +static char * +_xml_escape_attribute(const char *value) +{ + gs_free char *s = NULL; + + s = g_markup_escape_text(value, -1); + return g_strdup_printf("\"%s\"", s); +} + +static const char * +_indent_level(guint num_spaces) +{ + static const char spaces[] = " "; + + nm_assert(num_spaces < G_N_ELEMENTS(spaces)); + return &spaces[G_N_ELEMENTS(spaces) - num_spaces - 1]; +} + +int +main(int argc, char *argv[]) +{ + const NMSettInfoSetting *sett_info_settings = nmtst_sett_info_settings(); + NMMetaSettingType meta_type; + + g_print("<nm-setting-docs>\n"); + for (meta_type = 0; meta_type < _NM_META_SETTING_TYPE_NUM; meta_type++) { + const NMSettInfoSetting *sis = &sett_info_settings[meta_type]; + const NMMetaSettingInfo *msi = &nm_meta_setting_infos[meta_type]; + nm_auto_unref_gtypeclass NMSettingClass *klass = NULL; + gs_free char *tmp_s1 = NULL; + gs_free char *tmp_s2 = NULL; + guint prop_idx; + GType gtype; + + gtype = msi->get_setting_gtype(); + klass = g_type_class_ref(gtype); + + g_print("%s<setting", _indent_level(INDENT)); + g_print(" name=%s", (tmp_s1 = _xml_escape_attribute(msi->setting_name))); + g_print(" >\n"); + + for (prop_idx = 0; prop_idx < sis->property_infos_len; prop_idx++) { + const NMSettInfoProperty *sip = &sis->property_infos[prop_idx]; + gs_free char *tmp2 = NULL; + gs_free char *tmp3 = NULL; + + g_print("%s<property", _indent_level(2 * INDENT)); + g_print(" name=%s", (tmp2 = _xml_escape_attribute(sip->name))); + if (sip->is_deprecated) + g_print("\n%sis-deprecated=\"1\"", _indent_level(2 * INDENT + 10)); + if (sip->property_type->dbus_type) { + g_print( + "\n%sdbus-type=%s", + _indent_level(2 * INDENT + 10), + (tmp3 = _xml_escape_attribute((const char *) sip->property_type->dbus_type))); + } + if (sip->dbus_deprecated) { + nm_assert(sip->property_type->dbus_type); + g_print("\n%sdbus-deprecated=\"1\"", _indent_level(2 * INDENT + 10)); + } + g_print(" />\n"); + } + + g_print("%s</setting>\n", _indent_level(INDENT)); + } + g_print("</nm-setting-docs>\n"); + return 0; +} diff --git a/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in b/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in new file mode 100644 index 0000000000..dfda03ac07 --- /dev/null +++ b/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in @@ -0,0 +1,1135 @@ +<nm-setting-docs> + <setting name="6lowpan" > + <property name="name" + dbus-type="s" /> + <property name="parent" + dbus-type="s" /> + </setting> + <setting name="802-11-olpc-mesh" > + <property name="channel" + dbus-type="u" /> + <property name="dhcp-anycast-address" + dbus-type="ay" /> + <property name="name" + dbus-type="s" /> + <property name="ssid" + dbus-type="ay" /> + </setting> + <setting name="802-11-wireless" > + <property name="ap-isolation" + dbus-type="i" /> + <property name="assigned-mac-address" + dbus-type="s" /> + <property name="band" + dbus-type="s" /> + <property name="bssid" + dbus-type="ay" /> + <property name="channel" + dbus-type="u" /> + <property name="cloned-mac-address" + dbus-type="ay" + dbus-deprecated="1" /> + <property name="generate-mac-address-mask" + dbus-type="s" /> + <property name="hidden" + dbus-type="b" /> + <property name="mac-address" + dbus-type="ay" /> + <property name="mac-address-blacklist" + dbus-type="as" /> + <property name="mac-address-randomization" + is-deprecated="1" + dbus-type="u" /> + <property name="mode" + dbus-type="s" /> + <property name="mtu" + dbus-type="u" /> + <property name="name" + dbus-type="s" /> + <property name="powersave" + dbus-type="u" /> + <property name="rate" + dbus-type="u" /> + <property name="security" + dbus-type="s" + dbus-deprecated="1" /> + <property name="seen-bssids" + dbus-type="as" /> + <property name="ssid" + dbus-type="ay" /> + <property name="tx-power" + dbus-type="u" /> + <property name="wake-on-wlan" + dbus-type="u" /> + </setting> + <setting name="802-11-wireless-security" > + <property name="auth-alg" + dbus-type="s" /> + <property name="fils" + dbus-type="i" /> + <property name="group" + dbus-type="as" /> + <property name="key-mgmt" + dbus-type="s" /> + <property name="leap-password" + dbus-type="s" /> + <property name="leap-password-flags" + dbus-type="u" /> + <property name="leap-username" + dbus-type="s" /> + <property name="name" + dbus-type="s" /> + <property name="pairwise" + dbus-type="as" /> + <property name="pmf" + dbus-type="i" /> + <property name="proto" + dbus-type="as" /> + <property name="psk" + dbus-type="s" /> + <property name="psk-flags" + dbus-type="u" /> + <property name="wep-key-flags" + dbus-type="u" /> + <property name="wep-key-type" + dbus-type="u" /> + <property name="wep-key0" + dbus-type="s" /> + <property name="wep-key1" + dbus-type="s" /> + <property name="wep-key2" + dbus-type="s" /> + <property name="wep-key3" + dbus-type="s" /> + <property name="wep-tx-keyidx" + dbus-type="u" /> + <property name="wps-method" + dbus-type="u" /> + </setting> + <setting name="802-1x" > + <property name="altsubject-matches" + dbus-type="as" /> + <property name="anonymous-identity" + dbus-type="s" /> + <property name="auth-timeout" + dbus-type="i" /> + <property name="ca-cert" + dbus-type="ay" /> + <property name="ca-cert-password" + dbus-type="s" /> + <property name="ca-cert-password-flags" + dbus-type="u" /> + <property name="ca-path" + dbus-type="s" /> + <property name="client-cert" + dbus-type="ay" /> + <property name="client-cert-password" + dbus-type="s" /> + <property name="client-cert-password-flags" + dbus-type="u" /> + <property name="domain-match" + dbus-type="s" /> + <property name="domain-suffix-match" + dbus-type="s" /> + <property name="eap" + dbus-type="as" /> + <property name="identity" + dbus-type="s" /> + <property name="name" + dbus-type="s" /> + <property name="optional" + dbus-type="b" /> + <property name="pac-file" + dbus-type="s" /> + <property name="password" + dbus-type="s" /> + <property name="password-flags" + dbus-type="u" /> + <property name="password-raw" + dbus-type="ay" /> + <property name="password-raw-flags" + dbus-type="u" /> + <property name="phase1-auth-flags" + dbus-type="u" /> + <property name="phase1-fast-provisioning" + dbus-type="s" /> + <property name="phase1-peaplabel" + dbus-type="s" /> + <property name="phase1-peapver" + dbus-type="s" /> + <property name="phase2-altsubject-matches" + dbus-type="as" /> + <property name="phase2-auth" + dbus-type="s" /> + <property name="phase2-autheap" + dbus-type="s" /> + <property name="phase2-ca-cert" + dbus-type="ay" /> + <property name="phase2-ca-cert-password" + dbus-type="s" /> + <property name="phase2-ca-cert-password-flags" + dbus-type="u" /> + <property name="phase2-ca-path" + dbus-type="s" /> + <property name="phase2-client-cert" + dbus-type="ay" /> + <property name="phase2-client-cert-password" + dbus-type="s" /> + <property name="phase2-client-cert-password-flags" + dbus-type="u" /> + <property name="phase2-domain-match" + dbus-type="s" /> + <property name="phase2-domain-suffix-match" + dbus-type="s" /> + <property name="phase2-private-key" + dbus-type="ay" /> + <property name="phase2-private-key-password" + dbus-type="s" /> + <property name="phase2-private-key-password-flags" + dbus-type="u" /> + <property name="phase2-subject-match" + is-deprecated="1" + dbus-type="s" /> + <property name="pin" + dbus-type="s" /> + <property name="pin-flags" + dbus-type="u" /> + <property name="private-key" + dbus-type="ay" /> + <property name="private-key-password" + dbus-type="s" /> + <property name="private-key-password-flags" + dbus-type="u" /> + <property name="subject-match" + is-deprecated="1" + dbus-type="s" /> + <property name="system-ca-certs" + dbus-type="b" /> + </setting> + <setting name="802-3-ethernet" > + <property name="accept-all-mac-addresses" + dbus-type="i" /> + <property name="assigned-mac-address" + dbus-type="s" /> + <property name="auto-negotiate" + dbus-type="b" /> + <property name="cloned-mac-address" + dbus-type="ay" + dbus-deprecated="1" /> + <property name="duplex" + dbus-type="s" /> + <property name="generate-mac-address-mask" + dbus-type="s" /> + <property name="mac-address" + dbus-type="ay" /> + <property name="mac-address-blacklist" + dbus-type="as" /> + <property name="mtu" + dbus-type="u" /> + <property name="name" + dbus-type="s" /> + <property name="port" + dbus-type="s" /> + <property name="s390-nettype" + dbus-type="s" /> + <property name="s390-options" + dbus-type="a{ss}" /> + <property name="s390-subchannels" + dbus-type="as" /> + <property name="speed" + dbus-type="u" /> + <property name="wake-on-lan" + dbus-type="u" /> + <property name="wake-on-lan-password" + dbus-type="s" /> + </setting> + <setting name="adsl" > + <property name="encapsulation" + dbus-type="s" /> + <property name="name" + dbus-type="s" /> + <property name="password" + dbus-type="s" /> + <property name="password-flags" + dbus-type="u" /> + <property name="protocol" + dbus-type="s" /> + <property name="username" + dbus-type="s" /> + <property name="vci" + dbus-type="u" /> + <property name="vpi" + dbus-type="u" /> + </setting> + <setting name="bluetooth" > + <property name="bdaddr" + dbus-type="ay" /> + <property name="name" + dbus-type="s" /> + <property name="type" + dbus-type="s" /> + </setting> + <setting name="bond" > + <property name="interface-name" + dbus-type="s" + dbus-deprecated="1" /> + <property name="name" + dbus-type="s" /> + <property name="options" + dbus-type="a{ss}" /> + </setting> + <setting name="bond-port" > + <property name="name" + dbus-type="s" /> + <property name="queue-id" + dbus-type="u" /> + </setting> + <setting name="bridge" > + <property name="ageing-time" + dbus-type="u" /> + <property name="forward-delay" + dbus-type="u" /> + <property name="group-address" + dbus-type="ay" /> + <property name="group-forward-mask" + dbus-type="u" /> + <property name="hello-time" + dbus-type="u" /> + <property name="interface-name" + dbus-type="s" + dbus-deprecated="1" /> + <property name="mac-address" + is-deprecated="1" + dbus-type="ay" /> + <property name="max-age" + dbus-type="u" /> + <property name="multicast-hash-max" + dbus-type="u" /> + <property name="multicast-last-member-count" + dbus-type="u" /> + <property name="multicast-last-member-interval" + dbus-type="t" /> + <property name="multicast-membership-interval" + dbus-type="t" /> + <property name="multicast-querier" + dbus-type="b" /> + <property name="multicast-querier-interval" + dbus-type="t" /> + <property name="multicast-query-interval" + dbus-type="t" /> + <property name="multicast-query-response-interval" + dbus-type="t" /> + <property name="multicast-query-use-ifaddr" + dbus-type="b" /> + <property name="multicast-router" + dbus-type="s" /> + <property name="multicast-snooping" + dbus-type="b" /> + <property name="multicast-startup-query-count" + dbus-type="u" /> + <property name="multicast-startup-query-interval" + dbus-type="t" /> + <property name="name" + dbus-type="s" /> + <property name="priority" + dbus-type="u" /> + <property name="stp" + dbus-type="b" /> + <property name="vlan-default-pvid" + dbus-type="u" /> + <property name="vlan-filtering" + dbus-type="b" /> + <property name="vlan-protocol" + dbus-type="s" /> + <property name="vlan-stats-enabled" + dbus-type="b" /> + <property name="vlans" + dbus-type="aa{sv}" /> + </setting> + <setting name="bridge-port" > + <property name="hairpin-mode" + dbus-type="b" /> + <property name="name" + dbus-type="s" /> + <property name="path-cost" + dbus-type="u" /> + <property name="priority" + dbus-type="u" /> + <property name="vlans" + dbus-type="aa{sv}" /> + </setting> + <setting name="cdma" > + <property name="mtu" + dbus-type="u" /> + <property name="name" + dbus-type="s" /> + <property name="number" + dbus-type="s" /> + <property name="password" + dbus-type="s" /> + <property name="password-flags" + dbus-type="u" /> + <property name="username" + dbus-type="s" /> + </setting> + <setting name="connection" > + <property name="auth-retries" + dbus-type="i" /> + <property name="autoconnect" + dbus-type="b" /> + <property name="autoconnect-priority" + dbus-type="i" /> + <property name="autoconnect-retries" + dbus-type="i" /> + <property name="autoconnect-slaves" + dbus-type="i" /> + <property name="dns-over-tls" + dbus-type="i" /> + <property name="gateway-ping-timeout" + dbus-type="u" /> + <property name="id" + dbus-type="s" /> + <property name="interface-name" + dbus-type="s" /> + <property name="lldp" + dbus-type="i" /> + <property name="llmnr" + dbus-type="i" /> + <property name="master" + dbus-type="s" /> + <property name="mdns" + dbus-type="i" /> + <property name="metered" + dbus-type="i" /> + <property name="mptcp-flags" + dbus-type="u" /> + <property name="mud-url" + dbus-type="s" /> + <property name="multi-connect" + dbus-type="i" /> + <property name="name" + dbus-type="s" /> + <property name="permissions" + dbus-type="as" /> + <property name="read-only" + dbus-type="b" /> + <property name="secondaries" + dbus-type="as" /> + <property name="slave-type" + dbus-type="s" /> + <property name="stable-id" + dbus-type="s" /> + <property name="timestamp" + dbus-type="t" /> + <property name="type" + dbus-type="s" /> + <property name="uuid" + dbus-type="s" /> + <property name="wait-activation-delay" + dbus-type="i" /> + <property name="wait-device-timeout" + dbus-type="i" /> + <property name="zone" + dbus-type="s" /> + </setting> + <setting name="dcb" > + <property name="app-fcoe-flags" + dbus-type="u" /> + <property name="app-fcoe-mode" + dbus-type="s" /> + <property name="app-fcoe-priority" + dbus-type="i" /> + <property name="app-fip-flags" + dbus-type="u" /> + <property name="app-fip-priority" + dbus-type="i" /> + <property name="app-iscsi-flags" + dbus-type="u" /> + <property name="app-iscsi-priority" + dbus-type="i" /> + <property name="name" + dbus-type="s" /> + <property name="priority-bandwidth" + dbus-type="au" /> + <property name="priority-flow-control" + dbus-type="au" /> + <property name="priority-flow-control-flags" + dbus-type="u" /> + <property name="priority-group-bandwidth" + dbus-type="au" /> + <property name="priority-group-flags" + dbus-type="u" /> + <property name="priority-group-id" + dbus-type="au" /> + <property name="priority-strict-bandwidth" + dbus-type="au" /> + <property name="priority-traffic-class" + dbus-type="au" /> + </setting> + <setting name="dummy" > + <property name="name" + dbus-type="s" /> + </setting> + <setting name="ethtool" > + <property name="name" + dbus-type="s" /> + </setting> + <setting name="generic" > + <property name="name" + dbus-type="s" /> + </setting> + <setting name="gsm" > + <property name="allowed-bands" + dbus-type="u" + dbus-deprecated="1" /> + <property name="apn" + dbus-type="s" /> + <property name="auto-config" + dbus-type="b" /> + <property name="device-id" + dbus-type="s" /> + <property name="home-only" + dbus-type="b" /> + <property name="mtu" + dbus-type="u" /> + <property name="name" + dbus-type="s" /> + <property name="network-id" + dbus-type="s" /> + <property name="network-type" + dbus-type="i" + dbus-deprecated="1" /> + <property name="number" + is-deprecated="1" + dbus-type="s" /> + <property name="password" + dbus-type="s" /> + <property name="password-flags" + dbus-type="u" /> + <property name="pin" + dbus-type="s" /> + <property name="pin-flags" + dbus-type="u" /> + <property name="sim-id" + dbus-type="s" /> + <property name="sim-operator-id" + dbus-type="s" /> + <property name="username" + dbus-type="s" /> + </setting> + <setting name="hostname" > + <property name="from-dhcp" + dbus-type="i" /> + <property name="from-dns-lookup" + dbus-type="i" /> + <property name="name" + dbus-type="s" /> + <property name="only-from-default" + dbus-type="i" /> + <property name="priority" + dbus-type="i" /> + </setting> + <setting name="infiniband" > + <property name="mac-address" + dbus-type="ay" /> + <property name="mtu" + dbus-type="u" /> + <property name="name" + dbus-type="s" /> + <property name="p-key" + dbus-type="i" /> + <property name="parent" + dbus-type="s" /> + <property name="transport-mode" + dbus-type="s" /> + </setting> + <setting name="ip-tunnel" > + <property name="encapsulation-limit" + dbus-type="u" /> + <property name="flags" + dbus-type="u" /> + <property name="flow-label" + dbus-type="u" /> + <property name="input-key" + dbus-type="s" /> + <property name="local" + dbus-type="s" /> + <property name="mode" + dbus-type="u" /> + <property name="mtu" + dbus-type="u" /> + <property name="name" + dbus-type="s" /> + <property name="output-key" + dbus-type="s" /> + <property name="parent" + dbus-type="s" /> + <property name="path-mtu-discovery" + dbus-type="b" /> + <property name="remote" + dbus-type="s" /> + <property name="tos" + dbus-type="u" /> + <property name="ttl" + dbus-type="u" /> + </setting> + <setting name="ipv4" > + <property name="address-data" + dbus-type="aa{sv}" /> + <property name="address-labels" + dbus-type="as" + dbus-deprecated="1" /> + <property name="addresses" + dbus-type="aau" + dbus-deprecated="1" /> + <property name="dad-timeout" + dbus-type="i" /> + <property name="dhcp-client-id" + dbus-type="s" /> + <property name="dhcp-fqdn" + dbus-type="s" /> + <property name="dhcp-hostname" + dbus-type="s" /> + <property name="dhcp-hostname-flags" + dbus-type="u" /> + <property name="dhcp-iaid" + dbus-type="s" /> + <property name="dhcp-reject-servers" + dbus-type="as" /> + <property name="dhcp-send-hostname" + dbus-type="b" /> + <property name="dhcp-timeout" + dbus-type="i" /> + <property name="dhcp-vendor-class-identifier" + dbus-type="s" /> + <property name="dns" + dbus-type="au" + dbus-deprecated="1" /> + <property name="dns-data" + dbus-type="as" /> + <property name="dns-options" + dbus-type="as" /> + <property name="dns-priority" + dbus-type="i" /> + <property name="dns-search" + dbus-type="as" /> + <property name="gateway" + dbus-type="s" /> + <property name="ignore-auto-dns" + dbus-type="b" /> + <property name="ignore-auto-routes" + dbus-type="b" /> + <property name="link-local" + dbus-type="i" /> + <property name="may-fail" + dbus-type="b" /> + <property name="method" + dbus-type="s" /> + <property name="name" + dbus-type="s" /> + <property name="never-default" + dbus-type="b" /> + <property name="required-timeout" + dbus-type="i" /> + <property name="route-data" + dbus-type="aa{sv}" /> + <property name="route-metric" + dbus-type="x" /> + <property name="route-table" + dbus-type="u" /> + <property name="routes" + dbus-type="aau" + dbus-deprecated="1" /> + <property name="routing-rules" + dbus-type="aa{sv}" /> + </setting> + <setting name="ipv6" > + <property name="addr-gen-mode" + dbus-type="i" /> + <property name="address-data" + dbus-type="aa{sv}" /> + <property name="addresses" + dbus-type="a(ayuay)" + dbus-deprecated="1" /> + <property name="dad-timeout" + dbus-type="i" /> + <property name="dhcp-duid" + dbus-type="s" /> + <property name="dhcp-hostname" + dbus-type="s" /> + <property name="dhcp-hostname-flags" + dbus-type="u" /> + <property name="dhcp-iaid" + dbus-type="s" /> + <property name="dhcp-reject-servers" + dbus-type="as" /> + <property name="dhcp-send-hostname" + dbus-type="b" /> + <property name="dhcp-timeout" + dbus-type="i" /> + <property name="dns" + dbus-type="aay" + dbus-deprecated="1" /> + <property name="dns-data" + dbus-type="as" /> + <property name="dns-options" + dbus-type="as" /> + <property name="dns-priority" + dbus-type="i" /> + <property name="dns-search" + dbus-type="as" /> + <property name="gateway" + dbus-type="s" /> + <property name="ignore-auto-dns" + dbus-type="b" /> + <property name="ignore-auto-routes" + dbus-type="b" /> + <property name="ip6-privacy" + dbus-type="i" /> + <property name="may-fail" + dbus-type="b" /> + <property name="method" + dbus-type="s" /> + <property name="mtu" + dbus-type="u" /> + <property name="name" + dbus-type="s" /> + <property name="never-default" + dbus-type="b" /> + <property name="ra-timeout" + dbus-type="i" /> + <property name="required-timeout" + dbus-type="i" /> + <property name="route-data" + dbus-type="aa{sv}" /> + <property name="route-metric" + dbus-type="x" /> + <property name="route-table" + dbus-type="u" /> + <property name="routes" + dbus-type="a(ayuayu)" + dbus-deprecated="1" /> + <property name="routing-rules" + dbus-type="aa{sv}" /> + <property name="token" + dbus-type="s" /> + </setting> + <setting name="macsec" > + <property name="encrypt" + dbus-type="b" /> + <property name="mka-cak" + dbus-type="s" /> + <property name="mka-cak-flags" + dbus-type="u" /> + <property name="mka-ckn" + dbus-type="s" /> + <property name="mode" + dbus-type="i" /> + <property name="name" + dbus-type="s" /> + <property name="parent" + dbus-type="s" /> + <property name="port" + dbus-type="i" /> + <property name="send-sci" + dbus-type="b" /> + <property name="validation" + dbus-type="i" /> + </setting> + <setting name="macvlan" > + <property name="mode" + dbus-type="u" /> + <property name="name" + dbus-type="s" /> + <property name="parent" + dbus-type="s" /> + <property name="promiscuous" + dbus-type="b" /> + <property name="tap" + dbus-type="b" /> + </setting> + <setting name="match" > + <property name="driver" + dbus-type="as" /> + <property name="interface-name" + dbus-type="as" /> + <property name="kernel-command-line" + dbus-type="as" /> + <property name="name" + dbus-type="s" /> + <property name="path" + dbus-type="as" /> + </setting> + <setting name="ovs-bridge" > + <property name="datapath-type" + dbus-type="s" /> + <property name="fail-mode" + dbus-type="s" /> + <property name="mcast-snooping-enable" + dbus-type="b" /> + <property name="name" + dbus-type="s" /> + <property name="rstp-enable" + dbus-type="b" /> + <property name="stp-enable" + dbus-type="b" /> + </setting> + <setting name="ovs-dpdk" > + <property name="devargs" + dbus-type="s" /> + <property name="n-rxq" + dbus-type="u" /> + <property name="name" + dbus-type="s" /> + </setting> + <setting name="ovs-external-ids" > + <property name="data" + dbus-type="a{ss}" /> + <property name="name" + dbus-type="s" /> + </setting> + <setting name="ovs-interface" > + <property name="name" + dbus-type="s" /> + <property name="ofport-request" + dbus-type="u" /> + <property name="type" + dbus-type="s" /> + </setting> + <setting name="ovs-patch" > + <property name="name" + dbus-type="s" /> + <property name="peer" + dbus-type="s" /> + </setting> + <setting name="ovs-port" > + <property name="bond-downdelay" + dbus-type="u" /> + <property name="bond-mode" + dbus-type="s" /> + <property name="bond-updelay" + dbus-type="u" /> + <property name="lacp" + dbus-type="s" /> + <property name="name" + dbus-type="s" /> + <property name="tag" + dbus-type="u" /> + <property name="vlan-mode" + dbus-type="s" /> + </setting> + <setting name="ppp" > + <property name="baud" + dbus-type="u" /> + <property name="crtscts" + dbus-type="b" /> + <property name="lcp-echo-failure" + dbus-type="u" /> + <property name="lcp-echo-interval" + dbus-type="u" /> + <property name="mppe-stateful" + dbus-type="b" /> + <property name="mru" + dbus-type="u" /> + <property name="mtu" + dbus-type="u" /> + <property name="name" + dbus-type="s" /> + <property name="no-vj-comp" + dbus-type="b" /> + <property name="noauth" + dbus-type="b" /> + <property name="nobsdcomp" + dbus-type="b" /> + <property name="nodeflate" + dbus-type="b" /> + <property name="refuse-chap" + dbus-type="b" /> + <property name="refuse-eap" + dbus-type="b" /> + <property name="refuse-mschap" + dbus-type="b" /> + <property name="refuse-mschapv2" + dbus-type="b" /> + <property name="refuse-pap" + dbus-type="b" /> + <property name="require-mppe" + dbus-type="b" /> + <property name="require-mppe-128" + dbus-type="b" /> + </setting> + <setting name="pppoe" > + <property name="name" + dbus-type="s" /> + <property name="parent" + dbus-type="s" /> + <property name="password" + dbus-type="s" /> + <property name="password-flags" + dbus-type="u" /> + <property name="service" + dbus-type="s" /> + <property name="username" + dbus-type="s" /> + </setting> + <setting name="proxy" > + <property name="browser-only" + dbus-type="b" /> + <property name="method" + dbus-type="i" /> + <property name="name" + dbus-type="s" /> + <property name="pac-script" + dbus-type="s" /> + <property name="pac-url" + dbus-type="s" /> + </setting> + <setting name="serial" > + <property name="baud" + dbus-type="u" /> + <property name="bits" + dbus-type="u" /> + <property name="name" + dbus-type="s" /> + <property name="parity" + dbus-type="y" /> + <property name="send-delay" + dbus-type="t" /> + <property name="stopbits" + dbus-type="u" /> + </setting> + <setting name="sriov" > + <property name="autoprobe-drivers" + dbus-type="i" /> + <property name="name" + dbus-type="s" /> + <property name="total-vfs" + dbus-type="u" /> + <property name="vfs" + dbus-type="aa{sv}" /> + </setting> + <setting name="tc" > + <property name="name" + dbus-type="s" /> + <property name="qdiscs" + dbus-type="aa{sv}" /> + <property name="tfilters" + dbus-type="aa{sv}" /> + </setting> + <setting name="team" > + <property name="config" + dbus-type="s" /> + <property name="interface-name" + dbus-type="s" + dbus-deprecated="1" /> + <property name="link-watchers" + dbus-type="aa{sv}" /> + <property name="mcast-rejoin-count" + dbus-type="i" /> + <property name="mcast-rejoin-interval" + dbus-type="i" /> + <property name="name" + dbus-type="s" /> + <property name="notify-peers-count" + dbus-type="i" /> + <property name="notify-peers-interval" + dbus-type="i" /> + <property name="runner" + dbus-type="s" /> + <property name="runner-active" + dbus-type="b" /> + <property name="runner-agg-select-policy" + dbus-type="s" /> + <property name="runner-fast-rate" + dbus-type="b" /> + <property name="runner-hwaddr-policy" + dbus-type="s" /> + <property name="runner-min-ports" + dbus-type="i" /> + <property name="runner-sys-prio" + dbus-type="i" /> + <property name="runner-tx-balancer" + dbus-type="s" /> + <property name="runner-tx-balancer-interval" + dbus-type="i" /> + <property name="runner-tx-hash" + dbus-type="as" /> + </setting> + <setting name="team-port" > + <property name="config" + dbus-type="s" /> + <property name="lacp-key" + dbus-type="i" /> + <property name="lacp-prio" + dbus-type="i" /> + <property name="link-watchers" + dbus-type="aa{sv}" /> + <property name="name" + dbus-type="s" /> + <property name="prio" + dbus-type="i" /> + <property name="queue-id" + dbus-type="i" /> + <property name="sticky" + dbus-type="b" /> + </setting> + <setting name="tun" > + <property name="group" + dbus-type="s" /> + <property name="mode" + dbus-type="u" /> + <property name="multi-queue" + dbus-type="b" /> + <property name="name" + dbus-type="s" /> + <property name="owner" + dbus-type="s" /> + <property name="pi" + dbus-type="b" /> + <property name="vnet-hdr" + dbus-type="b" /> + </setting> + <setting name="user" > + <property name="data" + dbus-type="a{ss}" /> + <property name="name" + dbus-type="s" /> + </setting> + <setting name="veth" > + <property name="name" + dbus-type="s" /> + <property name="peer" + dbus-type="s" /> + </setting> + <setting name="vlan" > + <property name="egress-priority-map" + dbus-type="as" /> + <property name="flags" + dbus-type="u" /> + <property name="id" + dbus-type="u" /> + <property name="ingress-priority-map" + dbus-type="as" /> + <property name="interface-name" + dbus-type="s" + dbus-deprecated="1" /> + <property name="name" + dbus-type="s" /> + <property name="parent" + dbus-type="s" /> + </setting> + <setting name="vpn" > + <property name="data" + dbus-type="a{ss}" /> + <property name="name" + dbus-type="s" /> + <property name="persistent" + dbus-type="b" /> + <property name="secrets" + dbus-type="a{ss}" /> + <property name="service-type" + dbus-type="s" /> + <property name="timeout" + dbus-type="u" /> + <property name="user-name" + dbus-type="s" /> + </setting> + <setting name="vrf" > + <property name="name" + dbus-type="s" /> + <property name="table" + dbus-type="u" /> + </setting> + <setting name="vxlan" > + <property name="ageing" + dbus-type="u" /> + <property name="destination-port" + dbus-type="u" /> + <property name="id" + dbus-type="u" /> + <property name="l2-miss" + dbus-type="b" /> + <property name="l3-miss" + dbus-type="b" /> + <property name="learning" + dbus-type="b" /> + <property name="limit" + dbus-type="u" /> + <property name="local" + dbus-type="s" /> + <property name="name" + dbus-type="s" /> + <property name="parent" + dbus-type="s" /> + <property name="proxy" + dbus-type="b" /> + <property name="remote" + dbus-type="s" /> + <property name="rsc" + dbus-type="b" /> + <property name="source-port-max" + dbus-type="u" /> + <property name="source-port-min" + dbus-type="u" /> + <property name="tos" + dbus-type="u" /> + <property name="ttl" + dbus-type="u" /> + </setting> + <setting name="wifi-p2p" > + <property name="name" + dbus-type="s" /> + <property name="peer" + dbus-type="s" /> + <property name="wfd-ies" + dbus-type="ay" /> + <property name="wps-method" + dbus-type="u" /> + </setting> + <setting name="wimax" > + <property name="mac-address" + is-deprecated="1" + dbus-type="ay" /> + <property name="name" + dbus-type="s" /> + <property name="network-name" + is-deprecated="1" + dbus-type="s" /> + </setting> + <setting name="wireguard" > + <property name="fwmark" + dbus-type="u" /> + <property name="ip4-auto-default-route" + dbus-type="i" /> + <property name="ip6-auto-default-route" + dbus-type="i" /> + <property name="listen-port" + dbus-type="u" /> + <property name="mtu" + dbus-type="u" /> + <property name="name" + dbus-type="s" /> + <property name="peer-routes" + dbus-type="b" /> + <property name="peers" + dbus-type="aa{sv}" /> + <property name="private-key" + dbus-type="s" /> + <property name="private-key-flags" + dbus-type="u" /> + </setting> + <setting name="wpan" > + <property name="channel" + dbus-type="i" /> + <property name="mac-address" + dbus-type="s" /> + <property name="name" + dbus-type="s" /> + <property name="page" + dbus-type="i" /> + <property name="pan-id" + dbus-type="u" /> + <property name="short-address" + dbus-type="u" /> + </setting> +</nm-setting-docs> diff --git a/src/libnm-core-impl/meson.build b/src/libnm-core-impl/meson.build index 83c290857c..2de3ff0849 100644 --- a/src/libnm-core-impl/meson.build +++ b/src/libnm-core-impl/meson.build @@ -88,3 +88,52 @@ libnm_core_impl = static_library( uuid_dep, ], ) + +############################################################################### + +gen_metadata_nm_settings_libnm_core = executable( + 'gen-metadata-nm-settings-libnm-core', + files( + 'gen-metadata-nm-settings-libnm-core.c', + ), + dependencies: [ + libnm_core_public_dep, + ], + link_with: [ + libnm_core_aux_intern, + libnm_core_impl, + libnm_crypto, + libnm_base, + libnm_systemd_shared, + libnm_log_null, + libnm_glib_aux, + libnm_std_aux, + libc_siphash, + ], + link_args: ldflags_linker_script_binary, + link_depends: linker_script_binary, +) + +if enable_docs + gen_metadata_nm_settings_libnm_core_xml = custom_target( + 'gen-metadata-nm-settings-libnm-core.xml', + output: 'gen-metadata-nm-settings-libnm-core.xml', + command: [ gen_metadata_nm_settings_libnm_core ], + capture: true, + ) + + test( + 'check-local-gen-metadata-nm-settings-libnm-core', + find_program(join_paths(source_root, 'tools', 'check-compare-generated.sh')), + args: [ + source_root + '/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in', + gen_metadata_nm_settings_libnm_core_xml, + ], + ) +else + gen_metadata_nm_settings_libnm_core_xml = configure_file( + input: 'gen-metadata-nm-settings-libnm-core.xml.in', + output: '@BASENAME@', + configuration: configuration_data(), + ) +endif diff --git a/src/libnmc-setting/meson.build b/src/libnmc-setting/meson.build index 49314cad2e..cf8a21fc80 100644 --- a/src/libnmc-setting/meson.build +++ b/src/libnmc-setting/meson.build @@ -31,9 +31,8 @@ if enable_docs 'check-settings-docs', find_program(join_paths(source_root, 'tools', 'check-compare-generated.sh')), args: [ - source_root, - build_root, - 'src/libnmc-setting/settings-docs.h', + source_root + '/src/libnmc-setting/settings-docs.h.in', + settings_docs_source, ], ) else diff --git a/src/nmcli/generate-docs-nm-settings-nmcli.c b/src/nmcli/gen-metadata-nm-settings-nmcli.c index 196e4d35f8..196e4d35f8 100644 --- a/src/nmcli/generate-docs-nm-settings-nmcli.c +++ b/src/nmcli/gen-metadata-nm-settings-nmcli.c diff --git a/src/nmcli/generate-docs-nm-settings-nmcli.xml.in b/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in index 8600e7a5f4..8600e7a5f4 100644 --- a/src/nmcli/generate-docs-nm-settings-nmcli.xml.in +++ b/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in diff --git a/src/nmcli/meson.build b/src/nmcli/meson.build index a122e2af3a..7e3c44bfaa 100644 --- a/src/nmcli/meson.build +++ b/src/nmcli/meson.build @@ -45,10 +45,10 @@ executable( endif -generate_docs_nm_settings_nmcli = executable( - 'generate-docs-nm-settings-nmcli', +gen_metadata_nm_settings_nmcli = executable( + 'gen-metadata-nm-settings-nmcli', files( - 'generate-docs-nm-settings-nmcli.c', + 'gen-metadata-nm-settings-nmcli.c', ), dependencies: [ libnm_dep, @@ -70,25 +70,24 @@ generate_docs_nm_settings_nmcli = executable( ) if enable_docs - generate_docs_nm_settings_nmcli_xml = custom_target( - 'generate-docs-nm-settings-nmcli.xml', - output: 'generate-docs-nm-settings-nmcli.xml', - command: [ generate_docs_nm_settings_nmcli ], + gen_metadata_nm_settings_nmcli_xml = custom_target( + 'gen-metadata-nm-settings-nmcli.xml', + output: 'gen-metadata-nm-settings-nmcli.xml', + command: [ gen_metadata_nm_settings_nmcli ], capture: true, ) test( - 'check-local-generate-docs-nm-settings-nmcli', + 'check-local-gen-metadata-nm-settings-nmcli', find_program(join_paths(source_root, 'tools', 'check-compare-generated.sh')), args: [ - source_root, - build_root, - 'src/nmcli/generate-docs-nm-settings-nmcli.xml', + source_root + '/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in', + gen_metadata_nm_settings_nmcli_xml, ], ) else - settings_docs_source = configure_file( - input: 'generate-docs-nm-settings-nmcli.xml.in', + gen_metadata_nm_settings_nmcli_xml = configure_file( + input: 'gen-metadata-nm-settings-nmcli.xml.in', output: '@BASENAME@', configuration: configuration_data(), ) diff --git a/tools/check-compare-generated.sh b/tools/check-compare-generated.sh index 44b70f95c6..b66c5a1031 100755 --- a/tools/check-compare-generated.sh +++ b/tools/check-compare-generated.sh @@ -2,17 +2,16 @@ set -e -srcdir="$1" -builddir="$2" -doc_h="$3" +f_commited="$1" +f_generated="$2" [ -n "$NMTST_NO_CHECK_SETTINGS_DOCS" ] && exit 0 -cmp -s "${srcdir}/${doc_h}.in" "${builddir}/${doc_h}" && exit 0 +cmp -s "$f_commited" "$f_generated" && exit 0 if [ "$NM_TEST_REGENERATE" = 1 ] ; then - cp -f "${builddir}/${doc_h}" "${srcdir}/${doc_h}.in" + cp -f "$f_generated" "$f_commited" else - echo "*** Error: the generated file '${builddir}/${doc_h}' differs from the source file '${srcdir}/${doc_h}.in'. You probably should copy the generated file over to the source file. You can skip this test by setting NMTST_NO_CHECK_SETTINGS_DOCS=yes. You can also automatically copy the file by rerunning the test with NM_TEST_REGENERATE=1" + echo "*** Error: the generated file '$f_generated' differs from the source file '$f_commited'. You probably should copy the generated file over to the source file. You can skip this test by setting NMTST_NO_CHECK_SETTINGS_DOCS=yes. You can also automatically copy the file by rerunning the test with NM_TEST_REGENERATE=1" exit 1 fi |