forked from pool/python-pysmi
Accepting request 1206438 from devel:languages:python
- Update to 1.5.0: * Better formatting of texts in MIB documents. * Reworked on reserved Python keywords handling. * Fixed TEXTUAL-CONVENTION handling. * Fixed DEFVAL handling. * Added cyclic dependency detection. * Other fixes and improvements for real-world MIBs. * Implemented a better strict mode. * Fixed old Python version support. * Fixed mibdump crash. * Fixed a JSON output bug. * Updated MIB URLs. * Migrated to new asn1 repo. * Bumped minimal Python version to 3.7. * Introduced Jinja2 templates for code generation. * Introduced SNMP agent code hooks generation template. - Switch to autosetup macros. - Add patch support-new-pyasn1.patch: * Support new pyasn1 changes. OBS-URL: https://build.opensuse.org/request/show/1206438 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pysmi?expand=0&rev=10
This commit is contained in:
commit
05566c48db
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:bd15a15020aee8376cab5be264c26330824a8b8164ed0195bd402dd59e4e8f7c
|
|
||||||
size 93985
|
|
3
pysmi-1.5.0.tar.gz
Normal file
3
pysmi-1.5.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e42bcd3961de71d58186f7a7fa6adac133701ae74cd19e6376289d89593b0af2
|
||||||
|
size 124064
|
@ -1,3 +1,26 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 9 06:31:17 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Update to 1.5.0:
|
||||||
|
* Better formatting of texts in MIB documents.
|
||||||
|
* Reworked on reserved Python keywords handling.
|
||||||
|
* Fixed TEXTUAL-CONVENTION handling.
|
||||||
|
* Fixed DEFVAL handling.
|
||||||
|
* Added cyclic dependency detection.
|
||||||
|
* Other fixes and improvements for real-world MIBs.
|
||||||
|
* Implemented a better strict mode.
|
||||||
|
* Fixed old Python version support.
|
||||||
|
* Fixed mibdump crash.
|
||||||
|
* Fixed a JSON output bug.
|
||||||
|
* Updated MIB URLs.
|
||||||
|
* Migrated to new asn1 repo.
|
||||||
|
* Bumped minimal Python version to 3.7.
|
||||||
|
* Introduced Jinja2 templates for code generation.
|
||||||
|
* Introduced SNMP agent code hooks generation template.
|
||||||
|
- Switch to autosetup macros.
|
||||||
|
- Add patch support-new-pyasn1.patch:
|
||||||
|
* Support new pyasn1 changes.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Feb 19 04:44:48 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
Mon Feb 19 04:44:48 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
@ -31,23 +31,31 @@
|
|||||||
%bcond_with test
|
%bcond_with test
|
||||||
%endif
|
%endif
|
||||||
Name: python-pysmi%{psuffix}
|
Name: python-pysmi%{psuffix}
|
||||||
Version: 0.3.4
|
Version: 1.5.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: SNMP SMI/MIB Parser
|
Summary: SNMP SMI/MIB Parser
|
||||||
License: BSD-2-Clause
|
License: BSD-2-Clause
|
||||||
URL: http://pysmi.sourceforge.net/
|
URL: https://github.com/lextudio/pysmi
|
||||||
Source: https://files.pythonhosted.org/packages/source/p/pysmi/pysmi-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/p/pysmi/pysmi-%{version}.tar.gz
|
||||||
|
# PATCH-FIX-UPSTREAM gh#lextudio/pysmi#5
|
||||||
|
Patch0: support-new-pyasn1.patch
|
||||||
|
BuildRequires: %{python_module base >= 3.8}
|
||||||
BuildRequires: %{python_module pip}
|
BuildRequires: %{python_module pip}
|
||||||
BuildRequires: %{python_module ply}
|
BuildRequires: %{python_module poetry-core}
|
||||||
BuildRequires: %{python_module setuptools}
|
|
||||||
BuildRequires: %{python_module wheel}
|
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros >= 20210929
|
BuildRequires: python-rpm-macros
|
||||||
%if %{with test}
|
%if %{with test}
|
||||||
|
BuildRequires: %{python_module Jinja2 >= 3.1}
|
||||||
|
BuildRequires: %{python_module ply >= 3.11}
|
||||||
|
BuildRequires: %{python_module pyasn1}
|
||||||
|
BuildRequires: %{python_module pysmi = %{version}}
|
||||||
BuildRequires: %{python_module pysnmp}
|
BuildRequires: %{python_module pysnmp}
|
||||||
BuildRequires: %{python_module pytest}
|
BuildRequires: %{python_module pytest}
|
||||||
|
BuildRequires: %{python_module requests >= 2.26}
|
||||||
%endif
|
%endif
|
||||||
Requires: python-ply
|
Requires: python-Jinja2 >= 3.1
|
||||||
|
Requires: python-ply >= 3.11
|
||||||
|
Requires: python-requests >= 2.26
|
||||||
%if %{with libalternatives}
|
%if %{with libalternatives}
|
||||||
BuildRequires: alts
|
BuildRequires: alts
|
||||||
Requires: alts
|
Requires: alts
|
||||||
@ -62,10 +70,8 @@ BuildArch: noarch
|
|||||||
A pure-Python implementation of SNMP/SMI MIB parsing and conversion library.
|
A pure-Python implementation of SNMP/SMI MIB parsing and conversion library.
|
||||||
Can produce PySNMP MIB modules.
|
Can produce PySNMP MIB modules.
|
||||||
|
|
||||||
Documentation: http://pysmi.sf.net
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n pysmi-%{version}
|
%autosetup -p1 -n pysmi-%{version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%pyproject_wheel
|
%pyproject_wheel
|
||||||
@ -73,8 +79,6 @@ Documentation: http://pysmi.sf.net
|
|||||||
%install
|
%install
|
||||||
%if !%{with test}
|
%if !%{with test}
|
||||||
%pyproject_install
|
%pyproject_install
|
||||||
mv %{buildroot}%{_bindir}/mibdump.py %{buildroot}%{_bindir}/mibdump
|
|
||||||
mv %{buildroot}%{_bindir}/mibcopy.py %{buildroot}%{_bindir}/mibcopy
|
|
||||||
%python_clone -a %{buildroot}%{_bindir}/mibdump
|
%python_clone -a %{buildroot}%{_bindir}/mibdump
|
||||||
%python_clone -a %{buildroot}%{_bindir}/mibcopy
|
%python_clone -a %{buildroot}%{_bindir}/mibcopy
|
||||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
@ -98,7 +102,7 @@ mv %{buildroot}%{_bindir}/mibcopy.py %{buildroot}%{_bindir}/mibcopy
|
|||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%license LICENSE.rst
|
%license LICENSE.rst
|
||||||
%doc README.md CHANGES.rst
|
%doc README.md examples/*
|
||||||
%{python_sitelib}/pysmi
|
%{python_sitelib}/pysmi
|
||||||
%{python_sitelib}/pysmi-%{version}.dist-info
|
%{python_sitelib}/pysmi-%{version}.dist-info
|
||||||
%python_alternative %{_bindir}/mibdump
|
%python_alternative %{_bindir}/mibdump
|
||||||
|
69
support-new-pyasn1.patch
Normal file
69
support-new-pyasn1.patch
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
From 01d0774948da432f39c5a89622d676e91b8c47af Mon Sep 17 00:00:00 2001
|
||||||
|
From: Steve Kowalik <steven@wedontsleep.org>
|
||||||
|
Date: Wed, 9 Oct 2024 17:20:45 +1100
|
||||||
|
Subject: [PATCH] Remove use of str2octs from pyasn1
|
||||||
|
|
||||||
|
pyasn1 has been removing all Python 2 code from its codebase, and the
|
||||||
|
octets module has been removed from 0.6.1 onwards. Since we only support
|
||||||
|
Python 3.8, we can remove it and just encode to bytes.
|
||||||
|
---
|
||||||
|
tests/test_objecttype_smiv2_pysnmp.py | 11 +++++------
|
||||||
|
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/test_objecttype_smiv2_pysnmp.py b/tests/test_objecttype_smiv2_pysnmp.py
|
||||||
|
index fdec37e..b374332 100644
|
||||||
|
--- a/tests/test_objecttype_smiv2_pysnmp.py
|
||||||
|
+++ b/tests/test_objecttype_smiv2_pysnmp.py
|
||||||
|
@@ -13,7 +13,6 @@
|
||||||
|
except ImportError:
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
-from pyasn1.compat.octets import str2octs
|
||||||
|
from pysmi.parser.smi import parserFactory
|
||||||
|
from pysmi.codegen.pysnmp import PySnmpCodeGen
|
||||||
|
from pysmi.codegen.symtable import SymtableCodeGen
|
||||||
|
@@ -75,7 +74,7 @@ def testObjectTypeStatus(self):
|
||||||
|
# TODO:revisit
|
||||||
|
# def testObjectTypeReference(self):
|
||||||
|
# self.assertEqual(
|
||||||
|
- # self.ctx['testObjectType'].getReference(), str2octs('ABC'),
|
||||||
|
+ # self.ctx['testObjectType'].getReference(), 'ABC'.encode('iso-8859-1'),
|
||||||
|
# 'bad REFERENCE'
|
||||||
|
# )
|
||||||
|
|
||||||
|
@@ -335,7 +334,7 @@ def setUp(self):
|
||||||
|
# TODO: pyasn1 does not like OctetString.defaultValue
|
||||||
|
def testObjectTypeSyntax(self):
|
||||||
|
self.assertEqual(
|
||||||
|
- self.ctx["testObjectType"].getSyntax(), str2octs("test value"), "bad DEFVAL"
|
||||||
|
+ self.ctx["testObjectType"].getSyntax(), "test value".encode('iso-8859-1'), "bad DEFVAL"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -374,7 +373,7 @@ def setUp(self):
|
||||||
|
def testObjectTypeSyntax(self):
|
||||||
|
self.assertEqual(
|
||||||
|
self.ctx["testObjectType"].getSyntax(),
|
||||||
|
- str2octs("\\ntest\nvalue\\"),
|
||||||
|
+ "\\ntest\nvalue\\".encode('iso-8859-1'),
|
||||||
|
"bad DEFVAL",
|
||||||
|
)
|
||||||
|
|
||||||
|
@@ -488,7 +487,7 @@ def setUp(self):
|
||||||
|
def testObjectTypeSyntax(self):
|
||||||
|
self.assertEqual(
|
||||||
|
self.ctx["testObjectType"].getSyntax().clone(""),
|
||||||
|
- str2octs(""),
|
||||||
|
+ "".encode('iso-8859-1'),
|
||||||
|
"bad size constrained SYNTAX",
|
||||||
|
)
|
||||||
|
|
||||||
|
@@ -526,7 +525,7 @@ def setUp(self):
|
||||||
|
def testObjectTypeSyntax(self):
|
||||||
|
self.assertEqual(
|
||||||
|
self.ctx["testObjectType"].getSyntax().clone(("set",)),
|
||||||
|
- str2octs("@"),
|
||||||
|
+ "@".encode('iso-8859-1'),
|
||||||
|
"bad BITS SYNTAX",
|
||||||
|
)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user