Accepting request 1168537 from home:mcalabkova:branches:devel:languages:python

- Update to 2.7.1
  * Added customer juniper paramiko module as a dependency which 
    supported aes128 and aes257 cipher #1299
- Create no-six.patch to get rid of six dependency.

OBS-URL: https://build.opensuse.org/request/show/1168537
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-junos-eznc?expand=0&rev=30
This commit is contained in:
Matej Cepl 2024-04-19 22:15:19 +00:00 committed by Git OBS Bridge
parent a666ed656d
commit c22febb860
5 changed files with 611 additions and 6 deletions

597
no-six.patch Normal file
View File

@ -0,0 +1,597 @@
Index: py-junos-eznc-2.7.1/lib/jnpr/junos/jxml.py
===================================================================
--- py-junos-eznc-2.7.1.orig/lib/jnpr/junos/jxml.py
+++ py-junos-eznc-2.7.1/lib/jnpr/junos/jxml.py
@@ -1,7 +1,6 @@
from ncclient import manager
from ncclient.xml_ import NCElement
from lxml import etree
-import six
"""
These are Junos XML 'helper' definitions use for generic XML processing
@@ -226,8 +225,7 @@ def cscript_conf(reply):
# xslt to remove prefix like junos:ns
-strip_namespaces_prefix = six.b(
- """<?xml version="1.0" encoding="UTF-8" ?>
+strip_namespaces_prefix = b"""<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no" omit-xml-declaration="no" />
@@ -249,4 +247,3 @@ strip_namespaces_prefix = six.b(
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>"""
-)
Index: py-junos-eznc-2.7.1/lib/jnpr/junos/transport/tty_netconf.py
===================================================================
--- py-junos-eznc-2.7.1.orig/lib/jnpr/junos/transport/tty_netconf.py
+++ py-junos-eznc-2.7.1/lib/jnpr/junos/transport/tty_netconf.py
@@ -11,23 +11,22 @@ from lxml.etree import XMLSyntaxError
from datetime import datetime, timedelta
from ncclient.operations.rpc import RPCReply, RPCError
from ncclient.xml_ import to_ele
-import six
from ncclient.transport.session import HelloHandler
class PY6:
- NEW_LINE = six.b("\n")
- EMPTY_STR = six.b("")
- NETCONF_EOM = six.b("]]>]]>")
- STARTS_WITH = six.b("<!--")
+ NEW_LINE = b"\n"
+ EMPTY_STR = b""
+ NETCONF_EOM = b"]]>]]>"
+ STARTS_WITH = b"<!--"
__all__ = ["xmlmode_netconf"]
-_NETCONF_EOM = six.b("]]>]]>")
-_xmlns = re.compile(six.b("xmlns=[^>]+"))
+_NETCONF_EOM = b"]]>]]>"
+_xmlns = re.compile(b"xmlns=[^>]+")
_xmlns_strip = lambda text: _xmlns.sub(PY6.EMPTY_STR, text)
-_junosns = re.compile(six.b("junos:"))
+_junosns = re.compile(b"junos:")
_junosns_strip = lambda text: _junosns.sub(PY6.EMPTY_STR, text)
logger = logging.getLogger("jnpr.junos.tty_netconf")
@@ -116,7 +115,7 @@ class tty_netconf(object):
"""
if not cmd.startswith("<"):
cmd = "<{}/>".format(cmd)
- rpc = six.b("<rpc>{}</rpc>".format(cmd))
+ rpc = "<rpc>{}</rpc>".format(cmd).encode('utf-8')
logger.info("Calling rpc: %s" % rpc)
self._tty.rawwrite(rpc)
Index: py-junos-eznc-2.7.1/lib/jnpr/junos/transport/tty_ssh.py
===================================================================
--- py-junos-eznc-2.7.1.orig/lib/jnpr/junos/transport/tty_ssh.py
+++ py-junos-eznc-2.7.1/lib/jnpr/junos/transport/tty_ssh.py
@@ -6,7 +6,6 @@ import sys
from time import sleep, time
import paramiko
-import six
from jnpr.junos.transport.tty import Terminal
@@ -15,14 +14,14 @@ logger = logging.getLogger("jnpr.junos.t
# -------------------------------------------------------------------------
# Terminal connection over SSH CONSOLE
# -------------------------------------------------------------------------
-_PROMPT = re.compile(six.b("|").join([six.b(i) for i in Terminal._RE_PAT]))
+_PROMPT = re.compile(b"|".join([i.encode('utf-8') for i in Terminal._RE_PAT]))
class PY6:
- NEW_LINE = six.b("\n")
- EMPTY_STR = six.b("")
- NETCONF_EOM = six.b("]]>]]>")
- IN_USE = six.b("in use")
+ NEW_LINE = b"\n"
+ EMPTY_STR = b""
+ NETCONF_EOM = b"]]>]]>"
+ IN_USE = b"in use"
class SSH(Terminal):
@@ -136,7 +135,7 @@ class SSH(Terminal):
def write(self, content):
"""write content + <ENTER>"""
logger.debug("Write: %s" % content)
- self._ssh.sendall(six.b((content + "\n")))
+ self._ssh.sendall(bytes(content + "\n", 'utf-8'))
def rawwrite(self, content):
"""write content as-is"""
@@ -152,13 +151,13 @@ class SSH(Terminal):
if sys.version >= "3":
content = content.decode("utf-8")
for char in content:
- self._ssh.sendall(six.b(char))
+ self._ssh.sendall(bchar)
wtime = 10 / float(self.baud)
sleep(wtime) # do not remove
def read(self):
"""read a single line"""
- rxb = six.b("")
+ rxb = b""
while True:
data = self._ssh.recv(self.RECVSZ)
if data is None or len(data) <= 0:
@@ -180,7 +179,7 @@ class SSH(Terminal):
regular-expression group. If a timeout occurs, then return
the tuple(None,None).
"""
- rxb = six.b("")
+ rxb = b""
timeout = time() + self.READ_PROMPT_DELAY
while time() < timeout:
@@ -199,7 +198,7 @@ class SSH(Terminal):
return rxb, found.lastgroup
def _read_until(self, match, timeout=None):
- rxb = six.b("")
+ rxb = b""
timeout = time() + self.READ_PROMPT_DELAY
while time() < timeout:
Index: py-junos-eznc-2.7.1/lib/jnpr/junos/transport/tty_telnet.py
===================================================================
--- py-junos-eznc-2.7.1.orig/lib/jnpr/junos/transport/tty_telnet.py
+++ py-junos-eznc-2.7.1/lib/jnpr/junos/transport/tty_telnet.py
@@ -2,7 +2,6 @@ from time import sleep
import telnetlib
import logging
import sys
-import six
from jnpr.junos.transport.tty import Terminal
@@ -14,10 +13,10 @@ logger = logging.getLogger("jnpr.junos.t
class PY6:
- NEW_LINE = six.b("\n")
- EMPTY_STR = six.b("")
- NETCONF_EOM = six.b("]]>]]>")
- IN_USE = six.b("in use")
+ NEW_LINE = b"\n"
+ EMPTY_STR = b""
+ NETCONF_EOM = b"]]>]]>"
+ IN_USE = b"in use"
class Telnet(Terminal):
@@ -81,7 +80,7 @@ class Telnet(Terminal):
def write(self, content):
"""write content + <ENTER>"""
logger.debug("Write: %s" % content)
- self._tn.write(six.b((content + "\n")))
+ self._tn.write(bytes(content + "\n", 'utf-8'))
def rawwrite(self, content):
"""write content as-is"""
@@ -97,7 +96,7 @@ class Telnet(Terminal):
if sys.version >= "3":
content = content.decode("utf-8")
for char in content:
- self._tn.write(six.b(char))
+ self._tn.write(char.encode("utf-8"))
wtime = 10 / float(self.baud)
sleep(wtime) # do not remove
@@ -106,7 +105,7 @@ class Telnet(Terminal):
return self._tn.read_until(PY6.NEW_LINE, self.EXPECT_TIMEOUT)
def read_prompt(self):
- _RE_PAT = [six.b(i) for i in Terminal._RE_PAT]
+ _RE_PAT = [i.encode('utf-8') for i in Terminal._RE_PAT]
got = self._tn.expect(_RE_PAT, self.EXPECT_TIMEOUT)
if PY6.IN_USE in got[2]:
raise RuntimeError("open_fail: port already in use")
Index: py-junos-eznc-2.7.1/lib/jnpr/junos/transport/tty_serial.py
===================================================================
--- py-junos-eznc-2.7.1.orig/lib/jnpr/junos/transport/tty_serial.py
+++ py-junos-eznc-2.7.1/lib/jnpr/junos/transport/tty_serial.py
@@ -1,6 +1,5 @@
import serial
import re
-import six
from time import sleep
from datetime import datetime, timedelta
@@ -10,7 +9,7 @@ from jnpr.junos.transport.tty import Ter
# Terminal connection over SERIAL CONSOLE
# -------------------------------------------------------------------------
-_PROMPT = re.compile(six.b("|").join([six.b(i) for i in Terminal._RE_PAT]))
+_PROMPT = re.compile(b"|".join([i.encode('utf-8') for i in Terminal._RE_PAT]))
class Serial(Terminal):
@@ -56,7 +55,7 @@ class Serial(Terminal):
def write(self, content):
"""write content + <RETURN>"""
- self._ser.write(six.b(content + "\n"))
+ self._ser.write(bytes(content + "\n", 'utf-8'))
self._ser.flush()
def rawwrite(self, content):
@@ -75,7 +74,7 @@ class Serial(Terminal):
regular-expression group. If a timeout occurs, then return
the tuple(None,None).
"""
- rxb = six.b("")
+ rxb = b""
mark_start = datetime.now()
mark_end = mark_start + timedelta(seconds=self.EXPECT_TIMEOUT)
Index: py-junos-eznc-2.7.1/tests/unit/test_console.py
===================================================================
--- py-junos-eznc-2.7.1.orig/tests/unit/test_console.py
+++ py-junos-eznc-2.7.1/tests/unit/test_console.py
@@ -9,7 +9,6 @@ import re
import sys
import os
from lxml import etree
-import six
import socket
from jnpr.junos.console import Console
@@ -40,16 +39,16 @@ class TestConsole(unittest.TestCase):
def setUp(self, mock_write, mock_expect, mock_open):
tty_netconf.open = MagicMock()
mock_expect.side_effect = [
- (1, re.search("(?P<login>ogin:\s*$)", "login: "), six.b("\r\r\n ogin:")),
+ (1, re.search("(?P<login>ogin:\s*$)", "login: "), b"\r\r\n ogin:"),
(
2,
re.search("(?P<passwd>assword:\s*$)", "password: "),
- six.b("\r\r\n password:"),
+ b"\r\r\n password:",
),
(
3,
re.search("(?P<shell>%|#\s*$)", "junos % "),
- six.b("\r\r\nroot@device:~ # "),
+ b"\r\r\nroot@device:~ # ",
),
]
self.dev = Console(host="1.1.1.1", user="lab", password="lab123", mode="Telnet")
@@ -87,16 +86,16 @@ class TestConsole(unittest.TestCase):
def test_login_bad_password(self, mock_write, mock_expect, mock_open):
tty_netconf.open = MagicMock()
mock_expect.side_effect = [
- (1, re.search("(?P<login>ogin:\s*$)", "login: "), six.b("\r\r\n ogin:")),
+ (1, re.search("(?P<login>ogin:\s*$)", "login: "), b"\r\r\n ogin:"),
(
2,
re.search("(?P<passwd>assword:\s*$)", "password: "),
- six.b("\r\r\n password:"),
+ b"\r\r\n password:",
),
(
3,
re.search("(?P<badpasswd>ogin incorrect)", "login incorrect"),
- six.b("\r\r\nlogin incorrect"),
+ b"\r\r\nlogin incorrect",
),
]
self.dev = Console(host="1.1.1.1", user="lab", password="lab123", mode="Telnet")
@@ -110,16 +109,16 @@ class TestConsole(unittest.TestCase):
tty_netconf.open = MagicMock()
mock_expect.side_effect = [
- (1, re.search("(?P<login>ogin:\s*$)", "login: "), six.b("\r\r\n ogin:")),
+ (1, re.search("(?P<login>ogin:\s*$)", "login: "), b"\r\r\n ogin:"),
(
2,
re.search("(?P<passwd>assword:\s*$)", "password: "),
- six.b("\r\r\n password:"),
+ b"\r\r\n password:",
),
(
3,
re.search("(?P<shell>%|#\s*$)", "junos % "),
- six.b("\r\r\nroot@device:~ # "),
+ b"\r\r\nroot@device:~ # ",
),
]
with Console(
@@ -175,9 +174,9 @@ class TestConsole(unittest.TestCase):
def test_console_serial(self, mock_write, mock_expect, mock_open):
tty_netconf.open = MagicMock()
mock_expect.side_effect = [
- six.b("\r\r\n Login:"),
- six.b("\r\r\n password:"),
- six.b("\r\r\nroot@device:~ # "),
+ b"\r\r\n Login:",
+ b"\r\r\n password:",
+ b"\r\r\nroot@device:~ # ",
]
self.dev = Console(host="1.1.1.1", user="lab", password="lab123", mode="serial")
self.dev.open()
@@ -258,15 +257,13 @@ class TestConsole(unittest.TestCase):
</policy-statement>
</policy-options>"""
- mock_read_until.return_value = six.b(
- """
+ mock_read_until.return_value = b"""
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/15.2I0/junos">
<load-configuration-results>
<ok/>
</load-configuration-results>
</rpc-reply>
]]>]]>"""
- )
cu = Config(self.dev)
op = cu.load(xml, format="xml")
cu.commit()
Index: py-junos-eznc-2.7.1/tests/unit/transport/test_serial.py
===================================================================
--- py-junos-eznc-2.7.1.orig/tests/unit/transport/test_serial.py
+++ py-junos-eznc-2.7.1/tests/unit/transport/test_serial.py
@@ -5,7 +5,6 @@ except ImportError:
import nose2
from unittest.mock import MagicMock, patch
import sys
-import six
from jnpr.junos.console import Console
@@ -90,12 +89,9 @@ class TestSerialWin(unittest.TestCase):
("shell", "shell"),
]
mock_serial_read.side_effect = [
- six.b(
- "<!-- No zombies were killed during the creation of this user interface -->"
- ),
- six.b(""),
- six.b(
- """<!-- user root, class super-user -->
+ b"<!-- No zombies were killed during the creation of this user interface -->",
+ b"",
+ b"""<!-- user root, class super-user -->
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.0</capability>
@@ -114,9 +110,8 @@ class TestSerialWin(unittest.TestCase):
</capabilities>
<session-id>7478</session-id>
</hello>
-]]>]]>"""
- ),
- six.b(""),
+]]>]]>""",
+ b"",
]
self.dev.open()
@@ -144,7 +139,7 @@ class TestSerialWin(unittest.TestCase):
self.dev._tty.read = MagicMock()
self.dev._tty.rawwrite = MagicMock()
self.dev._tty.read.side_effect = [
- six.b(
+ bytes(
'<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"'
' xmlns:junos="http://xml.juniper.net/junos/15.1X49/junos">'
'<route-engine-information xmlns="http://xml.juniper.net/ju'
@@ -170,7 +165,8 @@ class TestSerialWin(unittest.TestCase):
"-reason><load-average-one>0.12</load-average-one><load-ave"
"rage-five>0.08</load-average-five><load-average-fifteen>0."
"06</load-average-fifteen></route-engine></route-engine-inf"
- "ormation></rpc-reply>]]>]]>"
+ "ormation></rpc-reply>]]>]]>",
+ 'utf-8'
)
]
res = self.dev.rpc.get_route_engine_information()
Index: py-junos-eznc-2.7.1/tests/unit/transport/test_tty_netconf.py
===================================================================
--- py-junos-eznc-2.7.1.orig/tests/unit/transport/test_tty_netconf.py
+++ py-junos-eznc-2.7.1/tests/unit/transport/test_tty_netconf.py
@@ -7,7 +7,6 @@ from unittest.mock import MagicMock, pat
from jnpr.junos.transport.tty_netconf import tty_netconf
-import six
import os
import select
import socket
@@ -43,7 +42,7 @@ class TestTTYNetconf(unittest.TestCase):
@patch("jnpr.junos.transport.tty_netconf.timedelta")
def test_open_RuntimeError(self, mock_delta, mock_rcv):
mock_rcv.return_value = "]]>]]>"
- self.tty_net._tty.read.return_value = six.b("testing")
+ self.tty_net._tty.read.return_value = b"testing"
from datetime import timedelta
mock_delta.return_value = timedelta(seconds=0.5)
@@ -56,7 +55,7 @@ class TestTTYNetconf(unittest.TestCase):
mock_rcv.return_value = "]]>]]>"
self.tty_net.rpc("get-interface-information")
self.tty_net._tty.rawwrite.assert_called_with(
- six.b("<rpc><get-interface-information/></rpc>")
+ b"<rpc><get-interface-information/></rpc>"
)
@patch("jnpr.junos.transport.tty_netconf.tty_netconf._receive")
@@ -103,7 +102,7 @@ class TestTTYNetconf(unittest.TestCase):
@patch("jnpr.junos.transport.tty_netconf.select.select")
def test_tty_netconf_receive_empty_line(self, mock_select):
rx = MagicMock()
- rx.read_until.side_effect = iter([six.b(""), six.b("]]>]]>")])
+ rx.read_until.side_effect = iter([b"", b"]]>]]>"])
mock_select.return_value = ([rx], [], [])
self.assertEqual(self.tty_net._receive().tag, "error-in-receive")
@@ -117,7 +116,7 @@ class TestTTYNetconf(unittest.TestCase):
@patch("jnpr.junos.transport.tty_netconf.select.select")
def test_tty_netconf_receive_splited_eom(self, mock_select):
rx = MagicMock()
- rx.read_until.side_effect = iter([six.b(i) for i in ["testing]", "]>", "]]>"]])
+ rx.read_until.side_effect = iter([i.encode('utf-8') for i in ["testing]", "]>", "]]>"]])
mock_select.return_value = ([rx], [], [])
self.assertEqual(self.tty_net._receive().tag, "error-in-receive")
@@ -126,30 +125,30 @@ class TestTTYNetconf(unittest.TestCase):
rx = MagicMock()
rx.read_until.side_effect = iter(
- [six.b("<rpc-reply>ok<dummy></rpc-reply>"), six.b("\n]]>]]>")]
+ [b"<rpc-reply>ok<dummy></rpc-reply>", b"\n]]>]]>"]
)
mock_select.return_value = ([rx], [], [])
self.assertEqual(
- self.tty_net._receive(), six.b("<rpc-reply>ok<dummy/></rpc-reply>")
+ self.tty_net._receive(), b"<rpc-reply>ok<dummy/></rpc-reply>"
)
@patch("jnpr.junos.transport.tty_netconf.select.select")
def test_tty_netconf_receive_XMLSyntaxError_eom_in_center(self, mock_select):
rx = MagicMock()
rx.read_until.side_effect = iter(
- [six.b("<rpc-reply>ok</rpc-reply>"), six.b("]]>]]>\ndummy")]
+ [b"<rpc-reply>ok</rpc-reply>", b"]]>]]>\ndummy"]
)
mock_select.return_value = ([rx], [], [])
- self.assertEqual(self.tty_net._receive(), six.b("<rpc-reply>ok</rpc-reply>"))
+ self.assertEqual(self.tty_net._receive(), b"<rpc-reply>ok</rpc-reply>")
@patch("jnpr.junos.transport.tty_netconf.select.select")
def test_tty_netconf_receive_xmn_error(self, mock_select):
rx = MagicMock()
rx.read_until.side_effect = iter(
[
- six.b("<message>ok</message>"),
- six.b("\n</xnm:error>\n"),
- six.b("]]>]]>\ndummy"),
+ b"<message>ok</message>",
+ b"\n</xnm:error>\n",
+ b"]]>]]>\ndummy",
]
)
mock_select.return_value = ([rx], [], [])
Index: py-junos-eznc-2.7.1/tests/unit/transport/test_tty_telnet.py
===================================================================
--- py-junos-eznc-2.7.1.orig/tests/unit/transport/test_tty_telnet.py
+++ py-junos-eznc-2.7.1/tests/unit/transport/test_tty_telnet.py
@@ -7,7 +7,6 @@ except ImportError:
import nose2
from unittest.mock import MagicMock, patch
from jnpr.junos.transport.tty_telnet import Telnet
-import six
class TestTTYTelnet(unittest.TestCase):
@@ -62,7 +61,7 @@ class TestTTYTelnet(unittest.TestCase):
self.tel_conn._tn.expect.return_value = (
None,
None,
- six.b("port already in use"),
+ b"port already in use",
)
self.assertRaises(RuntimeError, self.tel_conn._login_state_machine)
Index: py-junos-eznc-2.7.1/lib/jnpr/junos/device.py
===================================================================
--- py-junos-eznc-2.7.1.orig/lib/jnpr/junos/device.py
+++ py-junos-eznc-2.7.1/lib/jnpr/junos/device.py
@@ -1,6 +1,5 @@
# stdlib
import os
-import six
import types
import platform
import warnings
@@ -665,7 +664,7 @@ class _Connection(object):
command = command.strip()
# Get the equivalent RPC
rpc = self.display_xml_rpc(command)
- if isinstance(rpc, six.string_types):
+ if isinstance(rpc, str):
# No RPC is available.
return None
rpc_string = "rpc.%s(" % (rpc.tag.replace("-", "_"))
Index: py-junos-eznc-2.7.1/lib/jnpr/junos/utils/start_shell.py
===================================================================
--- py-junos-eznc-2.7.1.orig/lib/jnpr/junos/utils/start_shell.py
+++ py-junos-eznc-2.7.1/lib/jnpr/junos/utils/start_shell.py
@@ -3,7 +3,6 @@ import re
import datetime
from jnpr.junos.utils.ssh_client import open_ssh_client
import subprocess
-import six
from threading import Thread
import time
Index: py-junos-eznc-2.7.1/requirements.txt
===================================================================
--- py-junos-eznc-2.7.1.orig/requirements.txt
+++ py-junos-eznc-2.7.1/requirements.txt
@@ -4,7 +4,6 @@ ncclient>=0.6.15
scp>=0.7.0
jinja2>=2.7.1
PyYAML>=5.1
-six
pyserial
yamlordereddictloader
pyparsing
Index: py-junos-eznc-2.7.1/tests/unit/facts/test_swver.py
===================================================================
--- py-junos-eznc-2.7.1.orig/tests/unit/facts/test_swver.py
+++ py-junos-eznc-2.7.1/tests/unit/facts/test_swver.py
@@ -1,8 +1,6 @@
__author__ = "Stacy Smith"
__credits__ = "Jeremy Schulman, Nitin Kumar"
-import six
-
try:
import unittest2 as unittest
except:
@@ -13,9 +11,6 @@ from jnpr.junos.facts.swver import versi
class TestVersionInfo(unittest.TestCase):
- if six.PY2:
- assertCountEqual = unittest.TestCase.assertItemsEqual
-
def test_version_info_after_type_len_else(self):
self.assertEqual(version_info("12.1X46-D10").build, None)
Index: py-junos-eznc-2.7.1/tests/unit/utils/test_scp.py
===================================================================
--- py-junos-eznc-2.7.1.orig/tests/unit/utils/test_scp.py
+++ py-junos-eznc-2.7.1/tests/unit/utils/test_scp.py
@@ -1,5 +1,5 @@
import sys
-from six import StringIO
+from io import StringIO
from contextlib import contextmanager
import unittest
Index: py-junos-eznc-2.7.1/tests/unit/utils/test_sw.py
===================================================================
--- py-junos-eznc-2.7.1.orig/tests/unit/utils/test_sw.py
+++ py-junos-eznc-2.7.1/tests/unit/utils/test_sw.py
@@ -1,7 +1,7 @@
from __future__ import print_function
import os
import sys
-from six import StringIO
+from io import StringIO
try:
import unittest2 as unittest

View File

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

View File

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

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Wed Apr 17 12:37:53 UTC 2024 - Markéta Machová <mmachova@suse.com>
- Update to 2.7.1
* Added customer juniper paramiko module as a dependency which
supported aes128 and aes257 cipher #1299
- Create no-six.patch to get rid of six dependency.
-------------------------------------------------------------------
Mon Feb 12 11:01:26 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>

View File

@ -19,7 +19,7 @@
%define skip_python2 1
Name: python-junos-eznc
Version: 2.7.0
Version: 2.7.1
Release: 0
Summary: Junos 'EZ' automation for non-programmers
License: Apache-2.0
@ -32,6 +32,8 @@ Patch1: python-junos-eznc-remove-yamlordereddictloader.patch
Patch3: python-junos-eznc-no-mock.patch
# PATCH-FIX-OPENSUSE python-311.patch gh#Juniper/py-junos-eznc#1236
Patch4: python-311.patch
# PATCH-FIX-UPSTREAM gh#Juniper/py-junos-eznc#1307 Don't require six
Patch5: no-six.patch
BuildRequires: %{python_module Jinja2 >= 2.7.1}
BuildRequires: %{python_module PyYAML >= 5.1}
BuildRequires: %{python_module lxml >= 3.2.4}
@ -45,7 +47,6 @@ BuildRequires: %{python_module pytest-forked}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module scp >= 0.7.0}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module six}
BuildRequires: %{python_module transitions}
BuildRequires: %{python_module yamlloader}
BuildRequires: fdupes
@ -58,7 +59,6 @@ Requires: python-paramiko >= 1.15.2
Requires: python-pyparsing
Requires: python-pyserial
Requires: python-scp >= 0.7.0
Requires: python-six
Requires: python-transitions
BuildArch: noarch
%python_subpackages