- Update to version 0.6.16

* Add Ciena driver.
  * Update session.py.
  * call_home: timeout as argument.
  * Introduce Unix Socket Transport.
  * feat: Add support for Nokia SR OS private candidate mode.
  * Fix support of .ssh/id_ed25519 keys.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ncclient?expand=0&rev=17
This commit is contained in:
Markéta Machová 2024-11-11 11:38:39 +00:00 committed by Git OBS Bridge
commit c21b42f528
8 changed files with 465 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

11
allow_old_sphinx.patch Normal file
View File

@ -0,0 +1,11 @@
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -19,7 +19,7 @@ import sys, os
sys.path.insert(0, os.path.abspath("../.."))
# -- General configuration -----------------------------------------------------
-needs_sphinx = '2.0'
+# needs_sphinx = '2.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.

25
intersphinx-mapping.patch Normal file
View File

@ -0,0 +1,25 @@
---
docs/source/conf.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -12,6 +12,7 @@
# serve to show the default.
import sys, os
+import sphinx
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
@@ -196,6 +197,9 @@ latex_logo = "_static/logo.png"
# Example configuration for intersphinx: refer to the Python standard library.
-intersphinx_mapping = {'http://docs.python.org/': None}
+if sphinx.version_info[0] < 8:
+ intersphinx_mapping = {"http://docs.python.org/": None}
+else:
+ intersphinx_mapping = {'python': ('https://docs.python.org/', None)}
autoclass_content = 'both'

3
ncclient-0.6.15.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7bdf1c995426d7727a9224c3706ce5fe43ab77c20aaaccfca40427abdadcbfdc
size 140680

3
ncclient-0.6.16.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:893b3d6dd9dfc76af0344e1e27ecaaad8ebc2b81f0c2d06f66984824108daf35
size 142880

308
python-ncclient.changes Normal file
View File

