From ec198bb6777eecad4f4cc4889ff3915e00a1f8fe420936567b8caf4c2a9b2558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 22:40:55 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main python-pywbem revision ec79c5d63599851012a67e63da3de546 --- .gitattributes | 23 + python-pywbem.changes | 1392 +++++++++++++++++++++++++++++++++++++++++ python-pywbem.spec | 121 ++++ pywbem-1.4.1.tar.gz | 3 + 4 files changed, 1539 insertions(+) create mode 100644 .gitattributes create mode 100644 python-pywbem.changes create mode 100644 python-pywbem.spec create mode 100644 pywbem-1.4.1.tar.gz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/python-pywbem.changes b/python-pywbem.changes new file mode 100644 index 0000000..23db4a3 --- /dev/null +++ b/python-pywbem.changes @@ -0,0 +1,1392 @@ +------------------------------------------------------------------- +Thu Jun 23 10:37:07 UTC 2022 - Ben Greiner + +- 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 + +------------------------------------------------------------------- +Sun Dec 26 15:34:59 UTC 2021 - Ben Greiner + +- Update to 1.3.0 + **Incompatible changes:** + * The `WBEMListener.start()` method may raise new exceptions + `pywbem.ListenerPortError`, `pywbem.ListenerPromptError` and + `pywbem.ListenerCertificateError`. The `OSError` and `IOError` + exceptions raised in earlier versions may still be raised for + other, less common cases. For details, see the corresponding + item in the Enhancements section, below. + * Changed 'SubscriptionManager.add_filter()' method to use the + 'SourceNamespaces' property (allows multiple namespaces) of the + 'CIM_IndicationFilter' class instead of the deprecated + 'SourceNamespace' property (allows only single namespace). + This changed the name of the positional 'source_namespace' + parameter to 'source_namespaces`. The new parameter allows both + string and list of strings as values. + + This change brings the subscription manager in line with the + incorporation of the 'SourceNamespaces' property made to this + CIM class definition by DMTF CIM schema release 2.22.0. + + An optional 'source_namespace' keyword parameter has been added + to the 'add_filter()'method to account for any case where a + WBEM Server cannot handle the SourceNamespaces property. The + primary incompatibility will be that the instance created for + CIM_Indication filter now has a property named + 'SourceNamespaces' instead of 'SourceNamespace'. See further + comments below and issue #2725. + * Changed the 'SubscriptionManager.add_filter()' method to no + longer allow specifying the 'filter_id' parameter for permanent + filters. The documentation had already disallowed that case, + but the code allowed it. (issue #2757) + * Added code to fail compile or creation in pywbem_mock of + instance of Abstract class. Before this the WBEM server might + fail the attempt but the MOF compiler and pywbem_mock would + build the instance (see issue # 2742). + * The new simplified format of the automatically generated 'Name' + property of owned indication filters causes existing filters + with the old format to be ignored and a Python warning of type + 'pywbem.OldNameFilterWarning' will be issued. Such owned filter + instances need to be either removed as owned filters with a + prior version of pywbem, or as permanent filters with this + version of pywbem. (issue #2765) + * Removed the + 'pywbem.WBEMSubscriptionManager.add_listener_destinations()' + method, because the new naming approach for listener + destinations requires either a name or an ID and that does not + work well with supporting multiple destinations in one method + call. Use the new 'add_destination()' method instead. (issue + #2766) + * The new simplified format of the automatically generated 'Name' + property of owned listener destinations causes existing + destinations with the old format to be ignored and a Python + warning of type 'pywbem.OldNameDestinationWarning' will be + issued. Such owned destination instances need to be either + removed as owned destinations with a prior version of pywbem, + or as permanent destinations with this version of pywbem. + (issue #2766) + + **Bug fixes:** + * Fixes bug in compiler where log of ModifyClass request failure + was not surrounded by verbose test (if p.parse.verbose:). See + pywbemcli issue #395, + * Fixes several issues in WBEMSubscriptionManager: + - Fixed the discrepancy between documentation and code in + add_filter() regarding 'filter_id', 'name' and ownership + type: The only allowed combinations are now owned filters + with 'filter_id' and permanent filters with 'name'. (issue + #2757) + - add_filter() and add_destinations() methods can no longer + modify existing instances on the WBEM server. They can only + create new instances. + - Modified the algorithm to determine owned filters and + instances so they are are correctly recovered from the WBEM + server when the WBEMSubscriptionManager is restarted (before + this they could be returned as not-owned object). + - Change to use WBEM server systemname as the value of the + SystemName property. + - Removed code that built instance path for new filter and + destination instances since that was used only to try to + determine if instance existed to make the create/modify + decision. + - Added the client host as a component of the Name property for + owned filters and destinations. (issue #2701). + - Fix issue where windows indication throughput is very slow. + It is in the range of 1 indication every 2 seconds. The + issue is not pywbem but windows itself apparently because of + hosts file and DNS configuration such that using localhost + builds in a delay. This can be fixed by using an IP address + 127.0.0.1 for the indication listener or modifying the hosts + table in windows. For this test we chose to just change the + host name See issue #528) + - Fixes issue with SubscriptionManager class where + add_destinations loses the input parameter owned if there are + multiple urls in the listener_urls parameter (see issue + #2715) + - Fixes issue where add_subscription returned wrong instance if + the instance already exists. (See issue #2719) + - Fix issues in SubscriptionManager.add_destination to add + optional parameter which populates the destination + PersistenceType property. (See issue #2712) + - Add capability to mock subscription providers to execute + ModifyInstance (See issue #2722) + - Fixed pywbem_mock and the MOF_compiler to test for creation + or compile of an instance with a creation class that has the + Abstract qualifier. This will fail since abstract classes + cannot be instantiated. (see issue #2742) + - Removed use of unittest.Mock in + pywbem_mock.FakedWBEMConnection to use mock versions of + _imethodcall and _methodcall and simply duck typed the + methods. (see issue #2755) + - Fixed issue in pywbem SubscriptionManager where duplicate + add_destination() resulted in good return rather than + CIMError. The code where the Name property is different but + the URL the same was modified to test for both URL and + persistence type equality before returning the existing + instance. (See issue $ 2782) + * Fixes MOF compiler issue where the compiler was allowing array + properties to have corresponding instances instantiated with + non-array values and vice-versa. This now causes a parse error. + (See issue # 2786) + * Docs: Fixed an error with the autodocsumm and Sphinx 4.0.0. + (issue #2697) + * Jupyter Notebook: Ignored safety issues 40380..40386 in order + to continue supporting it with Python 2.7. (issue #2703) + * Windows: Removed dependency on bash command in pip upgrade in + Makefile. (issue #2713) + * WBEM listener: Fixed the incorrect Content-Type header value + 'text/html' that was set in its export responses by changing + that to 'text/xml'. (part of issue #2729) + * WBEM listener: Removed the incorrect check for the + Accept-Encoding header value when processing export requests to + be consistent with DSP0200 which requires that WBEM listeners + must support any value. (part of issue #2729) + * Fixed installation with setup.py on ubuntu for Python 2.7, 3.4, + 3.5, by pinning yamlloader to <1.0.0. (issue #2745) + * Mitigated Pylint issue 'deprecated-method' when using + time.perf_counter() on Python versions 3.6 and 3.7. (issue + #2768) + * Mitigated new Pylint error 'not-an-iterable' when using + 'WBEMServer' properties that return lists and use deferred + initialization. (issue #2770) + * Security - Added 42218 42253 42254 42297 42298 42203 to safety + ignore list. These were new safety issues 1 Nov 2021. The + modules are all in development, and Jupyter notebook. + * Fix incompatibility between Sphinx 1.8.5 (version for python <= + 3.5) and docutils 0.18. (See issue # 2787). + * Modified dev-requirements and rtd-requirements to require + Sphinx >= 3.54. + * Modify dev-requirements.txt to limit version of more-itertools + to < 8.10.1 for python < 3.6. See issue #2796 + * Fixed new issues raised by Pylint 2.12.1. + * Fixed error when installing virtualenv in install test on + Python 2.7. + + **Enhancements:** + * Improved the running of indication listeners via + `WBEMListener.start()`: + - The method will now raise a new exception + `pywbem.ListenerPortError` when the port is in use, instead + of the previous `socket.error` on Python 2 and `OSError` on + Python 3 that had confusing or unspecific error messages. + - The method will now raise a new exception + `pywbem.ListenerCertificateError` when using HTTPS and there + is an issue with the server certificate file, private key + file, or invalid password for the private key file, instead + of the previous `ssl.SSLError` or `OSError` that had + confusing or unspecific error messages. + - The method will now raise a new exception + `pywbem.ListenerPromptError` when using HTTPS and the prompt + for the password of the private key file was interrupted or + ended, instead of the previous `IOError` or `OSError` that + had unspecific error messages. + - If the private key file is protected with a password, the + password prompt now states the path name of the private key + file in the prompt message. + - Add optional initialization parameter `url` to pywbem_mock + FakedWBEMConnection class. This allows a different URL than + the default http://FakedWBEMConnection:5988. With this, tests + can be executed with multiple simultaneous mock environments + pywbem. (See issue #2711) + * Test: Added support for validating the structure of + user-defined properties in the easy-server server and vault + files. As part of that, increased the minimum version of the + 'pytest-easy-server' package to 0.8.0. (issue #2660) + * Added providers to the pywbem_mock environment for the 3 + classes required to manage subscriptions in a WBEM server. + (See issue #2704) + * Finalized the support for SI units that was experimental so + far, i.e. the 'pywbem.siunit()' and 'pywbem.siunit_obj()' + functions. (issue #2653) + * Modify 'SubscriptionManager.add_filter()' to use the + CIM_IndicationFilter property 'SourceNamespaces' in place of + the deprecated 'SourceNamespace'. (see issue #2725 and the + **Incompatible changes:** section above) + * Added support for the ExportIndication export operation by + extending 'WBEMConnection' to be able of targeting a WBEM + listener instead of a WBEM server, and by adding an + 'ExportIndication()' method to 'WBEMConnection'. The + 'default_namespace' and 'use_pull_operations' init parameters + and properties are ignored when targeting a WBEM listener. + (issue #2729) + * Test: Improved diff display when assertion in test_recorder.py + fails. + * Added toleration support for WBEM servers that return a CIM + status CIM_ERR_FAILED when pywbem issues a pull operation and + the server does not support it. Note that DSP0200 requires the + use of CIM status CIM_ERR_NOT_SUPPORTED in this case, but at + least one WBEM server returns CIM_ERR_FAILED. (issue #2736) + * Added a 'copy()' method to 'WBEMConnection', + 'FakedWBEMConnection', 'LogOperationRecorder', and + 'TestClientRecorder'. The 'copy()' method returns a copy of the + object where user-specified attributes are copied and any + additional internal state is reset. In case of + 'FakedWBEMConnection', the repository and registries of the + original object are reused by the new object. (issue #2750) + * The init methods of 'WBEMConnection' and 'LogOperationRecorder' + now copy any mutable input arguments in order to ensure the new + object is decoupled from the user-provided objects. (related to + issue #2750) + * Changed the WBEMConnection.timeout property to be settable. + This allows adjusting the timeout after the connection has been + created. (issue #2752) + * Pylint: Removed pinning of Pylint to <2.7.0 because the + performance issue can also be addressed by disabling the + similarity checker, and addressed Pylint issues reported by + Pylint 2.9. (issue #2672) + * Simplified the format of the automatically generated 'Name' + property of owned indication filters from: ``"pywbemfilter:" + {ownership} ":" {client_host} ":" {submgr_id} ":" {filter_id} + ":" {guid}`` to: ``"pywbemfilter:" {submgr_id} ":" + {filter_id}``. The client host was removed in order to allow + different client systems to be used. The ownership was removed + because filters with an auto-generated Name are always owned. + The GUID was removed to make the name predictable and the + uniqueness it attempted to guarantee is now achieved by + rejecting the creation of filters with the same name. Overall, + this change makes the name much more suitable for use in CLI + tools such as pywbemcli. (issue #2765) + * Added a `ToleratedSchemaIssueWarning` class with its base class + `Warning`. The new `ToleratedSchemaIssueWarning` is expected to + be used where the MOF compiler or code detects issues in the + CIM Schema that are either tolerated or corrected. + * Added a 'pywbem.WBEMSubscriptionManager.add_destination()' + method that makes the way the 'Name' property is created for + listener destination intances consistent with how that is now + done for indication filters: There is a new parameter 'name' + that directly sets the 'Name' property for permanent + destinations, and a new parameter 'destination_id' that is used + for creating the 'Name' property for owned destinations. The + format of the generated 'Name' property has been changed from: + ``"pywbemdestination:" {ownership} ":" {client_host} ":" + {submgr_id} ":" {guid}`` to: ``"pywbemdestination:" {submgr_id} + ":" {destination_id}``. The client host was removed in order to + allow different client systems to be used. The ownership was + removed because destinations with an auto-generated Name are + always owned. The GUID was removed to make the name predictable + and the uniqueness it attempted to guarantee is now achieved by + rejecting the creation of destinations with the same name. + Overall, this change makes the name much more suitable for use + in CLI tools such as pywbemcli. (issue #2766) + * Fixed install error of PyYAML 6.0b1 on Python 2.7 during + installtest, by pinning it to <6.0. + * Fixed install error of wrapt 1.13.0 on Python 2.7 on Windows + due to lack of MS Visual C++ 9.0 on GitHub Actions, by pinning + it to <1.13. + * Fixed install error of yanked jsonschema 4.0.0 on Python <3.7, + by excluding it. + * Enhanced test matrix on GitHub Actions to always include Python + 2.7 and Python 3.4 on Ubuntu, and Python 2.7 and Python 3.5 on + macOS and Windows. + * Support for Python 3.10: Added Python 3.10 in GitHub Actions + tests, and in package metadata. + + **Cleanup:** + * Extend tests for SubscriptionManager to utilize pytest and + cover error cases. + +------------------------------------------------------------------- +Fri Oct 22 19:45:12 UTC 2021 - Ben Greiner + +- Update to 1.2.0 + * Unsupported CIM infrastructure versions returned in CIM-XML + responses from WBEM servers are now raised as a new exception + `pywbem.CIMVersionError`, and were previously raised as + `pywbem.CIMXMLParseError`. Unsupported DTD versions and CIM-XML + protocol versions returned in CIM-XML responses from WBEM + servers are now raised as new exceptions + `pywbem.DTDVersionError` and `pywbem.ProtocolVersionError`, and + were previously ignored by pywbem. Since these new exceptions + are derived from `pywbem.VersionError` which is derived from + `pywbem.VersionError`, this change is only incompatible if such + unsupported versions were specifically handled by users. + * The `pywbem.WBEMServer.get_selected_profiles()` method now + raises `pywbem.ModelError` instead of `KeyError` when required + properties were found to be missing. This is an incompatible + change for users that catch this exception. (related to issue + #2580). + * The operation recorder support added in pywbem 0.9 as an + experimental feature was changed to become internal. As part of + this, the "WBEM operation recording" section has been removed + from the documentation, the operation recorder specific classes + are no longer documented, and the operation recorder specific + attributes and methods of the 'WBEMConnection' class have been + declared to be internal and have been removed from the + documentation. The logging support which uses the operation + recorder remains publicly available. If you are using the + operation recorder, please create an issue in the issue tracker + describing how you use it. + * MOF compiler: Fixed bug where MOF compiler did not correctly + install a CIM schema in a non-default namespace because it + tried to get the qualifiers from the default namespace. (see + issue #2502) + * Test: Changed dependency to 'typed-ast' to match the needs of + 'astroid' and to install it only on CPython. This allows + re-enabling PyPy3 on Travis. + * Test: Pinned psutil to <=5.6.3 on PyPy2+3 to avoid an + installation error. + * Test: Increased the minimum version of 'pyzmq' on Python 3.9 to + 19.0.0 to avoid an installation error. + * Test: Circumvented unicode issue with + lxml.etree.fromstring()/XML() on Python 3.9 by passing in + binary strings. + * Test: Adjusted _format()/_ascii2() testcases to PyPy3 behavior + with binary vs unicode results. + * Test: Suppressed pylint warning about 'tracemalloc' methods on + PyPy. + * Test: Disabled leaktest in travis also on PyPy3 (in addition to + PyPy2). + * Test: Disabled 'make resourcetest' in Travis on Pypy2+3, and + suppressed Pylint issues about using 'tracemalloc' methods and + disabled its unit tests. + * Fixed the bug that pywbem allowed reference typed CIMQualifier + and CIMQualifierDeclaration objects. DSP0004 disallows + reference types on qualifiers and qualifier declarations. This + fix now causes CIM-XML responses received from a WBEM server + with reference typed qualifier values and qualifier + declarations to raise `pywbem.CIMXMLParseError` from + `WBEMConnection` operations. + * Fixed a `DeprecationWarning` issued by urllib3 about using the + `whitelist_methods` parameter of `Retry`. + * Security: Increased minimum version of 'PyYAML' to 5.2 on + Python 3.4 and to 5.3.1 on Python 2.7 and >=3.5 to address + security issues reported by safety. The relevant functions of + 'PyYAML' are not used by pywbem, though. + * Security: Increased minimum version of 'urllib3' to 1.24.2 on + Python 3.4 and to 1.25.9 on Python 2.7 and >=3.5 to address + security issues reported by safety. To support these versions + of 'urllib3', increased minimum version of 'requests' to 2.20.1 + on Python 3.4 and to 2.22.0 on Python 2.7 and >=3.5. + * Security: Increased minimum versions of several packages that + are needed only for test or development of pywbem to address + security issues reported by safety: requests-toolbelt to 0.8.0; + lxml to 4.6.2 (except for Python 3.4); pylint to 2.5.2 and + astroid to 2.4.0 on Python >=3.5; typed-ast to 1.3.2 on Python + 3.4; twine to 3.0.0 on Python >=3.6; pkginfo to 1.4.2; bleach + to 3.1.2 on Python 3.4 and to 3.1.4 on Python 2.7 and Python + >=3.5. + * Fixed issue on GitHub Actions with macos by no longer running + "brew update" in pywbem_os_setup.sh. (issue #2544) + * Docs: Fixed incorrect attribute name 'provider_classnames' in + method provider example. (issue #2564) + * Mitigated the coveralls HTTP status 422 by pinning + coveralls-python to <3.0.0. + * Test: Add tests to test_mof_compiler to test for errors where + the namespace name component of the namespace pragma is + missing. + * In `CIMNamespaceProvider.post_register_setup()`, fixed an + `AttributeError` when accessing the 'Name' property of a CIM + instance (related to issue #2580). + * In the `MOFCompiler` class, fixed that if a MOF instance + already exists, the ModifyInstance operation failed because the + instance path was not specified. The fix is to construct the + instance path from the key properties in instance specified in + MOF. That fix has the limitation that it does not account for + instance providers that add key properties or that ignore + provided key properties (e.g. InstanceID). (issue #2586) + * Corrected issue in pywbem_mock where DeleteQualifier() was not + checking whether the qualifier was used in any classes in the + namespace before being deleted. (see #2585) + * Fixed an incorrect calculation of the min/max values for the + server response time in the statistics support of pywbem (issue + #2599) + * Security - Add safety issue 40072 (lxml version 4.6,3) to + safety ignore list. No change to pywbem since we apparently do + not use the affected component (see issue #2645) + * Test: Pinned decorator package to python <=5.0.0 on Python + 2+3.4 because decorator 5.0.0 does not support python < 3.5 + (see issue #2647) + * Fix pywem_mock issue with Delete class not calling providers to + handle the DeleteInstance (see issue #2643) + * Test: Workaround for BadStatusLine issue in + test_WBEMListener_send_indications test function. This is not a + fix for the root cause of the issue. For details, see pywbem + issue #2659. + * Fixed installation of 'pywinpty' package on Python 2.7 by + pinning it to <1.0. It failed because it does not declare its + supported Python versions. (see issue #2680) + * Fixed that the test workflow ignored errors that occurred + during 'make install' and 'make develop', by splitting the + multiple commands in these steps into separate steps. + * Finalized the pywbem mock support. (issue #2651) + * Logging: Added a value 'off' for the log destination in the + ``pywbem.configure_logging()`` function that disables logging. + (part of issue #86) + * Improved exception handling during the parsing of CIM-XML + responses received from a WBEM server. Exceptions that were + raised as TypeError or ValueError during the creation of CIM + objects that are part of the operation result, are now raised + as pywbem.CIMXMLParseError. Note that this is not an + incompatible change because users were already potentially + getting pywbem.CIMXMLParseError exceptions in other cases. (see + issue #2512) + * Test: Added CIM-XML testcases in the area of instance paths. + (see issue #2514) + * Docs: Clarified that `pywbem.type_from_name()` returns + `CIMInstanceName` for type name "reference", even though for + use in CIM method parameters, `CIMClassName` is also valid. + * Issued a new `pywbem.MissingKeybindingsWarning` warning if a + `CIMInstanceName` object that does not have any keybindings + gets converted to CIM-XML by calling its `tocimxml()` method, + or gets converted to a WBEM URI by calling its `to_wbem_uri()` + method, or gets parsed from CIM-XML via an INSTANCENAME element + without keybindings. This is motivated by the fact that DSP0004 + does not allow instance paths without keys (section 8.2.5). + (See issue #2514) + * Reduced memory consumption of CIM objects and CIM types by + defining their attributes to use Python slots. (see issue + #2509) + * Reduced memory consumption of CIM objects by using lazy + initialization of dictionary-type attributes. This resulted in + significant savings when the attribute is typically unused, for + example in ``CIMInstance.qualifiers``. (see issue #2511) + * Added Python 3.9 to the supported Python versions and added + tests for it on Travis. + * Added a check for the DTDVERSION attribute value in CIM-XML + responses from WBEM servers to start with '2.'. A different + version of the CIM-XML DTD standard DSP0203 was never + published, so this is not expected to be an incompatible + change. + * Unsupported versions for CIM infrastructure, DTD or protocol + version returned in CIM-XML responses from WBEM servers are now + raised as new exceptions `pywbem.CIMVersionError`, + `pywbem.DTDVersionError`, and `pywbem.ProtocolVersionError`, + respectively. These new exceptions are derived from the + existing exception `pywbem.VersionError`. Previously, + unsupported CIM infrastructure versions were raised as + `pywbem.CIMXMLParseError`, and unsupported DTD or protocol + versions were ignored by pywbem. + * Removed the pinning of Pylint to 2.5.2 on Python >=3.5. + Disabled the following warnings that were newly reported by the + latest version (2.6.0) of Pylint: 'signature-differs' because + it does not recognize compatible signature changes; + 'raise-missing-from' and 'super-with-arguments' because these + issues cannot reasonably be addressed as long as Python 2.7 is + supported. + * In the makefile, added an ignore list for issues reported by + safety along with the reasons why each issue is ignored. This + allowed enforcing that the safety command reports no issues. + * Migrated from Travis and Appveyor to GitHub Actions. This + required several changes in package dependencies for + development. + * Docs: Added examples to the `pywbem.siunit()` and + `pywbem.siunit_obj()` functions. + * Extend the MOF compiler so that the pywbem_mock can compile MOF + containing the namespace pragma that defines a namespace other + than the one defined in the compile_mof_string() or + compile_mof_file() methods namespace parameter if the namespace + exists. Extend documentation on use of the namespace parameter + to reflect the behavior if the MOF contains a namespace pragma. + Since the code gives precedence to tha pragma over the + namespace specified in in the namespace parameter, the + documentation reflects this. (see issue #2256 partial fix). + * The `pywbem.siunit()` function supported the PUnit format as + defined in DSP0004. It turned out that the CIM Schema used + PUnit qualifiers with a slightly extended format where the + numeric modifiers were the middle instead of just at the end. + Extened the PUnit format supported by the `siunit()` function + accordingly. (issue #2574) + * Improved and fixed the messages in the compile log of class + `MOFCompiler` and ensured that the target namespace of the + compiled objects is included in the messages and added messages + for changes to the target namespace caused by 'pragma + namespace' directives. + * The 'mof_compiler' script now displays the compiled objects and + their target namespace when specifying verbose mode (-v + option). + * Improvements in `pywbem_mock.CIMNamespaceProvider` and + `pywbem.WBEMServer` to more cleanly handle Interop namespaces + (related to issue #2580). + * Improvements in the log messages of the `MOFCompiler` class. + (related to issue #2586) + * Added a `close()` method to `pywbem.WBEMConnection` that closes + the underlying session of the 'requests' package. This avoids + the ResourceWarning 'unclosed socket' that the 'requests' + package issued so far when the Python process terminates. Added + the ability for `pywbem.WBEMConnection` to be used as a context + manager, that closes the connection at the end. (see issue + #2591) + * Added a mechanism to suspend the statistics counting of server + time if one or more operations do not return the server + response time, in order to prevent incorrect interpretations of + the counters when only a subset of the operations returned + server response time. (issue #2603) + * Added validation tests to pywbem_mock ModifyClass to limit + classes that can be modified (no subclasses, and no instances + exist, and correct superclass) (see issue #2447) + * Docs: Used 'autodocsumm' Sphinx extension for generating + attribute and method summary tables for classes in the + documentation. Moved documentation of some base classes into a + new 'Base Classes' section in the appendix. + * Added a `conn_close()` method to the `pywbem.MOFCompiler` class + that closes the underlying connection. Used that function in + the 'mof_compiler' script to remove a ResourceWarning about + unclosed sockets. (issue #2610) + * Added 'make perftest' to run performance tests. At this point, + the performance tests measure the sending of indications to the + pywbem.WBEMListener. + * Test: Added support for end2end testing of WBEM servers based + on server and vault files of the 'easy-server' Python package. + The server files can specify WBEM servers and their expected + supported functions. WBEM servers can be somewhere in the + network or can be containers on DockerHub which are + automatically pulled and started. At this point, the + OpenPegasus container on DockerHub is used and the end2end + tests are run in the GitHub Actions test workflow on Ubuntu + (Docker is not available in GHithub Actions on Windows or + MacOS). + * Test: Fixed all remaining ResourceWarnings during test. (issue + #86) + * Test: Cleaned up DeprecationWarning for the propagation of key + property values introduced in pywbem 1.1.0. (see issue #2498) + * Add index section to generated documentation. + * Fixed new issues reported by pylint 2.7.0. At the same time, + needed to temporarily pin pylint to <2.7.0 and astroid to + <2.5.0 due to massive elongation of the run time of pylint in + the pywbem project. + * Added tests for pywbem_mock ModifyClass request operation to + test the validation exceptions and correctness of modified + class. (see issue #2210) + * Cleaned up TODOs noted in pywbem and pywbem_mock to fix any + that were actually bugs, etc. and either create issues or mark + the others as FUTURE with more explanation. (See issue #2491) + * Enforced that the pywbem source code does not contain any TODOs + (pylint fixme). Note that the pywbem test code may still + contain TODOs. + * Removed remove_duplicate_setuptools.py script since the project + is no longer using Travis. + * On Python 3.4, the urllib3 package is pinned to <1.25.8 because + 1.25.9 removed Python 3.4 support. As a consequence, `safety + issue + `_ + 38834 cannot be addressed on Python 3.4. +- Drop pywbem-pr2533-fix-urllib3-warnings.patch + +------------------------------------------------------------------- +Mon Dec 14 17:02:26 UTC 2020 - Benjamin Greiner + +- Fix fail because of urllib3 deprecation warnings + * gh#pywbem/pywbem#2533 + * pywbem-pr2533-fix-urllib3-warnings.patch + +------------------------------------------------------------------- +Tue Oct 13 12:17:03 UTC 2020 - Benjamin Greiner + +- Update to Version 1.1.1 + * for a full HUGE changelog see + https://pywbem.readthedocs.io/en/stable_1.1/changes.html +- remove coverage runs +- the cli is now in python-pywbemtools + +------------------------------------------------------------------- +Wed May 13 12:31:48 UTC 2020 - Adam Majer + +- Update to 0.17.2: + - Fixed raise error for invalid reference_direction in + WBEMServer.get_central_instances(). (See issue #2187) + - Fixed raise error for missing ports in WBEMListener.__init__(). + (See issue #2188) + +------------------------------------------------------------------- +Tue Apr 14 10:50:52 UTC 2020 - Adam Majer + +- Update to 0.17.1: + - Fixed version incompatibilities reported by pip for tox/pluggy, + ipython/prompt-toolkit, and flake8/pyflakes. (See issue #2153) + - Fixed the issue where formatting the timezone name of + a pywbem.MinutesFromUTC object raised NotImplementedError, + by adding a tzname() method. (see issue #2160) + - Increased minimum version of ‘six’ from 0.10.0 to 0.12.0 + when on Python 3.8 (or higher). (See issue #2150). + - Increased minimum version of ‘setuptools’ on Python 3.7 + to 38.4.1 to fix a bug with new format of .pyc files. (See issue #2167). + +------------------------------------------------------------------- +Mon Apr 6 11:50:43 UTC 2020 - Adam Majer + +- Update to 0.17.0: + - Dev: Fixed installation of Jupyter Notebook on Python 3.4 by defining + the appropriate minimum versions of the ipython package, + per Python version. (See issue #2135) + - Changed the HTTPS support of pywbem.WBEMListener from using + the deprecated ssl.wrap_socket() function to using the + ssl.SSLContext class that was introduced in Python 2.7.9. + This causes more secure SSL settings to be used. + (See issue #2002) + - Renamed all sub-modules within the pywbem namespace so they are + now private (i.e. with a leading underscore). + This has been done for consistency with the upcoming 1.0.0 + version of pywbem (See issue #1925) + +------------------------------------------------------------------- +Thu Apr 2 16:59:28 UTC 2020 - Adam Majer + +- Update to 0.16.0: + - Silenced the MOFCompiler class for verbose=False. + - Fixed that the MOFCompiler could be created with handle=None to + work against a local repository. It was documented that way, + but failed with AttributeError + - Fixed the error that the MOF compilation of a class could fail but + the error was not surfaced. This only happened when the MOF compiler + was invoked against a WBEM server, when the class already existed, + and when the ModifyClass operation that was attempted in + this case, failed. + - Fixed that the CIM-XML payload in log entries was spread over + multiple lines. The payload is now escaped as a single-line + Python string. + - Fixed handling of Unicode string in ca_certs parm of + WBEMConnection on py2 + +- removed upstreamed patches: + - silenced_MOFCompiler.patch + - unittest2-just-say-no.patch + - replace-yamlordereddictloader-w-yamlloader.patch + +------------------------------------------------------------------- +Mon Dec 9 12:00:51 CET 2019 - Matej Cepl + +- Add replace-yamlordereddictloader-w-yamlloader.patch which can + allow us to kick off deprecated yamlordereddictloader module + from Factory again. gh#pywbem/pywbem#2022 + +------------------------------------------------------------------- +Sat Dec 7 13:29:24 CET 2019 - Matej Cepl + +- Add silenced_MOFCompiler.patch so we can unexclude some more + tests. + +------------------------------------------------------------------- +Fri Dec 6 14:22:55 CET 2019 - Matej Cepl + +- Update to 0.15.0: + - This release deprecates the wbemcli command. Pywbem 1.0.0 + will remove the wbemcli command. The recommended replacement + is the pywbemcli command from the pywbemtools package on + Pypi: https://pypi.org/project/pywbemtools/ + - Further changes are presented on + https://pywbem.readthedocs.io/en/stable_0.15/changes.html#pywbem-0-15-0 + - Depends on the acceptance of bdo#754686 + - Many many tests need to be switched off (gh#pywbem/pywbem#2004) +- fix unit tests (unittest2-just-say-no.patch) + +------------------------------------------------------------------- +Fri Nov 29 11:50:46 UTC 2019 - Adam Majer + +- Cleanup specfile +- Install license correctly +- Add missing dependency on python-pbr + +------------------------------------------------------------------- +Wed Nov 27 05:30:02 UTC 2019 - Steve Kowalik + +- Update to version 0.14.6: + Lots of changes, additions, and deprecations, see full list at: + https://pywbem.readthedocs.io/en/stable_0.14/changes.html#pywbem-0-14-6 + +------------------------------------------------------------------- +Thu Jan 11 13:49:00 UTC 2018 - adam.majer@suse.de + +- Fix another lost dependency. Need ssl module which python-base + does not provide. (bnc#1072564) + +------------------------------------------------------------------- +Tue Nov 14 10:14:08 UTC 2017 - mpluskal@suse.com + +- Fix lost dependency + +------------------------------------------------------------------- +Wed Nov 8 13:39:33 UTC 2017 - mpluskal@suse.com + +- Update to version 0.11.0: + * Some new functionality such as: + + Added the MOF compiler API to the pywbem namespace. + + Add operation statistics gathering experimental. + + Documentation improvements + * Lots of bugfixes + * For full list of changes see: + https://pywbem.readthedocs.io/en/latest/changes.html#pywbem-v0-11-0 +- Convert to python singlespec + +------------------------------------------------------------------- +Tue Jul 4 09:18:30 UTC 2017 - jengelh@inai.de + +- Remove redundant cleaning actions. + +------------------------------------------------------------------- +Fri Jun 30 12:38:27 UTC 2017 - adam.majer@suse.de + +- Add missing runtime dependencies. + +------------------------------------------------------------------- +Wed Dec 21 07:12:53 UTC 2016 - kkaempf@suse.com + +- Update to 0.10.0 + * There is some new functionality, such as: + - use of SAX parser instead of minidom + - finalized the indications API + - added Iter* enumeration and association operations with + a Python generator/iterator interface that use the pull + operations if available or else the traditional operations. + * full changelog at + https://pywbem.readthedocs.io/en/latest/changes.html#pywbem-v0-10-0 + +------------------------------------------------------------------- +Thu Dec 1 08:41:21 UTC 2016 - kkaempf@suse.com + +- Update to 0.9.1 + * Documentation improvements + * Bug fixes + Full changelog available at + https://pywbem.readthedocs.io/en/stable/changes.html#pywbem-v0-9-1 + +------------------------------------------------------------------- +Tue Sep 13 13:06:26 UTC 2016 - kkaempf@suse.com + +- Update to 0.9.0 + Many changes and deprecations, see + https://pywbem.readthedocs.io/en/latest/changes.html#pywbem-v0-9-0 + for full list. + +------------------------------------------------------------------- +Mon Mar 21 07:52:12 UTC 2016 - kkaempf@suse.com + +- Update to 0.8.2 + * Eliminated dependency on "six" package during installation of + pywbem. + +------------------------------------------------------------------- +Mon Mar 21 07:45:18 UTC 2016 - kkaempf@suse.com + +- dropped python-pywbem-doc package, see http://pywbem.github.io + +- rename 'wbemcli' to 'pywbemcli' to prevent conflict with + sblim-wbemcli. + +- Update to 0.8.1 + See http://pywbem.github.io/pywbem/doc/0.8.1/changelog.html for + the complete list of changes. + + Known issues: + * Installing PyWBEM on Python 2.6 has a conflict with the 'pbr' + package from PyPI, resulting in a TypeError: "dist must be a + Distribution instance". This issue is specific to Python 2.6 and + does not occur in any of the other supported Python versions + (2.7, 3.4, 3.5). This issue can be mitigated by uninstalling + the 'pbr' package, or if that is not possible, by migrating + to Python 2.7. See issue #26 on GitHub. + * MOF using names that are reserved keywords will fail to compile + in the MOF compiler. For example, a CIM property named + 'indication'. See issue #62 on GitHub. + * The Pulled Enumeration Operations introduced in DSP0200 1.3 are + not supported in this release. See issue #9 on GitHub. + * Note that some components of this PyWBEM Client package are still + considered experimental: + - The twisted client module twisted_client.py. + - The Python provider modules cim_provider.py and cim_provider2.py. + - The CIM indication listener in the irecv directory. See issue + #66 on GitHub. + +- drop pywbem-0.8.0-dev.patch, upstream + +------------------------------------------------------------------- +Fri Mar 6 09:59:12 UTC 2015 - kkaempf@suse.com + +- don't leave 'url_' undefined: pywbem-0.8.0-dev.patch + +------------------------------------------------------------------- +Tue Mar 3 14:01:39 UTC 2015 - kkaempf@suse.com + +- add an extra 'import sys': pywbem-0.8.0-dev.patch + +------------------------------------------------------------------- +Tue Jan 23 10:07:13 UTC 2015 - kkaempf@suse.com + +- Splitted documentation off as python-pywbem-doc + +- Update to 0.8.0~dev (development pre-release) + + * Verify certificates against platform provided CA trust store in + /etc/pki/tls/certs. Linux only. (Peter Hatina) + + * Added '-d' option to MOF compiler that causes the compiler to perform a + dry-run and just check the MOF file syntax. This allows to more easily + detect included MOF files when used together with the '-v' option. + (Jan Safranek) + + * Added support for non-ASCII (Unicode) characters. (Michal Minar, Andreas + Maier) + + * Improved information in the message text of some exceptions (TypeError + and KeyError in cim_obj.py, ValueError in cim_obj.py, and ParseError in + tupleparse.py). (Andreas Maier) + + * Moved the definition of the pywbem version from setup.py to __init__.py, + in order to make it available to programs using pywbem as + pywbem.__version__. (Andreas Maier) + + * Added support for direct iteration over NocaseDict objects using 'for' + and 'in' by adding __iter__(), e.g. for use with CIMInstance.properties. + (Andreas Maier) + + * Added more instance attributes to be shown in repr() on CIMProperty and + other classes in cim_obj. (Andreas Maier) + + * Added and improved docstring-based documentation in the pywbem modules + cim_operations, cim_http, cim_obj, cim_types, and the pywbem module. + (Andreas Maier) + + * Improved the way missing file:// URL support on Windows is handled, by + now issuing a proper error message instead of stumbling across the + missing socket.AF_UNIX constant. (Andreas Maier) + + * Improved the way missing OWLocal authorization with the OpenWBEM server + is handled on Windows, by now issuing a proper error message instead of + stumbling across the missing os.getuid() function. (Andreas Maier) + + * Improved Windows portability by no longer attempting to import 'pwd' in + case the userid is not set in the environment variables that are checked + when the WBEM server is local. (Andreas Maier) + + * Added support for ExecQuery operation to twisted client. (Robert Booth) + + * Added get() methods on CIMInstance and CIMInstanceName to step up to the + statement that they behave like dictionaries w.r.t. properties and key + bindings. (Andreas Maier) + + * Improved help text of test_cim_operations.py test program. + (Andreas Maier) + + * Added an optional Params argument to InvokeMethod(), that is an ordered + list of CIM input parameters, that preserves its order in the CIM-XML + request message. This is to accomodate deficient WBEM servers that do + not tolerate arbitrary order of method input parameters as required by + the standard. The new argument is optional, making this a backwards + compatible change of InvokeMethod(). (Andreas Maier) + + * Cleaned up the public symbols of each module by making symbols private + that are used only internally. Specifically, the following symbols have + been made private: In cimxml_parse: _get_required_attribute, + _get_attribute, _get_end_event, _is_start, _is_end. In cim_xml: _text + (was: Text). (Andreas Maier) + + * Cleaned up symbols imported by wildcard import by defining __all__ in + each module with only the public symbols defined in that module (removing + any symbols imported into the module), except for the following modules + which define less than the complete set of public symbols in their + __all__: mof_compiler, twisted_client, tupleparse, cimxml_parse, + cim_http. (Andreas Maier) + + * Added support for using CDATA section based escaping in any requests sent + to the WBEM server. The default is still XML entity reference based + escaping, the CDATA based escaping can be turned on by setting the switch + _CDATA_ESCAPING accordingly, which is a global variable in the cim_xml + module. (Andreas Maier) + + * Simplified the exceptions that can be raised by WBEMConnection methods, + and improved the information in the exception messages. See description + of WBEMConnection class for details. (Andreas Maier) + + * Added support for timeouts to WBEMConnection, via a new timeout argument, + that defaults to no timeout. (This finally increased the minimum version + of Python to 2.6. (Andreas Maier) + + BUG FIXES: + + * Fix syntax error in CIM DTDVERSION error path. Allow KEYVALUE + VALUETYPE attribute to be optional as specified in the DTD. + (Andreas Linke) + + * Added parsing of InvokeMethod return value and output parameters for + Twisted Python client. (Tim Potter) + + * Fixed cim_provider2.py to properly support shutdown() and can_unload() + (called from CMPI cleanup() functions). Support was recently added + to cmpi-bindings for this. (Bart Whiteley) + + * Fixed XML parsing to accept SFCB-style embedded instance parameters. + (Mihai Ibanescu) + + * Use getpass module instead of pwd to detect local user to fix Win32. + (Tim Potter) + + * Re-throw KeyError exceptions with capitalised key string instead + of lower cased version in NocaseDict.__getitem__(). (Tim Potter) + + * Use base64.b64encode() instead of base64.encodestring() in Twisted + client. (Mihai Ibanescu) + + * Fix missing CIMDateTime import in Twisted client. (Mihai Ibanescu) + + * Fixed CIMInstanceName rendering to string. It is now possible to pass the + rendered string value as an instance path argument of a CIM method. + (Jan Safranek, Michal Minar) + + * For Python providers, fixed the comparsion of the Role parameter in + association operations to be case insensitive, and removed an erroneous + test that raised an exception when the property specified in the Role + parameter was not also in the property list specified by the Properties + parameter. (Jan Safranek) + + * For Python providers, converted debug 'print' statements to trace + messages that end up in the system log. (Jan Safranek) + + * The CIM-XML parser no longer throws an exception when parsing a + qualifier declaration. + Note: The CIM-XML supported by this fix does not conform to DSP0201 so + far. Further fixes are pending. (Jan Safranek) + + * Fixed parsing errors for connection URLs with IPv6 addresses, including + zone indexes (aka scope IDs). (Peter Hatina, Andreas Maier) + + * Fixed the hard coded socket addressing family used for HTTPS that was + incorrect in some IPv6 cases, by determining it dynamically. + (Peter Hatina) + + * Fixed the list of output parameters of extrinsic method calls to be + returned as a case insensitive dictionary (using cim_obj.NocaseDict). + (Jan Safranek) + + * Fixed the checking of CIMVERSION attributes in CIM-XML to only verify the + major version, consistent with DSP0201 (see subclause 5.2.1, in DSP0201 + version 2.3.1). (Jan Safranek) + + * Fixed error in cim_http.py related to stronger type checking of Python + 2.7. (Eduardo de Barros Lima) + + * Removed erroneous qualifier scopes SCHEMA and QUALIFIER from the MOF + compiler (see DSP0004). (Andreas Maier) + + * Fixed debug logging of CIM-XML payload (that is, conn.last_*request/reply + attributes) for extrinsic method calls, to now be consistent with + intrinsic method calls. (Andreas Maier) + + * Fixed TOCTOU (time-of-check-time-of-use) error when validating peer's + certificate. (Michal Minar) + + * Added a check in the CIMInstanceName constructor that the 'classname' + argument is not None. (Andreas Maier) + + * Fixed the issue in the CIMProperty constructor that specifying a tuple + for the 'value' argument was incorrectly detected to be a scalar (and not + an array). (Andreas Maier) + + * Fixed the issue in the CIMProperty constructor that specifying a + datetime or timedelta typed value resulted in storing the provided object + in the 'value' attribute, instead of converting it to a CIMDateTime + object. (Andreas Maier) + + * Fixed the issue in the CIMProperty constructor that specifying a datetime + formatted string typed 'value' argument along with type='datetime' + resulted in storing the provided string object in the 'value' attribute, + instead of converting it to a CIMDateTime object. (Andreas Maier) + + * Fixed several cases in the CIMProperty constructor of unnecessarily + requiring the optional arguments 'type', 'is_array', 'embedded_object', + or 'reference_class'. These optional arguments are now only necessary to + be provided if they cannot be implied from provided arguments (mainly + from 'value'). (Andreas Maier) + + * Fixed the issue in the CIMProperty constructor that an 'embedded_object' + argument value of 'object' was changed to 'instance' when a CIMInstance + typed 'value' argument was also provided. (Andreas Maier) + + * Fixed the issue in the CIMProperty constructor that the first array + element was used for defaulting the 'type' attribute, without checking + that for None, causing an exception to be raised in this case. + (Andreas Maier) + + * Added a check in the CIMProperty constructor that the 'name' argument is + not None. (Andreas Maier) + + * Fixed the issue that the CIMProperty constructor raised only TypeError + even when the issue was not about types; it now raises in addition + ValueError. (Andreas Maier) + + * Changed the exception that is raised in NocaseDict.__setitem__() for + invalid key types, to be TypeError in instead of KeyError. Updated the + testcases accordingly. (Andreas Maier) + + * Added checks for more than one argument and for unsupported argument + types to the constructor of NocaseDict. (Andreas Maier) + + * Fixed incorrectly labeled namespace variables in twisted client. + (Robert Booth) + + * Fixed that WBEMConnection.last_raw_reply was not set to the current reply + in case of parsing errors in the reply. (Andreas Maier) + + * Reintroduced Python 2.6 support in cim_http.HTTPSConnection.connect() + that disappeared in early drafts of this version: + - Removed SSLTimeoutError from except list; being a subclass of SSLError, + it is catched via SSLError. + - Invoked socket.create_connection() without source_address, if running + on Python 2.6. + (Andreas Maier) + + * Fixed bug where HTTP body was attempted ot be read when CIMError header + is set, causing a hang. (Andreas Maier) + + * Added CIM-XML declaration support for alternative PyWBEM client based + on twisted. (Andreas Maier) + + * Added support for Windows to wbemcli.py, by making dependency on HOME + environment variable optional, and adding HOMEPATH environment variable. + Also, cleaned up the global namespace of wbemcli.py and made it + importable as a module. (Andreas Maier) + + * Fixed errors in generated MOF (e.g. in any tomof() methods): + - Missing backslash escaping within string literals for \n, \r, \t, \". + - Representation of REF types was incorrect. + - '=' in array-typed qualifier declarations was missing. + - Fixed size indicator was missing in array elements. + - Qualifiers of method parameters were missing. + Improvements in generated MOF: + - Changed order of qualifiers to be sorted by qualifier name. + - Added empty line before each property and method in the class for + better readability. + - Method parameters are now placed on separate lines. + - Moved generation of method qualifiers from class into method. This + changes the behavior of CIMMethod.tomof() to now generate the method + qualifiers. + (Andreas Maier) + + TESTING: + + * Added support for running the unit test cases without having to be in the + testsuite directory. This was done by setting up the DTD_FILE path + correctly for any XML tests. (Andreas Maier) + + * Improved the quality of assertion messages issued when testcases fail, to + include context information and types. (Andreas Maier) + + * Added docstrings to test cases. (Andreas Maier) + + * Added testcases for CIMProperty.__init__() to be comprehensive. + (Andreas Maier) + + * In XML validation tests, added the expected XML root element. + (Andreas Maier) + + * Added a header to any error messages issued by xmllint. (Andreas Maier) + + * Fix: Merged stderr into stdout for the xmllint invocation, xmllint error + messages go to stderr and had been dropped before. (Andreas Maier) + + * Fix: The "mkdir -p ..:" command in the comfychair testcase constructor + created subdirectories named "-p" when running on Windows; replaced that + command with os.makedirs(). (Andreas Maier) + + * Fix: Replaced the "rm -fr ..." command in the comfychair testcase + constructor with shutil.rmtree(), in order to better run on Windows. + (Andreas Maier) + + * Fix: In comfychair._enter_rundir(), moved registration of cleanup + function _restore_directory() to the end, so cleanup happens only if no + errors happened. (Andreas Maier) + + * Fixed a bug in pywbem/trunk/testsuite/test_tupleparse.py in function + ParseCIMProperty.runtest(), where the use of real tab characters caused + a few lines to be incorrectly indented, and as a result, ignored for the + test. (Andreas Maier) + + * Improved Windows portability in testsuite: Moved from using the Unix-only + functions posix.WIFSIGNALED() and posix.WEXITSTATUS() for testing the + success of subprocess.wait(), to simply testing for 0. (Andreas Maier) + + * Added ability to invoke test_cim_operations.py with comfychair arguments, + and added printing of exception information if an operation fails. + (Andreas Maier) + + - clean code: + + * Removed dangerous default parameter '{}' from CIMProperty and + CIMInstanceName, and replaced it with 'None'. To support that, added + support for initializing an empty NocaseDict object from 'None'. + (Andreas Maier) + + * In cim_obj, changed the use of the deprecated backticks to using %r in + the format string (which produces the same result). (Andreas Maier) + + * In the constructor of CIMInstanceName, added assertions to some paths + that cannot possibly be taken based on the fact that the keybindings + attribute is always a NocaseDict. They should be removed at some point. + (Andreas Maier) + + * Addressed PyLint issues: + - Consolidated imports at the top of the module (after module docstring), + consistent with the PEP-8 recommendation. + - Ensured order of imports: standard, non-standard, pywbem, local (on a + subset of modules only). + - Replaced wildcard imports with specific imports, as much as possible. + - Removed unused imports. + - Addressed PyLint issues that are related to whitespace, continuation + indentation, and line length. + - Replaced all real tab characters with spaces. + (Andreas Maier) + + PACKAGING / BUILD: + + * Fixed grammatical funkiness in the license text. No change to actual + license - still LGPLv2. (Tim Potter) + + * Added LICENSE.txt file to release. (Tim Potter) + + * Added LICENSE.txt, NEWS, README and INSTALL files to distribution + archive. (Andreas Maier) + + * Fixed inconsistencies in license text in file headers to consistently + say LGPL 2.1 or higher (The LICENSE.txt file has always been LGPL 2.1). + (Andreas Maier) + + * Removed confusing section about build from INSTALL file, to scope it just + to the topic of installation. (Andreas Maier) + + * Restructured pywbem/trunk subtree to move pywbem package files into a + pywbem subdirectory. (Andreas Maier) + + * Added a makefile (invoke 'make help' for valid targets). (Andreas Maier) + + * Added support for checking the Python source code using PyLint. + (Andreas Maier) + + * Added support for generating HTML documentation using epydoc, and + included the documentation into the distribution archive. The syntax + used in Python docstrings is reStructuredText markdown. (Andreas Maier) + +------------------------------------------------------------------- +Tue Jan 20 10:03:53 UTC 2015 - kkaempf@suse.com + +- Update to 0.8.0 (pre-release) + +------------------------------------------------------------------- +Tue Jun 3 14:51:04 UTC 2014 - kkaempf@suse.com + +- Upgrade to upstream revision 629 + - added support for non-ascii characters + - fixed TOCTOU error when validating peer's certificate + (obsoletes pywbem-ssl_verify_host.patch) + - mof_compiler: Add '-d' option to dry-run the operation + - fix connection to ipv6 hosts + (obsoletes pywbem-ipv6.patch) + - verify certificates against platform provided CA trust store + +------------------------------------------------------------------- +Wed Jan 22 15:49:05 UTC 2014 - kkaempf@suse.com + +- Drop INSTALL file, unneeded for packaged pywbem. + +------------------------------------------------------------------- +Thu Dec 19 19:55:03 UTC 2013 - pwieczorkiewicz@suse.com + +- pywbem-ipv6.patch: Enabling IPv6. (bnc#840250) +- pywbem-ssl_verify_host.patch: + Fix for security issue around SSL certificate verification + (possible MITM attack). Adapted to work with python 2.6 and SLE11's + python-M2Crypto version. (bnc#856323 bnc#856108 CVE-2013-6418) + +------------------------------------------------------------------- +Thu Dec 19 19:33:56 UTC 2013 - speilicke@suse.com + +- Don't remove buildroot in install section + +------------------------------------------------------------------- +Fri Sep 27 06:44:06 UTC 2013 - kkaempf@suse.com + +- add upstream patch to support IPv6 + pywbem-ipv6.patch + +- provide INSTALL documentation + +------------------------------------------------------------------- +Fri Aug 2 09:59:35 UTC 2013 - kkaempf@suse.com + +- revert to upstream version 0.7.0 + - Check only the major part of CIMVERSION. + (DSP0201 2.3.1 chap. 5.2.1) + - Use case-insensitive dictionary for method output parameters. + - The parser should not throw an exception when parsing XML with a + qualifier declaration. + - Convert debug 'print' to trace messages. + - Fix References(Role="xxx") intrinsic method. + - Fix comparsion of Role parameter + - Fixed CIMInstanceName rendering to string. + +------------------------------------------------------------------- +Fri Aug 2 08:47:56 UTC 2013 - kkaempf@suse.com + +- Fix upstream compatibility: Provide pywbem + +------------------------------------------------------------------- +Thu Oct 20 10:01:34 UTC 2011 - kkaempf@suse.com + +- Adapt http header creation to Python 2.7 +- version 0.7.1 + +------------------------------------------------------------------- +Mon Aug 2 13:44:46 UTC 2010 - kkaempf@novell.com + +- Fix the build for non-SUSE distributions + +------------------------------------------------------------------- +Mon Aug 2 13:20:27 UTC 2010 - kkaempf@novell.com + +- Pass --install-purelib when calling "setup --install" to cope + with lib vs lib64 + +------------------------------------------------------------------- +Sun Aug 9 12:43:26 CEST 2009 - coolo@novell.com + +- use new python macros + +------------------------------------------------------------------- +Fri Dec 12 10:10:29 MST 2008 - bwhiteley@suse.de + +- update to 0.7.0 official release. Previous builds were based on + svn snapshots. +- This update includes some fixes for python-2.6 and some fixes for + problems found by pychecker. +- Local connection factory functions now allow passing more + arguments, making them more consistent with WBEMConnection(). + +------------------------------------------------------------------- +Thu Oct 23 21:17:00 MDT 2008 - bwhiteley@suse.de + +- update to latest svn +- symlink new wbemcli utility to /usr/bin/ + +------------------------------------------------------------------- +Sat Sep 27 20:17:10 CEST 2008 - bwhiteley@suse.de + +- Updated to latest svn in preparation for update to soon-to-be- + released 0.7. + +------------------------------------------------------------------- +Thu Sep 11 21:54:39 CEST 2008 - bwhiteley@suse.de + +- Updated to latest svn in preparation for update to soon-to-be- + released 0.7. + +------------------------------------------------------------------- +Fri Mar 21 17:07:45 CET 2008 - mmarek@suse.cz + +- simplify %%install + +------------------------------------------------------------------- +Thu Mar 20 14:26:49 CET 2008 - mmarek@suse.cz + +- added changes file to the buildservice package, summarize recent + updates + +------------------------------------------------------------------- +Thu Feb 21 14:00:00 CET 2008 - bwhiteley@suse.de + +- update to svn trunk (0.6.20080221.1) + LICENSING: + * Relicensed from the GNU GPLv2 to the GNU LGPLv2. + API CHANGES: + * Add a type keyword arg and attribute to CIMQualifier, similar to + the CIMProperty object, to allow the creation of null qualifiers. + (Tim Potter) + * Remove the toxml() method from CIM object classes. Use + tocimxml().toxml() instead which specifies the CIM-XML + representation of the object. (Tim Potter) + * CIMDateTime class should now be used instead of datetime.datetime + and datetime.timedelta. + * Added a new method, CIMInstance.update_existing(). This behaves + like update() on a dict, but only assigns new values to existing + properties. It skips values for properties not already present + in the instance. This is useful for honoring PropertyList within + python providers. + ENHANCEMENTS: + * Added support for generating Pegasus provider registration MOF in + cim_provider.codegen(). (Bart Whiteley) + * Implemented methods to parse indication export requests. + (Bart Whiteley) + * Python provider code generation enhancements. (Bart Whiteley) + * Support for Pegasus Local authentication. (Bart Whiteley) + * Support for Pegasus and OpenWBEM Unix Domain Socket. (Tim and Bart) + * Added support for Pegasus non-compliant EMBEDDEDOBJECT XML attribute. + (Bart Whiteley) + * Added CIMQualifierDeclaration.tomof(). (Bart Whiteley) + * Added a powerful MOF compiler. (Bart Whiteley) + * Support for OpenWBEM password-less local authentication. + (Bart Whiteley) + * Support for embedded objects is described in DSP0201-2.2.0 + (Bart Whiteley) + * New CIMDateTime class to deal with CIM-isms of datetimes. + Most notably, datetime deals with timezone info poorly. + (Bart Whiteley) + * Add InvokeMethod() support in Twisted Python client. (Tim + Potter) + plus lots of bugfixes + +------------------------------------------------------------------- +Thu Nov 2 00:49:19 CET 2006 - bwhiteley@suse.de + +- Update to pywbem-0.5 + +------------------------------------------------------------------- +Sat Sep 23 16:44:09 CEST 2006 - aj@suse.de + +- Fix build with python 2.5. + +------------------------------------------------------------------- +Wed Apr 26 19:12:38 CEST 2006 - bwhiteley@suse.de + +- Renamed package from python-wbem to python-pywbem per request + from upstream maintainer + +------------------------------------------------------------------- +Fri Apr 7 00:10:14 CEST 2006 - bwhiteley@suse.de + +- Update to CVS snapshot. This includes several fixes which enable + method invocation. + +------------------------------------------------------------------- +Tue Feb 28 16:46:04 CET 2006 - jmatejek@suse.cz + +- updated to reflect python changes due to #149809 + +------------------------------------------------------------------- +Wed Jan 25 21:40:54 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Fri Dec 16 21:43:20 CET 2005 - bwhiteley@suse.de + +- added "Requires: python-xml" + +------------------------------------------------------------------- +Tue Nov 15 17:16:33 CET 2005 - bwhiteley@suse.de + +- Updated to real version 0.4. Previously version 0.4 was a pre- + release "under the table" distribution from Tim Potter + +------------------------------------------------------------------- +Fri Oct 7 00:37:06 CEST 2005 - bwhiteley@suse.de + +- Initial package + diff --git a/python-pywbem.spec b/python-pywbem.spec new file mode 100644 index 0000000..c479c16 --- /dev/null +++ b/python-pywbem.spec @@ -0,0 +1,121 @@ +# +# spec file for package python-pywbem +# +# Copyright (c) 2020 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?!python_module:%define python_module() python3-%{**}} +%define skip_python2 1 +# cythonized pywbem produces yacc parser errors +%bcond_with cythonize +Name: python-pywbem +Version: 1.4.1 +Release: 0 +Summary: Python module for making CIM operation calls using the WBEM protocol +License: LGPL-2.1-or-later +Group: System/Management +URL: https://pywbem.github.io/ +Source0: https://github.com/pywbem/pywbem/archive/%{version}.tar.gz#/pywbem-%{version}.tar.gz +BuildRequires: %{python_module FormEncode >= 2.0.0} +BuildRequires: %{python_module PyYAML > 5.3.1} +BuildRequires: %{python_module httpretty} +BuildRequires: %{python_module lxml >= 4.6.4} +BuildRequires: %{python_module nocasedict >= 1.0.1} +BuildRequires: %{python_module nocaselist >= 1.0.3} +BuildRequires: %{python_module ply >= 3.10} +BuildRequires: %{python_module pytest >= 6.2.5} +BuildRequires: %{python_module pytz} +BuildRequires: %{python_module requests >= 2.25.0} +BuildRequires: %{python_module requests-mock} +BuildRequires: %{python_module setuptools >= 38.4.1} +BuildRequires: %{python_module six >= 1.16.0} +BuildRequires: %{python_module testfixtures} +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} +%else +BuildArch: noarch +%endif +BuildRequires: fdupes +BuildRequires: libxml2-tools +BuildRequires: python-rpm-macros +Requires: python-PyYAML >= 5.3.1 +Requires: python-nocasedict >= 1.0.1 +Requires: python-nocaselist >= 1.0.3 +Requires: python-ply >= 3.10 +Requires: python-requests >= 2.25.0 +Requires: python-six >= 1.16.0 +Requires: python-urllib3 >= 1.26.5 +Requires: python-yamlloader >= 0.5.5 +Requires(post): update-alternatives +Requires(postun): update-alternatives +Recommends: python-pywebmtools +%python_subpackages + +%description +PyWBEM is a Python module for making CIM operation calls using the WBEM +protocol to query and update managed objects. + +%prep +%setup -q -n pywbem-%{version} +%autopatch -p1 + +%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 +%pyproject_install +%fdupes %{buildroot} +rm %{buildroot}%{_bindir}/*.bat +%python_clone -a %{buildroot}%{_bindir}/mof_compiler + +%check +%{pytest -W default -W ignore::PendingDeprecationWarning -W ignore::ResourceWarning \ + tests/unittest tests/functiontest} + +%post +%python_install_alternative mof_compiler + +%postun +%python_uninstall_alternative mof_compiler + +%files %{python_files} +%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 diff --git a/pywbem-1.4.1.tar.gz b/pywbem-1.4.1.tar.gz new file mode 100644 index 0000000..3a48261 --- /dev/null +++ b/pywbem-1.4.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c20d6e6e4a6987531180b3ddf51c04e175d3044359f3385d2fdac624b77af8b +size 4490733