3edf6f
From bd4f396f267d8ef8f9c9bcbf286a77dc78d4e1b0 Mon Sep 17 00:00:00 2001
3edf6f
From: Chris Lumens <clumens@redhat.com>
3edf6f
Date: Tue, 2 Mar 2021 10:26:13 -0500
3edf6f
Subject: [PATCH 1/2] Med: Generate xml/crm_mon.rng from the contents of
3edf6f
 xml/crm_mon*.
3edf6f
3edf6f
This prevents the version reference in it from getting out of sync.
3edf6f
3edf6f
See: rhbz#1931332
3edf6f
---
3edf6f
 xml/Makefile.am | 28 +++++++++++++++++++++++-----
3edf6f
 xml/crm_mon.rng | 16 ----------------
3edf6f
 3 files changed, 24 insertions(+), 21 deletions(-)
3edf6f
 delete mode 100644 xml/crm_mon.rng
3edf6f
3edf6f
diff --git a/xml/Makefile.am b/xml/Makefile.am
3edf6f
index cb6cfa0..c52b968 100644
3edf6f
--- a/xml/Makefile.am
3edf6f
+++ b/xml/Makefile.am
3edf6f
@@ -76,22 +76,24 @@ CIB_abs_xsl		= $(abs_srcdir)/upgrade-1.3.xsl			\
3edf6f
 			  $(abs_srcdir)/upgrade-2.10.xsl		\
3edf6f
 			  $(wildcard $(abs_srcdir)/upgrade-*enter.xsl)	\
3edf6f
 			  $(wildcard $(abs_srcdir)/upgrade-*leave.xsl)
3edf6f
-MON_abs_files		= $(abs_srcdir)/crm_mon.rng
3edf6f
+MON_abs_files 		= $(abs_srcdir)/crm_mon.rng
3edf6f
 API_files		= $(foreach base,$(API_base),$(wildcard $(srcdir)/api/$(base)*.rng))
3edf6f
 CIB_files		= $(foreach base,$(CIB_base),$(wildcard $(srcdir)/$(base).rng $(srcdir)/$(base)-*.rng))
3edf6f
 CIB_xsl			= $(srcdir)/upgrade-1.3.xsl			\
3edf6f
 			  $(srcdir)/upgrade-2.10.xsl		\
3edf6f
 			  $(wildcard $(srcdir)/upgrade-*enter.xsl)	\
3edf6f
 			  $(wildcard $(srcdir)/upgrade-*leave.xsl)
3edf6f
-MON_files		= $(srcdir)/crm_mon.rng
3edf6f
+MON_files 		= $(srcdir)/crm_mon.rng
3edf6f
 
3edf6f
 # Sorted lists of all numeric schema versions
3edf6f
 API_numeric_versions	= $(call numeric_versions,${API_files})
3edf6f
 CIB_numeric_versions	= $(call numeric_versions,${CIB_files})
3edf6f
+MON_numeric_versions 	= $(call numeric_versions,$(wildcard $(srcdir)/api/crm_mon*.rng))
3edf6f
 
3edf6f
 # The highest numeric schema version
3edf6f
 API_max			?= $(lastword $(API_numeric_versions))
3edf6f
 CIB_max			?= $(lastword $(CIB_numeric_versions))
3edf6f
+MON_max 			?= $(lastword $(MON_numeric_versions))
3edf6f
 
3edf6f
 # Sorted lists of all schema versions (including "next")
3edf6f
 API_versions		= next $(API_numeric_versions)
3edf6f
@@ -100,11 +102,12 @@ CIB_versions		= next $(CIB_numeric_versions)
3edf6f
 # Build tree locations of static schema files and transforms (for VPATH builds)
3edf6f
 API_build_copies	= $(foreach f,$(API_abs_files),$(subst $(abs_srcdir),$(abs_builddir),$(f)))
3edf6f
 CIB_build_copies	= $(foreach f,$(CIB_abs_files) $(CIB_abs_xsl),$(subst $(abs_srcdir),$(abs_builddir),$(f)))
3edf6f
-MON_build_copies	= $(foreach f,$(MON_abs_files),$(subst $(abs_srcdir),$(abs_builddir),$(f)))
3edf6f
+MON_build_copies 	= $(foreach f,$(MON_abs_files),$(subst $(abs_srcdir),$(abs_builddir),$(f)))
3edf6f
 
3edf6f
 # Dynamically generated schema files
3edf6f
 API_generated		= api/api-result.rng $(foreach base,$(API_versions),api/api-result-$(base).rng)
3edf6f
 CIB_generated		= pacemaker.rng $(foreach base,$(CIB_versions),pacemaker-$(base).rng) versions.rng
3edf6f
+MON_generated 		= crm_mon.rng
3edf6f
 
3edf6f
 CIB_version_pairs	= $(call version_pairs,${CIB_numeric_versions})
3edf6f
 CIB_version_pairs_cnt	= $(words ${CIB_version_pairs})
