From 2a0f9c609afc8865295bce9e84f06f6363c0dbf6 Mon Sep 17 00:00:00 2001 From: Pete Vander Giessen Date: Wed, 18 Mar 2020 11:37:06 +0000 Subject: [PATCH] Fix pyScss incompatibility w/ latest setuptools pyScss, which is a build dependency for horizon, currently relies on the depcrecated Feature class of setuptools. The latest update to setuptools removed the class entirely, breaking pyScss. For now, we point to a fork of pyScss 1.3.4, which removes the reference to the Feature class. In the near future, the upstream OpenStack project will probably release a better fix; this gets us unblocked for now. We point to our custom pyScss by downloading and patching the stein upper-constraints in our patch app. This is nicer than keeping a local version of the file in our repo, as we'll automatically get updates, and our patch will become a no-op when it is no longer needed. Change-Id: I664ce6402f69d24fa9730c99315cbf65859b0aa3 Closes-bug: 1867360 --- patches/upper-constraints.txt | 573 ---------------------------------- snapcraft.yaml | 14 +- 2 files changed, 12 insertions(+), 575 deletions(-) delete mode 100644 patches/upper-constraints.txt diff --git a/patches/upper-constraints.txt b/patches/upper-constraints.txt deleted file mode 100644 index c3e330d..0000000 --- a/patches/upper-constraints.txt +++ /dev/null @@ -1,573 +0,0 @@ -ntlm-auth===1.2.0 -voluptuous===0.11.5 -chardet===3.0.4 -rsa===4.0 -restructuredtext-lint===1.2.2 -netmiko===2.3.0 -instack-undercloud===9.4.0 -PasteDeploy===2.0.1 -typing===3.6.6 -python-saharaclient===2.2.1 -python-hnvclient===0.1.0 -Routes===2.4.1 -rtslib-fb===2.1.66 -XStatic-Angular-Bootstrap===2.2.0.0 -paunch===4.5.2 -WebOb===1.8.5 -sphinxcontrib-actdiag===0.8.5 -docopt===0.6.2 -pecan===1.3.2 -ryu===4.30 -os-api-ref===1.6.0 -python-ldap===3.1.0 -oslo.concurrency===3.29.1 -websocket-client===0.55.0 -osprofiler===2.6.1 -os-resource-classes===0.3.0 -python-ironic-inspector-client===3.5.0 -lxml===4.3.2 -python-kingbirdclient===0.2.1 -setproctitle===1.1.10 -pytest===4.3.0 -python-etcd===0.4.5 -raven===6.10.0 -cursive===0.2.2 -oslo.service===1.38.1 -django-appconf===1.0.3 -pykerberos===1.2.1 -certifi===2018.11.29 -sphinxcontrib-nwdiag===0.9.5 -requests-aws===0.1.8 -alabaster===0.7.12 -pbr===5.1.3 -munch===2.3.2 -attrs===19.1.0 -microversion-parse===0.2.1 -Pint===0.9 -oslo.i18n===3.23.1 -jsonpath-rw-ext===1.2.0 -python-mistralclient===3.8.1 -oslo.context===2.22.1 -python-senlinclient===1.10.1 -rcssmin===1.0.6 -pycadf===2.9.0 -grpcio===1.15.0 -skydive-client===0.5.0 -pysendfile===2.0.1 -fixtures===3.0.0 -neutron-lib===1.25.1 -XStatic-FileSaver===1.3.2.0 -pystache===0.5.4 -XStatic-Font-Awesome===4.7.0.0 -nose===1.3.7 -nosehtmloutput===0.0.5 -waitress===1.2.1 -os-refresh-config===10.2.2 -pysnmp===4.4.9 -sphinxcontrib-websupport===1.1.0 -Mako===1.0.7 -XStatic-angular-ui-router===0.3.1.2 -pyScss===1.3.4 -XStatic-jQuery===1.12.4.1 -jsonmodels===2.4 -ddt===1.2.1 -pyserial===3.4 -ipaddress===1.0.22;python_version=='2.7' -python-freezerclient===2.1.0 -os-xenapi===0.3.4 -python-vitrageclient===2.7.0 -nosexcover===1.0.11 -krest===1.3.1 -psycopg2===2.7.7 -networkx===2.2 -bashate===0.6.0 -XStatic-Angular===1.5.8.0 -pyngus===2.3.0 -Pillow===5.4.1 -zuul-sphinx===0.3.0 -python-mimeparse===1.6.0 -tripleo-common===10.8.2 -Tempita===0.5.2 -ply===3.11 -requests-toolbelt===0.9.1 -simplejson===3.16.0 -suds-jurko===0.6 -python-swiftclient===3.7.1 -pyOpenSSL===19.0.0 -monasca-common===2.13.0 -scipy===1.2.1 -mypy-extensions===0.4.1;python_version=='3.4' -mypy-extensions===0.4.1;python_version=='3.5' -mypy-extensions===0.4.1;python_version=='3.6' -rsd-lib===0.4.0 -XStatic-Jasmine===2.4.1.2 -python-glanceclient===2.16.0 -pyinotify===0.9.6 -debtcollector===1.21.0 -requests-unixsocket===0.1.5 -asn1crypto===0.24.0 -croniter===0.3.29 -octavia-lib===1.1.1 -python-watcherclient===2.2.0 -MarkupSafe===1.1.1 -pypowervm===1.1.20 -doc8===0.8.0 -pymongo===3.7.2 -soupsieve===1.8 -sqlparse===0.2.4 -oslotest===3.7.1 -jsonpointer===2.0 -defusedxml===0.5.0 -relativetimebuilder===0.2.0 -netaddr===0.7.19 -pyghmi===1.2.16 -sphinxcontrib-blockdiag===1.5.5 -thrift===0.11.0 -gnocchiclient===7.0.5 -wcwidth===0.1.7 -sphinxcontrib.datatemplates===0.1.0 -jsonpath-rw===1.4.0 -prettytable===0.7.2 -vine===1.2.0 -taskflow===3.5.0 -traceback2===1.4.0 -semantic-version===2.6.0 -virtualbmc===1.4.0 -deprecation===2.0.6 -SQLAlchemy===1.2.18 -pyroute2===0.5.4 -google-auth===1.6.3 -kazoo===2.6.1 -XStatic-roboto-fontface===0.5.0.0 -pyudev===0.21.0 -eventlet===0.24.1 -openstack-doc-tools===1.8.0 -frozendict===1.2 -oslo.messaging===9.5.1 -jira===2.0.0 -extras===1.0.0 -PyJWT===1.7.1 -zVMCloudConnector===1.4.0 -paramiko===2.4.2 -reno===2.11.2 -unicodecsv===0.14.1;python_version=='2.7' -imagesize===1.1.0 -pydot===1.4.1 -pathlib===1.0.1;python_version=='2.7' -urllib3===1.24.1 -graphviz===0.10.1 -PyKMIP===0.8.0 -whereto===0.4.0 -python-subunit===1.3.0 -tornado===4.5.3;python_version=='3.4' -tornado===4.5.3;python_version=='3.5' -tornado===4.5.3;python_version=='3.6' -tornado===4.5.3;python_version=='2.7' -pycparser===2.19 -mock===2.0.0 -PyYAML===3.13 -beautifulsoup4===4.7.1 -os-net-config===10.4.2 -ovs===2.10.0 -cryptography===2.6.1 -adal===1.2.1 -backports.ssl-match-hostname===3.7.0.1;python_version=='2.7' -openstack-release-test===1.4.2 -pylxd===2.2.9 -ruamel.ordereddict===0.4.13;python_version=='2.7' -pycryptodomex===3.7.3 -anyjson===0.3.3 -requests-mock===1.5.2 -os-apply-config===10.3.0 -prometheus-client===0.6.0 -oslosphinx===4.18.0 -mox3===0.27.0 -gunicorn===19.9.0 -textfsm===0.4.1 -unittest2===1.1.0 -django-compressor===2.2 -libvirt-python===5.1.0 -python-zunclient===3.3.0 -asyncio===3.4.3;python_version=='3.4' -asyncio===3.4.3;python_version=='3.5' -asyncio===3.4.3;python_version=='3.6' -tzlocal===1.5.1 -python-novaclient===13.0.2 -bcrypt===3.1.6 -fixtures-git===0.1.0 -os-client-config===1.32.0 -XStatic-Angular-Gettext===2.3.8.0 -XStatic-Hogan===2.0.0.2 -XStatic-objectpath===1.2.1.0 -python-manilaclient===1.27.0 -requests===2.21.0 -snowballstemmer===1.2.1 -Jinja2===2.10 -XStatic-Bootstrap-SCSS===3.3.7.1 -pyzabbix===0.7.5 -ptyprocess===0.6.0 -threadloop===1.0.2 -amqp===2.4.2 -ruamel.yaml===0.15.89 -websockify===0.8.0 -XStatic-JQuery.quicksearch===2.0.3.1 -mpmath===1.1.0 -django-debreach===1.5.2 -sphinx-feature-classification===0.3.2 -XStatic-JQuery-Migrate===1.2.1.1 -appdirs===1.4.3 -tinyrpc===0.9.4 -google-auth-httplib2===0.0.3 -Flask-SQLAlchemy===2.3.2 -daiquiri===1.5.0 -influxdb===5.1.0 -funcparserlib===0.3.6 -passlib===1.7.1 -dib-utils===0.0.11 -cliff===2.14.1 -os-brick===2.8.3 -ansible-runner===1.2.0 -trollius===2.2;python_version=='2.7' -scp===0.13.0 -python-zaqarclient===1.11.0 -funcsigs===1.0.2;python_version=='2.7' -zhmcclient===0.22.0 -lockfile===0.12.2 -dnspython3===1.15.0;python_version=='3.4' -dnspython3===1.15.0;python_version=='3.5' -dnspython3===1.15.0;python_version=='3.6' -ldappool===2.4.1 -termcolor===1.1.0 -hiredis===1.0.0 -google-api-python-client===1.7.8 -castellan===1.2.2 -oslo.versionedobjects===1.35.1 -webcolors===1.8.1 -aodhclient===1.2.0 -autobahn===19.2.1 -SQLAlchemy-Utils===0.33.11 -pluggy===0.9.0 -coverage===4.5.2 -freezegun===0.3.11 -python-pytun===2.3.0 -pyperclip===1.7.0 -cassandra-driver===3.17.0 -mox===0.5.3 -XStatic-Angular-Schema-Form===0.8.13.0 -gabbi===1.45.0 -nwdiag===1.0.4 -XStatic-bootswatch===3.3.7.0 -XStatic-JS-Yaml===3.8.1.0 -XStatic-term.js===0.0.7.0 -oslo.log===3.42.3 -nodeenv===1.3.3 -pylev===1.3.0 -python-searchlightclient===1.5.1 -oslo.middleware===3.37.1 -XStatic-mdi===1.6.50.2 -django-pyscss===2.0.2 -uritemplate===3.0.0 -django-babel===0.6.2 -docutils===0.14 -notifier===1.0.3 -os-ken===0.3.1 -pycrypto===2.6.1 -ujson===1.35 -selenium===3.141.0 -python-glareclient===0.5.3 -mypy===0.670;python_version=='3.4' -mypy===0.670;python_version=='3.5' -mypy===0.670;python_version=='3.6' -mistral-lib===1.1.1 -Click===7.0 -dogtag-pki===10.3.5.1 -XStatic-Angular-UUID===0.0.4.0 -sphinxcontrib-seqdiag===0.8.5 -os-win===4.2.1 -dictdiffer===0.7.2 -retrying===1.3.3 -shade===1.31.0 -pathlib2===2.3.3 -pydotplus===2.0.2 -flask-oslolog===0.1 -jeepney===0.4;python_version=='3.4' -jeepney===0.4;python_version=='3.5' -jeepney===0.4;python_version=='3.6' -stestr===2.2.0 -singledispatch===3.4.0.3;python_version=='2.7' -oslo.serialization===2.28.2 -warlock===1.3.0 -exabgp===4.0.10 -sphinxcontrib-httpdomain===1.7.0 -metalsmith===0.11.1 -thriftpy===0.3.9;python_version=='2.7' -text-unidecode===1.2 -murano-pkg-check===0.3.0 -oslo.vmware===2.32.2 -sqlalchemy-migrate===0.12.0 -python-monascaclient===1.15.0 -ldap3===2.5.2 -requests-ntlm===1.1.0 -python-string-utils===0.6.0 -automaton===1.16.0 -os-service-types===1.6.0 -keyring===18.0.0 -testscenarios===0.5.0 -sphinxcontrib-pecanwsme===0.9.0 -sadisplay===0.4.9 -enum34===1.1.6 -packaging===19.0 -flask-keystone===0.2 -nose-exclude===0.5.0 -psutil===5.6.0 -py===1.8.0 -txaio===18.8.1 -python-qinlingclient===2.1.0 -elasticsearch===2.4.1 -django-nose===1.4.6 -XStatic-JQuery.TableSorter===2.14.5.1 -pifpaf===2.2.2 -pysmi===0.3.3 -blockdiag===1.5.4 -testtools===2.3.0 -Parsley===1.3 -XStatic-tv4===1.2.7.0 -XStatic-JSEncrypt===2.3.1.1 -python-cinderclient===4.2.1 -keystonemiddleware===6.0.0 -django-formtools===2.1 -python-ceilometerclient===2.9.0 -XStatic-Spin===1.2.5.2 -openshift===0.8.6 -tap-as-a-service===3.0.0 -os-traits===0.11.0 -SecretStorage===2.3.1;python_version=='2.7' -SecretStorage===3.1.1;python_version=='3.4' -SecretStorage===3.1.1;python_version=='3.5' -SecretStorage===3.1.1;python_version=='3.6' -opentracing===1.3.0 -XStatic-Rickshaw===1.5.0.0 -iso8601===0.1.12 -tooz===1.64.2 -linecache2===1.0.0 -oauth2client===4.1.3 -idna===2.8 -python-karborclient===1.2.0 -weakrefmethod===1.0.3;python_version=='2.7' -PuLP===1.6.9 -crc16===0.1.1 -protobuf===3.7.0 -os-dpm===1.1.0 -sushy===1.8.2 -python-neutronclient===6.12.1 -pika===0.13.0 -oslo.cache===1.33.3 -WebTest===2.0.33 -openstack.nose-plugin===0.11 -os-collect-config===10.3.1 -python-qpid-proton===0.27.0 -python-octaviaclient===1.8.1 -pysaml2===4.6.5 -requests-oauthlib===1.2.0 -oslo.reports===1.29.2 -ceilometermiddleware===1.4.0 -python-nss===1.0.1 -testrepository===0.0.20 -sympy===1.3 -sphinxmark===0.1.19 -PyNaCl===1.3.0 -osc-lib===1.12.1 -python-consul===1.1.0 -Faker===1.0.2 -more-itertools===5.0.0;python_version=='2.7' -more-itertools===6.0.0;python_version=='3.4' -more-itertools===6.0.0;python_version=='3.5' -more-itertools===6.0.0;python_version=='3.6' -seqdiag===0.9.6 -numpy===1.16.2 -msgpack===0.6.1 -Sphinx===1.8.4 -oslo.config===6.8.2 -tempest===20.0.0 -django-floppyforms===1.7.0 -openstackdocstheme===1.29.2 -osc-placement===1.5.0 -zake===0.2.2 -python-rsdclient===0.1.3 -python-magic===0.4.15 -python-solumclient===2.8.0 -PyMySQL===0.9.3 -kubernetes===8.0.1 -httplib2===0.12.1 -bottle===0.12.16 -betamax===0.8.1 -construct===2.8.22 -pyparsing===2.3.1 -dogpile.cache===0.7.1 -python-barbicanclient===4.8.1 -salt===2019.2.0 -tricircleclient===0.5.0 -WSME===0.9.3 -proboscis===1.2.6.0 -fortiosclient===0.0.3 -oslo.upgradecheck===0.2.1 -stevedore===1.30.1 -botocore===1.12.108 -xmltodict===0.12.0 -pyasn1===0.4.5 -oslo.rootwrap===5.15.3 -Django===1.11.20;python_version=='2.7' -Django===2.0.13;python_version=='3.4' -Django===2.0.13;python_version=='3.5' -Django===2.0.13;python_version=='3.6' -pexpect===4.6.0 -cmd2===0.8.9 -redis===3.2.0 -jmespath===0.9.4 -atomicwrites===1.3.0 -docker-pycreds===0.4.0 -XStatic-smart-table===1.4.13.2 -kuryr-lib===0.9.0 -scrypt===0.8.13 -jsonpatch===1.23 -python-daemon===2.2.3 -typed-ast===1.3.1;python_version=='3.4' -typed-ast===1.3.1;python_version=='3.5' -typed-ast===1.3.1;python_version=='3.6' -os-testr===1.0.0 -cotyledon===1.7.3 -stomp.py===4.1.21 -xattr===0.9.6 -systemd-python===234 -python-memcached===1.59 -openstacksdk===0.27.0 -six===1.12.0 -dulwich===0.19.11 -kombu===4.4.0 -distro===1.4.0 -betamax-matchers===0.4.0 -yaql===1.1.3 -requestsexceptions===1.4.0 -testresources===2.0.1 -falcon===1.4.1 -subprocess32===3.5.3;python_version=='2.7' -etcd3gw===0.2.4 -Flask-RESTful===0.3.7 -GitPython===2.1.11 -python-ironicclient===2.7.3 -XStatic===1.0.2 -XStatic-Angular-FileUpload===12.0.4.0 -python-openstackclient===3.18.1 -pyzmq===18.0.1 -oslo.db===4.45.0 -simplegeneric===0.8.1 -python-pcre===0.7 -yappi===1.0 -abclient===0.2.3 -pymemcache===2.1.1 -wrapt===1.11.1 -oslo.privsep===1.32.2 -sphinxcontrib-apidoc===0.3.0 -oslo.policy===2.1.2 -python-muranoclient===1.2.0 -hvac===0.7.2 -pyeclib===1.5.0 -wsgi-intercept===1.8.0 -ndg-httpsclient===0.5.1;python_version=='2.7' -repoze.lru===0.7 -rfc3986===1.2.0 -tenacity===5.0.3 -python-designateclient===2.11.0 -future===0.17.1 -Paste===3.0.7 -jaeger-client===3.13.0 -XStatic-Json2yaml===0.1.1.0 -boto===2.49.0 -functools32===3.2.3.post2;python_version=='2.7' -os-vif===1.15.2 -python-masakariclient===5.4.0 -Werkzeug===0.14.1 -backports.functools-lru-cache===1.5;python_version=='2.7' -pyasn1-modules===0.2.4 -entrypoints===0.3 -APScheduler===3.5.3 -monotonic===1.5 -python-smaugclient===0.0.8 -python-troveclient===2.17.1 -etcd3===0.8.1 -XStatic-Bootstrap-Datepicker===1.3.1.0 -CouchDB===1.2 -netifaces===0.10.9 -cachetools===3.1.0 -ws4py===0.5.1 -backports-abc===0.5;python_version=='2.7' -keystoneauth1===3.13.1 -statsd===3.3.0 -XenAPI===1.2 -python-keystoneclient===3.19.0 -ceilometer===12.0.0 -demjson===2.2.4 -diskimage-builder===2.30.0 -heat-translator===1.3.1 -python-magnumclient===2.12.0 -docker===3.7.0 -qpid-python===1.36.0.post1;python_version=='2.7' -contextlib2===0.5.5;python_version=='2.7' -XStatic-Angular-lrdragndrop===1.0.2.4 -python-congressclient===1.12.0 -ovsdbapp===0.15.0 -aniso8601===5.1.0 -rjsmin===1.0.12 -icalendar===4.0.3 -configparser===3.7.3;python_version=='2.7' -decorator===4.3.2 -cffi===1.12.2 -futurist===1.8.1 -jsonschema===2.6.0 -python-blazarclient===2.1.0 -alembic===1.0.8 -glance-store===0.28.0 -sphinxcontrib-programoutput===0.13 -sphinx-testing===1.0.0 -dnspython===1.15.0;python_version=='3.4' -dnspython===1.15.0;python_version=='3.5' -dnspython===1.15.0;python_version=='3.6' -dnspython===1.16.0;python_version=='2.7' -oauthlib===3.0.1 -Babel===2.6.0 -logutils===0.3.5 -scandir===1.9.0;python_version=='2.7' -sphinxcontrib-fulltoc===1.2.0 -smmap2===2.0.5 -greenlet===0.4.15 -XStatic-Angular-Vis===4.16.0.0 -confluent-kafka===0.11.6 -xvfbwrapper===0.2.9 -futures===3.2.0;python_version=='2.7' -tosca-parser===1.4.0 -Flask===1.0.2 -happybase===1.1.0;python_version=='2.7' -marathon===0.11.0 -fasteners===0.14.1 -sortedcontainers===2.1.0 -python-tackerclient===0.15.0 -python-heatclient===1.17.0 -kafka-python===1.4.4 -oslo.utils===3.40.5 -python-editor===1.0.4 -gitdb2===2.0.5 -requests-kerberos===0.12.0 -itsdangerous===1.1.0 -XStatic-jquery-ui===1.12.1.1 -monasca-statsd===1.11.0 -python-dateutil===2.8.0 -virtualenv===16.4.3 -colorama===0.4.1 -ironic-lib===2.16.4 -pytz===2018.9 -XStatic-D3===3.5.17.0 -actdiag===0.5.4 -sysv-ipc===1.0.0 -scikit-learn===0.20.3 -horizon===15.2.0 -uwsgi===2.0.17.1 diff --git a/snapcraft.yaml b/snapcraft.yaml index f160120..8a144ce 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -419,7 +419,7 @@ parts: - libvirt - patches constraints: - - https://raw.githubusercontent.com/openstack/requirements/stable/stein/upper-constraints.txt + - ${SNAPCRAFT_STAGE}/patches/upper-constraints.txt source: http://tarballs.openstack.org/keystone/keystone-stable-stein.tar.gz python-packages: - libvirt-python @@ -561,6 +561,16 @@ parts: - uca-sources source: patches/ plugin: dump + override-build: | + # Create ${SNAPCRAFT_STAGE}/patches/upper-constraints + + # Fetch upstream file + curl https://raw.githubusercontent.com/openstack/requirements/stable/stein/upper-constraints.txt --output ./upper-constraints.txt + + # Fix https://bugs.launchpad.net/microstack/+bug/1867360 + sed -e 's/pyScss===1.3.4/git+https:\/\/github.com\/petevg\/pyScss.git#egg=pyScss/' -i ./upper-constraints.txt + + snapcraftctl build organize: '*' : patches/ prime: @@ -928,7 +938,7 @@ parts: requirements: - requirements.txt constraints: - - https://raw.githubusercontent.com/openstack/requirements/stable/stein/upper-constraints.txt + - ${SNAPCRAFT_STAGE}/patches/upper-constraints.txt source: tools/cluster override-build: | # Hack to avoid conflict between openstack-projects'