- remove pexpect dependency

Resolves: rhbz#1961551
This commit is contained in:
Oyvind Albrigtsen 2021-05-18 16:40:02 +02:00
parent 8f3afa12ec
commit 2335b44767
4 changed files with 433 additions and 69 deletions

348
bundled-pexpect.patch Normal file
View File

@ -0,0 +1,348 @@
diff --color -uNr a/agents/azure_arm/fence_azure_arm.py b/agents/azure_arm/fence_azure_arm.py
--- a/agents/azure_arm/fence_azure_arm.py 2020-06-30 11:26:43.000000000 +0200
+++ b/agents/azure_arm/fence_azure_arm.py 2021-05-19 11:27:45.861202774 +0200
@@ -1,6 +1,11 @@
#!@PYTHON@ -tt
-import sys, re, pexpect
+import sys, re
+sys.path.insert(0, '/usr/lib/fence-agents/support/pexpect')
+try:
+ import pexpect
+except:
+ pass
import logging
import atexit
import xml.etree.ElementTree as ET
diff --color -uNr a/agents/hpblade/fence_hpblade.py b/agents/hpblade/fence_hpblade.py
--- a/agents/hpblade/fence_hpblade.py 2019-08-16 10:55:11.000000000 +0200
+++ b/agents/hpblade/fence_hpblade.py 2021-05-19 11:28:04.683250655 +0200
@@ -8,7 +8,11 @@
#####
import sys, re
-import pexpect
+sys.path.insert(0, '/usr/lib/fence-agents/support/pexpect')
+try:
+ import pexpect
+except:
+ pass
import atexit
sys.path.append("@FENCEAGENTSLIBDIR@")
from fencing import *
diff --color -uNr a/agents/ilo/fence_ilo.py b/agents/ilo/fence_ilo.py
--- a/agents/ilo/fence_ilo.py 2019-02-04 09:45:05.000000000 +0100
+++ b/agents/ilo/fence_ilo.py 2021-05-19 11:28:11.081266930 +0200
@@ -11,7 +11,12 @@
## iLO2 / firmware 1.50 / RIBCL 2.22
#####
-import sys, re, pexpect
+import sys, re
+sys.path.insert(0, '/usr/lib/fence-agents/support/pexpect')
+try:
+ import pexpect
+except:
+ pass
import atexit
from xml.sax.saxutils import quoteattr
sys.path.append("@FENCEAGENTSLIBDIR@")
diff --color -uNr a/agents/ldom/fence_ldom.py b/agents/ldom/fence_ldom.py
--- a/agents/ldom/fence_ldom.py 2019-02-04 09:45:05.000000000 +0100
+++ b/agents/ldom/fence_ldom.py 2021-05-19 11:28:25.345303213 +0200
@@ -7,7 +7,12 @@
##
#####
-import sys, re, pexpect
+import sys, re
+sys.path.insert(0, '/usr/lib/fence-agents/support/pexpect')
+try:
+ import pexpect
+except:
+ pass
import atexit
sys.path.append("@FENCEAGENTSLIBDIR@")
from fencing import *
diff --color -uNr a/agents/Makefile.am b/agents/Makefile.am
--- a/agents/Makefile.am 2019-10-18 17:18:32.000000000 +0200
+++ b/agents/Makefile.am 2021-05-19 11:26:46.202051020 +0200
@@ -108,10 +108,10 @@
cisco_mds/fence_cisco_mds.delay-check: cisco_mds/fence_cisco_mds
$(eval INPUT=$(subst .delay-check,,$@))
FENCE_TEST_ARGS_CISCO_MDS=$$(printf '$(FENCE_TEST_ARGS)' | sed 's#port=1#port=fc1/1#'); \
- test `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib /usr/bin/time -p \
+ test `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect /usr/bin/time -p \
sh -c "printf 'delay=10\n $$FENCE_TEST_ARGS_CISCO_MDS' | $(PYTHON) ./$(INPUT)" 2>&1 |\
awk -F"[. ]" -vOFS= '/real/ {print $$2,$$3}'` -ge 1000 || ( \
- PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib /usr/bin/time -p \
+ PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect /usr/bin/time -p \
sh -c "printf "delay=0\n $$FENCE_TEST_ARGS_CISCO_MDS" | $(PYTHON) ./$(INPUT)"; false )
include $(top_srcdir)/make/fencebuild.mk
diff --color -uNr a/agents/netio/fence_netio.py b/agents/netio/fence_netio.py
--- a/agents/netio/fence_netio.py 2019-02-04 09:45:05.000000000 +0100
+++ b/agents/netio/fence_netio.py 2021-05-19 11:28:30.244315675 +0200
@@ -1,6 +1,11 @@
#!@PYTHON@ -tt
-import sys, re, pexpect
+import sys, re
+sys.path.insert(0, '/usr/lib/fence-agents/support/pexpect')
+try:
+ import pexpect
+except:
+ pass
import atexit
sys.path.append("@FENCEAGENTSLIBDIR@")
from fencing import *
diff --color -uNr a/agents/raritan/fence_raritan.py b/agents/raritan/fence_raritan.py
--- a/agents/raritan/fence_raritan.py 2019-08-16 10:55:11.000000000 +0200
+++ b/agents/raritan/fence_raritan.py 2021-05-19 11:28:35.849329933 +0200
@@ -1,6 +1,11 @@
#!@PYTHON@ -tt
-import sys, re, pexpect
+import sys, re
+sys.path.insert(0, '/usr/lib/fence-agents/support/pexpect')
+try:
+ import pexpect
+except:
+ pass
import atexit
sys.path.append("@FENCEAGENTSLIBDIR@")
from fencing import *
diff --color -uNr a/agents/sanbox2/fence_sanbox2.py b/agents/sanbox2/fence_sanbox2.py
--- a/agents/sanbox2/fence_sanbox2.py 2019-02-11 13:05:48.000000000 +0100
+++ b/agents/sanbox2/fence_sanbox2.py 2021-05-19 11:28:40.731342352 +0200
@@ -8,7 +8,12 @@
## +-----------------+---------------------------+
#####
-import sys, re, pexpect
+import sys, re
+sys.path.insert(0, '/usr/lib/fence-agents/support/pexpect')
+try:
+ import pexpect
+except:
+ pass
import logging
import atexit
sys.path.append("@FENCEAGENTSLIBDIR@")
diff --color -uNr a/agents/vmware/fence_vmware.py b/agents/vmware/fence_vmware.py
--- a/agents/vmware/fence_vmware.py 2019-02-04 09:45:05.000000000 +0100
+++ b/agents/vmware/fence_vmware.py 2021-05-19 11:28:47.502359575 +0200
@@ -22,7 +22,12 @@
# VMware vCenter 4.0.0
#
-import sys, re, pexpect
+import sys, re
+sys.path.insert(0, '/usr/lib/fence-agents/support/pexpect')
+try:
+ import pexpect
+except:
+ pass
import logging
import atexit
sys.path.append("@FENCEAGENTSLIBDIR@")
diff --color -uNr a/agents/wti/fence_wti.py b/agents/wti/fence_wti.py
--- a/agents/wti/fence_wti.py 2019-02-04 09:45:05.000000000 +0100
+++ b/agents/wti/fence_wti.py 2021-05-19 11:28:52.741372903 +0200
@@ -11,7 +11,12 @@
## WTI IPS-800-CE v1.40h (no username) ('list' tested)
#####
-import sys, re, pexpect
+import sys, re
+sys.path.insert(0, '/usr/lib/fence-agents/support/pexpect')
+try:
+ import pexpect
+except:
+ pass
import atexit
import time
sys.path.append("@FENCEAGENTSLIBDIR@")
diff --color -uNr a/lib/fencing.py.py b/lib/fencing.py.py
--- a/lib/fencing.py.py 2020-11-05 14:58:07.000000000 +0100
+++ b/lib/fencing.py.py 2021-05-19 11:59:36.679118542 +0200
@@ -1,7 +1,12 @@
#!@PYTHON@ -tt
import sys, getopt, time, os, uuid, pycurl, stat
-import pexpect, re, syslog
+sys.path.insert(0, '/usr/lib/fence-agents/support/pexpect')
+try:
+ import pexpect
+except:
+ pass
+import re, syslog
import logging
import subprocess
import threading
@@ -491,29 +496,32 @@
"snmpset_path", "snmpget_path", "snmpwalk_path"]
}
-class fspawn(pexpect.spawn):
- def __init__(self, options, command, **kwargs):
- if sys.version_info[0] > 2:
- kwargs.setdefault('encoding', 'utf-8')
- logging.info("Running command: %s", command)
- pexpect.spawn.__init__(self, command, **kwargs)
- self.opt = options
-
- def log_expect(self, pattern, timeout):
- result = self.expect(pattern, timeout if timeout != 0 else None)
- logging.debug("Received: %s", self.before + self.after)
- return result
-
- def read_nonblocking(self, size, timeout):
- return pexpect.spawn.read_nonblocking(self, size=100, timeout=timeout if timeout != 0 else None)
-
- def send(self, message):
- logging.debug("Sent: %s", message)
- return pexpect.spawn.send(self, message)
-
- # send EOL according to what was detected in login process (telnet)
- def send_eol(self, message):
- return self.send(message + self.opt["eol"])
+try:
+ class fspawn(pexpect.spawn):
+ def __init__(self, options, command, **kwargs):
+ if sys.version_info[0] > 2:
+ kwargs.setdefault('encoding', 'utf-8')
+ logging.info("Running command: %s", command)
+ pexpect.spawn.__init__(self, command, **kwargs)
+ self.opt = options
+
+ def log_expect(self, pattern, timeout):
+ result = self.expect(pattern, timeout if timeout != 0 else None)
+ logging.debug("Received: %s", self.before + self.after)
+ return result
+
+ def read_nonblocking(self, size, timeout):
+ return pexpect.spawn.read_nonblocking(self, size=100, timeout=timeout if timeout != 0 else None)
+
+ def send(self, message):
+ logging.debug("Sent: %s", message)
+ return pexpect.spawn.send(self, message)
+
+ # send EOL according to what was detected in login process (telnet)
+ def send_eol(self, message):
+ return self.send(message + self.opt["eol"])
+except:
+ pass
def frun(command, timeout=30, withexitstatus=False, events=None,
extra_args=None, logfile=None, cwd=None, env=None, **kwargs):
diff --color -uNr a/lib/fencing_snmp.py.py b/lib/fencing_snmp.py.py
--- a/lib/fencing_snmp.py.py 2019-02-04 09:45:05.000000000 +0100
+++ b/lib/fencing_snmp.py.py 2021-05-19 11:37:59.446734969 +0200
@@ -2,7 +2,13 @@
# For example of use please see fence_cisco_mds
-import re, pexpect
+import sys
+sys.path.insert(0, '/usr/lib/fence-agents/support/pexpect')
+try:
+ import pexpect
+except:
+ pass
+import re
import logging
from fencing import *
from fencing import fail, fail_usage, EC_TIMED_OUT, run_delay, frun
diff --color -uNr a/make/agentpycheck.mk b/make/agentpycheck.mk
--- a/make/agentpycheck.mk 2020-06-30 11:26:43.000000000 +0200
+++ b/make/agentpycheck.mk 2021-05-19 11:26:46.203051022 +0200
@@ -9,34 +9,34 @@
%.xml-check: %.8
$(eval INPUT=$(subst .xml-check,,$(@F)))
- for x in $(INPUT) `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $(@D)/$(INPUT) -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
+ for x in $(INPUT) `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect $(PYTHON) $(@D)/$(INPUT) -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
TEMPFILE=$$(mktemp); \
- PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $(@D)/$$x -o metadata | $(AWK) $(AWK_VAL) > $$TEMPFILE && \
+ PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect $(PYTHON) $(@D)/$$x -o metadata | $(AWK) $(AWK_VAL) > $$TEMPFILE && \
diff $$TEMPFILE $(DATADIR)/$$x.xml || exit 1 && \
rm $$TEMPFILE; \
done
%.xml-upload: %.8
$(eval INPUT=$(subst .xml-upload,,$(@F)))
- for x in $(INPUT) `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $(@D)/$(INPUT) -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
- PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $(@D)/$$x -o metadata | $(AWK) $(AWK_VAL) > $(DATADIR)/$$x.xml; \
+ for x in $(INPUT) `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect $(PYTHON) $(@D)/$(INPUT) -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
+ PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect $(PYTHON) $(@D)/$$x -o metadata | $(AWK) $(AWK_VAL) > $(DATADIR)/$$x.xml; \
done
# If test will fail, rerun fence agents to show problems
%.delay-check: %
$(eval INPUT=$(subst .delay-check,,$(@F)))
- for x in $(INPUT) `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $(@D)/$(INPUT) -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
- test `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib /usr/bin/time -p \
+ for x in $(INPUT) `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect $(PYTHON) $(@D)/$(INPUT) -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
+ test `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect /usr/bin/time -p \
sh -c "printf 'delay=10\n $(FENCE_TEST_ARGS)' | $(PYTHON) $(@D)/$$x" 2>&1 |\
awk -F"[. ]" -vOFS= '/real/ {print $$2,$$3}'` -ge 1000 || ( \
- PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib /usr/bin/time -p \
+ PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect /usr/bin/time -p \
sh -c "printf 'delay=0\n $(FENCE_TEST_ARGS)' | $(PYTHON) $(@D)/$$x"; false ); \
done
%.rng-check: %
$(eval INPUT=$(subst .rng-check,,$(@F)))
- for x in $(INPUT) `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $(@D)/$(INPUT) -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
- PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $(@D)/$$x -o metadata | \
+ for x in $(INPUT) `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect $(PYTHON) $(@D)/$(INPUT) -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
+ PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect $(PYTHON) $(@D)/$$x -o metadata | \
xsltproc ${abs_top_srcdir}/lib/fence2rng.xsl - | \
sed -e 's/ rha:description=/ description=/g' -e 's/ rha:name=/ name=/g' | \
xmllint --nsclean --noout -; \
diff --color -uNr a/make/fencebuild.mk b/make/fencebuild.mk
--- a/make/fencebuild.mk 2020-11-25 19:41:40.000000000 +0100
+++ b/make/fencebuild.mk 2021-05-19 11:26:46.203051022 +0200
@@ -34,10 +34,10 @@
> $@
if [ 0 -eq `echo "$(@)" | grep fence_ > /dev/null 2>&1; echo $$?` ]; then \
- PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $(top_srcdir)/lib/check_used_options.py $@; \
+ PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect $(PYTHON) $(top_srcdir)/lib/check_used_options.py $@; \
else true ; fi
- for x in `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $(@) -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
+for x in `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect $(PYTHON) $(@) -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
cp -f $(@) $(@D)/$$x; \
$(MAKE) $(@D)/$$x.8; \
done
@@ -66,7 +66,7 @@
fi
for p in $(TARGET); do \
dir=`dirname $$p`; \
- for x in `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $$p -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
+ for x in `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect $(PYTHON) $$p -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"`; do \
echo " $(INSTALL_SCRIPT) $$dir/$$x '$(DESTDIR)$(sbindir)'"; \
$(INSTALL_SCRIPT) $$dir/$$x "$(DESTDIR)$(sbindir)" || exit $$?; \
echo " $(INSTALL_DATA) '$$dir/$$x.8' '$(DESTDIR)$(man8dir)'"; \
@@ -76,7 +76,7 @@
uninstall-hook: $(TARGET)
files=`for p in $(TARGET); do \
- for x in \`PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib $(PYTHON) $$p -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"\`; do \
+ for x in \`PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib:$(abs_top_builddir)/support/pexpect $(PYTHON) $$p -o metadata | grep symlink | sed -e "s/.*\(fence.*\)\" .*/\1/g"\`; do \
echo " rm -f '$(DESTDIR)$(sbindir)/$$x'"; \
rm -f "$(DESTDIR)$(sbindir)/$$x"; \
echo " rm -f '$(DESTDIR)$(man8dir)/$$x.8'"; \
diff --color -uNr a/make/fenceman.mk b/make/fenceman.mk
--- a/make/fenceman.mk 2019-02-04 09:45:05.000000000 +0100
+++ b/make/fenceman.mk 2021-05-19 11:26:46.203051022 +0200
@@ -1,6 +1,6 @@
%.8: % $(top_srcdir)/lib/fence2man.xsl
set -e && \
- PYTHONPATH=$(abs_srcdir)/lib:$(abs_builddir)/../lib:$(abs_builddir)/lib \
+ PYTHONPATH=$(abs_srcdir)/lib:$(abs_builddir)/../lib:$(abs_builddir)/lib:$(abs_top_builddir)/support/pexpect \
$(PYTHON) $* -o manpage > $(@D)/.$(@F).tmp && \
xmllint --noout --relaxng $(top_srcdir)/lib/metadata.rng $(@D)/.$(@F).tmp && \
xsltproc $(top_srcdir)/lib/fence2man.xsl $(@D)/.$(@F).tmp > $@

View File

@ -9,7 +9,7 @@
Name: fence-agents
Summary: Set of unified programs capable of host isolation ("fencing")
Version: 4.7.1
Release: 9%{?alphatag:.%{alphatag}}%{?dist}
Release: 10%{?alphatag:.%{alphatag}}%{?dist}
License: GPLv2+ and LGPLv2+
URL: https://github.com/ClusterLabs/fence-agents
Source0: https://fedorahosted.org/releases/f/e/fence-agents/%{name}-%{version}.tar.gz
@ -19,36 +19,37 @@ Source101: requirements-aws.txt
Source102: requirements-azure.txt
Source103: requirements-google.txt
Source104: requirements-openstack.txt
Source105: requirements-pexpect.txt
### HA cloud support libs/utils ###
# update with ./update-ha-cloud.sh and replace lines below with output
### BEGIN ###
# aliyun
Source1000: aliyun-python-sdk-core-2.13.31.tar.gz
Source1001: aliyun_python_sdk_ecs-4.23.10-py2.py3-none-any.whl
Source1000: aliyun-python-sdk-core-2.13.35.tar.gz
Source1001: aliyun_python_sdk_ecs-4.24.1-py2.py3-none-any.whl
Source1002: cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl
Source1003: cryptography-3.4.6-cp36-abi3-manylinux2014_x86_64.whl
Source1003: cryptography-3.4.7-cp36-abi3-manylinux2014_x86_64.whl
Source1004: jmespath-0.10.0-py2.py3-none-any.whl
Source1005: pycparser-2.20-py2.py3-none-any.whl
# aws
Source1006: awscli-1.19.20-py2.py3-none-any.whl
Source1007: boto3-1.17.20-py2.py3-none-any.whl
Source1008: botocore-1.20.20-py2.py3-none-any.whl
Source1006: awscli-1.19.74-py2.py3-none-any.whl
Source1007: boto3-1.17.74.tar.gz
Source1008: botocore-1.20.74-py2.py3-none-any.whl
Source1009: colorama-0.4.3-py2.py3-none-any.whl
Source1010: docutils-0.15.2-py3-none-any.whl
Source1011: pyasn1-0.4.8-py2.py3-none-any.whl
Source1012: python_dateutil-2.8.1-py2.py3-none-any.whl
Source1013: PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl
Source1014: rsa-4.7.2-py3-none-any.whl
Source1015: s3transfer-0.3.4-py2.py3-none-any.whl
Source1016: six-1.15.0-py2.py3-none-any.whl
Source1017: urllib3-1.26.3-py2.py3-none-any.whl
Source1015: s3transfer-0.4.2-py2.py3-none-any.whl
Source1016: six-1.16.0-py2.py3-none-any.whl
Source1017: urllib3-1.26.4-py2.py3-none-any.whl
# azure
Source1018: adal-1.2.6-py2.py3-none-any.whl
Source1019: azure_common-1.1.26-py2.py3-none-any.whl
Source1020: azure_core-1.11.0-py2.py3-none-any.whl
Source1021: azure_mgmt_compute-19.0.0-py2.py3-none-any.whl
Source1018: adal-1.2.7-py2.py3-none-any.whl
Source1019: azure_common-1.1.27-py2.py3-none-any.whl
Source1020: azure_core-1.14.0-py2.py3-none-any.whl
Source1021: azure_mgmt_compute-20.0.0-py2.py3-none-any.whl
Source1022: azure_mgmt_core-1.2.2-py2.py3-none-any.whl
Source1023: azure_mgmt_network-17.1.0-py2.py3-none-any.whl
Source1023: azure_mgmt_network-19.0.0-py2.py3-none-any.whl
Source1024: certifi-2020.12.5-py2.py3-none-any.whl
Source1025: chardet-4.0.0-py2.py3-none-any.whl
Source1026: idna-2.10-py2.py3-none-any.whl
@ -56,25 +57,25 @@ Source1027: isodate-0.6.0-py2.py3-none-any.whl
Source1028: msrest-0.6.21-py2.py3-none-any.whl
Source1029: msrestazure-0.6.4-py2.py3-none-any.whl
Source1030: oauthlib-3.1.0-py2.py3-none-any.whl
Source1031: PyJWT-2.0.1-py3-none-any.whl
Source1031: PyJWT-2.1.0-py3-none-any.whl
Source1032: requests-2.25.1-py2.py3-none-any.whl
Source1033: requests_oauthlib-1.3.0-py2.py3-none-any.whl
# google
Source1034: cachetools-4.2.1-py3-none-any.whl
Source1034: cachetools-4.2.2-py3-none-any.whl
Source1035: chardet-3.0.4-py2.py3-none-any.whl
Source1036: google_api_core-1.26.0-py2.py3-none-any.whl
Source1036: google_api_core-1.27.0-py2.py3-none-any.whl
Source1037: google_api_python_client-1.12.8-py2.py3-none-any.whl
Source1038: googleapis_common_protos-1.53.0-py2.py3-none-any.whl
Source1039: google_auth-1.27.0-py2.py3-none-any.whl
Source1040: google_auth_httplib2-0.0.4-py2.py3-none-any.whl
Source1041: httplib2-0.19.0-py3-none-any.whl
Source1039: google_auth-1.30.0-py2.py3-none-any.whl
Source1040: google_auth_httplib2-0.1.0-py2.py3-none-any.whl
Source1041: httplib2-0.19.1-py3-none-any.whl
Source1042: packaging-20.9-py2.py3-none-any.whl
Source1043: protobuf-3.15.4-cp39-cp39-manylinux1_x86_64.whl
Source1043: protobuf-3.17.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Source1044: pyasn1_modules-0.2.8-py2.py3-none-any.whl
Source1045: pyparsing-2.4.7-py2.py3-none-any.whl
Source1046: pyroute2-0.5.14.tar.gz
Source1046: pyroute2-0.5.19.tar.gz
Source1047: pytz-2021.1-py2.py3-none-any.whl
Source1048: setuptools-54.0.0-py3-none-any.whl
Source1048: setuptools-56.2.0-py3-none-any.whl
Source1049: uritemplate-3.0.1-py2.py3-none-any.whl
# openstack
Source1050: debtcollector-2.2.0-py3-none-any.whl
@ -85,14 +86,17 @@ Source1054: netaddr-0.8.0-py2.py3-none-any.whl
Source1055: netifaces-0.10.9.tar.gz
Source1056: oslo.i18n-5.0.1-py3-none-any.whl
Source1057: oslo.serialization-4.1.0-py3-none-any.whl
Source1058: oslo.utils-4.8.0-py3-none-any.whl
Source1058: oslo.utils-4.9.0-py3-none-any.whl
Source1059: os_service_types-1.7.0-py2.py3-none-any.whl
Source1060: pbr-5.5.1-py2.py3-none-any.whl
Source1061: prettytable-0.7.2.tar.bz2
Source1062: python_novaclient-17.3.0-py3-none-any.whl
Source1063: simplejson-3.17.2.tar.gz
Source1064: stevedore-3.3.0-py3-none-any.whl
Source1060: pbr-5.6.0-py2.py3-none-any.whl
Source1061: prettytable-2.1.0-py3-none-any.whl
Source1062: python_novaclient-17.4.0-py3-none-any.whl
Source1063: stevedore-3.3.0-py3-none-any.whl
Source1064: wcwidth-0.2.5-py2.py3-none-any.whl
Source1065: wrapt-1.12.1.tar.gz
# pexpect
Source1066: pexpect-4.8.0-py2.py3-none-any.whl
Source1067: ptyprocess-0.7.0-py2.py3-none-any.whl
### END ###
Patch0: fence_gce-google-auth-oauthlib-support.patch
@ -101,6 +105,7 @@ Patch2: ha-cloud-support-aws.patch
Patch3: ha-cloud-support-azure.patch
Patch4: ha-cloud-support-google.patch
Patch5: ha-cloud-support-openstack.patch
Patch6: bundled-pexpect.patch
%global supportedagents amt_ws apc apc_snmp bladecenter brocade cisco_mds cisco_ucs compute drac5 eaton_snmp emerson eps evacuate hpblade ibmblade ifmib ilo ilo_moonshot ilo_mp ilo_ssh intelmodular ipdu ipmilan kdump lpar mpath redfish rhevm rsa rsb sbd scsi vmware_rest vmware_soap wti
%ifarch x86_64
@ -175,7 +180,7 @@ BuildRequires: libxslt
BuildRequires: python3-devel python3-pip
# wheel for HA cloud support
BuildRequires: python3-wheel
BuildRequires: python3-pexpect python3-pycurl python3-requests
BuildRequires: python3-pycurl python3-requests
BuildRequires: python3-suds
%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7
BuildRequires: openwsman-python3
@ -185,7 +190,7 @@ BuildRequires: python3-openwsman
%endif
%else
BuildRequires: python-devel
BuildRequires: pexpect python-pycurl python-requests
BuildRequires: python-pycurl python-requests
BuildRequires: python-suds openwsman-python
%endif
@ -202,8 +207,8 @@ sed -i.orig 's|FENCE_ZVM=1|FENCE_ZVM=0|' configure.ac
%build
%ifarch x86_64
# support libs
for x in aliyun azure aws google openstack; do
%{__python3} -m pip install --target support/$x --no-index --find-links %{_sourcedir} -r %{_sourcedir}/requirements-$x.txt
for x in %{_sourcedir}/requirements-*.txt; do
%{__python3} -m pip install --target support/$(echo $x | sed -E "s/.*requirements-(.*).txt/\1/") --no-index --find-links %{_sourcedir} -r $x
done
sed -i -e "/^import awscli.clidriver/isys.path.insert(0, '/usr/lib/%{name}/support/aws')" support/aws/bin/aws
@ -214,7 +219,7 @@ if [ -z "$PYTHON " ]; then
fi
./autogen.sh
%{configure} PYTHONPATH="support/aliyun:support/aws:support/azure:support/google:support/openstack" --with-agents='%{supportedagents} %{testagents}'
%{configure} PYTHONPATH="support/aliyun:support/aws:support/azure:support/google:support/openstack:support/pexpect" --with-agents='%{supportedagents} %{testagents}'
CFLAGS="$(echo '%{optflags}')" make %{_smp_mflags}
%install
@ -251,9 +256,9 @@ network, storage, or similar. They operate through a unified interface
License: GPLv2+ and LGPLv2+
Summary: Common base for Fence Agents
%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
Requires: python3-pexpect python3-pycurl
Requires: python3-pycurl
%else
Requires: pexpect python-pycurl
Requires: python-pycurl
%endif
BuildArch: noarch
%description common
@ -276,6 +281,8 @@ This package contains support files including the Python fencing library.
%exclude %{_sbindir}/*
%exclude %{_mandir}/man8/*
%exclude /usr/lib/%{name}/support
%dir %{_usr}/lib/%{name}
%{_usr}/lib/%{name}/support/pexpect
%ifarch x86_64
%package -n ha-cloud-support
@ -287,6 +294,7 @@ Support libraries for Fence Agents.
%files -n ha-cloud-support
%dir %{_usr}/lib/%{name}
%{_usr}/lib/%{name}/support
%exclude %{_usr}/lib/%{name}/support/pexpect
%endif
%package all
@ -972,6 +980,11 @@ Fence agent for IBM z/VM over IP.
%endif
%changelog
* Tue May 18 2021 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.7.1-10
- remove pexpect dependency
Resolves: rhbz#1961551
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 4.7.1-9
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937

59
sources
View File

@ -4,30 +4,31 @@ SHA512 (requirements-aws.txt) = 3fccf8c386dd21dcb738f89020dd728e76dee347accfdf7b
SHA512 (requirements-azure.txt) = a176aeaba7f13ca126bc6b41de1237148480787e4fe56cd9969b843d7102b24cbef2c9f9bd5e4460c603da96ba588639a77dfb376f9ab4ff6f7c2a29013edc31
SHA512 (requirements-google.txt) = d916eb72588e55f5243b9e5391ab07d65eaafe583e073ef79d0e865f4c5e911d7b10310f7ccb98b5fdc1383c2214cc0cc082fa3c5fac6aa3d1931e4779149241
SHA512 (requirements-openstack.txt) = e4c6ee00ff7bedd0229aa9ba9380cb20891f5fdd35e39bcc9d6c8e21ce9e7fffe18e383a44ea711266d07f47e9ffa3123beeafb14d0c9b62ddb0456b86e57f22
SHA512 (aliyun-python-sdk-core-2.13.31.tar.gz) = bcfc91048af71daaf0e57ee87ede4ecde618f19de149fef1e62b097549fd9747cba1c34f4b7a1d42631c6c35a3fcef3445086128752e7df39dd8c8bf79136b0a
SHA512 (aliyun_python_sdk_ecs-4.23.10-py2.py3-none-any.whl) = 2f31a0d78b237c405f326ddbcd42df4edc321c8bd2fcfc3e04ae9a8f678e7d914d4a2545a8e0bc2fe00b5d6bf6f8156e2063fe76257a0c6bb05730c3c74243b7
SHA512 (requirements-pexpect.txt) = 90995acfe778d9fe42dd1146a1c4bcb9e9e8b4e48cad4809791e4650f7cd45e668aee6add470a1155104ebb24d48e4112a2ca1e5ee27057e99fc61470dfd3cc6
SHA512 (aliyun-python-sdk-core-2.13.35.tar.gz) = 0e73892f23541f74618796f3ee672348c1764feac8c5a4ce8abb1265fba0e53b59a7ac1087ccbf4800b016ae691abd493f3457c2bb4086d5678b2eb0652d11bc
SHA512 (aliyun_python_sdk_ecs-4.24.1-py2.py3-none-any.whl) = 4e0f757f2b45a97ea91e0a0f549ab86b001d4936cca9abf956684ed4744ff706e74f87448609f9553c6fc3b5b77a3d8ef60a0000b78b2d1b7bcafbf0d8350911
SHA512 (cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl) = 3c73e06bef8e9646beacc584d59ecf42de013034194d6eb59f1abf279e8fe5468e106fcd47802ce1d264d3c1d9122af3c66ea1229db78a768f7ea069ddc2fd72
SHA512 (cryptography-3.4.6-cp36-abi3-manylinux2014_x86_64.whl) = e6e3c627bb8594fa0574b3ce854a31c9938ee4b0531e00aaf6ae2b27094ea2e24faac9f9f93673d11548fb00ca87d055f4ddc7a807f9a1d04d94a333062737c5
SHA512 (cryptography-3.4.7-cp36-abi3-manylinux2014_x86_64.whl) = 6b4eaa52b17065e5723ac2d70f38f05c5a550aea5a50cd4ffac78ec61fa363ac9d1ef29d9c9ca876e69cf9ac681bf6e9941f2027fd6126e472d425d0b5cdf788
SHA512 (jmespath-0.10.0-py2.py3-none-any.whl) = c4ef69cbdac0e6ff8fe1b4a604ebd7abd16e6021cea4b8b6c69917433939a60632462cecf6164a00fd585cb2ca4ddbfb3f871286ab48dd4aa37a11d002612b65
SHA512 (pycparser-2.20-py2.py3-none-any.whl) = 06dc9cefdcde6b97c96d0452a77db42a629c48ee545edd7ab241763e50e3b3c56d21f9fcce4e206817aa1a597763d948a10ccc73572490d739c89eea7fede0a1
SHA512 (awscli-1.19.20-py2.py3-none-any.whl) = e234cd67d6f8cdbebea8eb9af56b766307e0f91d1135b730eeb3307753f772edd1cf0a86b608b02b3e1bb488c8cd6e6e5c9ae0be2483bb11a190503c6c07be1b
SHA512 (boto3-1.17.20-py2.py3-none-any.whl) = d99c5d39d4fa0285f855234928f8d53d83217cf8c8d7e50399bd72decb39b493caf5b3f4a6385223f469ae794c351d40e6e2ff44fecc9b37b06a4d98362064bf
SHA512 (botocore-1.20.20-py2.py3-none-any.whl) = 11c9c8da95da4e8274dd5fa336f817caf74de8786a22e4f986a4758f6f717f53a4e5d728718d8c08ee035e8ffdc4d00e6b28cd60ced5eb9a5dcfdc44a9d24916
SHA512 (awscli-1.19.74-py2.py3-none-any.whl) = 59b618ac0dfa09a838b80d090096e8f4083268c3f9085ec1ab057aaaf4369222bc2600ceade4d83307dd6cee0eddf70986349ca62f9cfd831b746183aabff6dd
SHA512 (boto3-1.17.74.tar.gz) = 11ae1fcb33c0f265ec4fbf54b5e3c97460321a2f93c9a27c5584368376bf222488de4ba5e0757516c18b685786330d757b854fcdb53e049b74e2941d2d717c93
SHA512 (botocore-1.20.74-py2.py3-none-any.whl) = a12a686f7fb589da198cc01580fe4e269dd93092b14c66507b30e3e27797724a53e4612fb6990ff36a251bfe62207eb87d6cbe8b8f66afe72be0e7f7733f0f7a
SHA512 (colorama-0.4.3-py2.py3-none-any.whl) = 7cb2e248fbda31049e23431a921c71d3ecca650011ba25290ce0bfabb616faa0f0185e49deda10a9a358d3b9355392864b51ef764a4020c33d0980af97a33024
SHA512 (docutils-0.15.2-py3-none-any.whl) = d9680d716663c8a64e7d8f7b4709974f780600d025d76d9b74363ed42d4935346f642a820a5c3ee9507b047956bc1304816835d750b65ca1dde8f6e3180e1f5b
SHA512 (pyasn1-0.4.8-py2.py3-none-any.whl) = ab0ccbe261323925ca46a4f4e0e674f730f8b93f6db87b6bf94e26f2e190c3e9afd2ea6ede0d99b100eda282e54c03d87c3357bf3bdfa399469d56a92e2aabbb
SHA512 (python_dateutil-2.8.1-py2.py3-none-any.whl) = ff083825ef3c8a3c6887ceae79a4249b938f529b72d0b931b1e30c81856ec7c8ee0adf0e29e2a41d3c76ab4e1faabc1c4161fe977d14589d346a658e343aa122
SHA512 (PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl) = cc897688dcc7886ab6bc581ded3b33dc73c9c53ed5299d16137529d5a2eae0d46f5b3c832eb2b0c987701fc0be13df9808dddc2b43926553530d2c1ff9aeac47
SHA512 (rsa-4.7.2-py3-none-any.whl) = 39d2295a067501d94808f109c846e5c4719b2f3e1129494ade51291627fb5d1728d7bafeac7db557e69b5e53a8c0a09cdda59d8b672164fbd61bf6b70da30d62
SHA512 (s3transfer-0.3.4-py2.py3-none-any.whl) = a6040e816789e9c57683cd4870c0c7942b036abb9565dd9140456a57818170f066fbb5f642a9a03828776e02de722aa7a891e9f1c502df482fcba9377b2c8cd0
SHA512 (six-1.15.0-py2.py3-none-any.whl) = 0416d59434623604de755601c919722c2b800042612a2a7b221ecd3ccf556aca3a78f0f926fd640032a3d74d153457628a89c25065dfcdbb96892d5bf7279904
SHA512 (urllib3-1.26.3-py2.py3-none-any.whl) = f099de13c42d19acf014ba6ba4bf099b8b3e66d5ce523d7516740093ebb69ff93f78aead1ee99310dab23747fee1fd9306c634af3f52bf64c0f830dd51b2d9e6
SHA512 (adal-1.2.6-py2.py3-none-any.whl) = f0559a475f854f04712cace23a168d43ec1baf0167a0c021160044d08d7d808c3455e68fbfd37ea7f04428d3b9c60a9e3e88da2ceedda09e533821f9a0c3a6e0
SHA512 (azure_common-1.1.26-py2.py3-none-any.whl) = 9e61a6db9d4e62c373345d17613d288bdfcbaacb65322b677a729cc2f7bd86b60b03d2733e2604b7ad1c989395c24e33f05ba16db9815781666f285ed32e9942
SHA512 (azure_core-1.11.0-py2.py3-none-any.whl) = 7f33124e0fddb0039e169a0617e6b55956c2f40febf7acc331d7625772d4651f69b16654f6239d598c4c46f7c05bdd88b31dff8a91b8bf471bfcb54128b82696
SHA512 (azure_mgmt_compute-19.0.0-py2.py3-none-any.whl) = c267f0c0cad607ff061d2f31a4e2fa486915bcccd7f16797621704429e030c0256b52e5f82ec9cc5b3c5e9c9a1489fe9875e0f4462e325e53bc246a6009c8685
SHA512 (s3transfer-0.4.2-py2.py3-none-any.whl) = f0616baf3dff4a829e791593ed90406828b0a429690d5939a1bf216776fd35674d314175e8261627f707545f53f36d927458767517cac1d18066f02ff7b56681
SHA512 (six-1.16.0-py2.py3-none-any.whl) = 656b010ed36d7486c07891c0247c7258faf0d1a68c5fb0a35db9c5b670eb712d5e470b023ffd568d7617e0ae77340820397014790d14fda4d13593fa2bd1c76f
SHA512 (urllib3-1.26.4-py2.py3-none-any.whl) = ca602ae6dd925648c8ff87ef00bcef2d0ebebf1090b44e8dd43b75403f07db50269e5078f709cbce8e7cfaedaf1b754d02dda08b6970b6a157cbf4c31ebc16a7
SHA512 (adal-1.2.7-py2.py3-none-any.whl) = 81e2b0b99fdb5b865ed8126a796e47f28032ed59d82da4ce1ca8743c4ea26afa58ad12bae25a22b0dc3baab80a369a08427fc688f1408e2fbc2b1a264819447b
SHA512 (azure_common-1.1.27-py2.py3-none-any.whl) = 4871d9155c46d79b9f8851814c6a4aff4191ebf747e2157e195de9aff3a3a6cd674b18f93c497f5fd59ee3ac7b3e1d72501fc27ccac8b49b985f7ace70b92061
SHA512 (azure_core-1.14.0-py2.py3-none-any.whl) = 742b6f9c7ccf642be15cd165e9e8408ff497255d86ac7b0028965a0744f867edc40f3e21fc6da2c87a1478b2313c95c1e757df210df50336ec710f8132b154b9
SHA512 (azure_mgmt_compute-20.0.0-py2.py3-none-any.whl) = b61358783ecf077c3c3abb230e7f44249615ba41d3a6e65a1ce88a1860b6896e87839b7ad29490bee99edb443a5d1b0c8d64808373e18f40575247c117e6c9da
SHA512 (azure_mgmt_core-1.2.2-py2.py3-none-any.whl) = ea0b4062314de37d048cf6d9e40757372e050291a8861719dda2f1446c2e9a932050d0c0f732a8afb182993b7f700b5d6053217801199a4257b6269f5c7e47e5
SHA512 (azure_mgmt_network-17.1.0-py2.py3-none-any.whl) = c7764faebe1bed870deb7ac13f0fd1d800d3037099561cfdb4a024843f5a2047a68ffab176fde52fbd4d003aa86a197b356afc7a2049d8d2c8e7911a1f524212
SHA512 (azure_mgmt_network-19.0.0-py2.py3-none-any.whl) = aa18ed97f167a1abf60c8fd7ae81b6777565c13f8ace06c81cdc70bf16c9fc2efad1984b8f159877ba3118312d2b81759df3b8e42b6f874cea5214943e8b054d
SHA512 (certifi-2020.12.5-py2.py3-none-any.whl) = a0f753977d0e9e6c7eb4670eefafaffbbf2f44f22799eaffb45ffa458003b8d27b400254935a778e1daff769009f41b8686658e876b142376db54a0a14b59010
SHA512 (chardet-4.0.0-py2.py3-none-any.whl) = cc8cdd5e73b4eace0131bbeaf6099e322ba5c2f827f26ad3316c674c60529d77f39f68d9fb83199ab78d16902021ab1ae58d74ab62d770cf95ceb804b9242e90
SHA512 (idna-2.10-py2.py3-none-any.whl) = 7b7be129e1a99288aa74a15971377cb17bee1618843c03c8f782e287d0f3ecf3b8f26e3ea736444eb358f1d6079131a7eb291446f3279874eb8e00b624d9471c
@ -35,24 +36,24 @@ SHA512 (isodate-0.6.0-py2.py3-none-any.whl) = 6d39a350ff4af87c74ae3226e6627f9c25
SHA512 (msrest-0.6.21-py2.py3-none-any.whl) = 331070553409fb006726d90667822951188712a2671fd00b5304e12341db0a5c529660b630b5ad2584214ee48ae32a0a2ffbfe43ede3d0639ee176bac0f4c15b
SHA512 (msrestazure-0.6.4-py2.py3-none-any.whl) = aa4329e3a6ba639d0061c1eb0712b9d474d49ca9d7c8d41f02e44089c9efa3bf37075d52942841c3431b3afead51b9bc73193b087f4fd6672131d8e3b6c9cb86
SHA512 (oauthlib-3.1.0-py2.py3-none-any.whl) = 6506ce8024c6c7c3f009378f994c1946d937e4f3d3d3b3480207782a04326f7d19d25e3174c030fe1c36fff3c6a61d86eceafbf86d262dc2374cf89181c01ca9
SHA512 (PyJWT-2.0.1-py3-none-any.whl) = 76b1766ea31768168deb95fab93c7adf086f8df6265ada4ca548bacad6ef10dfb4ca34e21573f181f2d356965b9813756acfd6439eec57313b89250eaa26225d
SHA512 (PyJWT-2.1.0-py3-none-any.whl) = d2f632379ecb3eb9c02d67f6da30d0c363f439936b5a6bc1172a0a33dc7e4784ee8b10c258d24ac40b5efbb252e7921c0842699f4b2d40eff99333557b531fcc
SHA512 (requests-2.25.1-py2.py3-none-any.whl) = cc0afada76d46295c685ac060d15a1ccb9af671522cb7b4fa0ad11988853715d1b7c31d42fa1e72a576cbd775db174da5bc03ab25c1e31c234c37740a63a6bcf
SHA512 (requests_oauthlib-1.3.0-py2.py3-none-any.whl) = 17d5e66d174e57ef1dae451a20bce215a3cc3d7ab1a5b922d4a66cb49b497c9a0799bd90b5a378648335daee7cf80f843f065d90410bfa791f989f76300a02d7
SHA512 (cachetools-4.2.1-py3-none-any.whl) = d86a81a934e01a3b490c8fd5d5c7330dfc5857a26fd3d6743213128d9df8c20ab82c22a171bd7527c0e552d3dbd09c4f33b98eb8c718a2f705b18182476aa4ec
SHA512 (cachetools-4.2.2-py3-none-any.whl) = 4e585eda01b37ca6a2e1e6aadc0ceb8a789811357806b3ab2a76180d89496b6608c8aaaa4a44dc11785850236493daff646b1f04759bc4dc78c7b76c977feb09
SHA512 (chardet-3.0.4-py2.py3-none-any.whl) = bfae58c8ea19c87cc9c9bf3d0b6146bfdb3630346bd954fe8e9f7da1f09da1fc0d6943ff04802798a665ea3b610ee2d65658ce84fe5a89f9e93625ea396a17f4
SHA512 (google_api_core-1.26.0-py2.py3-none-any.whl) = ee6cb98695ccac771f1aff7035a34d206b8f62d3322aa465ebf1b494466a661ce6fd42b74ec1501675c7e2ed18c0c76647e8637e198c98324aaccf078031a253
SHA512 (google_api_core-1.27.0-py2.py3-none-any.whl) = a0f69bbbc7ad64cff3e7859be19c44d615ec9662b041bfc6b2dbf84e69076eb558f6aec8df9a927880cae1153af73ffeff89bc29e20a042228e1379366a53da1
SHA512 (google_api_python_client-1.12.8-py2.py3-none-any.whl) = 59bb36abda556192f972943eb8a620779fb4315ff61b0492a6e8808b29cc433726a2550b20364cc560507061fde2971a2174dc1d3fe41f1b2d117a9f020e2ae8
SHA512 (googleapis_common_protos-1.53.0-py2.py3-none-any.whl) = 3ac0b7f9a2097723e24c60d6af893c98759ab000bec92470fe05a2f0bf451b88bd10ff5ea2cfed5af779904169d6f3ca0117f1d15261baeaf4f4b4d4de921e02
SHA512 (google_auth-1.27.0-py2.py3-none-any.whl) = e93cdd9a3573417e18bbc75aeaae8825a82edff9d75214890f83f85bcf45f4f7f55a46a634577b7b4959d27d3dc4f0eb6a7fb194b432d53270a623bb3eea96ef
SHA512 (google_auth_httplib2-0.0.4-py2.py3-none-any.whl) = b63090447df1f6f90abe28e1d14ea7cf6e0904121951203f7736f7506cd7373fc858df2ab20a995d19b5fb07253311c5097fc0a1f36d9129020722226303714f
SHA512 (httplib2-0.19.0-py3-none-any.whl) = 82286fdc91e7be835ef7fcbd2cf9a6a891248e97327e295692555e4a0b82b7c4c0b795e9c78021a9f0957c387746efe71f8ca5e9ae455c379ea224284d5347db
SHA512 (google_auth-1.30.0-py2.py3-none-any.whl) = 50630ed2baf506453d5adfd7b8b4b424419de96d9b5123d39b072bf1c5e05a2076ce1c1febabd2cdf58a34af0f07bd8f8675f9a95a83d0724626f68adfce359f
SHA512 (google_auth_httplib2-0.1.0-py2.py3-none-any.whl) = c4b8c2b7b83f241fd9504bafdcb886ed3ef6b35016cf7fee7f36b5871e381658ab6b18ff43407dc2b9d1e9fa60827c352dfbbde667dfe8de245c27bdfe705cc5
SHA512 (httplib2-0.19.1-py3-none-any.whl) = 83b9b36fe27e6ac5b931f0889bd63f6f9e952cfb87baa09ccb0f8eeed9cae1932b002109832d21f54c5c0a204bd4e3d218e86a8f8104c8df9e29b76d9e0cf3d1
SHA512 (packaging-20.9-py2.py3-none-any.whl) = 6a4f69737814acbf43a3d0644d8dbbe4446075c7dfd1ec4d36ad73af9d5f2a4a5bd5a8d8f19e31d4ef63a1617dd3e0554812803bdcaf81888925267a16969b0b
SHA512 (protobuf-3.15.4-cp39-cp39-manylinux1_x86_64.whl) = 4e31b4497cad10cf7023f3867e66559ddd7067926818455f62524bea5943049d75a5c16458f297ae9a94b8b5aab35a21def7fcf9275da1bf78183626d4bb475d
SHA512 (protobuf-3.17.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl) = fa1006fa2dd2b579727f1b12ae4696f20452edf814ca5cb477f9a18cca7924e2cb2989f85d4382af94b1f8174e55be909fd26cfae5499f58e04de92c163cd7d0
SHA512 (pyasn1_modules-0.2.8-py2.py3-none-any.whl) = 8248686f74d000f29c9a5a2dfd14883d44a276286caf7c34c100ea9660e5f644765452fb62c88c534093ea330d5e3d9389fa6398477231e2d1b6331b98861a62
SHA512 (pyparsing-2.4.7-py2.py3-none-any.whl) = acb6b4ff90254d73804621d302926deb69bc99ffde16d7aa16cba7d0af7a53c25b7197d422309d9e82a766704fd7ea4c8b078a48d2e7d8658a8b237266fe24f5
SHA512 (pyroute2-0.5.14.tar.gz) = 081152662fa12398876e0b4a886cc7f79a9e664c8c4c256b6079251c046808c538c0e0b7c1717e04067c8827be0705ade1c2320fb51434d5d50df21f579f3186
SHA512 (pyroute2-0.5.19.tar.gz) = bd60e2adf59b8438ff4f6abf2d41cf18eb60dcef3072577648488db45ffe89bd9c7207c4eccc38eb9256533ea2950e7f20b82ae4940b1207ba71d0f261e83f6d
SHA512 (pytz-2021.1-py2.py3-none-any.whl) = 7ef08f53204664d6426bcb77e6f74bad8263d0f96128254aa41a752eaa9a0d1c9dac64134f5fd40c36a7385cfb453ec95ae7f714ba88993de000c34c32835619
SHA512 (setuptools-54.0.0-py3-none-any.whl) = d04ab26d5bed4a07dc55628e68ef3a4bfdc37c53b31a29c30d4a95f066bb96c5d8c1477f515fb94d53c34d65ab7b2abdd982c9536028733966556f637d7809b3
SHA512 (setuptools-56.2.0-py3-none-any.whl) = 2cfb556b9281243887abcd2834263f30eccbf96631363e215e91a2630718e1878980ff1bf7ce17b8f34fef2b10270082b090b80326a179f303be81951de231cd
SHA512 (uritemplate-3.0.1-py2.py3-none-any.whl) = 0d4cfc2eb14b73f17ef9d82a08d9bc7fbc8a1efd1e51693e20c51c01812e7597ebe964904f79fd86e21d06bd690abfdf9bd2824e8f957dd8a9486e3b860d58d0
SHA512 (debtcollector-2.2.0-py3-none-any.whl) = bc1b5a9e5c906149327ff7bfb22951d32e51731dbe3da26dac2084d36646b2ccd2524ffe25648937837aa3fe41335a896e021b95e0bd775d6132c5ec1803d525
SHA512 (iso8601-0.1.14-py2.py3-none-any.whl) = d7c5dad686e74974a3d173ae6428a65310819d404358e77143a11fe1e93776073e3ba2019b2fe00b7fd08fa36d841d621894311dfc0125dba767e87d6cb72298
@ -62,11 +63,13 @@ SHA512 (netaddr-0.8.0-py2.py3-none-any.whl) = 19ffe6d5bf9a1c41e1ef86c0a0acbc2764
SHA512 (netifaces-0.10.9.tar.gz) = 8fc593de4d2cbda46a3e2430ede031360f1abfc64d47d00fbec09f3395fd83479bf29d97cb6834b1df06850c9ac2745c9344b6814f34be5975d4d5df98e05e87
SHA512 (oslo.i18n-5.0.1-py3-none-any.whl) = 6f58e88c9e3691016dec79588b4e68eb3ad651b74ff900eac26104cec4f6a87495e60ad57b6c8e9787caf1946cc9ed0d39c7e462ed5cf18639b1bd67b586a849
SHA512 (oslo.serialization-4.1.0-py3-none-any.whl) = 0a64ee20c26b890509d5170c75c50dbb12fa64dad1a4254551d455ceb5e8d5a773b31a5693a7cc2299dab7dd5eef9b7ceaa1af054af15016a6c849388db5ae42
SHA512 (oslo.utils-4.8.0-py3-none-any.whl) = 6bdd8a7c02db6d21170ef9eaa6d31643a3800a5b0700a6d8ffb2539589f342eaf4c85d203e777a7a24bb593d00c2191ed275c88febc22b2966a2b27aa8a83758
SHA512 (oslo.utils-4.9.0-py3-none-any.whl) = 49af76646cf1b3150d4cbd8fbcd932b4a1f7a54237879ba0784c19727287d128d34235715b419b11145517a111f888f55316eede31311bf79e86cf315d1c39eb
SHA512 (os_service_types-1.7.0-py2.py3-none-any.whl) = 8bb7bbd58336587b067e84e29757e1618684f6735f6a7fa26cde94cfdeab6b7f25b49ee895ac3cb2707a9fbcff2f91277edd056e428a4cd1def6599dce9660b7
SHA512 (pbr-5.5.1-py2.py3-none-any.whl) = cef84a7b092246a4e9f972895c8791b7a119b03f9a1b196ac8986edca9ee1b5a3ae99ee86e2ca914f15a53e76f405624e1ec5486b80a524f24689ca690b191dd
SHA512 (prettytable-0.7.2.tar.bz2) = f3a3fe6fa29f4ef090ff6cac06549ebd9db8b387e7b25fc64c4e37c8444586f50355c5573f38caabc72360aa68054aa189a67aa37f0bd13b872862ecd9151e71
SHA512 (python_novaclient-17.3.0-py3-none-any.whl) = 75906ea8cdf197c8d2bba9341286d370d29bbb8132ddb4ea06c3cc58c724ff615e1bb42a055fa181d50a0376f05586e19f209cfdca1d19d1666e4ad222e6e635
SHA512 (simplejson-3.17.2.tar.gz) = 003b2fbcb3f8e0849bdbd958c78f8b470081d97527bef82306db77940c6734a1cbf3b5dcb0984d2f9c9d14aa525e7865a08e70a10971f8841e138f7ad6476e4a
SHA512 (pbr-5.6.0-py2.py3-none-any.whl) = a4d32f6660ac76150a5d9db51d0c1be64a9df32d7b97c106e2e4de2d1dcc0cb83be991847b491bcd5b65c5a0e41f47406fa1e8a185bd1eb4fd09fe80867b005a
SHA512 (prettytable-2.1.0-py3-none-any.whl) = 141ac3b95a3bf038cb84bee94a9ac54ede5100884bd3afda55298f61f624cc349687e3b087a0afb6002e645416e4c21a6d0a41898167cb50314c416843ea2711
SHA512 (python_novaclient-17.4.0-py3-none-any.whl) = a7f0d48d41ee4b9c5f314012b96c5fa05470f9b69cd3fcce243a24247b1a4c80468c633b88f755f28d11f94d26ad946512859f0ab32c773988a2a9fdf1b6a2fa
SHA512 (stevedore-3.3.0-py3-none-any.whl) = a7512be9f0a9fa6abb4e0722b25348e0559b044c172388c1952cff9d1cc5816a580da8edbd5f74cdaf0a56fd637c2c27b5d8e3dd52465317282e06a7c9ac32b5
SHA512 (wcwidth-0.2.5-py2.py3-none-any.whl) = f83eb241322d171ff4014612184b155c43c71e54794a2a227c4adb43c697a669944bb6bb49e59aa192492822e3e3a44a944f57d428a9e25707f7deeb4ccf5cd9
SHA512 (wrapt-1.12.1.tar.gz) = efc38c0adc4fcaa34499a996ea4a337a000a812254ec7ddaca38f0132020dd31afa9fe6bab3e6010df312282ab0ea7bd571b54215d8d27e0b97b270c08cf5a62
SHA512 (pexpect-4.8.0-py2.py3-none-any.whl) = 79b3a33866f8fec11a5ccf079387b7de393cdee65167671db0ac42cf3d6c2e544c40ee344c1b5f7deb13d97057300c86f605df30fbfff9c6773944886c5158c0
SHA512 (ptyprocess-0.7.0-py2.py3-none-any.whl) = aa6c925add18a9603f130887e2a0ec645eb5bbf6b8020c78450a7cee934454dc46d1a435068368347f851d45550ea0fda8fb2ba0864c24c41e17a58bc7a9e84f

View File

@ -5,12 +5,12 @@ find -maxdepth 1 -not -name "fence-agents-*.tar.gz" -and \( -name "*.whl" -or -n
sed -i -n -E '/\(fence-agents-/p' sources
sha512sum --tag requirements-*.txt >> sources
for x in aliyun aws azure google openstack; do
echo "# $x" >> sources
pip download -r requirements-$x.txt | awk '/Saved/{gsub("./", "", $2); print $2}' | sort | xargs sha512sum --tag >> sources
for x in requirements-*.txt; do
echo "# $x" | sed -E "s/requirements-(.*).txt/\1/" >> sources
pip download -r $x | awk '/Saved/{gsub("./", "", $2); print $2}' | sort | xargs sha512sum --tag >> sources
done
awk 'NR<7{next} /^# /{print}; /^[^#]/{gsub("[()]", "", $2); printf "Source%d: %s\n", 1000+c++, $2}' sources
awk 'NR<8{next} /^# /{print}; /^[^#]/{gsub("[()]", "", $2); printf "Source%d: %s\n", 1000+c++, $2}' sources
sed -i '/^#/d' sources