3edf6f
@@ -112,10 +115,10 @@ CIB_version_pairs_last  = $(call version_pairs_last,${CIB_version_pairs_cnt},${C
3edf6f
 
3edf6f
 dist_API_DATA		= $(API_files)
3edf6f
 dist_CIB_DATA		= $(CIB_files) $(CIB_xsl)
3edf6f
-dist_MON_DATA		= $(MON_files)
3edf6f
 
3edf6f
 nodist_API_DATA		= $(API_generated)
3edf6f
 nodist_CIB_DATA		= $(CIB_generated)
3edf6f
+nodist_MON_DATA		= $(MON_generated)
3edf6f
 
3edf6f
 EXTRA_DIST		= Readme.md			\
3edf6f
 			  best-match.sh			\
3edf6f
@@ -162,6 +165,21 @@ api/api-result-%.rng: $(API_build_copies) best-match.sh Makefile.am
3edf6f
 	$(AM_V_at)echo '  </start>' >> $@
3edf6f
 	$(AM_V_SCHEMA)echo '</grammar>' >> $@
3edf6f
 
3edf6f
+crm_mon.rng: api/crm_mon-$(MON_max).rng
3edf6f
+	$(AM_V_at)echo '' > $@
3edf6f
+	$(AM_V_at)echo '<grammar xmlns="http://relaxng.org/ns/structure/1.0"' >> $@
3edf6f
+	$(AM_V_at)echo '         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">' >> $@
3edf6f
+	$(AM_V_at)echo '    <start>' >> $@
3edf6f
+	$(AM_V_at)echo '        <ref name="element-crm_mon-old"/>' >> $@
3edf6f
+	$(AM_V_at)echo '    </start>' >> $@
3edf6f
+	$(AM_V_at)echo '    <define name="element-crm_mon-old">' >> $@
3edf6f
+	$(AM_V_at)echo '        <element name="crm_mon">' >> $@
3edf6f
+	$(AM_V_at)echo '            <attribute name="version"> <text/> </attribute>' >> $@
3edf6f
+	$(AM_V_at)echo '            <externalRef href="$(<)" />' >> $@
3edf6f
+	$(AM_V_at)echo '        </element>' >> $@
3edf6f
+	$(AM_V_at)echo '    </define>' >> $@
3edf6f
+	$(AM_V_SCHEMA)echo '</grammar>' >> $@
3edf6f
+
3edf6f
 # Dynamically generated top-level CIB schema
3edf6f
 pacemaker.rng: pacemaker-$(CIB_max).rng
3edf6f
 	$(AM_V_SCHEMA)cp $(top_builddir)/xml/$< $@
3edf6f
@@ -256,7 +274,7 @@ fulldiff: best-match.sh
3edf6f
 	@echo "#  Comparing all changes across all the subsequent increments"
3edf6f
 	$(call version_diff,${CIB_version_pairs})
3edf6f
 
3edf6f
-CLEANFILES = $(API_generated) $(CIB_generated)
3edf6f
+CLEANFILES = $(API_generated) $(CIB_generated) $(MON_generated)
3edf6f
 
3edf6f
 clean-local:
3edf6f
 	if [ "x$(srcdir)" != "x$(builddir)" ]; then					\
3edf6f
diff --git a/xml/crm_mon.rng b/xml/crm_mon.rng
3edf6f
deleted file mode 100644
3edf6f
index be87fba..0000000
3edf6f
--- a/xml/crm_mon.rng
3edf6f
+++ /dev/null
3edf6f
@@ -1,16 +0,0 @@
3edf6f
-
3edf6f
-
3edf6f
-         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3edf6f
-
3edf6f
-    <start>
3edf6f
-        <ref name="element-crm_mon-old"/>
3edf6f
-    </start>
3edf6f
-
3edf6f
-    <define name="element-crm_mon-old">
3edf6f
-        <element name="crm_mon">
3edf6f
-            <attribute name="version"> <text/> </attribute>
3edf6f
-            <externalRef href="api/crm_mon-2.2.rng" />
3edf6f
-        </element>
3edf6f
-    </define>
3edf6f
-
3edf6f
-</grammar>
3edf6f
-- 
3edf6f
1.8.3.1
3edf6f
3edf6f
3edf6f
From 9b6ee6eb5aa1008beebae9d9f6c3889c81c3bbb6 Mon Sep 17 00:00:00 2001
3edf6f
From: Chris Lumens <clumens@redhat.com>
3edf6f
Date: Tue, 2 Mar 2021 10:58:15 -0500
3edf6f
Subject: [PATCH 2/2] Med: Change the schema type of 'expected' and 'call' to
3edf6f
 integer.
3edf6f
3edf6f
Regression in 2.0.3.
3edf6f
3edf6f
See: rhbz#1931332
3edf6f
---
3edf6f
 xml/api/crm_mon-2.2.rng      | 4 ++--
3edf6f
 2 files changed, 3 insertions(+), 3 deletions(-)
3edf6f
3edf6f
diff --git a/xml/api/crm_mon-2.2.rng b/xml/api/crm_mon-2.2.rng
3edf6f
index 88973a4..8e6792b 100644
3edf6f
--- a/xml/api/crm_mon-2.2.rng
3edf6f
+++ b/xml/api/crm_mon-2.2.rng
3edf6f
@@ -198,7 +198,7 @@
3edf6f
                     <attribute name="name"> <text /> </attribute>
3edf6f
                     <attribute name="value"> <text /> </attribute>
3edf6f
                     <optional>
3edf6f
-                        <attribute name="expected"> <data type="nonNegativeInteger" /> </attribute>
3edf6f
+                        <attribute name="expected"> <data type="integer" /> </attribute>
3edf6f
                     </optional>
3edf6f
                 </element>
3edf6f
             </zeroOrMore>
3edf6f
@@ -269,7 +269,7 @@
3edf6f
             <attribute name="exitstatus"> <text /> </attribute>
3edf6f
             <attribute name="exitreason"> <text /> </attribute>
3edf6f
             <attribute name="exitcode"> <data type="nonNegativeInteger" /> </attribute>
3edf6f
-            <attribute name="call"> <data type="nonNegativeInteger" /> </attribute>
3edf6f
+            <attribute name="call"> <data type="integer" /> </attribute>
3edf6f
             <attribute name="status"> <text /> </attribute>
3edf6f
             <optional>
3edf6f
                 <group>
3edf6f
-- 
3edf6f
1.8.3.1
3edf6f