openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
June 2022
- 1 participants
- 2040 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package yast2 for openSUSE:Factory checked in at 2022-06-29 16:01:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2 (Old)
and /work/SRC/openSUSE:Factory/.yast2.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2"
Wed Jun 29 16:01:01 2022 rev:534 rq:985611 version:4.5.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2/yast2.changes 2022-06-18 22:05:26.695592611 +0200
+++ /work/SRC/openSUSE:Factory/.yast2.new.1548/yast2.changes 2022-06-29 16:02:00.400674490 +0200
@@ -1,0 +2,7 @@
+Fri Jun 24 12:08:30 UTC 2022 - Ladislav Slez��k <lslezak(a)suse.cz>
+
+- save_y2logs - check both Packages and Packages.db in
+ /var/lib/rpm (bsc#1200831)
+- 4.5.6
+
+-------------------------------------------------------------------
Old:
----
yast2-4.5.5.tar.bz2
New:
----
yast2-4.5.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2.spec ++++++
--- /var/tmp/diff_new_pack.g552rz/_old 2022-06-29 16:02:01.196675550 +0200
+++ /var/tmp/diff_new_pack.g552rz/_new 2022-06-29 16:02:01.200675555 +0200
@@ -17,7 +17,7 @@
Name: yast2
-Version: 4.5.5
+Version: 4.5.6
Release: 0
Summary: YaST2 Main Package
++++++ yast2-4.5.5.tar.bz2 -> yast2-4.5.6.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.5.5/package/yast2.changes new/yast2-4.5.6/package/yast2.changes
--- old/yast2-4.5.5/package/yast2.changes 2022-06-16 13:17:20.000000000 +0200
+++ new/yast2-4.5.6/package/yast2.changes 2022-06-28 16:27:17.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Fri Jun 24 12:08:30 UTC 2022 - Ladislav Slez��k <lslezak(a)suse.cz>
+
+- save_y2logs - check both Packages and Packages.db in
+ /var/lib/rpm (bsc#1200831)
+- 4.5.6
+
+-------------------------------------------------------------------
Thu Jun 16 11:06:09 UTC 2022 - Josef Reidinger <jreidinger(a)suse.com>
- Allow to install missing packages in chroot (bsc#1199840)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.5.5/package/yast2.spec new/yast2-4.5.6/package/yast2.spec
--- old/yast2-4.5.5/package/yast2.spec 2022-06-16 13:17:20.000000000 +0200
+++ new/yast2-4.5.6/package/yast2.spec 2022-06-28 16:27:17.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2
-Version: 4.5.5
+Version: 4.5.6
Release: 0
Summary: YaST2 Main Package
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-4.5.5/scripts/save_y2logs new/yast2-4.5.6/scripts/save_y2logs
--- old/yast2-4.5.5/scripts/save_y2logs 2022-06-16 13:17:20.000000000 +0200
+++ new/yast2-4.5.6/scripts/save_y2logs 2022-06-28 16:27:17.000000000 +0200
@@ -98,7 +98,7 @@
fi
# installed packages
-if [ -f /var/lib/rpm/Packages -a "$(type -p rpm)" ]; then
+if [ -f /var/lib/rpm/Packages -o -f /var/lib/rpm/Packages.db ] && [ "$(type -p rpm)" ]; then
rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}\t\t\t(%{VENDOR})\t%{DISTRIBUTION}\n' 2>/dev/null | sort >/$TMPDIR/rpm-qa
LIST_TMP="$LIST_TMP rpm-qa"
fi
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package pacemaker for openSUSE:Factory checked in at 2022-06-29 16:01:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pacemaker (Old)
and /work/SRC/openSUSE:Factory/.pacemaker.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pacemaker"
Wed Jun 29 16:01:00 2022 rev:144 rq:985605 version:2.1.4+20220615.dc6eb4362
Changes:
--------
--- /work/SRC/openSUSE:Factory/pacemaker/pacemaker.changes 2022-05-30 12:43:04.256320303 +0200
+++ /work/SRC/openSUSE:Factory/.pacemaker.new.1548/pacemaker.changes 2022-06-29 16:01:57.732670939 +0200
@@ -1,0 +2,31 @@
+Tue Jun 21 13:20:12 UTC 2022 - Yan Gao <ygao(a)suse.com>
+
+- Update to version 2.1.4+20220615.dc6eb4362 (Pacemaker-2.1.4)
+
+-------------------------------------------------------------------
+Thu Jun 09 17:12:47 UTC 2022 - Yan Gao <ygao(a)suse.com>
+
+- Update to version 2.1.3+20220608.d7fce3868:
+- libstonithd: pull exit reason directly from history replies
+- fencer: assume unknown status from older fencers' history replies
+- resources: add SystemHealth parameter to its meta-data
+- resources: remove no-longer-relevant DTD reference from meta-data
+- resources: typo in HealthSMART meta-data
+
+-------------------------------------------------------------------
+Tue Jun 07 10:45:08 UTC 2022 - Yan Gao <ygao(a)suse.com>
+
+- Update to version 2.1.3+20220603.ea9bebf6c (Pacemaker-2.1.4-rc1):
+- fencer: avoid use-after-free with self-fencing and topology
+- fencer: get target-by-attribute working again
+- libcrmcommon: fix a wrong separator in the .warning CSS declaration
+- fencer: avoid memory leaks when processing topology requests
+- Fix print spec for unsigned int count
+- fencing: delegate shouldn't matter when checking equivalent fencing
+
+-------------------------------------------------------------------
+Thu Jun 02 07:38:49 UTC 2022 - Yan Gao <ygao(a)suse.com>
+
+- Update to version 2.1.3+20220601.da2fd79c8 (Pacemaker-2.1.3)
+
+-------------------------------------------------------------------
Old:
----
pacemaker-2.1.2+20220526.b387f8972.tar.xz
New:
----
pacemaker-2.1.4+20220615.dc6eb4362.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pacemaker.spec ++++++
--- /var/tmp/diff_new_pack.UapK89/_old 2022-06-29 16:01:58.348671759 +0200
+++ /var/tmp/diff_new_pack.UapK89/_new 2022-06-29 16:01:58.352671764 +0200
@@ -104,7 +104,7 @@
%define with_regression_tests 0
Name: pacemaker
-Version: 2.1.2+20220526.b387f8972
+Version: 2.1.4+20220615.dc6eb4362
Release: 0
Summary: Scalable High-Availability cluster resource manager
# AGPL-3.0 licensed extra/clustermon.sh is not present in the binary
++++++ _service ++++++
--- /var/tmp/diff_new_pack.UapK89/_old 2022-06-29 16:01:58.388671811 +0200
+++ /var/tmp/diff_new_pack.UapK89/_new 2022-06-29 16:01:58.392671818 +0200
@@ -8,10 +8,10 @@
To update to a new release, change "revision" to the desired
git commit hash and bump "version" if necessary
- <param name="version">2.1.2</param>
+ <param name="version">2.1.4</param>
-->
- <param name="versionformat">2.1.2+%cd.%h</param>
- <param name="revision">b387f8972</param>
+ <param name="versionformat">2.1.4+%cd.%h</param>
+ <param name="revision">Pacemaker-2.1.4</param>
<param name="changesgenerate">enable</param>
</service>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.UapK89/_old 2022-06-29 16:01:58.428671865 +0200
+++ /var/tmp/diff_new_pack.UapK89/_new 2022-06-29 16:01:58.432671871 +0200
@@ -5,6 +5,6 @@
</service>
<service name="tar_scm">
<param name="url">https://github.com/ClusterLabs/pacemaker.git</param>
- <param name="changesrevision">761f125623a4e46b827bc07013fdf930b08aa802</param></service></servicedata>
+ <param name="changesrevision">dc6eb4362e67c1497a413434eba097063bf1ef83</param></service></servicedata>
(No newline at EOF)
++++++ pacemaker-2.1.2+20220526.b387f8972.tar.xz -> pacemaker-2.1.4+20220615.dc6eb4362.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/ChangeLog new/pacemaker-2.1.4+20220615.dc6eb4362/ChangeLog
--- old/pacemaker-2.1.2+20220526.b387f8972/ChangeLog 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/ChangeLog 2022-06-15 16:27:17.000000000 +0200
@@ -1,24 +1,19 @@
-* Mon May 16 2022 Ken Gaillot <kgaillot(a)redhat.com> Pacemaker-2.1.3-rc2
-- Changesets: 28
-- Diff: 24 files changed, 810 insertions(+), 156 deletions(-)
-
-- Features added since Pacemaker-2.1.3-rc1
- + rpm: crm_attribute is now part of the pacemaker-cli package instead of
- the pacemaker package
-
-- Fixes since Pacemaker-2.1.3-rc1
- + scheduler: make multiple-active="stop_unexpected" actually work
- + libcrmcommon: retry IPC requests after EAGAIN errors
- + tools: get attrd_updater -Y working again (regression in 2.1.3-rc1)
- + tools: support command-line crm_attribute calls on Pacemaker remote nodes
- whose node name in the cluster differs from their local hostname
-
-- Public API changes since Pacemaker-2.1.3-rc1
- + libstonithd: deprecate stonith_t:call_timeout
-
-* Mon Apr 18 2022 Ken Gaillot <kgaillot(a)redhat.com> Pacemaker-2.1.3-rc1
-- Changesets: 779
-- Diff: 330 files changed, 22740 insertions(+), 12103 deletions(-)
+* Mon Jun 13 2022 Ken Gaillot <kgaillot(a)redhat.com> Pacemaker-2.1.4
+- Changesets: 17
+- Diff: 9 files changed, 52 insertions(+), 18 deletions(-)
+
+- Fixes since Pacemaker-2.1.3
+ + fencing: get target-by-attribute working again (regression in 2.1.3)
+ + fencing: avoid use-after-free when processing self-fencing requests
+ with topology (regression in 2.1.3)
+ + resources: typo in HealthSMART meta-data (regression in 2.1.3)
+ + fencing: avoid memory leaks when processing topology requests
+ + fencing: delegate shouldn't matter when checking equivalent fencing
+ + tools: fix CSS syntax error in crm_mon --output-as=html
+
+* Wed Jun 1 2022 Ken Gaillot <kgaillot(a)redhat.com> Pacemaker-2.1.3
+- Changesets: 814
+- Diff: 332 files changed, 23435 insertions(+), 12137 deletions(-)
- Features added since Pacemaker-2.1.2
+ Internal failures of resource actions (such as an OCF agent not being
@@ -28,6 +23,8 @@
+ build: configure script supports experimental --enable-nls option to
enable native language translations (currently only Chinese
translations of certain help text are available)
+ + rpm: crm_attribute is now part of the pacemaker-cli package instead of
+ the pacemaker package
+ CIB: resources support allow-unhealthy-nodes meta-attribute to exempt
the resource from bans due to node health checks (particularly useful
for health monitoring resources themselves)
@@ -69,12 +66,15 @@
+ resources: use correct syntax in Stateful meta-data
(regression introduced in 2.1.0)
+ corosync: repeat corosync_cfg_trackstart if first attempt fails
+ + libcrmcommon: retry IPC requests after EAGAIN errors
+ executor,scheduler: treat "no secrets" fence results as a hard error
+ fencing: handle dynamic target query failures better
+ fencing: don't set stonith action to pending if fork fails
+ pacemakerd: avoid race condition when subdaemaon is checked while exiting
+ scheduler: avoid memory leak when displaying clones in certain conditions
+ scheduler: properly set data set flags when scheduling actions
+ + tools: support command-line crm_attribute calls on Pacemaker remote nodes
+ whose node name in the cluster differs from their local hostname
+ tools: prevent possible crm_resource crashes if multiple commands specified
- Public API changes since Pacemaker-2.1.2
@@ -96,6 +96,7 @@
+ libpe_status: deprecate pe_order_stonith_stop
+ libpe_status: deprecate pe_rsc_starting and pe_rsc_stopping
+ libstonithd: add exit_reason member to stonith_history_t
+ + libstonithd: deprecate stonith_t:call_timeout
+ libstonithd: stonith_api_del_notification() with NULL second argument
removes all notifications
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/cts/lab/CIB.py new/pacemaker-2.1.4+20220615.dc6eb4362/cts/lab/CIB.py
--- old/pacemaker-2.1.2+20220526.b387f8972/cts/lab/CIB.py 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/cts/lab/CIB.py 2022-06-15 16:27:17.000000000 +0200
@@ -127,7 +127,7 @@
(rc, output) = self.Factory.rsh(self.Factory.target,
r"""awk -v RS="}" """
r"""'/^(\s*nodelist\s*{)?\s*node\s*{.*(ring0_addr|name):\s*%s(\s+|$)/"""
- r"""{gsub(/.*nodeid:\s*/,"");gsub(/\s+.*$/,"");print}'%s"""
+ r"""{gsub(/.*nodeid:\s*/,"");gsub(/\s+.*$/,"");print}' %s"""
% (node_name, CTSvars.COROSYNC_CONF), None)
if rc == 0 and len(output) == 1:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/daemons/fenced/fenced_commands.c new/pacemaker-2.1.4+20220615.dc6eb4362/daemons/fenced/fenced_commands.c
--- old/pacemaker-2.1.2+20220526.b387f8972/daemons/fenced/fenced_commands.c 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/daemons/fenced/fenced_commands.c 2022-06-15 16:27:17.000000000 +0200
@@ -1549,7 +1549,7 @@
}
if (!stand_alone /* if standalone, there's no attribute manager */
&& (crm_element_value(level, XML_ATTR_STONITH_TARGET_ATTRIBUTE) != NULL)
- && (crm_element_value(level, XML_ATTR_STONITH_TARGET_VALUE) == NULL)) {
+ && (crm_element_value(level, XML_ATTR_STONITH_TARGET_VALUE) != NULL)) {
return fenced_target_by_attribute;
}
return fenced_target_by_unknown;
@@ -1669,6 +1669,7 @@
if (tp == NULL) {
pcmk__set_result(result, CRM_EX_ERROR, PCMK_EXEC_ERROR,
strerror(ENOMEM));
+ free(target);
return;
}
tp->kind = mode;
@@ -3326,6 +3327,7 @@
"Unprivileged users must delete level via CIB");
}
fenced_send_level_notification(op, &request->result, device_id);
+ free(device_id);
return fenced_construct_reply(request->xml, NULL, &request->result);
}
@@ -3496,7 +3498,7 @@
.result = PCMK__UNKNOWN_RESULT,
};
- request.op = crm_element_value(request.xml, F_STONITH_OPERATION);
+ request.op = crm_element_value_copy(request.xml, F_STONITH_OPERATION);
CRM_CHECK(request.op != NULL, return);
if (pcmk_is_set(request.call_options, st_opt_sync_call)) {
@@ -3504,6 +3506,6 @@
}
handle_request(&request);
- pcmk__reset_result(&request.result);
+ pcmk__reset_request(&request);
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/daemons/fenced/fenced_history.c new/pacemaker-2.1.4+20220615.dc6eb4362/daemons/fenced/fenced_history.c
--- old/pacemaker-2.1.2+20220526.b387f8972/daemons/fenced/fenced_history.c 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/daemons/fenced/fenced_history.c 2022-06-15 16:27:17.000000000 +0200
@@ -233,6 +233,8 @@
remote_fencing_op_t *op = NULL;
char *id = crm_element_value_copy(xml_op, F_STONITH_REMOTE_OP_ID);
int state;
+ int exit_status = CRM_EX_OK;
+ int execution_status = PCMK_EXEC_DONE;
long long completed;
long long completed_nsec = 0L;
@@ -257,7 +259,23 @@
op->completed_nsec = completed_nsec;
crm_element_value_int(xml_op, F_STONITH_STATE, &state);
op->state = (enum op_state) state;
- stonith__xe_get_result(xml_op, &op->result);
+
+ /* @COMPAT We can't use stonith__xe_get_result() here because
+ * fencers <2.1.3 didn't include results, leading it to assume an error
+ * status. Instead, set an unknown status in that case.
+ */
+ if ((crm_element_value_int(xml_op, XML_LRM_ATTR_RC, &exit_status) < 0)
+ || (crm_element_value_int(xml_op, XML_LRM_ATTR_OPSTATUS,
+ &execution_status) < 0)) {
+ exit_status = CRM_EX_INDETERMINATE;
+ execution_status = PCMK_EXEC_UNKNOWN;
+ }
+ pcmk__set_result(&op->result, exit_status, execution_status,
+ crm_element_value(xml_op, XML_LRM_ATTR_EXIT_REASON));
+ pcmk__set_result_output(&op->result,
+ crm_element_value_copy(xml_op, F_STONITH_OUTPUT),
+ NULL);
+
g_hash_table_replace(rv, id, op);
CRM_LOG_ASSERT(g_hash_table_lookup(rv, id) != NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/ClusterMon.in new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/ClusterMon.in
--- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/ClusterMon.in 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/ClusterMon.in 2022-06-15 16:27:17.000000000 +0200
@@ -32,8 +32,7 @@
meta_data() {
cat <<END
<?xml version="1.0"?>
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
-<resource-agent name="ClusterMon" version="1.0">
+<resource-agent name="ClusterMon" version="1.1">
<version>1.0</version>
<longdesc lang="en">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/HealthCPU new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/HealthCPU
--- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/HealthCPU 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/HealthCPU 2022-06-15 16:27:17.000000000 +0200
@@ -2,7 +2,7 @@
#
# ocf:pacemaker:HealthCPU resource agent
#
-# Copyright 2004-2019 the Pacemaker project contributors
+# Copyright 2004-2022 the Pacemaker project contributors
#
# The version control history for this file may have further details.
#
@@ -32,8 +32,7 @@
meta_data() {
cat <<END
<?xml version="1.0"?>
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
-<resource-agent name="HealthCPU" version="0.1">
+<resource-agent name="HealthCPU" version="1.0">
<version>1.0</version>
<longdesc lang="en">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/HealthSMART.in new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/HealthSMART.in
--- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/HealthSMART.in 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/HealthSMART.in 2022-06-15 16:27:17.000000000 +0200
@@ -108,7 +108,7 @@
The path to the smartctl program, used for querying device health.
</longdesc>
<shortdesc lang="en">The path to the smartctl program</shortdesc>
-<contest type="string" default="/usr/sbin/smartctl"/>
+<content type="string" default="/usr/sbin/smartctl"/>
</parameter>
<parameter name="dampen" reloadable="1">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/Makefile.am new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/Makefile.am
--- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/Makefile.am 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/Makefile.am 2022-06-15 16:27:17.000000000 +0200
@@ -36,5 +36,20 @@
endif
+
+# Pass correct local values to validate target manually
+RNG := /dev/null
+OCF_ROOT := /usr/lib/ocf
+
+.PHONY: validate
+validate: all
+ @cat "$(RNG)" >/dev/null 2>/dev/null || { echo "Must specify valid RNG" && false; }
+ @[ -x "$(OCF_ROOT)/lib/heartbeat" ] || { echo "Must specify valid OCF_ROOT" && false; }
+ @for AGENT in $(dist_ocf_SCRIPTS) $(ocf_SCRIPTS); do \
+ echo -e "\n\n## $$AGENT:"; \
+ OCF_ROOT="$(OCF_ROOT)" "$(builddir)/$$AGENT" meta-data \
+ | xmllint --noout --relaxng $(RNG) - || break; \
+ done
+
clean-generic:
rm -f $(man7_MANS) $(ocf_SCRIPTS:%=%.xml) $(dist_ocf_SCRIPTS:%=%.xml) *~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/SysInfo.in new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/SysInfo.in
--- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/SysInfo.in 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/SysInfo.in 2022-06-15 16:27:17.000000000 +0200
@@ -35,7 +35,6 @@
meta_data() {
cat <<END
<?xml version="1.0"?>
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
<resource-agent name="SysInfo" version="1.0">
<version>1.0</version>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/SystemHealth new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/SystemHealth
--- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/SystemHealth 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/SystemHealth 2022-06-15 16:27:17.000000000 +0200
@@ -2,7 +2,7 @@
#
# ocf:pacemaker:SystemHealth resource agent
#
-# Copyright 2009-2019 the Pacemaker project contributors
+# Copyright 2009-2022 the Pacemaker project contributors
#
# The version control history for this file may have further details.
#
@@ -22,8 +22,7 @@
meta_data() {
cat <<END
<?xml version="1.0"?>
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
-<resource-agent name="SystemHealth" version="0.1">
+<resource-agent name="SystemHealth" version="1.0">
<version>1.0</version>
<longdesc lang="en">
@@ -33,6 +32,11 @@
<shortdesc lang="en">SystemHealth resource agent</shortdesc>
<parameters>
+ <parameter name="program">
+ <longdesc lang="en">Path to notifyServicelogEvent command</longdesc>
+ <shortdesc lang="en">Path to notify command</shortdesc>
+ <content type="string" default="/usr/sbin/notifyServicelogEvent"/>
+ </parameter>
</parameters>
<actions>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/controld new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/controld
--- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/controld 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/controld 2022-06-15 16:27:17.000000000 +0200
@@ -2,7 +2,7 @@
#
# ocf:pacemaker:controld resource agent
#
-# Copyright 2008-2021 the Pacemaker project contributors
+# Copyright 2008-2022 the Pacemaker project contributors
#
# The version control history for this file may have further details.
#
@@ -52,8 +52,7 @@
meta_data() {
cat <<END
<?xml version="1.0"?>
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
-<resource-agent name="controld" version="1.1">
+<resource-agent name="controld" version="1.2">
<version>1.0</version>
<longdesc lang="en">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/ifspeed.in new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/ifspeed.in
--- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/ifspeed.in 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/ifspeed.in 2022-06-15 16:27:17.000000000 +0200
@@ -64,7 +64,6 @@
meta_data() {
cat <<END
<?xml version="1.0"?>
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
<resource-agent name="ifspeed" version="1.0">
<version>1.0</version>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/o2cb.in new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/o2cb.in
--- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/o2cb.in 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/o2cb.in 2022-06-15 16:27:17.000000000 +0200
@@ -363,7 +363,6 @@
meta_data() {
cat <<END
<?xml version="1.0"?>
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
<resource-agent name="o2cb" version="1.0">
<version>1.0</version>
<longdesc lang="en">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/include/crm/common/messages_internal.h new/pacemaker-2.1.4+20220615.dc6eb4362/include/crm/common/messages_internal.h
--- old/pacemaker-2.1.2+20220526.b387f8972/include/crm/common/messages_internal.h 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/include/crm/common/messages_internal.h 2022-06-15 16:27:17.000000000 +0200
@@ -50,11 +50,14 @@
* generically, but each daemon uses a different XML attribute for it,
* so the daemon is responsible for populating this field.
*
+ * This must be a copy of the XML field, and not just a pointer into xml,
+ * because handlers might modify the original XML.
+ *
* @TODO Create a per-daemon struct with IPC handlers, IPC endpoints, etc.,
* and the name of the XML attribute for IPC commands, then replace this
- * with a convenience function to grab the command.
+ * with a convenience function to copy the command.
*/
- const char *op; // IPC command from xml
+ char *op; // IPC command name
} pcmk__request_t;
#define pcmk__set_request_flags(request, flags_to_set) do { \
@@ -72,6 +75,7 @@
const char *pcmk__message_name(const char *name);
GHashTable *pcmk__register_handlers(pcmk__server_command_t handlers[]);
xmlNode *pcmk__process_request(pcmk__request_t *request, GHashTable *handlers);
+void pcmk__reset_request(pcmk__request_t *request);
/*!
* \internal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/lib/common/Makefile.am new/pacemaker-2.1.4+20220615.dc6eb4362/lib/common/Makefile.am
--- old/pacemaker-2.1.2+20220526.b387f8972/lib/common/Makefile.am 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/lib/common/Makefile.am 2022-06-15 16:27:17.000000000 +0200
@@ -31,7 +31,7 @@
noinst_HEADERS = crmcommon_private.h mock_private.h
-libcrmcommon_la_LDFLAGS = -version-info 43:0:9
+libcrmcommon_la_LDFLAGS = -version-info 43:1:9
libcrmcommon_la_CFLAGS = $(CFLAGS_HARDENED_LIB)
libcrmcommon_la_LDFLAGS += $(LDFLAGS_HARDENED_LIB)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/lib/common/messages.c new/pacemaker-2.1.4+20220615.dc6eb4362/lib/common/messages.c
--- old/pacemaker-2.1.2+20220526.b387f8972/lib/common/messages.c 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/lib/common/messages.c 2022-06-15 16:27:17.000000000 +0200
@@ -276,3 +276,18 @@
return (*handler)(request);
}
+
+/*!
+ * \internal
+ * \brief Free memory used within a request (but not the request itself)
+ *
+ * \param[in] request Request to reset
+ */
+void
+pcmk__reset_request(pcmk__request_t *request)
+{
+ free(request->op);
+ request->op = NULL;
+
+ pcmk__reset_result(&(request->result));
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/lib/common/output_html.c new/pacemaker-2.1.4+20220615.dc6eb4362/lib/common/output_html.c
--- old/pacemaker-2.1.2+20220526.b387f8972/lib/common/output_html.c 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/lib/common/output_html.c 2022-06-15 16:27:17.000000000 +0200
@@ -33,7 +33,7 @@
".rsc-multiple { color: orange }\n"
".rsc-ok { color: green }\n"
- ".warning { color: red, font-weight: bold }";
+ ".warning { color: red; font-weight: bold }";
static gboolean cgi_output = FALSE;
static char *stylesheet_link = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/lib/fencing/Makefile.am new/pacemaker-2.1.4+20220615.dc6eb4362/lib/fencing/Makefile.am
--- old/pacemaker-2.1.2+20220526.b387f8972/lib/fencing/Makefile.am 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/lib/fencing/Makefile.am 2022-06-15 16:27:17.000000000 +0200
@@ -14,7 +14,7 @@
lib_LTLIBRARIES = libstonithd.la
-libstonithd_la_LDFLAGS = -version-info 34:0:8
+libstonithd_la_LDFLAGS = -version-info 34:1:8
libstonithd_la_CFLAGS = $(CFLAGS_HARDENED_LIB)
libstonithd_la_LDFLAGS += $(LDFLAGS_HARDENED_LIB)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/lib/fencing/st_client.c new/pacemaker-2.1.4+20220615.dc6eb4362/lib/fencing/st_client.c
--- old/pacemaker-2.1.2+20220526.b387f8972/lib/fencing/st_client.c 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/lib/fencing/st_client.c 2022-06-15 16:27:17.000000000 +0200
@@ -705,7 +705,6 @@
stonith_history_t *kvp;
long long completed;
long long completed_nsec = 0L;
- pcmk__action_result_t result = PCMK__UNKNOWN_RESULT;
kvp = calloc(1, sizeof(stonith_history_t));
kvp->target = crm_element_value_copy(op, F_STONITH_TARGET);
@@ -718,11 +717,8 @@
crm_element_value_ll(op, F_STONITH_DATE_NSEC, &completed_nsec);
kvp->completed_nsec = completed_nsec;
crm_element_value_int(op, F_STONITH_STATE, &kvp->state);
-
- stonith__xe_get_result(op, &result);
- kvp->exit_reason = result.exit_reason;
- result.exit_reason = NULL;
- pcmk__reset_result(&result);
+ kvp->exit_reason = crm_element_value_copy(op,
+ XML_LRM_ATTR_EXIT_REASON);
if (last) {
last->next = kvp;
@@ -2203,8 +2199,7 @@
if ((prev_hp->state == st_done) &&
pcmk__str_eq(event->target, prev_hp->target, pcmk__str_casei) &&
pcmk__str_eq(event->action, prev_hp->action, pcmk__str_casei) &&
- pcmk__str_eq(event->delegate, prev_hp->delegate, pcmk__str_casei) &&
- ((event->completed < prev_hp->completed) ||
+ ((event->completed < prev_hp->completed) ||
((event->completed == prev_hp->completed) && (event->completed_nsec < prev_hp->completed_nsec)))) {
ret = TRUE;
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/m4/version.m4 new/pacemaker-2.1.4+20220615.dc6eb4362/m4/version.m4
--- old/pacemaker-2.1.2+20220526.b387f8972/m4/version.m4 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/m4/version.m4 2022-06-15 16:27:17.000000000 +0200
@@ -1,2 +1,2 @@
-m4_define([VERSION_NUMBER], [2.1.3])
+m4_define([VERSION_NUMBER], [2.1.4])
m4_define([PCMK_URL], [https://ClusterLabs.org/pacemaker/]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/po/zh_CN.po new/pacemaker-2.1.4+20220615.dc6eb4362/po/zh_CN.po
--- old/pacemaker-2.1.2+20220526.b387f8972/po/zh_CN.po 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/po/zh_CN.po 2022-06-15 16:27:17.000000000 +0200
@@ -11,7 +11,7 @@
msgstr ""
"Project-Id-Version: Pacemaker 2\n"
"Report-Msgid-Bugs-To: developers(a)clusterlabs.org\n"
-"POT-Creation-Date: 2022-04-08 10:34-0500\n"
+"POT-Creation-Date: 2022-06-03 09:28-0500\n"
"PO-Revision-Date: 2021-11-08 11:04+0800\n"
"Last-Translator: Vivi <developers(a)clusterlabs.org>\n"
"Language-Team: CHINESE <wangluwei(a)uniontech.org>\n"
@@ -107,20 +107,20 @@
"������������������������������������������PID������������Evicting client������������������������������������"
"���������������������������������������"
-#: lib/common/options.c:590
+#: lib/common/options.c:594
msgid " Allowed values: "
msgstr ""
-#: lib/pengine/common.c:131
+#: lib/pengine/common.c:119
msgid "Whether watchdog integration is enabled"
msgstr "���������������������������������"
-#: tools/crm_resource.c:1388
+#: tools/crm_resource.c:1405
#, fuzzy, c-format
msgid "Metadata query for %s failed: %s"
msgstr "���������%s������������������: %s\n"
-#: tools/crm_resource.c:1394
+#: tools/crm_resource.c:1411
#, c-format
msgid "'%s' is not a valid agent specification"
msgstr "'%s' ������������������������"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/tools/crm_resource.c new/pacemaker-2.1.4+20220615.dc6eb4362/tools/crm_resource.c
--- old/pacemaker-2.1.2+20220526.b387f8972/tools/crm_resource.c 2022-05-26 18:38:25.000000000 +0200
+++ new/pacemaker-2.1.4+20220615.dc6eb4362/tools/crm_resource.c 2022-06-15 16:27:17.000000000 +0200
@@ -299,7 +299,7 @@
unsigned int count = pcmk_controld_api_replies_expected(capi);
if (count > 0) {
- out->info(out, "Waiting for %d %s from the controller",
+ out->info(out, "Waiting for %u %s from the controller",
count, pcmk__plural_alt(count, "reply", "replies"));
exit_code = CRM_EX_DISCONNECT; // For unexpected disconnects
mainloop = g_main_loop_new(NULL, FALSE);
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mypy for openSUSE:Factory checked in at 2022-06-29 16:00:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mypy (Old)
and /work/SRC/openSUSE:Factory/.mypy.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mypy"
Wed Jun 29 16:00:59 2022 rev:29 rq:985591 version:0.961
Changes:
--------
--- /work/SRC/openSUSE:Factory/mypy/mypy.changes 2022-04-01 21:34:52.738306769 +0200
+++ /work/SRC/openSUSE:Factory/.mypy.new.1548/mypy.changes 2022-06-29 16:01:56.184668878 +0200
@@ -1,0 +2,111 @@
+Tue Jun 21 09:00:36 UTC 2022 - Sebastian Wagner <sebix+novell.com(a)sebix.at>
+
+- remove obsolete patch 12452-stringent-err-msg.patch
+- update to version 0.960:
+ - Recognise typing.LiteralString and typing_extensions.LiteralString as aliases to str.
+ - This does not add proper support for LiteralString, but this allows it to be used in type annotations and stubs. LiteralString will be included in Python 3.11 (PEP 675), and it can be used to require that a value is an arbitrary literal string (once fully supported).
+ - Per-file Timing Stats
+ - When mypy is run with the (currently hidden) --timing-stats FILE option, mypy will record detailed information about time spent type checking each file (microseconds). When profiling mypy runs over a large codebase, it can be useful to know which files are the slowest to type check. We are happy to receive bug reports about unexpectedly slow type checking.
+ - Performance Improvements
+ - Cache type of container literals when possible (Hugues, PR 12707)
+ - Speed up type checking of nested if expressions (Hugues, PR 12700)
+ - Speed up type checking of container literals with tuple entries (Hugues, PR 12706)
+ - Speed up argument count check (Hugues, PR 12703)
+ - Speed up processing large error counts and improve error filtering (Hugues, PR 12631)
+ - Experimental Fast Module Lookup
+ - Use the new --fast-module-lookup to switch to an alternative import resolution implementation that is faster when a large number of folders share a top-level namespace. We���d like to hear if you notice an improvement when using this flag, so that we can potentially prioritize work to enable this by default.
+ - Documentation Updates
+ - Add information about classes and types to ���Getting started��� (Michael Lee, PR 6557)
+ - Mention no_type_check decorator in documentation (Shantanu, PR 12713)
+ - Remove most mentions of type comments from docs (Shantanu, PR 12683)
+ - Use PEP 585 syntax in "The type of class objects" (Alex Waygood, PR 12516)
+ - Improvements to Plugin System
+ - Add a class attribute hook to the plugin system (Danny Weinberg, PR 9881)
+ - Add an alternative class decorator hook that is less error-prone than the old one (Jukka Lehtosalo, PR 12762)
+ - ParamSpec Improvements
+ - Friendlier errors for ParamSpec (PEP 612) (Shantanu, PR 12832)
+ - Fix ParamSpec crash related to Any types (EXPLOSION, PR 12548)
+ - Use tuple[object, ...] and dict[str, object] as upper bounds for ParamSpec.args and ParamSpec.kwargs (Alex Waygood, PR 12668)
+ - Fixes to Crashes
+ - Fix crash on invalid Python executable (Pranav Rajpal, PR 12812)
+ - Fix crash on type alias definition inside dataclass declaration (Alex Waygood, PR 12792)
+ - Fix crash related to namedtuple in unannotated function (Jukka Lehtosalo, PR 12804)
+ - Fix nested namedtuple crash in incremental mode (Jukka Lehtosalo, PR 12803)
+ - Fix forward references and generic inheritance in attrs classes (Jukka Lehtosalo, PR 12772)
+ - mypyc: Fix TypeError in lambda argument to overloaded function (Jukka Lehtosalo, PR 12780)
+ - Fix crashes related to functools.total_ordering and forward references (Jukka Lehtosalo, PR 12767)
+ - Fix crashes related to dataclasses and forward references (Jukka Lehtosalo, PR 12762)
+ - Fix crash on invalid TypedDict definition (Alex Waygood, PR 12741)
+ - Fix crash when using decorator in class scope (dzcode, PR 12724)
+ - Other Notable Fixes and Improvements
+ - Fix type annotation support of dunder methods in stubgen (Fabian Keller, PR 12828)
+ - Fix some value patterns in match statements to be non-exhaustive (��t��p��n Hor����ek, PR 12751)
+ - Generate error when using both abstractmethod and final (Tomoki Nakagawa, PR 12743)
+ - Add more precise error message for Callable annotation (frerikandriessen, PR 12518)
+ - Fix generic inference in functions with TypeGuard (Nikita Sobolev, PR 11797)
+ - Add check if python_version was parsed as float in pyproject.toml (Marcel Otoboni, PR 12558)
+ - Fix nested overload merging (Marc Mueller, PR 12607)
+ - stubtest: Generate error if type alias doesn't exist at runtime (Alex Waygood, PR 12608)
+ - Support typing_extensions.overload (Jelle Zijlstra, PR 12602)
+- update to version 0.950:
+ - Recent third-party library stubs available via types-* packages (e.g. types-requests) are actively using recent typing features that may not be supported by older mypy releases. We recommend that if you pin mypy to a specific version, you should also pin any stub packages to a version no more recent than the mypy release. Otherwise the mypy version you use may silently fall back to Any types if it encounters annotation syntax that it can���t process. It���s fine to continue using older versions of stubs when you upgrade mypy.
+ - Note also that recent versions of many third-party stub packages don���t support Python 2 any more. If you are using mypy to type check Python 2 code, it���s important to pin all stub packages to versions that still support Python 2. Generally stub package versions: in Feb 2022 or earlier still support Python 2 (assuming that they supported Python 2 at all).
+ - New Features: Concatenate and Literals with ParamSpec
+ - It���s now possible to precisely annotate decorators that add/remove arguments, using ParamSpec together with typing.Concatenate (Python 3.10 or later) or typing_extensions.Concatenate. The decorator in this example provides an implicit Request argument to the decorated function.
+ - New Feature: Detect Unused Coroutines and Awaitables
+ - Now mypy will give an error if you forget to await a coroutine:
+ - If you enable the unused-awaitable error code, mypy will also complain about any unused value that supports __await__. This is not enabled by default, since this can cause false positives.
+ - New Feature: assert_type
+ - You can now use typing_extensions.assert_type to ask mypy to validate that an expression has a specific static type. Mypy will report an error if the inferred type is not as expected:
+ - from typing_extensions import assert_type
+ - assert_type([1], list[int]) # OK
+ - # Error: Expression is of type "List[int]", not "List[str]"
+ - assert_type([1], list[str])
+ - This can be used to validate that the expected type is inferred by mypy when calling a complex overloaded function, for example. At runtime assert_type just returns the first argument and doesn���t perform a runtime type check.
+ - Mypyc Fixes and Improvements
+ - Fix overflow in id built-in (Ekin Dursun, PR 12332)
+ - Simplify generated code for native attribute get (Jukka Lehtosalo, PR 11978)
+ - Implement close method for generators (Max Shvets, PR 12042)
+ - Use more accurate flags with msvc (KotlinIsland, PR 12468)
+ - Fix potential memory leak with setdefault() (Jukka Lehtosalo, PR 12514)
+ - Make boxed integer constants/literals faster (Jukka Lehtosalo, PR 12507)
+ - Performance Improvements
+ - Mypy now type checks somewhat faster, in particular when dealing with enums and unions with many items.
+ - Speed up union types (Jukka Lehtosalo, PR 12541, PR 12519)
+ - Speed up subtype checks (Jukka Lehtosalo, PR 12540, PR 12538, PR 12536, PR 12539)
+ - Speed up type checking enums (Hugues, PR 12032)
+ - Speed up union types further (Hugues, PR 12630)
+ - Documentation Improvements
+ - Use Furo theme for documentation (97littleleaf11, PR 12348)
+ - Add missing enable_error_code to config documentation (Mathieu Kniewallner, PR 12346)
+ - Correct example in ���Annotation issues at runtime��� (Alex Waygood, PR 12356)
+ - Fix inaccuracy: NoneType is exposed in the types module on Python 3.10+ (Alex Waygood, PR 12515)
+ - Stubgen Improvements
+ - Fix handling of Protocol (citruz, PR 12129)
+ - Use _typeshed.Incomplete instead of typing.Any (Sebastian Rittau, PR 12449)
+ - Do not consider nested generators (��t��p��n Hor����ek, PR 12463)
+ - Fix behavior for instance variables in C extensions (Shubham SInghal, PR 12524)
+ - Stubtest Improvements
+ - Generate error for read-only property at runtime, but not in stub (Alex Waygood, PR 12291)
+ - Enable verification of __match_args__ attributes (Alex Waygood, PR 12465)
+ - Other Notable Fixes and Improvements
+ - Use tomllib on Python 3.11 (Shantanu, PR 12305)
+ - Print compilation status with --version (Shantanu, PR 12318)
+ - Fix __annotations__ being undefined (Niklas Gustafsson, PR 10969)
+ - Add success message for notes-only output (97littleleaf11, PR 12306)
+ - dmypy: Warn instead of failing if report generation is configured (Nate McMaster, PR 10181)
+ - Fix caching of PEP 561 namespace packages with missing submodules (Shantanu, PR 12250)
+ - Fix empty reveal_locals output (Cibin Mathew, PR 12400)
+ - Check that async for/with is inside an async function (��t��p��n Hor����ek, PR 12418)
+ - Recognize Hashable as a real protocol (Nikita Sobolev, PR 11802)
+ - Remove the * for inferred types from reveal_type output (Stanislav K, PR 12459)
+ - Unify a codepath in typevarlike semanal (Jared Hance, PR 12480)
+ - Recognise both attrs and attr package names (Spencer Brown, PR 12469)
+ - Fix Callable attributes in frozen dataclasses (Jordan Speicher, PR 12383)
+ - Improve checking of __slots__ (Jukka Lehtosalo, PR 12531)
+ - Avoid conflicts between type variables defined in different classes (Jukka Lehtosalo, PR 12590)
+ - Fix __slots__ and __deletable__ in incremental mode (Jukka Lehtosalo, PR 12645)
+ - Fix issue with ParamSpec serialization (Jukka Lehtosalo, PR 12654)
+ - Fix types of inherited attributes in generic dataclasses (Jukka Lehtosalo, PR 12656)
+
+-------------------------------------------------------------------
Old:
----
12452-stringent-err-msg.patch
mypy-0.942.tar.gz
New:
----
mypy-0.961.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mypy.spec ++++++
--- /var/tmp/diff_new_pack.HP8Anz/_old 2022-06-29 16:01:56.872669793 +0200
+++ /var/tmp/diff_new_pack.HP8Anz/_new 2022-06-29 16:01:56.876669800 +0200
@@ -21,7 +21,7 @@
%define skip_python2 1
%define typed_ast_version 1.5.1
Name: mypy
-Version: 0.942
+Version: 0.961
Release: 0
Summary: Optional static typing for Python
License: MIT
@@ -31,9 +31,6 @@
# License Source1: Apache-2.0. Only for the test suite, not packaged here.
Source1: https://files.pythonhosted.org/packages/source/t/types-typed-ast/types-type…
Source99: mypy-rpmlintrc
-# PATCH-FIX-UPSTREAM 12452-stringent-err-msg.patch gh#python/mypy#12451 mcepl(a)suse.com
-# Work with more stringent error messages in Python >= 3.10.3
-Patch0: 12452-stringent-err-msg.patch
BuildRequires: %{python_module mypy_extensions >= 0.4.3}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module tomli >= 1.1.0}
@@ -96,10 +93,11 @@
%build
%python_build
-pushd docs
-%make_build html
-rm build/html/.buildinfo
-popd
+# building docs fails due to missing theme 'furo'
+#pushd docs
+#%%make_build html
+#rm build/html/.buildinfo
+#popd
%install
%python_install
@@ -144,7 +142,7 @@
%python_uninstall_alternative mypy
%files %{python_files}
-%doc docs/README.md docs/build/html/
+%doc docs/
%license LICENSE
%{python_sitelib}/mypy
%{python_sitelib}/mypyc
++++++ mypy-0.942.tar.gz -> mypy-0.961.tar.gz ++++++
++++ 76395 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libstorage-ng for openSUSE:Factory checked in at 2022-06-29 16:00:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libstorage-ng (Old)
and /work/SRC/openSUSE:Factory/.libstorage-ng.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage-ng"
Wed Jun 29 16:00:58 2022 rev:172 rq:985576 version:4.5.24
Changes:
--------
--- /work/SRC/openSUSE:Factory/libstorage-ng/libstorage-ng.changes 2022-06-23 10:22:30.947625595 +0200
+++ /work/SRC/openSUSE:Factory/.libstorage-ng.new.1548/libstorage-ng.changes 2022-06-29 16:01:54.884667148 +0200
@@ -1,0 +2,8 @@
+Tue Jun 28 11:45:53 UTC 2022 - aschnell(a)suse.com
+
+- merge gh#openSUSE/libstorage-ng#885
+- added some GPT type GUIDs from the Discoverable Partitions
+ Specification
+- 4.5.24
+
+--------------------------------------------------------------------
Old:
----
libstorage-ng-4.5.23.tar.xz
New:
----
libstorage-ng-4.5.24.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libstorage-ng.spec ++++++
--- /var/tmp/diff_new_pack.M2Khtb/_old 2022-06-29 16:01:55.404667839 +0200
+++ /var/tmp/diff_new_pack.M2Khtb/_new 2022-06-29 16:01:55.408667846 +0200
@@ -18,7 +18,7 @@
%define libname %{name}1
Name: libstorage-ng
-Version: 4.5.23
+Version: 4.5.24
Release: 0
Summary: Library for storage management
License: GPL-2.0-only
++++++ libstorage-ng-4.5.23.tar.xz -> libstorage-ng-4.5.24.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.23/LIBVERSION new/libstorage-ng-4.5.24/LIBVERSION
--- old/libstorage-ng-4.5.23/LIBVERSION 2022-06-22 13:32:28.000000000 +0200
+++ new/libstorage-ng-4.5.24/LIBVERSION 2022-06-28 13:45:53.000000000 +0200
@@ -1 +1 @@
-1.77.0
+1.78.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.23/VERSION new/libstorage-ng-4.5.24/VERSION
--- old/libstorage-ng-4.5.23/VERSION 2022-06-22 13:32:28.000000000 +0200
+++ new/libstorage-ng-4.5.24/VERSION 2022-06-28 13:45:53.000000000 +0200
@@ -1 +1 @@
-4.5.23
+4.5.24
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.23/integration-tests/partitions/linux-root-id.py new/libstorage-ng-4.5.24/integration-tests/partitions/linux-root-id.py
--- old/libstorage-ng-4.5.23/integration-tests/partitions/linux-root-id.py 1970-01-01 01:00:00.000000000 +0100
+++ new/libstorage-ng-4.5.24/integration-tests/partitions/linux-root-id.py 2022-06-28 13:45:53.000000000 +0200
@@ -0,0 +1,17 @@
+#!/usr/bin/python3
+
+
+from storage import *
+
+
+set_logger(get_logfile_logger())
+
+system_info = SystemInfo()
+
+print("aarch64", ID_LINUX_ROOT_AARCH64)
+print("ppc64le", ID_LINUX_ROOT_PPC64LE)
+print("s390x", ID_LINUX_ROOT_S390X)
+print("x86_64", ID_LINUX_ROOT_X86_64)
+
+print(get_linux_partition_id(LinuxPartitionIdCategory_ROOT, system_info))
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.23/storage/Devices/BlkDevice.h new/libstorage-ng-4.5.24/storage/Devices/BlkDevice.h
--- old/libstorage-ng-4.5.23/storage/Devices/BlkDevice.h 2022-06-22 13:32:28.000000000 +0200
+++ new/libstorage-ng-4.5.24/storage/Devices/BlkDevice.h 2022-06-28 13:45:53.000000000 +0200
@@ -29,7 +29,6 @@
#include "storage/Utils/Swig.h"
#include "storage/Devices/Device.h"
#include "storage/Filesystems/BlkFilesystem.h"
-#include "storage/SystemInfo/SystemInfo.h"
namespace storage
@@ -42,6 +41,7 @@
class Bcache;
class BcacheCset;
class RemoveInfo;
+ class SystemInfo;
//! An abstract Block Device.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.23/storage/Devices/GptImpl.cc new/libstorage-ng-4.5.24/storage/Devices/GptImpl.cc
--- old/libstorage-ng-4.5.23/storage/Devices/GptImpl.cc 2022-06-22 13:32:28.000000000 +0200
+++ new/libstorage-ng-4.5.24/storage/Devices/GptImpl.cc 2022-06-28 13:45:53.000000000 +0200
@@ -1,6 +1,6 @@
/*
* Copyright (c) [2014-2015] Novell, Inc.
- * Copyright (c) [2016-2020] SUSE LLC
+ * Copyright (c) [2016-2022] SUSE LLC
*
* All Rights Reserved.
*
@@ -212,8 +212,13 @@
{
static const vector<unsigned int> supported_ids = {
ID_UNKNOWN, ID_LINUX, ID_SWAP, ID_LVM, ID_RAID, ID_IRST, ID_ESP, ID_BIOS_BOOT, ID_PREP,
- ID_WINDOWS_BASIC_DATA, ID_MICROSOFT_RESERVED, ID_DIAG, ID_LINUX_HOME,
- ID_LINUX_SERVER_DATA
+ ID_WINDOWS_BASIC_DATA, ID_MICROSOFT_RESERVED, ID_DIAG, ID_LINUX_HOME, ID_LINUX_SERVER_DATA,
+ ID_LINUX_ROOT_ARM, ID_LINUX_ROOT_AARCH64, ID_LINUX_ROOT_PPC32, ID_LINUX_ROOT_PPC64BE,
+ ID_LINUX_ROOT_PPC64LE, ID_LINUX_ROOT_RISCV32, ID_LINUX_ROOT_RISCV64, ID_LINUX_ROOT_S390,
+ ID_LINUX_ROOT_S390X, ID_LINUX_ROOT_X86, ID_LINUX_ROOT_X86_64, ID_LINUX_USR_ARM,
+ ID_LINUX_USR_AARCH64, ID_LINUX_USR_PPC32, ID_LINUX_USR_PPC64BE, ID_LINUX_USR_PPC64LE,
+ ID_LINUX_USR_RISCV32, ID_LINUX_USR_RISCV64, ID_LINUX_USR_S390, ID_LINUX_USR_S390X,
+ ID_LINUX_USR_X86, ID_LINUX_USR_X86_64,
};
return contains(supported_ids, id);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.23/storage/Devices/Partition.cc new/libstorage-ng-4.5.24/storage/Devices/Partition.cc
--- old/libstorage-ng-4.5.23/storage/Devices/Partition.cc 2022-06-22 13:32:28.000000000 +0200
+++ new/libstorage-ng-4.5.24/storage/Devices/Partition.cc 2022-06-28 13:45:53.000000000 +0200
@@ -1,6 +1,6 @@
/*
* Copyright (c) [2014-2015] Novell, Inc.
- * Copyright (c) [2016-2021] SUSE LLC
+ * Copyright (c) [2016-2022] SUSE LLC
*
* All Rights Reserved.
*
@@ -24,9 +24,10 @@
#include <boost/algorithm/string.hpp>
#include "storage/Utils/StorageDefines.h"
+#include "storage/Utils/Format.h"
#include "storage/Devices/PartitionImpl.h"
#include "storage/Devicegraph.h"
-#include "storage/Action.h"
+#include "storage/SystemInfo/SystemInfoImpl.h"
namespace storage
@@ -49,6 +50,30 @@
}
+ IdNum
+ get_linux_partition_id(LinuxPartitionIdCategory linux_partition_id_category, SystemInfo& system_info)
+ {
+ static const map<string, vector<IdNum>> arch_to_ids = {
+ { "aarch64", { ID_LINUX_ROOT_AARCH64, ID_LINUX_USR_AARCH64 } },
+ { "i586", { ID_LINUX_ROOT_X86, ID_LINUX_USR_X86 } },
+ { "ppc", { ID_LINUX_ROOT_PPC32,ID_LINUX_USR_PPC32 } },
+ { "ppc64", { ID_LINUX_ROOT_PPC64BE, ID_LINUX_USR_PPC64BE } },
+ { "ppc64le", { ID_LINUX_ROOT_PPC64LE, ID_LINUX_USR_PPC64LE } },
+ { "riscv64", { ID_LINUX_ROOT_RISCV64, ID_LINUX_USR_RISCV64 } },
+ { "s390", { ID_LINUX_ROOT_S390, ID_LINUX_USR_S390 } },
+ { "s390x", { ID_LINUX_ROOT_S390X, ID_LINUX_USR_S390X } },
+ { "x86_64", { ID_LINUX_ROOT_X86_64, ID_LINUX_USR_X86_64 } },
+ };
+
+ const string& arch = system_info.get_impl().getArch().get_arch();
+ const map<string, vector<IdNum>>::const_iterator it = arch_to_ids.find(arch);
+ if (it == arch_to_ids.end())
+ ST_THROW(Exception(sformat("partition id unknown for architecture %s", arch)));
+
+ return it->second[(int)(linux_partition_id_category)];
+ }
+
+
Partition*
Partition::create(Devicegraph* devicegraph, const string& name, const Region& region, PartitionType type)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.23/storage/Devices/Partition.h new/libstorage-ng-4.5.24/storage/Devices/Partition.h
--- old/libstorage-ng-4.5.23/storage/Devices/Partition.h 2022-06-22 13:32:28.000000000 +0200
+++ new/libstorage-ng-4.5.24/storage/Devices/Partition.h 2022-06-28 13:45:53.000000000 +0200
@@ -33,6 +33,7 @@
class PartitionTable;
class Partitionable;
+ class SystemInfo;
/**
@@ -136,12 +137,78 @@
/** Microsoft reserved partition, only for GPT. */
ID_MICROSOFT_RESERVED,
- /** Linux Home, only for GPT. Required parted 3.5 or higher. */
+ /** Linux Home, only for GPT. Requires parted 3.5 or higher. */
ID_LINUX_HOME,
- /** Linux Server Data, only for GPT. Required SUSE parted 3.5 or higher. */
+ /** Linux Server Data, only for GPT. Requires SUSE parted 3.5 or higher. */
ID_LINUX_SERVER_DATA,
+ /** Linux Root Partition (arm), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_ROOT_ARM,
+
+ /** Linux Root Partition (aarch64), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_ROOT_AARCH64,
+
+ /** Linux Root Partition (ppc), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_ROOT_PPC32,
+
+ /** Linux Root Partition (ppc64be), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_ROOT_PPC64BE,
+
+ /** Linux Root Partition (ppc64le), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_ROOT_PPC64LE,
+
+ /** Linux Root Partition (riscv32, only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_ROOT_RISCV32,
+
+ /** Linux Root Partition (riscv64), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_ROOT_RISCV64,
+
+ /** Linux Root Partition (s390), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_ROOT_S390,
+
+ /** Linux Root Partition (s390x), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_ROOT_S390X,
+
+ /** Linux Root Partition (x86), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_ROOT_X86,
+
+ /** Linux Root Partition (x86_64), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_ROOT_X86_64,
+
+ /** Linux USR Partition (arm), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_USR_ARM,
+
+ /** Linux USR Partition (aarch64), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_USR_AARCH64,
+
+ /** Linux USR Partition (ppc), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_USR_PPC32,
+
+ /** Linux USR Partition (ppc64be), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_USR_PPC64BE,
+
+ /** Linux USR Partition (ppc64le), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_USR_PPC64LE,
+
+ /** Linux USR Partition (riscv32), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_USR_RISCV32,
+
+ /** Linux USR Partition (riscv64), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_USR_RISCV64,
+
+ /** Linux USR Partition (s390), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_USR_S390,
+
+ /** Linux USR Partition (s390x), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_USR_S390X,
+
+ /** Linux USR Partition (x86), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_USR_X86,
+
+ /** Linux USR Partition (x86_64), only for GPT. Requires SUSE parted 3.5 or higher. */
+ ID_LINUX_USR_X86_64,
+
};
@@ -156,6 +223,26 @@
/**
+ * Enum with categories for Linux partitions.
+ */
+ enum class LinuxPartitionIdCategory
+ {
+ ROOT, USR
+ };
+
+
+ /**
+ * Get the partition id for the Linux partition of the given category (root, usr, ...)
+ * depending on the architecture.
+ *
+ * @see IdNum, LinuxPartitionIdCategory
+ *
+ * @throw Exception
+ */
+ IdNum get_linux_partition_id(LinuxPartitionIdCategory linux_partition_id_category, SystemInfo& system_info);
+
+
+ /**
* A partition of a Partitionable, e.g. Disk or Md.
*/
class Partition : public BlkDevice
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.23/storage/Devices/PartitionImpl.cc new/libstorage-ng-4.5.24/storage/Devices/PartitionImpl.cc
--- old/libstorage-ng-4.5.23/storage/Devices/PartitionImpl.cc 2022-06-22 13:32:28.000000000 +0200
+++ new/libstorage-ng-4.5.24/storage/Devices/PartitionImpl.cc 2022-06-28 13:45:53.000000000 +0200
@@ -1,6 +1,6 @@
/*
* Copyright (c) [2014-2015] Novell, Inc.
- * Copyright (c) [2016-2021] SUSE LLC
+ * Copyright (c) [2016-2022] SUSE LLC
*
* All Rights Reserved.
*
@@ -1637,6 +1637,94 @@
case ID_LINUX_SERVER_DATA:
// TRANSLATORS: name of partition type
return _("Linux Server Data");
+
+ case ID_LINUX_ROOT_ARM:
+ // TRANSLATORS: name of partition type
+ return _("Linux Root Partition (ARM 32-bit)");
+
+ case ID_LINUX_ROOT_AARCH64:
+ // TRANSLATORS: name of partition type
+ return _("Linux Root Partition (ARM 64-bit)");
+
+ case ID_LINUX_ROOT_PPC32:
+ // TRANSLATORS: name of partition type
+ return _("Linux Root Partition (PPC 32-bit)");
+
+ case ID_LINUX_ROOT_PPC64BE:
+ // TRANSLATORS: name of partition type
+ return _("Linux Root Partition (PPC 64-bit BE)");
+
+ case ID_LINUX_ROOT_PPC64LE:
+ // TRANSLATORS: name of partition type
+ return _("Linux Root Partition (PPC 64-bit LE)");
+
+ case ID_LINUX_ROOT_RISCV32:
+ // TRANSLATORS: name of partition type
+ return _("Linux Root Partition (RISC-V 32-bit)");
+
+ case ID_LINUX_ROOT_RISCV64:
+ // TRANSLATORS: name of partition type
+ return _("Linux Root Partition (RISC-V 64-bit)");
+
+ case ID_LINUX_ROOT_S390:
+ // TRANSLATORS: name of partition type
+ return _("Linux Root Partition (S/390 32-bit)");
+
+ case ID_LINUX_ROOT_S390X:
+ // TRANSLATORS: name of partition type
+ return _("Linux Root Partition (S/390 64-bit)");
+
+ case ID_LINUX_ROOT_X86:
+ // TRANSLATORS: name of partition type
+ return _("Linux Root Partition (x86 32-bit)");
+
+ case ID_LINUX_ROOT_X86_64:
+ // TRANSLATORS: name of partition type
+ return _("Linux Root Partition (x86 64-bit)");
+
+ case ID_LINUX_USR_ARM:
+ // TRANSLATORS: name of partition type
+ return _("Linux USR Partition (ARM 32-bit)");
+
+ case ID_LINUX_USR_AARCH64:
+ // TRANSLATORS: name of partition type
+ return _("Linux USR Partition (ARM 64-bit)");
+
+ case ID_LINUX_USR_PPC32:
+ // TRANSLATORS: name of partition type
+ return _("Linux USR Partition (PPC 32-bit)");
+
+ case ID_LINUX_USR_PPC64BE:
+ // TRANSLATORS: name of partition type
+ return _("Linux USR Partition (PPC 64-bit BE)");
+
+ case ID_LINUX_USR_PPC64LE:
+ // TRANSLATORS: name of partition type
+ return _("Linux USR Partition (PPC 64-bit LE)");
+
+ case ID_LINUX_USR_RISCV32:
+ // TRANSLATORS: name of partition type
+ return _("Linux USR Partition (RISC-V 32-bit)");
+
+ case ID_LINUX_USR_RISCV64:
+ // TRANSLATORS: name of partition type
+ return _("Linux USR Partition (RISC-V 64-bit)");
+
+ case ID_LINUX_USR_S390:
+ // TRANSLATORS: name of partition type
+ return _("Linux USR Partition (S/390 32-bit)");
+
+ case ID_LINUX_USR_S390X:
+ // TRANSLATORS: name of partition type
+ return _("Linux USR Partition (S/390 64-bit)");
+
+ case ID_LINUX_USR_X86:
+ // TRANSLATORS: name of partition type
+ return _("Linux USR Partition (x86 32-bit)");
+
+ case ID_LINUX_USR_X86_64:
+ // TRANSLATORS: name of partition type
+ return _("Linux USR Partition (x86 64-bit)");
}
return Text();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.23/storage/SystemInfo/CmdParted.cc new/libstorage-ng-4.5.24/storage/SystemInfo/CmdParted.cc
--- old/libstorage-ng-4.5.23/storage/SystemInfo/CmdParted.cc 2022-06-22 13:32:28.000000000 +0200
+++ new/libstorage-ng-4.5.24/storage/SystemInfo/CmdParted.cc 2022-06-28 13:45:53.000000000 +0200
@@ -612,7 +612,29 @@
const map<unsigned int, const char*> Parted::id_to_uuid = {
{ ID_LINUX, "0fc63daf-8483-4772-8e79-3d69d8477de4" },
+ { ID_LINUX_ROOT_ARM, "69dad710-2ce4-4e3c-b16c-21a1d49abed3" },
+ { ID_LINUX_ROOT_AARCH64, "b921b045-1df0-41c3-af44-4c6f280d3fae" },
+ { ID_LINUX_ROOT_PPC32, "1de3f1ef-fa98-47b5-8dcd-4a860a654d78" },
+ { ID_LINUX_ROOT_PPC64BE, "912ade1d-a839-4913-8964-a10eee08fbd2" },
+ { ID_LINUX_ROOT_PPC64LE, "c31c45e6-3f39-412e-80fb-4809c4980599" },
+ { ID_LINUX_ROOT_RISCV32, "60d5a7fe-8e7d-435c-b714-3dd8162144e1" },
+ { ID_LINUX_ROOT_RISCV64, "72ec70a6-cf74-40e6-bd49-4bda08e8f224" },
+ { ID_LINUX_ROOT_S390, "08a7acea-624c-4a20-91e8-6e0fa67d23f9" },
+ { ID_LINUX_ROOT_S390X, "5eead9a9-fe09-4a1e-a1d7-520d00531306" },
+ { ID_LINUX_ROOT_X86, "44479540-f297-41b2-9af7-d131d5f0458a" },
+ { ID_LINUX_ROOT_X86_64, "4f68bce3-e8cd-4db1-96e7-fbcaf984b709" },
{ ID_LINUX_SERVER_DATA, "3b8f8425-20e0-4f3b-907f-1a25a76f98e8" },
+ { ID_LINUX_USR_ARM, "7d0359a3-02b3-4f0a-865c-654403e70625" },
+ { ID_LINUX_USR_AARCH64, "b0e01050-ee5f-4390-949a-9101b17104e9" },
+ { ID_LINUX_USR_PPC32, "7d14fec5-cc71-415d-9d6c-06bf0b3c3eaf" },
+ { ID_LINUX_USR_PPC64BE, "2c9739e2-f068-46b3-9fd0-01c5a9afbcca" },
+ { ID_LINUX_USR_PPC64LE, "15bb03af-77e7-4d4a-b12b-c0d084f7491c" },
+ { ID_LINUX_USR_RISCV32, "b933fb22-5c3f-4f91-af90-e2bb0fa50702" },
+ { ID_LINUX_USR_RISCV64, "beaec34b-8442-439b-a40b-984381ed097d" },
+ { ID_LINUX_USR_S390, "cd0f869b-d0fb-4ca0-b141-9ea87cc78d66" },
+ { ID_LINUX_USR_S390X, "8a4f5770-50aa-4ed3-874a-99b710db6fea" },
+ { ID_LINUX_USR_X86, "75250d76-8cc6-458e-bd66-bd47cc81a812" },
+ { ID_LINUX_USR_X86_64, "8484680c-9521-48c6-9c11-b0720656f69e" },
{ ID_SWAP, "0657fd6d-a4ab-43c4-84e5-0933c84b4f4f" },
};
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pywbem for openSUSE:Factory checked in at 2022-06-29 16:00:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pywbem (Old)
and /work/SRC/openSUSE:Factory/.python-pywbem.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pywbem"
Wed Jun 29 16:00:58 2022 rev:19 rq:985569 version:1.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pywbem/python-pywbem.changes 2022-01-05 15:44:35.290258239 +0100
+++ /work/SRC/openSUSE:Factory/.python-pywbem.new.1548/python-pywbem.changes 2022-06-29 16:01:53.644665497 +0200
@@ -1,0 +2,29 @@
+Thu Jun 23 10:37:07 UTC 2022 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 1.4.1
+ * Fix issue where the DeepInheritance parameter not passed to the
+ mocker OpenEnumerateInstances method so the result is that the
+ mocker always uses the default (DeepInheritance=True). (see
+ issue #2839)
+ * Modified compiler and pywbem_mock to allow creating instances
+ from abstract classes because SNIA ignored DMTF rule making
+ this illegal and many MOF compilers also ignored it. Pywbem
+ now issue a warning from the MOF compiler if an instance of an
+ abstract class is compiled but complete the compile and another
+ warning from pywbem_mock.CreateInstance if the instance is for
+ an abstract class. (see issue #2825)
+- Release 1.4.0
+ * Aligned minimum versions of pip,setuptools,wheel with
+ pywbemtools, nocasedict,nocaselist. This increased the minimum
+ version of pip on Python 3.5 to fix an issue.
+ * Improved verbosity of namespace creation and deletion: Added
+ optional 'verbose' parameters to the create_namecpace() and
+ delete_namespace() methods of WBEMServer, and to the
+ add_namecpace() and remove_namespace() methods of
+ FakedWBEMConnection (and subsequently to BaseProvider) in the
+ mock support.
+- Actually cythonize if --with cythonize is given
+ * switched off by default, because the produced commands throw
+ yacc parser errors in the pywbemtools tests
+
+-------------------------------------------------------------------
Old:
----
pywbem-1.3.0.tar.gz
New:
----
pywbem-1.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pywbem.spec ++++++
--- /var/tmp/diff_new_pack.BCaVEF/_old 2022-06-29 16:01:54.236666285 +0200
+++ /var/tmp/diff_new_pack.BCaVEF/_new 2022-06-29 16:01:54.240666291 +0200
@@ -18,9 +18,10 @@
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
-%bcond_without cythonize
+# cythonized pywbem produces yacc parser errors
+%bcond_with cythonize
Name: python-pywbem
-Version: 1.3.0
+Version: 1.4.1
Release: 0
Summary: Python module for making CIM operation calls using the WBEM protocol
License: LGPL-2.1-or-later
@@ -29,7 +30,6 @@
Source0: https://github.com/pywbem/pywbem/archive/%{version}.tar.gz#/pywbem-%{versio…
BuildRequires: %{python_module FormEncode >= 2.0.0}
BuildRequires: %{python_module PyYAML > 5.3.1}
-BuildRequires: %{python_module base}
BuildRequires: %{python_module httpretty}
BuildRequires: %{python_module lxml >= 4.6.4}
BuildRequires: %{python_module nocasedict >= 1.0.1}
@@ -45,6 +45,7 @@
BuildRequires: %{python_module urllib3 >= 1.26.5}
BuildRequires: %{python_module yamlloader >= 0.5.5}
BuildRequires: %{python_module wheel}
+BuildRequires: %{python_module pip}
%if %{with cythonize}
BuildRequires: %{python_module Cython}
BuildRequires: %{python_module devel}
@@ -76,10 +77,19 @@
%autopatch -p1
%build
-%python_build
+%if %{with cythonize}
+%{python_expand # build cythonized wheel
+$python setup.py bdist_wheel --cythonized
+mv dist/pywbem-%{version}-cp%{$python_version_nodots}*.whl build/
+}
+%else
+# build one noarch wheel for all flavor installs
+python3 setup.py bdist_wheel
+mv dist/pywbem-%{version}-*py3-none-any.whl .
+%endif
%install
-%python_install
+%pyproject_install
%fdupes %{buildroot}
rm %{buildroot}%{_bindir}/*.bat
%python_clone -a %{buildroot}%{_bindir}/mof_compiler
@@ -98,8 +108,14 @@
%doc README.rst
%license LICENSE.txt
%python_alternative %{_bindir}/mof_compiler
+%if %{with cythonize}
+%{python_sitearch}/pywbem
+%{python_sitearch}/pywbem_mock
+%{python_sitearch}/pywbem-%{version}*-info
+%else
%{python_sitelib}/pywbem
%{python_sitelib}/pywbem_mock
%{python_sitelib}/pywbem-%{version}*-info
+%endif
%changelog
++++++ pywbem-1.3.0.tar.gz -> pywbem-1.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/.github/workflows/test.yml new/pywbem-1.4.1/.github/workflows/test.yml
--- old/pywbem-1.3.0/.github/workflows/test.yml 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/.github/workflows/test.yml 2022-02-01 17:17:43.000000000 +0100
@@ -9,9 +9,9 @@
- # cron (in UTC): minute hour day_of_month month day_of_week
cron: '00 01 * * SUN'
push:
- branches: [ master, stable_1.3 ]
+ branches: [ master, stable_1.4 ]
pull_request:
- branches: [ master, stable_1.3 ]
+ branches: [ master, stable_1.4 ]
env:
# Local Docker image cache directory
@@ -103,6 +103,11 @@
}, \
{ \
\"os\": \"macos-latest\", \
+ \"python-version\": \"3.5\", \
+ \"package_level\": \"minimum\" \
+ }, \
+ { \
+ \"os\": \"macos-latest\", \
\"python-version\": \"3.5\", \
\"package_level\": \"latest\" \
}, \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/Makefile new/pywbem-1.4.1/Makefile
--- old/pywbem-1.3.0/Makefile 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/Makefile 2022-02-01 17:17:43.000000000 +0100
@@ -293,6 +293,7 @@
# - 42298 Bleach before 3.12, mutation XSS affects bleach.clean
# - 42293 babel, before 2.9.1 CVS-2021-42771, Bable.locale issue
# - 42559 pip, before 21.1 CVE-2021-3572
+# - 43366 lxml, before 4.6.5 CVE-2021-43818, code not used
safety_ignore_opts := \
-i 38100 \
@@ -329,6 +330,7 @@
-i 42298 \
-i 42203 \
-i 42559 \
+ -i 43366 \
# Python source files for test (unit test and function test)
test_src_files := \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/README_PYPI.rst new/pywbem-1.4.1/README_PYPI.rst
--- old/pywbem-1.3.0/README_PYPI.rst 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/README_PYPI.rst 2022-02-01 17:17:43.000000000 +0100
@@ -4,10 +4,10 @@
.. # we have to specify the package version directly in the links.
.. # begin of customization for the current version
-.. |pywbem-version-mn| replace:: 1.3
-.. _Readme file on GitHub: https://github.com/pywbem/pywbem/blob/stable_1.3/README.rst
-.. _Documentation on RTD: https://pywbem.readthedocs.io/en/stable_1.3/
-.. _Change log on RTD: https://pywbem.readthedocs.io/en/stable_1.3/changes.html
+.. |pywbem-version-mn| replace:: 1.4
+.. _Readme file on GitHub: https://github.com/pywbem/pywbem/blob/stable_1.4/README.rst
+.. _Documentation on RTD: https://pywbem.readthedocs.io/en/stable_1.4/
+.. _Change log on RTD: https://pywbem.readthedocs.io/en/stable_1.4/changes.html
.. # end of customization for the current version
Pywbem is a WBEM client and WBEM indication listener and provides related
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/docs/changes.rst new/pywbem-1.4.1/docs/changes.rst
--- old/pywbem-1.3.0/docs/changes.rst 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/docs/changes.rst 2022-02-01 17:17:43.000000000 +0100
@@ -14,6 +14,46 @@
:revisions: 1
+pywbem 1.4.1
+------------
+
+Released: 2022-02-01
+
+**Bug fixes:**
+
+* Fix issue where the DeepInheritance parameter not passed to the mocker
+ OpenEnumerateInstances method so the result is that the mocker always
+ uses the default (DeepInheritance=True). (see issue #2839)
+
+**Cleanup:**
+
+* Modified compiler and pywbem_mock to allow creating instances from
+ abstract classes because SNIA ignored DMTF rule making this illegal and many
+ MOF compilers also ignored it. Pywbem now issue a warning from the MOF
+ compiler if an instance of an abstract class is compiled but complete
+ the compile and another warning from pywbem_mock.CreateInstance if the
+ instance is for an abstract class. (see issue #2825)
+
+
+pywbem 1.4.0
+------------
+
+Released: 2022-01-01
+
+**Bug fixes:**
+
+* Aligned minimum versions of pip,setuptools,wheel with pywbemtools,
+ nocasedict,nocaselist. This increased the minimum version of pip
+ on Python 3.5 to fix an issue.
+
+**Enhancements:**
+
+* Improved verbosity of namespace creation and deletion: Added optional
+ 'verbose' parameters to the create_namecpace() and delete_namespace() methods
+ of WBEMServer, and to the add_namecpace() and remove_namespace() methods of
+ FakedWBEMConnection (and subsequently to BaseProvider) in the mock support.
+
+
pywbem 1.3.0
------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/minimum-constraints.txt new/pywbem-1.4.1/minimum-constraints.txt
--- old/pywbem-1.3.0/minimum-constraints.txt 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/minimum-constraints.txt 2022-02-01 17:17:43.000000000 +0100
@@ -69,12 +69,14 @@
# setuptools 41.5.0
# wheel 0.33.5
-# For the base packages, we use the versions from Ubuntu 18.04 as a general
-# minimum, and then increase it to the first version that introduced support
-# for a particular Python version:
-# The cryptography package requires pip>=21.0 on Windows on GitHub Actions.
-# Pip 20.2 introduced a new resolver whose backtracking had issues that were resolved only in 21.2.2.
-pip==9.0.1; python_version <= '3.5'
+# Additional requirements:
+# * pip>=9.0.0 to support the --upgrade-strategy option
+# * setuptools>=20.5 to support environment markers
+# * pip 10.0.0 introduced the --exclude-editable option.
+# * pip 18.0 is needed on pypy3 (py36) to support constraints like cffi!=1.11.3,>=1.8.
+# * pip 20.2 introduced a new resolver whose backtracking had issues that were resolved only in 21.2.2.
+# * pip>=21.0 is needed for the cryptography package on Windows on GitHub Actions.
+pip==10.0.1; python_version <= '3.5'
pip==21.2.2; python_version >= '3.6'
# setuptools before 49.0.0 compares Python versions in requirements based on strings and thus
# ignores certain requirements on Python 3.10.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/pywbem/_mof_compiler.py new/pywbem-1.4.1/pywbem/_mof_compiler.py
--- old/pywbem-1.3.0/pywbem/_mof_compiler.py 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/pywbem/_mof_compiler.py 2022-02-01 17:17:43.000000000 +0100
@@ -79,6 +79,7 @@
import io
import re
import tempfile
+import warnings
from abc import ABCMeta, abstractmethod
try:
@@ -103,6 +104,7 @@
CIM_ERR_NOT_SUPPORTED
from ._exceptions import Error, CIMError
from ._utils import _format, _ensure_unicode
+from ._warnings import ToleratedSchemaIssueWarning
__all__ = ['MOFCompileError', 'MOFParseError', 'MOFDependencyError',
'MOFRepositoryError', 'MOFCompiler', 'BaseRepositoryConnection']
@@ -632,7 +634,8 @@
assert not fixedNS # Should not happen if we created it
if p.parser.verbose:
p.parser.log(
- _format("Creating namespace {0}", ns))
+ _format("Creating namespace {0} (in MOF compiler)",
+ ns))
p.parser.server.create_namespace(ns)
fixedNS = True
continue # Try again to create the class
@@ -894,7 +897,7 @@
if ce.status_code == CIM_ERR_INVALID_NAMESPACE:
if p.parser.verbose:
p.parser.log(
- _format("Creating namespace {0}", ns))
+ _format("Creating namespace {0} (in MOF compiler)", ns))
p.parser.server.create_namespace(ns)
if p.parser.verbose:
p.parser.log(
@@ -1117,7 +1120,7 @@
cim_error=ce)
if p.parser.verbose:
p.parser.log(
- _format("Creating namespace {0}", ns))
+ _format("Creating namespace {0} (in MOF compiler)", ns))
p.parser.server.create_namespace(ns)
quals = None
@@ -2403,11 +2406,11 @@
cls, inst, namespace=ns)
if "Abstract" in cls.qualifiers:
- raise CIMError(
- CIM_ERR_FAILED,
- _format("CreateInstance failed. Cannot instantiate abstract "
- "class {0!A} in Namespace {1!A}.",
- inst.classname, ns))
+ warnings.warn(
+ _format("Tolerating instance creation of abstract class {0} "
+ " in namepace {1} which is forbidden by DMTF DSP0004.",
+ inst.classname, ns),
+ ToleratedSchemaIssueWarning, 1)
try:
self.instances[ns].append(inst)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/pywbem/_server.py new/pywbem-1.4.1/pywbem/_server.py
--- old/pywbem-1.3.0/pywbem/_server.py 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/pywbem/_server.py 2022-02-01 17:17:43.000000000 +0100
@@ -381,7 +381,7 @@
self._determine_profiles()
return self._profiles
- def create_namespace(self, namespace):
+ def create_namespace(self, namespace, verbose=False):
"""
Create the specified CIM namespace in the WBEM server and
update this WBEMServer object to reflect the new namespace
@@ -420,6 +420,9 @@
The namespace may contain leading and a trailing slash, both of
which will be ignored.
+ verbose (:class:`py:bool`):
+ Verbose mode: Print a message about the namespace creation.
+
Returns:
:term:`unicode string`: The specified CIM namespace name in its
@@ -433,6 +436,10 @@
std_namespace = _ensure_unicode(namespace.strip('/'))
+ if verbose:
+ print("Creating namespace {} (in WBEMServer)".
+ format(std_namespace))
+
try:
ws_profiles = self.get_selected_profiles('DMTF', 'WBEM Server')
except (CIMError, ModelError):
@@ -513,7 +520,8 @@
ns_inst['SystemCreationClassName'] = \
self.cimom_inst['SystemCreationClassName']
- self.conn.CreateInstance(ns_inst, namespace=self.interop_ns)
+ interop_ns = self.interop_ns # Determines the Interop namespace
+ self.conn.CreateInstance(ns_inst, namespace=interop_ns)
# Refresh the list of namespaces in this object to include the one
# we just created.
@@ -524,7 +532,7 @@
return std_namespace
- def delete_namespace(self, namespace):
+ def delete_namespace(self, namespace, verbose=False):
"""
Delete the specified CIM namespace in the WBEM server and
update this WBEMServer object to reflect the removed namespace
@@ -562,6 +570,9 @@
The namespace may contain leading and a trailing slash, both of
which will be ignored.
+ verbose (:class:`py:bool`):
+ Verbose mode: Print a message about the namespace creation.
+
Returns:
:term:`unicode string`: The specified CIM namespace name in its
@@ -578,6 +589,10 @@
std_namespace = _ensure_unicode(namespace.strip('/'))
+ if verbose:
+ print("Deleting namespace {} (in WBEMServer)".
+ format(std_namespace))
+
# Use approach 1: DeleteInstance of CIM class for namespaces
# Refresh the list of namespaces in this object to make sure
@@ -667,7 +682,8 @@
and does not include the required properties.
"""
- org_vm = ValueMapping.for_property(self, self.interop_ns,
+ interop_ns = self.interop_ns # Determines the Interop namespace
+ org_vm = ValueMapping.for_property(self, interop_ns,
'CIM_RegisteredProfile',
'RegisteredOrganization')
org_lower = registered_org.lower() \
@@ -686,7 +702,7 @@
_format("CIM_RegisteredProfile instance in namespace "
"{0!A} does not have a property "
"'RegisteredOrganization'",
- self.interop_ns))
+ interop_ns))
inst_org = org_vm.tovalues(inst_org_value)
try:
inst_name = inst['RegisteredName']
@@ -695,7 +711,7 @@
_format("CIM_RegisteredProfile instance in namespace "
"{0!A} does not have a property "
"'RegisteredName'",
- self.interop_ns))
+ interop_ns))
try:
inst_version = inst['RegisteredVersion']
except KeyError:
@@ -703,7 +719,7 @@
_format("CIM_RegisteredProfile instance in namespace "
"{0!A} does not have a property "
"'RegisteredVersion'",
- self.interop_ns))
+ interop_ns))
inst_org_lower = inst_org.lower() \
if inst_org is not None else None
@@ -1104,8 +1120,8 @@
if interop_ns is None:
# Exhausted the possible namespaces
raise ModelError(
- _format("Interop namespace could not be determined "
- "(tried {0!A})", self.INTEROP_NAMESPACES),
+ _format("Interop namespace does not exist (tried {0!A})",
+ self.INTEROP_NAMESPACES),
conn_id=self.conn.conn_id)
self._interop_ns = interop_ns
@@ -1224,8 +1240,9 @@
Exceptions raised by :class:`~pywbem.WBEMConnection`.
ModelError: An error with the model implemented by the WBEM server.
"""
+ interop_ns = self.interop_ns # Determines the Interop namespace
cimom_insts = self._conn.EnumerateInstances(
- "CIM_ObjectManager", namespace=self.interop_ns)
+ "CIM_ObjectManager", namespace=interop_ns)
if len(cimom_insts) != 1:
raise ModelError(
_format("Unexpected number of CIM_ObjectManager instances: "
@@ -1299,6 +1316,7 @@
Exceptions raised by :class:`~pywbem.WBEMConnection`.
ModelError: An error with the model implemented by the WBEM server.
"""
+ interop_ns = self.interop_ns # Determines the Interop namespace
mp_insts = self._conn.EnumerateInstances("CIM_RegisteredProfile",
- namespace=self.interop_ns)
+ namespace=interop_ns)
self._profiles = mp_insts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/pywbem/_subscription_manager.py new/pywbem-1.4.1/pywbem/_subscription_manager.py
--- old/pywbem-1.3.0/pywbem/_subscription_manager.py 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/pywbem/_subscription_manager.py 2022-02-01 17:17:43.000000000 +0100
@@ -371,6 +371,8 @@
_format("WBEM server already known by listener: {0!A}",
server_id))
+ interop_ns = server.interop_ns # Determines the Interop namespace
+
# Create dictionary entries for this server
self._servers[server_id] = server
self._owned_subscriptions[server_id] = []
@@ -396,7 +398,7 @@
this_client, self._subscription_manager_id))
dest_insts = server.conn.EnumerateInstances(
- DESTINATION_CLASSNAME, namespace=server.interop_ns)
+ DESTINATION_CLASSNAME, namespace=interop_ns)
for inst in dest_insts:
if re.match(dest_name_pattern, inst.path.keybindings['Name']):
@@ -418,7 +420,7 @@
this_client, self._subscription_manager_id))
filter_insts = server.conn.EnumerateInstances(
- FILTER_CLASSNAME, namespace=server.interop_ns)
+ FILTER_CLASSNAME, namespace=interop_ns)
for inst in filter_insts:
if re.match(filter_name_pattern, inst.path.keybindings['Name']):
@@ -433,7 +435,7 @@
OldNameFilterWarning, 2)
sub_insts = server.conn.EnumerateInstances(
- SUBSCRIPTION_CLASSNAME, namespace=server.interop_ns)
+ SUBSCRIPTION_CLASSNAME, namespace=interop_ns)
owned_filter_paths = [inst.path for inst in
self._owned_filters[server_id]]
owned_destination_paths = [inst.path for inst in
@@ -741,8 +743,10 @@
# Validate server_id
server = self._get_server(server_id)
+ interop_ns = server.interop_ns # Determines the Interop namespace
+
return server.conn.EnumerateInstances(DESTINATION_CLASSNAME,
- namespace=server.interop_ns)
+ namespace=interop_ns)
def remove_destinations(self, server_id, destination_paths):
# pylint: disable=line-too-long
@@ -1023,8 +1027,10 @@
# Validate server_id
server = self._get_server(server_id)
+ interop_ns = server.interop_ns # Determines the Interop namespace
+
return server.conn.EnumerateInstances('CIM_IndicationFilter',
- namespace=server.interop_ns)
+ namespace=interop_ns)
def remove_filter(self, server_id, filter_path):
"""
@@ -1242,8 +1248,10 @@
# Validate server_id
server = self._get_server(server_id)
+ interop_ns = server.interop_ns # Determines the Interop namespace
+
return server.conn.EnumerateInstances(SUBSCRIPTION_CLASSNAME,
- namespace=server.interop_ns)
+ namespace=interop_ns)
def remove_subscriptions(self, server_id, sub_paths):
# pylint: disable=line-too-long
@@ -1371,6 +1379,8 @@
# Validate the URL by reconstructing it. Do not allow defaults
_, _, listener_url = parse_url(dest_url, allow_defaults=False)
+ interop_ns = server.interop_ns # Determines the Interop namespace
+
dest_inst = CIMInstance(DESTINATION_CLASSNAME)
dest_inst['CreationClassName'] = DESTINATION_CLASSNAME
dest_inst['SystemCreationClassName'] = SYSTEM_CREATION_CLASSNAME
@@ -1387,7 +1397,7 @@
# Test if instance already exists in the WBEM server
existing_dest_insts = server.conn.EnumerateInstances(
- DESTINATION_CLASSNAME, namespace=server.interop_ns)
+ DESTINATION_CLASSNAME, namespace=interop_ns)
for inst in existing_dest_insts:
name_prop = inst.properties.get('Name', None) # CIMProperty
if name_prop and name_prop.value == name:
@@ -1405,8 +1415,7 @@
inst['PersistenceType'] == dest_inst['PersistenceType']:
return inst
- dest_path = server.conn.CreateInstance(
- dest_inst, namespace=server.interop_ns)
+ dest_path = server.conn.CreateInstance(dest_inst, namespace=interop_ns)
dest_inst = server.conn.GetInstance(dest_path)
if owned:
@@ -1466,6 +1475,8 @@
# Validate server_id
server = self._get_server(server_id)
+ interop_ns = server.interop_ns # Determines the Interop namespace
+
owned = filter_id is not None
filter_inst = CIMInstance(FILTER_CLASSNAME)
@@ -1485,7 +1496,7 @@
filter_inst['QueryLanguage'] = query_language
existing_filter_insts = server.conn.EnumerateInstances(
- FILTER_CLASSNAME, namespace=server.interop_ns)
+ FILTER_CLASSNAME, namespace=interop_ns)
for inst in existing_filter_insts:
name_prop = inst.properties.get('Name', None) # CIMProperty
if name_prop and name_prop.value == name:
@@ -1494,7 +1505,7 @@
"Filter instance with Name='{0}' already exists: {1}".
format(name, inst.path))
filter_path = server.conn.CreateInstance(
- filter_inst, namespace=server.interop_ns)
+ filter_inst, namespace=interop_ns)
filter_inst = server.conn.GetInstance(filter_path)
if owned:
@@ -1541,8 +1552,10 @@
# Validate server_id
server = self._get_server(server_id)
+ interop_ns = server.interop_ns # Determines the Interop namespace
+
sub_path = CIMInstanceName(SUBSCRIPTION_CLASSNAME,
- namespace=server.interop_ns,
+ namespace=interop_ns,
keybindings=[('Filter', filter_path),
('Handler', dest_path)])
@@ -1561,13 +1574,13 @@
# exists.
return inst
sub_path = server.conn.CreateInstance(
- sub_inst, namespace=server.interop_ns)
+ sub_inst, namespace=interop_ns)
sub_inst = server.conn.GetInstance(sub_path)
self._owned_subscriptions[server_id].append(sub_inst)
else:
# Responsibility to ensure it does not exist yet is with the user
sub_path = server.conn.CreateInstance(
- sub_inst, namespace=server.interop_ns)
+ sub_inst, namespace=interop_ns)
sub_inst = server.conn.GetInstance(sub_path)
return sub_inst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/pywbem/_version.py new/pywbem-1.4.1/pywbem/_version.py
--- old/pywbem-1.3.0/pywbem/_version.py 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/pywbem/_version.py 2022-02-01 17:17:43.000000000 +0100
@@ -29,4 +29,4 @@
#:
#: * "M.N.P.devD": Development level D of a not yet released version M.N.P
#: * "M.N.P": A released version M.N.P
-__version__ = '1.3.0'
+__version__ = '1.4.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/pywbem_mock/_baseprovider.py new/pywbem-1.4.1/pywbem_mock/_baseprovider.py
--- old/pywbem-1.3.0/pywbem_mock/_baseprovider.py 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/pywbem_mock/_baseprovider.py 2022-02-01 17:17:43.000000000 +0100
@@ -153,7 +153,7 @@
_format("Namespace does not exist in CIM repository: {0!A}",
namespace))
- def add_namespace(self, namespace):
+ def add_namespace(self, namespace, verbose=False):
"""
Add a CIM namespace to the CIM repository.
@@ -170,6 +170,9 @@
`None`. Any leading or trailing slash characters are removed before
the string is used to define the namespace name.
+ verbose (:class:`py:bool`):
+ Verbose mode: Print a message about the namespace creation.
+
Raises:
ValueError: Namespace argument must not be None.
@@ -193,6 +196,9 @@
_format("An Interop namespace {0!A} already exists in the "
"CIM repository. {1!A} cannot be added. ",
self.find_interop_namespace(), namespace))
+ if verbose:
+ print("Creating namespace {} (in mock support)".
+ format(namespace))
try:
self.cimrepository.add_namespace(namespace)
except ValueError:
@@ -201,7 +207,7 @@
_format("Namespace {0!A} already exists in the CIM repository ",
namespace))
- def remove_namespace(self, namespace):
+ def remove_namespace(self, namespace, verbose=False):
"""
Remove a CIM namespace from the CIM repository.
@@ -216,6 +222,9 @@
insensitive). Must not be `None`. Leading or trailing
slash characters are ignored.
+ verbose (:class:`py:bool`):
+ Verbose mode: Print a message about the namespace deletion.
+
Raises:
ValueError: Namespace argument must not be None.
@@ -246,6 +255,9 @@
_format("The Interop namespace {0!A} cannot be removed from "
"the CIM repository.", namespace))
+ if verbose:
+ print("Deleting namespace {} (in mock support)".
+ format(namespace))
try:
self.cimrepository.remove_namespace(namespace)
# KeyError cannot happen because existence was already verified
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/pywbem_mock/_inmemoryrepository.py new/pywbem-1.4.1/pywbem_mock/_inmemoryrepository.py
--- old/pywbem-1.3.0/pywbem_mock/_inmemoryrepository.py 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/pywbem_mock/_inmemoryrepository.py 2022-02-01 17:17:43.000000000 +0100
@@ -181,7 +181,7 @@
Parameters:
- initial_namespace:(:term:`string` or None):
+ initial_namespace (:term:`string` or None):
Optional initial namespace that will be added to
the CIM repository.
"""
@@ -204,7 +204,7 @@
return _format(
"InMemoryRepository(data={s._repository})", s=self)
- def print_repository(self, dest=None, ):
+ def print_repository(self, dest=None):
"""
Print the CIM repository to a destination. This displays information on
the items in the data base and is only a diagnostic tool.
@@ -214,6 +214,7 @@
File path of an output file. If `None`, the output is written to
stdout.
"""
+
def objstore_info(objstore_name):
"""
Display the data for the object store
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/pywbem_mock/_providerdispatcher.py new/pywbem-1.4.1/pywbem_mock/_providerdispatcher.py
--- old/pywbem-1.3.0/pywbem_mock/_providerdispatcher.py 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/pywbem_mock/_providerdispatcher.py 2022-02-01 17:17:43.000000000 +0100
@@ -32,6 +32,7 @@
from __future__ import absolute_import, print_function
from copy import deepcopy
+import warnings
import six
try:
from collections.abc import Mapping, Sequence
@@ -41,7 +42,8 @@
from pywbem import CIMInstance, CIMInstanceName, CIMClass, CIMClassName, \
CIMParameter, CIMError, CIM_ERR_NOT_FOUND, CIM_ERR_INVALID_PARAMETER, \
- CIM_ERR_INVALID_CLASS, CIM_ERR_METHOD_NOT_FOUND, cimtype, CIM_ERR_FAILED
+ CIM_ERR_INVALID_CLASS, CIM_ERR_METHOD_NOT_FOUND, cimtype, \
+ ToleratedSchemaIssueWarning
from pywbem._utils import _format
from pywbem._nocasedict import NocaseDict
@@ -215,11 +217,11 @@
NewInstance.classname, namespace))
if "Abstract" in creation_class.qualifiers:
- raise CIMError(
- CIM_ERR_FAILED,
- _format("CreateInstance failed. Cannot instantiate abstract "
- "class {0!A} in Namespace {1!A}.",
- NewInstance.classname, namespace))
+ warnings.warn(
+ _format("Tolerating instance creation of abstract class {0} "
+ " in namepace {1} which is forbidden by DMTF DSP0004.",
+ NewInstance.classname, namespace),
+ ToleratedSchemaIssueWarning, 1)
# Verify that the properties in the new instance are exposed by the
# creation class and have the correct type-related attributes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/pywbem_mock/_wbemconnection_mock.py new/pywbem-1.4.1/pywbem_mock/_wbemconnection_mock.py
--- old/pywbem-1.3.0/pywbem_mock/_wbemconnection_mock.py 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/pywbem_mock/_wbemconnection_mock.py 2022-02-01 17:17:43.000000000 +0100
@@ -406,7 +406,7 @@
# so they can be access with call to the methods from instance of
# this class. they are considered part of the external API.
- def add_namespace(self, namespace):
+ def add_namespace(self, namespace, verbose=False):
"""
Add a CIM namespace to the CIM repository of the faked connection.
@@ -419,15 +419,18 @@
Must not be `None`. Any leading or trailing slash characters are
removed before the string is used to define the namespace name.
+ verbose (:class:`py:bool`):
+ Verbose mode: Print a message about the namespace creation.
+
Raises:
ValueError: Namespace argument must not be None.
:exc:`~pywbem.CIMError`: CIM_ERR_ALREADY_EXISTS if the namespace
already exists in the CIM repository.
"""
- self._mainprovider.add_namespace(namespace)
+ self._mainprovider.add_namespace(namespace, verbose=verbose)
- def remove_namespace(self, namespace):
+ def remove_namespace(self, namespace, verbose=False):
"""
Remove a CIM namespace from the CIM repository of the faked connection.
@@ -440,6 +443,9 @@
insensitive). Must not be `None`. Leading or trailing
slash characters are ignored.
+ verbose (:class:`py:bool`):
+ Verbose mode: Print a message about the namespace deletion.
+
Raises:
ValueError: Namespace argument must not be None
@@ -451,7 +457,7 @@
to delete the default connection namespace. This namespace cannot
be deleted from the CIM repository
"""
- self._mainprovider.remove_namespace(namespace)
+ self._mainprovider.remove_namespace(namespace, verbose=verbose)
def is_interop_namespace(self, namespace):
"""
@@ -1765,6 +1771,7 @@
context_tuple = self._mainprovider.OpenEnumerateInstances(
namespace=namespace,
ClassName=_cvt_rqd_classname(params['ClassName']),
+ DeepInheritance=params.get('DeepInheritance', None),
IncludeClassOrigin=params.get('IncludeClassOrigin', None),
PropertyList=params.get('PropertyList', None),
FilterQueryLanguage=params.get('FilterQueryLanguage', None),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/tests/unittest/pywbem/test_mof_compiler.py new/pywbem-1.4.1/tests/unittest/pywbem/test_mof_compiler.py
--- old/pywbem-1.3.0/tests/unittest/pywbem/test_mof_compiler.py 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/tests/unittest/pywbem/test_mof_compiler.py 2022-02-01 17:17:43.000000000 +0100
@@ -34,6 +34,8 @@
from pywbem import _mof_compiler, CIMInstance, CIMError # noqa: E402
from pywbem._utils import _format # noqa: E402
from pywbem._nocasedict import NocaseDict # noqa: E402
+from pywbem._warnings import ToleratedSchemaIssueWarning # noqa: E402
+
pywbem_mock = import_installed('pywbem_mock')
from pywbem_mock import FakedWBEMConnection # noqa: E402
# pylint: enable=wrong-import-position, wrong-import-order, invalid-name
@@ -3232,5 +3234,113 @@
assert rtn_property_value.classname == 'TST_Embedded1'
+ABSTRACT_INSTANCE_TEST_MOF = """
+
+ Qualifier Abstract : boolean = false,
+ Scope(class, association, indication),
+ Flavor(EnableOverride, Restricted);
+
+ Qualifier Key : boolean = false,
+ Scope(property, reference),
+ Flavor(DisableOverride, ToSubclass);
+
+ Qualifier Description : string = null,
+ Scope(any),
+ Flavor(EnableOverride, ToSubclass, Translatable);
+
+ Qualifier Version : string,
+ Scope(class, association, indication),
+ Flavor(EnableOverride, Restricted, Translatable);
+
+ [Abstract, Version ( "2.6.0" ),
+ Description ("Test class that is abstract")]
+ class TST_AbstractClass {
+ [Key, Description ("Key property")]
+ string InstanceID;
+ };
+ [Description ("Subclass of abstract class")]
+ class TST_AbstractClassSub: TST_AbstractClass {
+ };
+
+"""
+
+TESTCASES_ABSTRACT_MOF_INSTANCE_COMPILE = [
+
+ # Testcases for testing good, warning generating and error mof where
+ # the MOF can be defined for each test.
+
+ # Each list item is a testcase tuple with these items:
+ # * desc: Short testcase description.
+ # * kwargs: Keyword arguments for the test function:
+ # * instmof: name of the embedded instance property
+ # * pstr: String containing mof for property
+ # * result_inst - Instance retrieved to test creation of instmof
+ # * exp_exc_types: Expected exception type(s), or None.
+ # * exp_warn_types: Expected warning type(s), or None.
+ # * condition: Boolean condition for testcase to run, or 'pdb' for debugger
+ # NOTE: All embedded property mof defintions that are python strings must
+ # define any included EOL with either the python raw (r'<string' or double
+ # \\ (\\n).
+ (
+ "Validate creation single instance of Abstract class",
+ dict(
+ instmof="instance of TST_AbstractClass { " \
+ 'InstanceID = "Inst1"; ' \
+ "};",
+ result_inst=CIMInstance(
+ "TST_AbstractClass",
+ path=CIMInstanceName("TST_AbstractClass",
+ keybindings=dict(InstanceID='Inst1')),
+ properties=[
+ CIMProperty('InstanceID', value='Inst1')])
+ ),
+ None, ToleratedSchemaIssueWarning, OK
+ ),
+
+ (
+ "Validate creation single instance of not Abstract class",
+ dict(
+ instmof="instance of TST_AbstractClassSub { " \
+ 'InstanceID = "Inst1"; ' \
+ "};",
+ result_inst=CIMInstance(
+ "TST_AbstractClassSub",
+ path=CIMInstanceName("TST_AbstractClassSub",
+ keybindings=dict(InstanceID='Inst1')),
+ properties=[
+ CIMProperty('InstanceID', value='Inst1')])
+ ),
+ None, None, OK
+ ),
+]
+
+
+(a)pytest.mark.parametrize(
+ "desc, kwargs, exp_exc_types, exp_warn_types, condition",
+ TESTCASES_ABSTRACT_MOF_INSTANCE_COMPILE)
+@simplified_test_function
+def test_abstract_mof_instance_compile(testcase, instmof, result_inst):
+ # pylint: disable=unused-argument
+ """
+ Test embedded object instances warning
+ """
+ conn = FakedWBEMConnection()
+ conn.compile_mof_string(ABSTRACT_INSTANCE_TEST_MOF, verbose=False)
+
+ conn.compile_mof_string(instmof)
+
+ # Get created instance and validate instance(s) created
+
+ path = CIMInstanceName(result_inst.classname,
+ keybindings=dict(InstanceID="Inst1"))
+ rtn_inst = conn.GetInstance(path)
+
+ # Account for differences in namespace, host in paths
+ rtn_inst.path.namespace = None
+ rtn_inst.path.host = None
+
+ assert rtn_inst == result_inst
+
+
if __name__ == '__main__':
unittest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pywbem-1.3.0/tests/unittest/pywbem_mock/test_wbemconnection_mock.py new/pywbem-1.4.1/tests/unittest/pywbem_mock/test_wbemconnection_mock.py
--- old/pywbem-1.3.0/tests/unittest/pywbem_mock/test_wbemconnection_mock.py 2021-12-09 18:35:17.000000000 +0100
+++ new/pywbem-1.4.1/tests/unittest/pywbem_mock/test_wbemconnection_mock.py 2022-02-01 17:17:43.000000000 +0100
@@ -75,6 +75,8 @@
from pywbem._nocasedict import NocaseDict # noqa: E402
from pywbem._utils import _format # noqa: E402
from pywbem._cim_operations import pull_path_result_tuple # noqa: E402
+from pywbem._warnings import ToleratedSchemaIssueWarning # noqa: E402
+
pywbem_mock = import_installed('pywbem_mock')
from pywbem_mock import FakedWBEMConnection, DMTFCIMSchema, \
InstanceWriteProvider, MethodProvider, BaseProvider, \
@@ -5762,6 +5764,10 @@
# test_enumerateinstances_pl_di
@pytest.mark.parametrize(
"ns", INITIAL_NAMESPACES + [None])
+ # Define strings to run test with the three operations. This does not
+ # test the use_pull_operation flag in the connection init.
+ @pytest.mark.parametrize(
+ "operation", ['orig', 'pull', 'iter'])
@pytest.mark.parametrize(
"cln, di, pl, exp_pls",
[
@@ -5823,7 +5829,8 @@
]
)
def test_enumerateinstances_pl_di(self, conn, tst_classeswqualifiers,
- tst_instances, ns, cln, di, pl, exp_pls):
+ tst_instances, ns, operation, cln, di,
+ pl, exp_pls):
# pylint: disable=no-self-use
"""
Test mock EnumerateInstances with namespace as an input
@@ -5837,6 +5844,36 @@
DeepInheritance=di,
PropertyList=pl)
+ # The code to be tested
+ if operation == 'pull':
+ # The code to be tested when pull used
+ result_tuple = conn.OpenEnumerateInstances(cln, namespace=ns,
+ DeepInheritance=di,
+ PropertyList=pl,
+ MaxObjectCount=100)
+
+ rslt_insts = result_tuple.instances
+
+ while result_tuple.eos is False:
+ result_tuple = conn.PullInstancesWithPath(
+ result_tuple.context, MaxObjectCount=100)
+ rslt_insts.extend(result_tuple.instances)
+
+ elif operation == 'iter':
+ rslt_insts = list(conn.IterEnumerateInstances(cln, namespace=ns,
+ DeepInheritance=di,
+ PropertyList=pl,
+ MaxObjectCount=100))
+ # iter returns host name with instances but get_instancce
+ # the compare basis does not.
+ for inst in rslt_insts:
+ inst.path.host = None
+
+ elif operation == 'orig':
+ rslt_insts = conn.EnumerateInstances(cln, namespace=ns,
+ DeepInheritance=di,
+ PropertyList=pl)
+
# If exp_props is dict, test for returned properties by class in
# dict. All returned classes must be in dict
for inst in rslt_insts:
@@ -5851,6 +5888,10 @@
@pytest.mark.parametrize(
"ns", INITIAL_NAMESPACES + [None])
+ # Define strings to run test with the three operations. This does not
+ # test the use_pull_operation flag in the connection init.
+ @pytest.mark.parametrize(
+ "operation", ['orig', 'pull', 'iter'])
@pytest.mark.parametrize(
"cln, di, pl, exp_pl, exp_num_insts",
[
@@ -5872,18 +5913,44 @@
]
)
def test_enumerateinstances_di(self, conn, tst_classeswqualifiers,
- tst_instances, ns, cln, di, pl, exp_pl,
- exp_num_insts):
+ tst_instances, ns, operation, cln, di, pl,
+ exp_pl, exp_num_insts):
# pylint: disable=no-self-use,unused-argument
"""
Test EnumerateInstances with DeepInheritance and propertylist options.
"""
add_objects_to_repo(conn, ns, [tst_classeswqualifiers, tst_instances])
-
# The code to be tested
- rslt_insts = conn.EnumerateInstances(cln, namespace=ns,
- DeepInheritance=di,
- PropertyList=pl)
+ if operation == 'pull':
+ # The code to be tested when pull used
+ result_tuple = conn.OpenEnumerateInstances(cln, namespace=ns,
+ DeepInheritance=di,
+ PropertyList=pl,
+ MaxObjectCount=100)
+
+ rslt_insts = result_tuple.instances
+
+ while result_tuple.eos is False:
+ result_tuple = conn.PullInstancesWithPath(
+ result_tuple.context, MaxObjectCount=100)
+ rslt_insts.extend(result_tuple.instances)
+
+ elif operation == 'iter':
+ rslt_insts = list(conn.IterEnumerateInstances(cln, namespace=ns,
+ DeepInheritance=di,
+ PropertyList=pl,
+ MaxObjectCount=100))
+ # iter returns host name with instances but get_instancce
+ # the compare basis does not.
+ for inst in rslt_insts:
+ inst.path.host = None
+
+ elif operation == 'orig':
+ rslt_insts = conn.EnumerateInstances(cln, namespace=ns,
+ DeepInheritance=di,
+ PropertyList=pl)
+ else:
+ assert False, "Invalid operation parameter for test"
assert len(rslt_insts) == exp_num_insts
@@ -5924,7 +5991,7 @@
# Test returned inst for equality with instance we built
assert exp_inst == inst
- # test_enumerateinstances_er
+ # testenumerate instance errors
@pytest.mark.parametrize(
"tst_ns, cln, in_ns, exp_exc",
[
@@ -6160,10 +6227,11 @@
@pytest.mark.parametrize(
"ns", INITIAL_NAMESPACES + [None])
- def test_createinstance_abstract(self, conn, ns):
+ def test_addinstance_abstract(self, conn, ns):
# pylint: disable=no-self-use
"""
- Test createinstance of an abstract class. This test generates exception
+ Test createinstance of an abstract class. Does not generate a
+ warning because the add_objects does not test for abstrace.
"""
# Create the model environment, qualifier decls and class
@@ -6199,24 +6267,82 @@
conn.add_cimobjects([c], namespace=ns)
# create the new instance
- new_inst = CIMInstance('CIM_AbstractClass',
- properties={'InstanceID': "AbstractTestFail"})
+ exp_warn_types = None
+ with pytest.warns(exp_warn_types) as rec_warnings:
+ new_inst = CIMInstance(
+ 'CIM_AbstractClass',
+ properties={'InstanceID': "AbstractTestWarn"})
+ new_inst.path = CIMInstanceName(
+ 'CIM_AbstractClass', namespace=ns,
+ keybindings={"InstanceID": "AbstractTestWarn"}
+ )
- # test add a second time. Should generate exception.
- with pytest.raises(CIMError) as exec_info:
+ # NOTE: add_cimobjects does not test for Abstract
+ conn.add_cimobjects(new_inst, namespace=ns)
- # The code to be tested
+ assert len(rec_warnings) == 0, \
+ "Unexpected warn msg {}".format(exp_warn_types)
+
+ @pytest.mark.parametrize(
+ "ns", INITIAL_NAMESPACES + [None])
+ def test_createinstance_abstract(self, conn, ns):
+ # pylint: disable=no-self-use
+ """
+ Test createinstance of an abstract class. This test generates
+ a warning
+ """
+
+ # Create the model environment, qualifier decls and class
+ scopesc = NocaseDict([('CLASS', True), ('ASSOCIATION', True),
+ ('INDICATION', True), ('PROPERTY', False),
+ ('REFERENCE', False), ('METHOD', False),
+ ('PARAMETER', False), ('ANY', False)])
+
+ scopesp = NocaseDict([('CLASS', False), ('ASSOCIATION', False),
+ ('INDICATION', True), ('PROPERTY', True),
+ ('REFERENCE', False), ('METHOD', False),
+ ('PARAMETER', False), ('ANY', False)])
+
+ q1 = CIMQualifierDeclaration('Abstract', 'boolean', is_array=False,
+ scopes=scopesc,
+ overridable=False, tosubclass=True,
+ toinstance=False, translatable=None)
+ q2 = CIMQualifierDeclaration('key', 'boolean', is_array=False,
+ scopes=scopesp,
+ overridable=False, tosubclass=True,
+ toinstance=False, translatable=None)
+ qdecls = [q1, q2]
+
+ c = CIMClass(
+ 'CIM_AbstractClass', qualifiers={'Abstract':
+ CIMQualifier('Abstract', True)},
+ properties={'InstanceID':
+ CIMProperty('InstanceID', None, type='string',
+ qualifiers={'Key': CIMQualifier('Key',
+ True)})})
+
+ conn.add_cimobjects(qdecls, namespace=ns)
+ conn.add_cimobjects([c], namespace=ns)
+
+ # create the new instance
+ exp_warn_types = ToleratedSchemaIssueWarning
+ with pytest.warns(exp_warn_types) as rec_warnings:
+ new_inst = CIMInstance(
+ 'CIM_AbstractClass',
+ properties={'InstanceID': "AbstractTestWarn"})
+
+ # NOTE: add_cimobjects does not test for Abstract
conn.CreateInstance(new_inst)
- exc = exec_info.value
- assert exc.status_code == CIM_ERR_FAILED
+ assert len(rec_warnings) == 1, \
+ "Expected warning(s) missing: {}".format(exp_warn_types)
@pytest.mark.parametrize(
"ns", INITIAL_NAMESPACES + [None])
def test_compile_inst_abstract(self, conn, ns):
# pylint: disable=no-self-use
"""
- Test compile that has an error compiling instance of abstract class
+ Test compile generates warning compiling instance of abstract class
"""
tst_mof = """
Qualifier Abstract : boolean = false,
@@ -6228,13 +6354,12 @@
instance of CIM_Abstract {InstanceID="blah";};
"""
skip_if_moftab_regenerated()
-
- with pytest.raises(MOFRepositoryError) as exec_info:
- # The code to be tested
+ exp_warn_types = ToleratedSchemaIssueWarning
+ with pytest.warns(exp_warn_types) as rec_warnings:
conn.compile_mof_string(tst_mof, namespace=ns)
- exc = exec_info.value
- assert exc.cim_error.status_code == CIM_ERR_FAILED
+ assert len(rec_warnings) >= 1, \
+ "Expected warning(s) missing: {}".format(exp_warn_types)
@pytest.mark.parametrize(
"interop_ns",
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package greybird-geeko-theme for openSUSE:Factory checked in at 2022-06-29 16:00:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/greybird-geeko-theme (Old)
and /work/SRC/openSUSE:Factory/.greybird-geeko-theme.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "greybird-geeko-theme"
Wed Jun 29 16:00:56 2022 rev:11 rq:985561 version:3.23.1+git1.77c0887
Changes:
--------
--- /work/SRC/openSUSE:Factory/greybird-geeko-theme/greybird-geeko-theme.changes 2021-01-11 17:07:52.131858415 +0100
+++ /work/SRC/openSUSE:Factory/.greybird-geeko-theme.new.1548/greybird-geeko-theme.changes 2022-06-29 16:01:48.576658751 +0200
@@ -1,0 +2,35 @@
+Tue Jun 28 03:38:48 UTC 2022 - Maurizio Galli <maurizio.galli(a)suse.com>
+
+- Prevent Unity desktop theme from being installed
+ Added disable-unity_v3.23.1.patch
+
+-------------------------------------------------------------------
+Mon Jun 27 15:22:43 UTC 2022 - maurizio.galli(a)gmail.com
+
+- Update to version 3.23.1+git1.77c0887:
+ * Cleanup leftovers and correct emerald file mistakinly being renamed
+
+-------------------------------------------------------------------
+Mon Jun 27 14:26:47 UTC 2022 - maurizio.galli(a)gmail.com
+
+- Update to version 3.23.1+git0.a96e825:
+ * Sync with Greybird 3.23.1
+ * Add initial support for Gtk4 and libhandy
+ * Fix dark xfwm4-a11y install path
+ * Fix xfwm4-a11y and xfwm4-compact install path
+ * Fix: GtkLabel: Backdropped selection color adjusted
+ * Fix: Backdropped selection: GtkListBoxes weren't grey
+ * Hotfix: removed background color for non-bg items
+ * Gtk3: Adjusted selected backdrop fg/bg colors: shades of grey.
+ * Changes the xfwm4 border colors
+ * build: refactor meson
+ * Correct gradients for horizontal scrollbars
+ * Reduce messagedialog buttonbox size
+ * Make CSD titlebars slimmer
+ * Correct gradients for horizontal scrollbars (shimmerproject/Greybird#288)
+ * Greybird-Dark titlebar decorations now match their CSD counterparts (shimmerproject/Greybird#301)
+ * Background selection colors are now grey instead of blue for better readability
+ * Add initial support for Gtk4 and libhandy
+ * Install index.theme
+
+-------------------------------------------------------------------
Old:
----
Greybird-Geeko-3.22.11+git10.2f4304a.tar.xz
New:
----
Greybird-Geeko-3.23.1+git1.77c0887.tar.xz
disable-unity_v3.23.1.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ greybird-geeko-theme.spec ++++++
--- /var/tmp/diff_new_pack.jNV3Ub/_old 2022-06-29 16:01:49.844660438 +0200
+++ /var/tmp/diff_new_pack.jNV3Ub/_new 2022-06-29 16:01:49.848660445 +0200
@@ -1,7 +1,7 @@
#
# spec file for package greybird-geeko-theme
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,39 +16,42 @@
#
-%define name_light Greybird-Geeko-Light
-%define name_dark Greybird-Geeko-Dark
+%define name_light Greybird-geeko
+%define name_dark Greybird-geeko-dark
%define _name Greybird-Geeko
Name: greybird-geeko-theme
-Version: 3.22.11+git10.2f4304a
+Version: 3.23.1+git1.77c0887
Release: 0
URL: https://github.com/shimmerproject/Greybird-Geeko
Summary: A grey theme for GNOME, XFCE, GTK+ 2 and 3
-License: GPL-2.0-or-later OR CC-BY-SA-3.0 AND GPL-3.0-or-later
+License: (CC-BY-SA-3.0 AND GPL-3.0-or-later) OR GPL-2.0-or-later
Group: System/GUI/GNOME
Source: %{_name}-%{version}.tar.xz
+# PATCH-FIX-OPENSUSE disable-unity_v3.23.1.patch maurizio.galli(a)gmail.com -- remove unity desktop
+Patch0: disable-unity_v3.23.1.patch
BuildRequires: fdupes
BuildRequires: gdk-pixbuf-devel
BuildRequires: gdk-pixbuf-loader-rsvg
BuildRequires: glib2-devel
BuildRequires: meson
BuildRequires: sassc
+BuildRequires: pkgconfig(gtk4)
BuildArch: noarch
%description
This theme for GTK2/3 and xfwm4/emerald/metacity is a
fork of Greybird with openSUSE branding elements added.
-
%package -n metatheme-greybird-geeko-common
Summary: Common files for the Greybird theme
Group: System/GUI/GNOME
Suggests: gtk2-metatheme-greybird-geeko
Suggests: gtk3-metatheme-greybird-geeko
+Suggests: gtk4-metatheme-greybird-geeko
%description -n metatheme-greybird-geeko-common
-The Greybird theme for GTK2/3 and xfwm4/emerald/metacity started out on the
+The Greybird theme for GTK2/3/4 and xfwm4/emerald/metacity started out on the
basis of Bluebird, but aims at reworking the intense blue tone to a more
neutral grey-ish look.
@@ -63,27 +66,29 @@
Supplements: packageand(metatheme-greybird-geeko-common:gtk2)
%description -n gtk2-metatheme-greybird-geeko
-The Greybird Theme for GTK2/3 and xfwm4/emerald/metacity started out on the
-basis of Bluebird, but aims at reworking the intense blue tone to a more
-neutral grey-ish look.
-
-This package provides the GTK+ 2 support of Greybird.
+This package provides the GTK+ 2 support of Greybird-geeko.
%package -n gtk3-metatheme-greybird-geeko
-Summary: GTK+ 3 support for the Greybird theme
+Summary: GTK+ 3 support for the Greybird-geeko theme
Group: System/GUI/GNOME
Requires: metatheme-greybird-geeko-common = %{version}
Supplements: packageand(metatheme-greybird-geeko-common:gtk3)
%description -n gtk3-metatheme-greybird-geeko
-The Greybird Theme for GTK2/3 and xfwm4/emerald/metacity started out on the
-basis of Bluebird, but aims at reworking the intense blue tone to a more
-neutral grey-ish look.
+This package provides the GTK+ 3 support of Greybird-geeko.
-This package provides the GTK+ 3 support of Greybird.
+%package -n gtk4-metatheme-greybird-geeko
+Summary: GTK+ 4 support for the Greybird-geeko theme
+Group: System/GUI/GNOME
+Requires: metatheme-greybird-geeko-common = %{version}
+Supplements: packageand(metatheme-greybird-geeko-common:gtk4)
+
+%description -n gtk4-metatheme-greybird-geeko
+This package provides the GTK+ 4 support of Greybird-geeko.
%prep
%setup -q -n %{_name}-%{version}
+%patch0 -p1
%build
%meson
@@ -101,18 +106,18 @@
%files -n metatheme-greybird-geeko-common
%doc README.md
%license LICENSE.CC LICENSE.GPL
-%dir %{_datadir}/themes/{%{name_light},%{name_dark}}
+%dir %{_datadir}/themes/{%{name_light},%{name_dark},%{name_light}-bright}
%{_datadir}/themes/{%{name_light},%{name_dark}}/{%{name_light},%{name_dark}}.emerald
%{_datadir}/themes/{%{name_light},%{name_dark}}/metacity-1
-%{_datadir}/themes/{%{name_light},%{name_dark}}/xfce-notify-4.0
+%{_datadir}/themes/{%{name_light},%{name_light}-bright}/xfce-notify-4.0
%{_datadir}/themes/{%{name_light},%{name_dark}}/xfwm4
%{_datadir}/themes/{%{name_light},%{name_dark}}/index.theme
-%{_datadir}/themes/{%{name_light},%{name_dark}}/plank
-%dir %{_datadir}/themes/{%{name_light},%{name_dark}}-{Accessibility,Compact}
-%{_datadir}/themes/{%{name_light},%{name_dark}}-{Accessibility,Compact}/*
%dir %{_datadir}/themes/{%{name_light},%{name_dark}}/gnome-shell
%{_datadir}/themes/{%{name_light},%{name_dark}}/gnome-shell/*
+%dir %{_datadir}/themes/{%{name_light},%{name_dark}}/plank
%{_datadir}/themes/{%{name_light},%{name_dark}}/plank/*
+%dir %{_datadir}/themes/{%{name_light},%{name_dark}}-{accessibility,compact}
+%{_datadir}/themes/{%{name_light},%{name_dark}}-{accessibility,compact}/*
%files -n gtk2-metatheme-greybird-geeko
%{_datadir}/themes/{%{name_light},%{name_dark}}/gtk-2.0
@@ -122,4 +127,7 @@
%{_datadir}/themes/{%{name_light},%{name_dark}}/gtk-3.0
%endif
+%files -n gtk4-metatheme-greybird-geeko
+%{_datadir}/themes/{%{name_light},%{name_dark}}/gtk-4.0
+
%changelog
++++++ Greybird-Geeko-3.22.11+git10.2f4304a.tar.xz -> Greybird-Geeko-3.23.1+git1.77c0887.tar.xz ++++++
++++ 20020 lines of diff (skipped)
++++++ Greybird-Geeko.obsinfo ++++++
--- /var/tmp/diff_new_pack.jNV3Ub/_old 2022-06-29 16:01:53.440665226 +0200
+++ /var/tmp/diff_new_pack.jNV3Ub/_new 2022-06-29 16:01:53.444665231 +0200
@@ -1,6 +1,5 @@
name: Greybird-Geeko
-version: 3.22.11+git10.2f4304a
-mtime: 1608291407
-commit: 2f4304a34890f9e398e84fde4e29db57501494eb
-
+version: 3.23.1+git1.77c0887
+mtime: 1656343186
+commit: 77c0887e6f16d53d7b3f413b31773d9a651e4263
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.jNV3Ub/_old 2022-06-29 16:01:53.488665290 +0200
+++ /var/tmp/diff_new_pack.jNV3Ub/_new 2022-06-29 16:01:53.492665295 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/shimmerproject/Greybird-Geeko.git</param>
- <param name="changesrevision">2f4304a34890f9e398e84fde4e29db57501494eb</param></service></servicedata>
+ <param name="changesrevision">77c0887e6f16d53d7b3f413b31773d9a651e4263</param></service></servicedata>
(No newline at EOF)
++++++ disable-unity_v3.23.1.patch ++++++
diff --git a/dark/meson.build b/dark/meson.build
index ce076dc..2c5b45f 100644
--- a/dark/meson.build
+++ b/dark/meson.build
@@ -14,7 +14,6 @@ scss_files = files([
'gtk-3.0/_gnome-apps.scss',
'gtk-3.0/_lightdm-gtk-greeter.scss',
'gtk-3.0/_others.scss',
- 'gtk-3.0/_unity.scss',
'gtk-3.0/_xfce.scss'
])
@@ -77,6 +76,5 @@ if not get_option('flatpak')
install_subdir('metacity-1', install_dir : theme_path)
install_subdir('xfwm4', install_dir : theme_path)
install_subdir('plank', install_dir : theme_path)
- install_subdir('unity', install_dir : theme_path)
install_subdir('variants/a11y/xfwm4', install_dir : a11y_theme_path)
endif
diff --git a/light/meson.build b/light/meson.build
index 48618f6..48ab645 100644
--- a/light/meson.build
+++ b/light/meson.build
@@ -17,7 +17,6 @@ if not get_option('flatpak')
install_subdir('xfce-notify-4.0', install_dir : theme_path)
install_subdir('xfwm4', install_dir : theme_path)
install_subdir('plank', install_dir : theme_path)
- install_subdir('unity', install_dir : theme_path)
install_subdir('variants/a11y/xfwm4', install_dir : a11y_theme_path)
install_subdir('variants/bright/xfce-notify-4.0', install_dir : bright_theme_path)
install_subdir('variants/compact/xfwm4', install_dir : compact_theme_path)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libxml2 for openSUSE:Factory checked in at 2022-06-29 16:00:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libxml2 (Old)
and /work/SRC/openSUSE:Factory/.libxml2.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libxml2"
Wed Jun 29 16:00:54 2022 rev:110 rq:985342 version:2.9.14
Changes:
--------
--- /work/SRC/openSUSE:Factory/libxml2/libxml2.changes 2022-05-05 23:05:48.465513436 +0200
+++ /work/SRC/openSUSE:Factory/.libxml2.new.1548/libxml2.changes 2022-06-29 16:01:46.636656169 +0200
@@ -94,3 +94,3 @@
- * Fix CVE-2021-3541, CVE-2021-3537, CVE-2021-3518, CVE-2021-3517,
- CVE-2021-3516, CVE-2020-7595, CVE-2019-20388, CVE-2020-24977,
- and CVE-2019-19956
+ * Fix CVE-2021-3541, CVE-2021-3537 (bsc#1185698, bsc#1185879),
+ CVE-2021-3518, CVE-2021-3517, CVE-2021-3516, CVE-2020-7595,
+ CVE-2019-20388, CVE-2020-24977, and CVE-2019-19956 (bsc#1159928)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package containers-systemd for openSUSE:Factory checked in at 2022-06-29 16:00:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/containers-systemd (Old)
and /work/SRC/openSUSE:Factory/.containers-systemd.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "containers-systemd"
Wed Jun 29 16:00:53 2022 rev:29 rq:985537 version:0.0+git20220628.ee9e63c
Changes:
--------
--- /work/SRC/openSUSE:Factory/containers-systemd/containers-systemd.changes 2022-02-03 23:17:10.740329138 +0100
+++ /work/SRC/openSUSE:Factory/.containers-systemd.new.1548/containers-systemd.changes 2022-06-29 16:01:43.632652170 +0200
@@ -1,0 +2,6 @@
+Tue Jun 28 09:16:00 UTC 2022 - kukuk(a)suse.com
+
+- Update to version 0.0+git20220628.ee9e63c:
+ * Add files to renew certificates with certbot
+
+-------------------------------------------------------------------
Old:
----
containers-systemd-0.0+git20220131.79f09c7.tar.xz
New:
----
containers-systemd-0.0+git20220628.ee9e63c.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ containers-systemd.spec ++++++
--- /var/tmp/diff_new_pack.NkHDrD/_old 2022-06-29 16:01:46.080655429 +0200
+++ /var/tmp/diff_new_pack.NkHDrD/_new 2022-06-29 16:01:46.084655434 +0200
@@ -17,7 +17,7 @@
%define containers bind dhcp-server dovecot fetchmail haproxy mariadb minidlna nfs-server nginx openldap postfix roundcube samba spamassassin squid wsdd
-%define container_services container-bind.service container-dhcp-server.service container-dhcp6-server.service container-dovecot.service container-fetchmail.service container-haproxy.service container-mariadb.service container-minidlna.service container-nfs-server.service container-nginx.service container-openldap.service container-postfix.service container-roundcube.service container-samba.service container-spamassassin.service container-squid.service container-wsdd.service container-image-prune.service container-image-prune.timer
+%define container_services container-bind.service container-dhcp-server.service container-dhcp6-server.service container-dovecot.service container-fetchmail.service container-haproxy.service container-mariadb.service container-minidlna.service container-nfs-server.service container-nginx.service container-openldap.service container-postfix.service container-roundcube.service container-samba.service container-spamassassin.service container-squid.service container-wsdd.service container-image-prune.service container-image-prune.timer container-certbot-renew.service container-certbot-renew.timer
%if %{undefined service_del_postun_without_restart}
%define service_del_postun_without_restart() \
@@ -26,11 +26,11 @@
%endif
Name: containers-systemd
-Version: 0.0+git20220131.79f09c7
+Version: 0.0+git20220628.ee9e63c
Release: 0
Summary: Systemd service files and config files for openSUSE container
License: MIT
-URL: https://github.com/kubic-project/containers-systemd
+URL: https://github.com/openSUSE/containers-systemd
Source: containers-systemd-%{version}.tar.xz
Source1: containers-systemd.rpmlintrc
BuildArch: noarch
@@ -59,6 +59,9 @@
# create symlink for rccontainer-*
ln -s /sbin/service %{buildroot}%{_sbindir}/rccontainer-$i
done
+install -m 644 container-certbot.default %{buildroot}%{_distconfdir}/default/container-certbot
+install -m 644 container-certbot-renew.service %{buildroot}%{_unitdir}/
+install -m 644 container-certbot-renew.timer %{buildroot}%{_unitdir}/
install -m 644 container-dhcp6-server.service %{buildroot}%{_unitdir}/
ln -s /sbin/service %{buildroot}%{_sbindir}/rccontainer-dhcp6-server
install -m 644 container-image-prune.service %{buildroot}%{_unitdir}/
@@ -96,6 +99,9 @@
%{_distconfdir}/default/container-bind
%{_sbindir}/rccontainer-bind
%ghost %dir /srv/bind
+%{_unitdir}/container-certbot-renew.service
+%{_unitdir}/container-certbot-renew.timer
+%{_distconfdir}/default/container-certbot
%{_unitdir}/container-dhcp-server.service
%{_unitdir}/container-dhcp6-server.service
%{_distconfdir}/default/container-dhcp-server
++++++ _service ++++++
--- /var/tmp/diff_new_pack.NkHDrD/_old 2022-06-29 16:01:46.120655482 +0200
+++ /var/tmp/diff_new_pack.NkHDrD/_new 2022-06-29 16:01:46.124655487 +0200
@@ -2,7 +2,7 @@
<service name="tar_scm" mode="disabled">
<param name="version">0.0</param>
<param name="versionformat">0.0+git%cd.%h</param>
- <param name="url">git://github.com/kubic-project/containers-systemd.git</param>
+ <param name="url">https://github.com/openSUSE/containers-systemd.git</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
</service>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.NkHDrD/_old 2022-06-29 16:01:46.144655514 +0200
+++ /var/tmp/diff_new_pack.NkHDrD/_new 2022-06-29 16:01:46.148655519 +0200
@@ -1,6 +1,7 @@
<servicedata>
<service name="tar_scm">
- <param name="url">git://github.com/kubic-project/containers-systemd.git</param>
- <param name="changesrevision">79f09c7789d41b4f94fe10ed859fd8a5c885b2d1</param></service>
+ <param name="url">https://github.com/openSUSE/containers-systemd.git</param>
+ <param name="changesrevision">ee9e63cfe22480abcec46f37d7c181a8ee874119</param></service>
</servicedata>
+(No newline at EOF)
++++++ containers-systemd-0.0+git20220131.79f09c7.tar.xz -> containers-systemd-0.0+git20220628.ee9e63c.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/containers-systemd-0.0+git20220131.79f09c7/container-certbot-renew.service new/containers-systemd-0.0+git20220628.ee9e63c/container-certbot-renew.service
--- old/containers-systemd-0.0+git20220131.79f09c7/container-certbot-renew.service 1970-01-01 01:00:00.000000000 +0100
+++ new/containers-systemd-0.0+git20220628.ee9e63c/container-certbot-renew.service 2022-06-28 11:12:23.000000000 +0200
@@ -0,0 +1,23 @@
+[Unit]
+Description=Renew certificates with certbot container
+Documentation=https://eff-certbot.readthedocs.io/en/stable/install.html#running-with-docker
+After=network-online.target local-fs.target firewalld.service
+Wants=network-online.target
+StartLimitIntervalSec=40
+StartLimitBurst=5
+
+[Service]
+Environment=PODMAN_SYSTEMD_UNIT=%n
+Restart=on-failure
+RestartSec=1s
+TimeoutStopSec=70
+EnvironmentFile=-/usr/etc/default/container-certbot
+EnvironmentFile=-/etc/default/container-certbot
+ExecStartPre=/bin/rm -f %t/%n.pid %t/%n.ctr-id
+ExecStartPre=-/usr/bin/podman pull ${CERTBOT_IMAGE_PATH}
+ExecStartPre=-mkdir -p $CONFIG_DIR $VAR_DIR $LOG_DIR
+ExecStart=/usr/bin/podman run --conmon-pidfile %t/%n.pid --cidfile %t/%n.ctr-id --cgroups=no-conmon --sdnotify=conmon --replace -d --rm $PODMAN_EXTRA_ARGS -v ${CONFIG_DIR}:/etc/letsencrypt:z -v ${VAR_DIR}:/var/lib/letsencrypt:z -v ${LOG_DIR}:/var/log/letsencrypt:z $CERTBOT_PORTS --name certbot ${CERTBOT_IMAGE_PATH} renew --standalone
+ExecStop=/usr/bin/podman stop --ignore --cidfile %t/%n.ctr-id -t 10
+ExecStopPost=/usr/bin/podman rm --ignore -f --cidfile %t/%n.ctr-id
+Type=notify
+NotifyAccess=all
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/containers-systemd-0.0+git20220131.79f09c7/container-certbot-renew.timer new/containers-systemd-0.0+git20220628.ee9e63c/container-certbot-renew.timer
--- old/containers-systemd-0.0+git20220131.79f09c7/container-certbot-renew.timer 1970-01-01 01:00:00.000000000 +0100
+++ new/containers-systemd-0.0+git20220628.ee9e63c/container-certbot-renew.timer 2022-06-28 11:12:23.000000000 +0200
@@ -0,0 +1,13 @@
+[Unit]
+Description=Timer to renew certificates with certbot container
+Documentation=https://eff-certbot.readthedocs.io/en/stable/install.html#running-with-docker
+After=local-fs.target
+
+[Timer]
+OnCalendar=daily
+AccuracySec=1m
+RandomizedDelaySec=2h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/containers-systemd-0.0+git20220131.79f09c7/container-certbot.default new/containers-systemd-0.0+git20220628.ee9e63c/container-certbot.default
--- old/containers-systemd-0.0+git20220131.79f09c7/container-certbot.default 1970-01-01 01:00:00.000000000 +0100
+++ new/containers-systemd-0.0+git20220628.ee9e63c/container-certbot.default 2022-06-28 11:12:23.000000000 +0200
@@ -0,0 +1,20 @@
+# Variables of this file can be overwritten with
+# /etc/default/container-certbot
+
+# Name of the image path to pull the wsdd image from
+CERTBOT_IMAGE_PATH=certbot/certbot:latest
+
+# Name of the path where the configuration will be stored
+CONFIG_DIR="/srv/certbot/etc"
+
+# Name of the path which certbot uses as /var/lib/certbot
+VAR_DIR="/srv/certbot/var"
+
+# Name of the path which certbot uses as /var/log/certbot
+LOG_DIR="/srv/certbot/log"
+
+# Ports which certbot webserver will use
+CERTBOT_PORTS="-p 80:80"
+
+# Extra arguments for podman to start the container
+PODMAN_EXTRA_ARGS=""
++++++ containers-systemd.rpmlintrc ++++++
--- /var/tmp/diff_new_pack.NkHDrD/_old 2022-06-29 16:01:46.240655642 +0200
+++ /var/tmp/diff_new_pack.NkHDrD/_new 2022-06-29 16:01:46.240655642 +0200
@@ -2,7 +2,6 @@
addFilter("zero-length /etc/mariadb-secrets/MYSQL_.*")
addFilter("zero-length /etc/openldap-secrets/LDAP_.*")
addFilter("zero-length /etc/postfix-secrets/.*")
-# We don't install /sbin/service to build the package
-addFilter("dangling-symlink /usr/sbin/rccontainer-.*")
-addFilter("suse-missing-rclink container-image-prune")
+# We don't restart all container only because the package has changed
+addFilter("systemd-service-without-service_del_postun")
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python39 for openSUSE:Factory checked in at 2022-06-29 16:00:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python39 (Old)
and /work/SRC/openSUSE:Factory/.python39.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python39"
Wed Jun 29 16:00:52 2022 rev:31 rq:985337 version:3.9.13
Changes:
--------
--- /work/SRC/openSUSE:Factory/python39/python39.changes 2022-06-19 21:10:34.850100851 +0200
+++ /work/SRC/openSUSE:Factory/.python39.new.1548/python39.changes 2022-06-29 16:01:41.804649737 +0200
@@ -421 +421 @@
- (bsc#1193179).
+ (bsc#1193179, bsc#1192249).
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package texlive for openSUSE:Factory checked in at 2022-06-29 16:00:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/texlive (Old)
and /work/SRC/openSUSE:Factory/.texlive.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "texlive"
Wed Jun 29 16:00:50 2022 rev:80 rq:985524 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/texlive/texlive.changes 2022-05-26 18:44:01.569175591 +0200
+++ /work/SRC/openSUSE:Factory/.texlive.new.1548/texlive.changes 2022-06-29 16:01:39.664646888 +0200
@@ -1,0 +2,5 @@
+Tue Jun 21 08:26:38 UTC 2022 - Dr. Werner Fink <werner(a)suse.de>
+
+- Support gcc-g++13
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ texlive.spec ++++++
--- /var/tmp/diff_new_pack.pAqskL/_old 2022-06-29 16:01:41.476649300 +0200
+++ /var/tmp/diff_new_pack.pAqskL/_new 2022-06-29 16:01:41.480649306 +0200
@@ -3834,7 +3834,7 @@
CC=gcc
CXX=g++
XCFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE"
- XCXXFLAGS="$XCFLAGS"
+ XCXXFLAGS="$XCFLAGS -include cstdint"
cflags ()
{
local flag=$1; shift || return
1
0