@ -0,0 +1,308 @@
-------------------------------------------------------------------
Sun Nov 10 19:50:09 UTC 2024 - Martin Hauke <mardnh@gmx.de>
- Update to version 0.6.16
* Add Ciena driver.
* Update session.py.
* call_home: timeout as argument.
* Introduce Unix Socket Transport.
* feat: Add support for Nokia SR OS private candidate mode.
* Fix support of .ssh/id_ed25519 keys.
-------------------------------------------------------------------
Fri Oct 25 22:17:02 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
- Add intersphinx-mapping.patch to allow working with Sphinx >=
8.* (gh#ncclient/ncclient#604).
-------------------------------------------------------------------
Wed Feb 28 04:55:02 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Switch to %patch macro.
-------------------------------------------------------------------
Thu Dec 7 22:36:06 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 0.6.15:
* reading correct user known_hosts files
* fix coveralls reporting
* Agent key selection
* Update session.py - Parameterize timeout for _post_connect
* update comment in _parse11
* Fix missing timeout in ssh post_connect
* Migrate from nose to pytest
* Based on v0 6 13 fix for deprecation warnings threading
thread
* Introduce support for TLS
* remove - version of setting and replace with _ version
* permissive UTF-8 parsing for NC11 delimiter
* introduce python3.12 for ci
* Add commit comment capability support for SROS devices in
ncclient
-------------------------------------------------------------------
Sun Jun 19 17:40:24 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 0.6.13:
* Remove extraneous capability in default device
* Refactor deprecated unittest aliases for Python 3.11 compatibility
* Added support for environment variable
* Migrate from Travis to GitHub Actions
* Update Build Pill
* add netconf base namespace to edit-config config element if it is missing
-------------------------------------------------------------------
Thu Mar 24 12:10:35 UTC 2022 - pgajdos@suse.com
- python-mock is not required for build
-------------------------------------------------------------------
Fri Jan 14 17:35:29 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Specfile fix:
* Remove the Python 3.4 conditional. It the _nodots macro is not
known to the obs resolver.
* Also remove python2 lines for cleanup, not resolvable in 15.3
in either case.
-------------------------------------------------------------------
Tue Jan 11 20:42:01 UTC 2022 - Ben Greiner <code@bnavigator.de>
- python-selectors2 is only required for python <= 3.4
-------------------------------------------------------------------
Thu Oct 7 01:52:08 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>
- Remove unneeded BuildRequires on nose.
-------------------------------------------------------------------
Sat Jun 5 12:58:01 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- Update to version 0.6.12
* Fix for unintentional breakage of JunOS ExecuteRPC
- Update to version 0.6.11
* Support for custom client capabilities
* Restructuring/refactoring of example scripts
* Minor bugfixes
* Minor unit test refactoring
- Update to version 0.6.10
* NETCONF call-home (RFC8071) support
* YANG 1.1 action support
* Nokia SR OS device handler support
* Removal of old ALU base-r13 API documentation
* Increased test coverage
* Variety of bugfixes and minor enhancements
-------------------------------------------------------------------
Thu Jan 28 21:19:07 UTC 2021 - Matej Cepl <mcepl@suse.com>
- Add allow_old_sphinx.patch allowing building of documentation
on Leap 15 (bsc#1181270).
-------------------------------------------------------------------
Sun Aug 9 14:03:46 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 0.6.9
* Fix for breaking API change
- Update to version 0.6.8
* Support for namespace prefixes for XPath queries
* edit-config parameter validation
* Support for multiple RPC errors
* API to get supported device types
* Support for subtree filters with multiple top-level tags
-------------------------------------------------------------------
Sat Dec 21 20:09:12 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Update to version 0.6.7
* Bugfix release
-------------------------------------------------------------------
Wed Dec 4 21:46:22 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Update to version 0.6.6:
* Read ssh timeout from config file if not specified in method
call
* Tox support
* Huge XML tree parser support
* Adding optional bind address to connect
- Update to version 0.6.5
* Pin selectors2 to Python versions <= 3.4
* Fix config examples to actually use the nc namespace
* fix: correctly set port for paramiko when using ssh_config file
* test: add test to check ProxyCommand uses correct port
* Update commits for py3
* Enhance Alcatel-Lucent -support
* Juniper RPC: allow specifying format in CompareConfiguration
* Parsing of NETCONF 1.1 frames no longer decodes each chunk of
bytes...
* Fix filter in create_subscription
* Validate 'with-defaults' mode based on supported modes
advertised in capability URI
- Remove patch:
* sphinx-use-imgmath-extension.patch (fixed by upstream)
- Use tarball from github
- Run testsuite
- Drop not needed dependencies
- Minor fixes to make the rpm post-build-checks happy
-------------------------------------------------------------------
Wed Apr 10 06:59:10 UTC 2019 - Dirk Mueller <dmueller@suse.com>
- update to v0.6.4:
* Use os.path.expanduser() on paths read from ssh_config.
* Proxycommand can be a list. Identityfile already performs ~ expansion in
* Enhance Alcatel-Lucent -support
- add sphinx-use-imgmath-extension.patch
-------------------------------------------------------------------
Wed Mar 20 09:16:40 UTC 2019 - Thomas Bechtold <tbechtold@suse.com>
- update to version v0.6.3
* Housekeeping & Cleaning
* Log sent and received messages at level INFO. Fixes #167
* - move known_hosts_lookup (the host entry in known_hosts, with optional port number appended)
* First draft of versioning with versioneer (#269)
* revert to raising SSHError
* fix: add missing placeholder in exception string
* Updates to re-enable Python 3.7 (#249)
* Updates for 0.5.4 and 0.6.0
* SSH Host key checking (#280)
* check for transform_reply type (#270)
* Change superclass call style to keep tests happy
* SSH Host key checking
* Fix homepage link registered with PyPi (#274)
* more tests
* invoke self.parse() to ensure errors, if any, have been detetcted before check in ok() (#286)
* Avoid spurious SessionCloseError when intentionally closing session. (#268)
* Minor edits
* Revert "Fixes to unit tests to account for use of selectors"
* Close the channel when closing SSH session
* Revert "fixes to tests for python2.7"
* add Huawei device support through YANG (#1) (#242)
* Revert "use selectors instead of select; improve performance of base 1.0 or 1.1 selection"
* instructions for running unit tests locally
* updated README.md in preparation for 0.6.1 release
* netconf:base:1.1 parsing improvements (#267)
* Add session as extra context to session-related logs
* Include host in log message as well, as session-id is not globally unique
* fix: comments & whitespace tidy
* removed Manager class metaclass and modified operation lookup to __getattr__ (#200)
* Add support for loading host-specific known_hosts files via UserKnownHostsFile. (#255)
* Typo in log message
* selector changes (#260)
* use selectors instead of select; improve performance of base 1.0 or 1.1 selection
* Updated junos.py to resolve RestrictedUser error: (#283)
* change hostkey var name to be explicit on type hostkey_b64
* Fixes to unit tests to account for use of selectors
* fixes to tests for python2.7
* remove breaking test for incorrect host key padding
* check known_hosts only if hostkey_b64 not specified
* include selectors2 in requirements
* remove unused import
* Revert "include selectors2 in requirements"
- Drop pr-109.patch
-------------------------------------------------------------------
Sat Sep 8 11:21:16 UTC 2018 - dmueller@suse.com
- Update to 0.5.4
* Python 3.6 support
-------------------------------------------------------------------
Mon Aug 7 08:36:21 UTC 2017 - mardnh@gmx.de
- Update to 0.5.3
* Add notifications support
* Add support for ecdsa keys
* Various bug fixes
- Convert to singlespec
- Rebase patch: pr-109.patch
-------------------------------------------------------------------
Sat Sep 3 20:52:24 UTC 2016 - mardnh@gmx.de
- update to 0.5.2:
* Add support for Python 3
* Improve Junos ioproc performance
* Performance improvements
* Updated test cases
* Many bug and performance fixes
- fix source-url
- rebase patch: pr-109.patch
-------------------------------------------------------------------
Fri Feb 5 10:00:39 UTC 2016 - tbechtold@suse.com
- switch to version from pypi
This is the version used by OpenStack networking-cisco
- update to 0.4.7:
* Add support for netconf 1.1
* Fix multiple RPC error handling
* Add support for cancel-commit and persist param
* Add more examples
* Add Huawei device support
* Add cli command support for hpcomware v7 devices
* Add H3C support, Support H3C CLI,Action,Get_bulk,Save,Rollback,etc.
* Add alcatel lucent support
* Rewrite multiple error handling
* Add coveralls support, with shield in README.md
* Set severity level to higher when multiple
* Simplify logging and multi-error reporting
* Keep stacktrace of errors
* Check for known hosts on hostkey_verify only
* Add check for device sending back null error_text
* Fix RPC.raise_mode
* Specifying hostkey_verify=False should not load_known_hosts
* Check the correct field on rpc-error element
* Nexus exec_command operation
* Allow specifying multiple cmd elements in Cisco Nexus
* Update rpc for nested rpc-errors
* Prevent race condition in threading
* Prevent hanging in session close
* Support for paramiko ProxyCommand via ~/.ssh/config parsing
* Add Juniper-specific commit operations
* Add Huawei devices support
* Tests/Travis support
* ioproc transport support for Juniper devices
* Update Cisco CSR device handler
* Fix issue with locked method missing device handler
* Fix for namespace definition with lxml
* Add missing SessionError exception
* Update docs for Nexus device handler
* Docstring fixes
* Typos
* Minor bugfixes
* Add an example for Cisco CSR1000v
- Remove nexus-support.patch . Applied upstream.
- Adjust Requires according to requirements.txt
- Split documentation into extra -doc package
- Add pr-109.patch . This lowers the lxml requirement so this
package works with SLE12.
- Stop using openstack-suse-macros for now. This fixes the build
for openSUSE 13.2 and SLE11SP3
-------------------------------------------------------------------
Wed Jul 29 10:26:26 UTC 2015 - tbechtold@suse.com
- Unify spec file. Use fedora compatible files macros
-------------------------------------------------------------------
Mon Aug 26 14:59:37 UTC 2013 - rhafer@suse.com
- added nexus-support.patch: this is required to make make ncclient
capable of accessing cisco nexus switches (for quantum's nexus
plugin)
-------------------------------------------------------------------
Thu Aug 8 14:50:07 UTC 2013 - dmueller@suse.com
- (rpm-wise) downgrade to a released version 0.3.2:
* http://ncclient.grnet.gr/0.3.2/
-------------------------------------------------------------------
Mon Jul 29 08:08:56 UTC 2013 - speilicke@suse.com
- Require python-paramiko (for ssh transport)
- Build HTML documentation

91
python-ncclient.spec Normal file
View File

@ -0,0 +1,91 @@
#
# spec file for package python-ncclient
#
# Copyright (c) 2024 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/
#
Name: python-ncclient
Version: 0.6.16
Release: 0
Summary: Python library for NETCONF clients
License: Apache-2.0
URL: https://ncclient.readthedocs.io/en/latest/
Source: https://github.com/ncclient/ncclient/archive/v%{version}.tar.gz#/ncclient-%{version}.tar.gz
# PATCH-FIX-OPENSUSE allow_old_sphinx.patch mcepl@suse.com
# Allow build with old Sphinx (< 2.0) on Leap
Patch0: allow_old_sphinx.patch
# PATCH-FIX-UPSTREAM intersphinx-mapping.patch gh#ncclient/ncclient#604 mcepl@suse.com
# use conditionally new form of intersphinx_mapping
Patch1: intersphinx-mapping.patch
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-lxml >= 3.3.0
Requires: python-paramiko >= 1.15.0
Requires: python-setuptools > 0.6
Requires: python-six
BuildArch: noarch
BuildRequires: %{python_module lxml >= 3.3.0}
BuildRequires: %{python_module paramiko >= 1.15.0}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module six}
%python_subpackages
%description
ncclient is a Python library that facilitates client-side scripting
and application development around the NETCONF protocol.
%package -n python-ncclient-doc
Summary: Python NETCONF protocol library - Documentation
Group: Documentation/HTML
BuildRequires: %{python_module Sphinx-latex}
BuildRequires: %{python_module Sphinx}
BuildRequires: texlive-dvipng
Provides: %{python_module python-ncclient-doc = %{version}}
%description -n python-ncclient-doc
This package contains documentation files for %{name}.
%prep
%setup -q -n ncclient-%{version}
%if 0%{?suse_version} < 1550
%patch -p 1 -P 0
%endif
%patch -p 1 -P 1
find examples/ -name "*.py" -exec sed -i 's|#!/usr/bin/env python$|#!/usr/bin/python|g' {} \;
# drop shebang
find ncclient/operations/third_party/ -name "*.py" -exec sed -i '/^#!\//, 1d' {} \;
%build
%python_build
cd docs && make %{?_smp_mflags} html && rm build/html/.buildinfo
%install
%python_install
%fdupes %{buildroot}
%check
%pytest
%files %{python_files}
%license LICENSE
%{python_sitelib}/ncclient
%{python_sitelib}/ncclient-%{version}*-info
%files -n python-ncclient-doc
%doc README.md README.rst examples docs/build/html
%changelog