From c21b42f528a6883d8d209ef89e8a58bafed309f1ccb2bc800708d18e2e9407bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Mon, 11 Nov 2024 11:38:39 +0000 Subject: [PATCH] - 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 --- .gitattributes | 23 +++ .gitignore | 1 + allow_old_sphinx.patch | 11 ++ intersphinx-mapping.patch | 25 ++++ ncclient-0.6.15.tar.gz | 3 + ncclient-0.6.16.tar.gz | 3 + python-ncclient.changes | 308 ++++++++++++++++++++++++++++++++++++++ python-ncclient.spec | 91 +++++++++++ 8 files changed, 465 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 allow_old_sphinx.patch create mode 100644 intersphinx-mapping.patch create mode 100644 ncclient-0.6.15.tar.gz create mode 100644 ncclient-0.6.16.tar.gz create mode 100644 python-ncclient.changes create mode 100644 python-ncclient.spec 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/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/allow_old_sphinx.patch b/allow_old_sphinx.patch new file mode 100644 index 0000000..0dfe343 --- /dev/null +++ b/allow_old_sphinx.patch @@ -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. diff --git a/intersphinx-mapping.patch b/intersphinx-mapping.patch new file mode 100644 index 0000000..3cf82c5 --- /dev/null +++ b/intersphinx-mapping.patch @@ -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' diff --git a/ncclient-0.6.15.tar.gz b/ncclient-0.6.15.tar.gz new file mode 100644 index 0000000..d83b9af --- /dev/null +++ b/ncclient-0.6.15.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bdf1c995426d7727a9224c3706ce5fe43ab77c20aaaccfca40427abdadcbfdc +size 140680 diff --git a/ncclient-0.6.16.tar.gz b/ncclient-0.6.16.tar.gz new file mode 100644 index 0000000..21546f0 --- /dev/null +++ b/ncclient-0.6.16.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:893b3d6dd9dfc76af0344e1e27ecaaad8ebc2b81f0c2d06f66984824108daf35 +size 142880 diff --git a/python-ncclient.changes b/python-ncclient.changes new file mode 100644 index 0000000..20963c5 --- /dev/null +++ b/python-ncclient.changes @@ -0,0 +1,308 @@ +------------------------------------------------------------------- +Sun Nov 10 19:50:09 UTC 2024 - Martin Hauke + +- 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 + +- Add intersphinx-mapping.patch to allow working with Sphinx >= + 8.* (gh#ncclient/ncclient#604). + +------------------------------------------------------------------- +Wed Feb 28 04:55:02 UTC 2024 - Steve Kowalik + +- Switch to %patch macro. + +------------------------------------------------------------------- +Thu Dec 7 22:36:06 UTC 2023 - Dirk Müller + +- 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 + +- 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 + +- 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 + +- python-selectors2 is only required for python <= 3.4 + +------------------------------------------------------------------- +Thu Oct 7 01:52:08 UTC 2021 - Steve Kowalik + +- Remove unneeded BuildRequires on nose. + +------------------------------------------------------------------- +Sat Jun 5 12:58:01 UTC 2021 - Martin Hauke + +- 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 + +- Add allow_old_sphinx.patch allowing building of documentation + on Leap 15 (bsc#1181270). + +------------------------------------------------------------------- +Sun Aug 9 14:03:46 UTC 2020 - Martin Hauke + +- 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 + +- Update to version 0.6.7 + * Bugfix release + +------------------------------------------------------------------- +Wed Dec 4 21:46:22 UTC 2019 - Martin Hauke + +- 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 + +- 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 + +- 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 + diff --git a/python-ncclient.spec b/python-ncclient.spec new file mode 100644 index 0000000..5250f9e --- /dev/null +++ b/python-ncclient.spec @@ -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