Hello community,
here is the log from the commit of package python-cursive for openSUSE:Factory checked in at 2019-08-05 10:42:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-cursive (Old)
and /work/SRC/openSUSE:Factory/.python-cursive.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cursive"
Mon Aug 5 10:42:27 2019 rev:4 rq:720890 version:0.2.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-cursive/python-cursive.changes 2018-01-24 15:28:57.754688813 +0100
+++ /work/SRC/openSUSE:Factory/.python-cursive.new.4126/python-cursive.changes 2019-08-05 10:42:35.463290488 +0200
@@ -1,0 +2,12 @@
+Sun Aug 4 09:49:53 UTC 2019 - Dirk Mueller
+
+- update to 0.2.2:
+ * Make barbican-tempest-plugin gate voting
+ * Add .zuul.yaml
+ * Address verifier DeprecationWarning
+ * Use openstackdocstheme for docs and release notes
+ - removes 0001-Use-openstackdocstheme-for-docs-and-release-notes.patch
+ * Cleanup requirements.txt
+ - removes 0001-Cleanup-requirements.txt.patch
+
+-------------------------------------------------------------------
Old:
----
0001-Cleanup-requirements.txt.patch
0001-Use-openstackdocstheme-for-docs-and-release-notes.patch
cursive-0.2.1.tar.gz
New:
----
cursive-0.2.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-cursive.spec ++++++
--- /var/tmp/diff_new_pack.K4pUbl/_old 2019-08-05 10:42:37.219290287 +0200
+++ /var/tmp/diff_new_pack.K4pUbl/_new 2019-08-05 10:42:37.219290287 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-cursive
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,23 +12,19 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-cursive
-Version: 0.2.1
+Version: 0.2.2
Release: 0
Summary: Cursive implements OpenStack-specific validation of digital signatures
License: Apache-2.0
Group: Development/Languages/Python
Url: http://www.openstack.org/
Source: https://pypi.io/packages/source/c/cursive/cursive-%{version}.tar.gz
-# PATCH-FEATURE-UPSTREAM 0001-Cleanup-requirements.txt.patch -- https://review.openstack.org/#/c/534100/
-Patch0: 0001-Cleanup-requirements.txt.patch
-# PATCH-FEATURE-UPSTREAM 0001-Use-openstackdocstheme-for-docs-and-release-notes.patch -- https://review.openstack.org/#/c/534110/
-Patch1: 0001-Use-openstackdocstheme-for-docs-and-release-notes.patch
BuildRequires: %{python_module castellan >= 0.4.0}
BuildRequires: %{python_module cryptography >= 1.0}
BuildRequires: %{python_module devel}
@@ -54,7 +50,6 @@
Requires: python-oslo.serialization >= 1.10.0
Requires: python-oslo.utils >= 3.16.0
Requires: python-pbr >= 1.6
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%python_subpackages
@@ -68,8 +63,6 @@
%prep
%setup -q -n cursive-%{version}
-%patch0 -p1
-%patch1 -p1
%build
%python_build
@@ -83,8 +76,8 @@
}
%files %{python_files}
-%defattr(-,root,root,-)
-%doc ChangeLog LICENSE AUTHORS README.rst
+%license LICENSE
+%doc ChangeLog README.rst
%{python_sitelib}/*
%changelog
++++++ cursive-0.2.1.tar.gz -> cursive-0.2.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/.zuul.yaml new/cursive-0.2.2/.zuul.yaml
--- old/cursive-0.2.1/.zuul.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/cursive-0.2.2/.zuul.yaml 2018-05-01 18:09:35.000000000 +0200
@@ -0,0 +1,7 @@
+- project:
+ check:
+ jobs:
+ - barbican-simple-crypto-devstack-tempest-cursive
+ gate:
+ jobs:
+ - barbican-simple-crypto-devstack-tempest-cursive
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/AUTHORS new/cursive-0.2.2/AUTHORS
--- old/cursive-0.2.1/AUTHORS 2017-12-22 21:13:09.000000000 +0100
+++ new/cursive-0.2.2/AUTHORS 2018-05-01 18:12:21.000000000 +0200
@@ -4,5 +4,7 @@
Dane Fichter
Javier Pena
Peter Hamilton
+Thomas Bechtold
+Zuul
dane-fichter
gengchc2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/ChangeLog new/cursive-0.2.2/ChangeLog
--- old/cursive-0.2.1/ChangeLog 2017-12-22 21:13:09.000000000 +0100
+++ new/cursive-0.2.2/ChangeLog 2018-05-01 18:12:21.000000000 +0200
@@ -1,6 +1,15 @@
CHANGES
=======
+0.2.2
+-----
+
+* Make barbican-tempest-plugin gate voting
+* Add .zuul.yaml
+* Address verifier DeprecationWarning
+* Use openstackdocstheme for docs and release notes
+* Cleanup requirements.txt
+
0.2.1
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/PKG-INFO new/cursive-0.2.2/PKG-INFO
--- old/cursive-0.2.1/PKG-INFO 2017-12-22 21:13:10.000000000 +0100
+++ new/cursive-0.2.2/PKG-INFO 2018-05-01 18:12:23.000000000 +0200
@@ -1,12 +1,11 @@
Metadata-Version: 1.1
Name: cursive
-Version: 0.2.1
+Version: 0.2.2
Summary: Cursive implements OpenStack-specific validation of digital signatures.
Home-page: http://www.openstack.org/
Author: OpenStack
Author-email: openstack-dev@lists.openstack.org
License: UNKNOWN
-Description-Content-Type: UNKNOWN
Description: ===============================
cursive
===============================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/RELEASENOTES.rst new/cursive-0.2.2/RELEASENOTES.rst
--- old/cursive-0.2.1/RELEASENOTES.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/cursive-0.2.2/RELEASENOTES.rst 2018-05-01 18:12:23.000000000 +0200
@@ -0,0 +1,66 @@
+=======
+cursive
+=======
+
+.. _cursive_0.2.0:
+
+0.2.0
+=====
+
+.. _cursive_0.2.0_Prelude:
+
+Prelude
+-------
+
+.. releasenotes/notes/add-certificate-validation-68a1ffbd5369a8d1.yaml @ ad879a1fbccfa31fdedd69e3193e9bf12a15f943
+
+The cursive library supports the verification of digital signatures. However, there is no way currently to validate the certificate used to generate a given signature. Adding certificate validation improves the security of signature verification when each is used together.
+
+
+.. _cursive_0.2.0_New Features:
+
+New Features
+------------
+
+.. releasenotes/notes/add-certificate-validation-68a1ffbd5369a8d1.yaml @ ad879a1fbccfa31fdedd69e3193e9bf12a15f943
+
+- Adds a variety of certificate utility functions that inspect certificate attributes and extensions for different settings.
+
+.. releasenotes/notes/add-certificate-validation-68a1ffbd5369a8d1.yaml @ ad879a1fbccfa31fdedd69e3193e9bf12a15f943
+
+- Adds the CertificateVerificationContext class which uses a set of trusted certificates to conduct certificate validation, verifying that a given certificate is part of a certificate chain rooted with a trusted certificate.
+
+.. releasenotes/notes/add-certificate-validation-68a1ffbd5369a8d1.yaml @ ad879a1fbccfa31fdedd69e3193e9bf12a15f943
+
+- Adds a verify_certificate method that loads all certificates needed for certificate validation from the key manager and uses them to create a CertificateVerificationContext object. The context is then used to determine if a certificate is valid.
+
+
+.. _cursive_0.2.0_Upgrade Notes:
+
+Upgrade Notes
+-------------
+
+.. releasenotes/notes/add-certificate-validation-68a1ffbd5369a8d1.yaml @ ad879a1fbccfa31fdedd69e3193e9bf12a15f943
+
+- The addition of certificate validation as a separate operation from the signature verification process preserves backwards compatibility. Signatures previously verifiable with cursive will still be verifiable. However, their signing certificates may not be valid. Each signing certificate should be checked for validity before it is used to conduct signature verification.
+
+
+.. _cursive_0.2.0_Security Issues:
+
+Security Issues
+---------------
+
+.. releasenotes/notes/add-certificate-validation-68a1ffbd5369a8d1.yaml @ ad879a1fbccfa31fdedd69e3193e9bf12a15f943
+
+- The usage of certificate validation with the signature verification process improves the security of signature verification. A signature should not be considered valid unless its corresponding certificate is also valid.
+
+
+.. _cursive_0.2.0_Other Notes:
+
+Other Notes
+-----------
+
+.. releasenotes/notes/add-certificate-validation-68a1ffbd5369a8d1.yaml @ ad879a1fbccfa31fdedd69e3193e9bf12a15f943
+
+- The CertificateVerificationContext is built using a set of trusted certificates. However, to conduct certificate verification the context builds the full certificate chain, starting with the certificate to validate and ending with the self-signed root certificate. If this self-signed root certificate is not present in the context, or if one of the intermediate certificates is not present in the context, the certificate chain cannot be built and certificate validation will fail.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/cursive/signature_utils.py new/cursive-0.2.2/cursive/signature_utils.py
--- old/cursive-0.2.1/cursive/signature_utils.py 2017-12-22 21:09:39.000000000 +0100
+++ new/cursive-0.2.2/cursive/signature_utils.py 2018-05-01 18:09:35.000000000 +0200
@@ -30,6 +30,7 @@
from cursive import exception
from cursive.i18n import _, _LE
+from cursive import verifiers
LOG = logging.getLogger(__name__)
@@ -126,6 +127,10 @@
are invalid
:returns: the verifier to use to verify the signature for RSA-PSS
"""
+ # confirm none of the inputs are None
+ if not signature or not hash_method or not public_key:
+ return None
+
# default to MGF1
mgf = padding.MGF1(hash_method)
@@ -133,10 +138,14 @@
salt_length = padding.PSS.MAX_LENGTH
# return the verifier
- return public_key.verifier(
+ return verifiers.RSAVerifier(
signature,
- padding.PSS(mgf=mgf, salt_length=salt_length),
- hash_method
+ hash_method,
+ public_key,
+ padding.PSS(
+ mgf=mgf,
+ salt_length=salt_length
+ )
)
@@ -148,10 +157,15 @@
:param public_key: the public key to use, as a cryptography object
:returns: the verifier to use to verify the signature for ECC_*.
"""
+ # confirm none of the inputs are None
+ if not signature or not hash_method or not public_key:
+ return None
+
# return the verifier
- return public_key.verifier(
+ return verifiers.ECCVerifier(
signature,
- ec.ECDSA(hash_method)
+ hash_method,
+ public_key,
)
@@ -163,10 +177,15 @@
:param public_key: the public key to use, as a cryptography object
:returns: the verifier to use to verify the signature for DSA
"""
+ # confirm none of the inputs are None
+ if not signature or not hash_method or not public_key:
+ return None
+
# return the verifier
- return public_key.verifier(
+ return verifiers.DSAVerifier(
signature,
- hash_method
+ hash_method,
+ public_key,
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/cursive/tests/unit/test_signature_utils.py new/cursive-0.2.2/cursive/tests/unit/test_signature_utils.py
--- old/cursive-0.2.1/cursive/tests/unit/test_signature_utils.py 2017-12-22 21:09:39.000000000 +0100
+++ new/cursive-0.2.2/cursive/tests/unit/test_signature_utils.py 2018-05-01 18:09:35.000000000 +0200
@@ -106,12 +106,6 @@
return self.cert_not_valid_after
-class BadPublicKey(object):
-
- def verifier(self, signature, padding, hash_method):
- return None
-
-
class TestSignatureUtils(base.TestCase):
"""Test methods of signature_utils"""
@@ -248,7 +242,7 @@
@mock.patch('cursive.signature_utils.get_public_key')
def test_get_verifier_none(self, mock_get_pub_key):
- mock_get_pub_key.return_value = BadPublicKey()
+ mock_get_pub_key.return_value = None
img_sig_cert_uuid = 'fea14bc2-d75f-4ba5-bccc-b5c924ad0693'
self.assertRaisesRegex(exception.SignatureVerificationError,
'Error occurred while creating'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/cursive/verifiers.py new/cursive-0.2.2/cursive/verifiers.py
--- old/cursive-0.2.1/cursive/verifiers.py 1970-01-01 01:00:00.000000000 +0100
+++ new/cursive-0.2.2/cursive/verifiers.py 2018-05-01 18:09:35.000000000 +0200
@@ -0,0 +1,77 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""Wrap cryptography verify with verifier."""
+
+from cryptography.hazmat.backends import default_backend
+from cryptography.hazmat.primitives.asymmetric import ec
+from cryptography.hazmat.primitives.asymmetric import utils
+from cryptography.hazmat.primitives import hashes
+
+
+class RSAVerifier(object):
+ def __init__(self, signature, hash_method, public_key, padding):
+ self._signature = signature
+ self._hash_method = hash_method
+ self._public_key = public_key
+ self._padding = padding
+ self._hasher = hashes.Hash(hash_method, default_backend())
+
+ def update(self, data):
+ self._hasher.update(data)
+
+ def verify(self):
+ digest = self._hasher.finalize()
+ self._public_key.verify(
+ self._signature,
+ digest,
+ self._padding,
+ utils.Prehashed(self._hash_method)
+ )
+
+
+class ECCVerifier(object):
+ def __init__(self, signature, hash_method, public_key):
+ self._signature = signature
+ self._hash_method = hash_method
+ self._public_key = public_key
+ self._hasher = hashes.Hash(hash_method, default_backend())
+
+ def update(self, data):
+ self._hasher.update(data)
+
+ def verify(self):
+ digest = self._hasher.finalize()
+ self._public_key.verify(
+ self._signature,
+ digest,
+ ec.ECDSA(utils.Prehashed(self._hash_method))
+ )
+
+
+class DSAVerifier(object):
+ def __init__(self, signature, hash_method, public_key):
+ self._signature = signature
+ self._hash_method = hash_method
+ self._public_key = public_key
+ self._hasher = hashes.Hash(hash_method, default_backend())
+
+ def update(self, data):
+ self._hasher.update(data)
+
+ def verify(self):
+ digest = self._hasher.finalize()
+ self._public_key.verify(
+ self._signature,
+ digest,
+ utils.Prehashed(self._hash_method)
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/cursive.egg-info/PKG-INFO new/cursive-0.2.2/cursive.egg-info/PKG-INFO
--- old/cursive-0.2.1/cursive.egg-info/PKG-INFO 2017-12-22 21:13:09.000000000 +0100
+++ new/cursive-0.2.2/cursive.egg-info/PKG-INFO 2018-05-01 18:12:21.000000000 +0200
@@ -1,12 +1,11 @@
Metadata-Version: 1.1
Name: cursive
-Version: 0.2.1
+Version: 0.2.2
Summary: Cursive implements OpenStack-specific validation of digital signatures.
Home-page: http://www.openstack.org/
Author: OpenStack
Author-email: openstack-dev@lists.openstack.org
License: UNKNOWN
-Description-Content-Type: UNKNOWN
Description: ===============================
cursive
===============================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/cursive.egg-info/SOURCES.txt new/cursive-0.2.2/cursive.egg-info/SOURCES.txt
--- old/cursive-0.2.1/cursive.egg-info/SOURCES.txt 2017-12-22 21:13:10.000000000 +0100
+++ new/cursive-0.2.2/cursive.egg-info/SOURCES.txt 2018-05-01 18:12:23.000000000 +0200
@@ -1,4 +1,5 @@
.testr.conf
+.zuul.yaml
AUTHORS
CONTRIBUTING.rst
ChangeLog
@@ -17,6 +18,7 @@
cursive/exception.py
cursive/i18n.py
cursive/signature_utils.py
+cursive/verifiers.py
cursive.egg-info/PKG-INFO
cursive.egg-info/SOURCES.txt
cursive.egg-info/dependency_links.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/cursive.egg-info/pbr.json new/cursive-0.2.2/cursive.egg-info/pbr.json
--- old/cursive-0.2.1/cursive.egg-info/pbr.json 2017-12-22 21:13:09.000000000 +0100
+++ new/cursive-0.2.2/cursive.egg-info/pbr.json 2018-05-01 18:12:21.000000000 +0200
@@ -1 +1 @@
-{"git_version": "74aceb2", "is_release": true}
\ No newline at end of file
+{"git_version": "d7cea1f", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/cursive.egg-info/requires.txt new/cursive-0.2.2/cursive.egg-info/requires.txt
--- old/cursive-0.2.1/cursive.egg-info/requires.txt 2017-12-22 21:13:09.000000000 +0100
+++ new/cursive-0.2.2/cursive.egg-info/requires.txt 2018-05-01 18:12:21.000000000 +0200
@@ -1,8 +1,5 @@
pbr>=1.6
-lxml>=2.3
cryptography!=1.3.0,>=1.0
-netifaces>=0.10.4
-six>=1.9.0
oslo.serialization>=1.10.0
oslo.utils>=3.16.0
oslo.i18n>=2.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/doc/source/conf.py new/cursive-0.2.2/doc/source/conf.py
--- old/cursive-0.2.1/doc/source/conf.py 2017-12-22 21:09:39.000000000 +0100
+++ new/cursive-0.2.2/doc/source/conf.py 2018-05-01 18:09:35.000000000 +0200
@@ -23,7 +23,7 @@
extensions = [
'sphinx.ext.autodoc',
#'sphinx.ext.intersphinx',
- 'oslosphinx'
+ 'openstackdocstheme'
]
# autodoc generation is a bit aggressive and a nuisance when doing heavy
@@ -57,6 +57,7 @@
# html_theme_path = ["."]
# html_theme = '_theme'
# html_static_path = ['static']
+html_theme = 'openstackdocs'
# Output file base name for HTML help builder.
htmlhelp_basename = '%sdoc' % project
@@ -73,3 +74,8 @@
# Example configuration for intersphinx: refer to the Python standard library.
#intersphinx_mapping = {'http://docs.python.org/': None}
+
+# openstackdocstheme options
+repository_name = 'openstack/cursive'
+bug_project = 'cursive'
+bug_tag = 'docs'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/releasenotes/notes/reno.cache new/cursive-0.2.2/releasenotes/notes/reno.cache
--- old/cursive-0.2.1/releasenotes/notes/reno.cache 1970-01-01 01:00:00.000000000 +0100
+++ new/cursive-0.2.2/releasenotes/notes/reno.cache 2018-05-01 18:12:23.000000000 +0200
@@ -0,0 +1,36 @@
+---
+file-contents:
+ releasenotes/notes/add-certificate-validation-68a1ffbd5369a8d1.yaml:
+ features: [Adds a variety of certificate utility functions that inspect certificate
+ attributes and extensions for different settings., 'Adds the CertificateVerificationContext
+ class which uses a set of trusted certificates to conduct certificate validation,
+ verifying that a given certificate is part of a certificate chain rooted with
+ a trusted certificate.', Adds a verify_certificate method that loads all certificates
+ needed for certificate validation from the key manager and uses them to create
+ a CertificateVerificationContext object. The context is then used to determine
+ if a certificate is valid.]
+ other: ['The CertificateVerificationContext is built using a set of trusted certificates.
+ However, to conduct certificate verification the context builds the full certificate
+ chain, starting with the certificate to validate and ending with the self-signed
+ root certificate. If this self-signed root certificate is not present in the
+ context, or if one of the intermediate certificates is not present in the
+ context, the certificate chain cannot be built and certificate validation
+ will fail.']
+ prelude: 'The cursive library supports the verification of digital signatures.
+ However, there is no way currently to validate the certificate used to generate
+ a given signature. Adding certificate validation improves the security of signature
+ verification when each is used together.
+
+ '
+ security: [The usage of certificate validation with the signature verification
+ process improves the security of signature verification. A signature should
+ not be considered valid unless its corresponding certificate is also valid.]
+ upgrade: ['The addition of certificate validation as a separate operation from
+ the signature verification process preserves backwards compatibility. Signatures
+ previously verifiable with cursive will still be verifiable. However, their
+ signing certificates may not be valid. Each signing certificate should be
+ checked for validity before it is used to conduct signature verification.']
+notes:
+- files:
+ - [releasenotes/notes/add-certificate-validation-68a1ffbd5369a8d1.yaml, ad879a1fbccfa31fdedd69e3193e9bf12a15f943]
+ version: 0.2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/releasenotes/source/conf.py new/cursive-0.2.2/releasenotes/source/conf.py
--- old/cursive-0.2.1/releasenotes/source/conf.py 2017-12-22 21:09:39.000000000 +0100
+++ new/cursive-0.2.2/releasenotes/source/conf.py 2018-05-01 18:09:35.000000000 +0200
@@ -38,7 +38,7 @@
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
- 'oslosphinx',
+ 'openstackdocstheme',
'reno.sphinxext',
]
@@ -111,7 +111,7 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-html_theme = 'default'
+html_theme = 'openstackdocs'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
@@ -274,3 +274,8 @@
# -- Options for Internationalization output ------------------------------
locale_dirs = ['locale/']
+
+# openstackdocstheme options
+repository_name = 'openstack/cursive'
+bug_project = 'cursive'
+bug_tag = 'docs'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/requirements.txt new/cursive-0.2.2/requirements.txt
--- old/cursive-0.2.1/requirements.txt 2017-12-22 21:09:39.000000000 +0100
+++ new/cursive-0.2.2/requirements.txt 2018-05-01 18:09:35.000000000 +0200
@@ -3,10 +3,7 @@
# process, which may cause wedges in the gate later.
pbr>=1.6 # Apache-2.0
-lxml>=2.3 # BSD
cryptography!=1.3.0,>=1.0 # BSD/Apache-2.0
-netifaces>=0.10.4 # MIT
-six>=1.9.0 # MIT
oslo.serialization>=1.10.0 # Apache-2.0
oslo.utils>=3.16.0 # Apache-2.0
oslo.i18n>=2.1.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cursive-0.2.1/test-requirements.txt new/cursive-0.2.2/test-requirements.txt
--- old/cursive-0.2.1/test-requirements.txt 2017-12-22 21:09:54.000000000 +0100
+++ new/cursive-0.2.2/test-requirements.txt 2018-05-01 18:09:35.000000000 +0200
@@ -7,8 +7,8 @@
coverage>=3.6 # Apache-2.0
python-subunit>=0.0.18 # Apache-2.0/BSD
mock>=2.0.0 # BSD
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+sphinx>=1.6.2,!=1.6.6 # BSD
+openstackdocstheme>=1.17.0 # Apache-2.0
oslotest>=1.10.0 # Apache-2.0
testrepository>=0.0.18 # Apache-2.0/BSD
testscenarios>=0.4 # Apache-2.0/BSD