Your message dated Sun, 01 Jan 2023 15:22:32 +0000
with message-id <[email protected]>
and subject line Bug#1026702: fixed in python-cursive 0.2.3-1
has caused the Debian Bug report #1026702,
regarding python-cursive: FTBFS: AttributeError: '_RSAPrivateKey' object has no 
attribute 'signer'
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1026702: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1026702
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: python-cursive
Version: 0.2.2-4
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: [email protected]
Usertags: ftbfs-20221220 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> make[1]: pyversions: No such file or directory
> py3versions: no X-Python3-Version in control file, using supported versions
> pkgos-dh_auto_test --no-py2
> + PKGOS_TEST_PARALLEL=yes
> + PKGOS_TEST_SERIAL=no
> + PYTHONS=disabled
> + PYTHON3S=disabled
> + TEST_PARALLEL_OPT=--parallel
> + TEST_SERIAL_OPT=
> + echo WARNING: --no-py2 is deprecated, and always on.
> WARNING: --no-py2 is deprecated, and always on.
> + shift
> + py3versions -vr
> + PYTHON3S=3.11 3.10
> + [ yes = no ]
> + [ no = yes ]
> + [ 3.11 = disabled ]
> + echo 3.11
> + cut -d. -f1
> + PYMAJOR=3
> + echo ===> Testing with python (python3)
> ===> Testing with python (python3)
> + pwd
> + [ -d /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages ]
> + [ -e .stestr.conf ]
> + [ -e .testr.conf ]
> + [ -x /usr/bin/testr-python3 ]
> + TESTR=testr
> + rm -rf .testrepository
> + testr init
> + mktemp -t
> + TEMP_REZ=/tmp/tmp.tKfA4z7qJR
> + PYTHON=python3.11 testr run --parallel --subunit
> + tee /tmp/tmp.tKfA4z7qJR
> + subunit2pyunit
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_cannot_sign_certificates_with_invalid_basic_constraints
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_cannot_sign_certificates_with_invalid_basic_constraints
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_update_with_date_invalid_certificate
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_update_with_date_invalid_certificate
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_issuer
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_issuer 
> ... FAIL
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_certificate
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_certificate
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_public_key_invalid_key
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_public_key_invalid_key
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_signature_key_type_lookup
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_signature_key_type_lookup
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_cannot_sign_certificates_with_invalid_key_usage
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_cannot_sign_certificates_with_invalid_key_usage
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_update_with_invalid_certificate
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_update_with_invalid_certificate
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_issuer_with_invalid_certs
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_issuer_with_invalid_certs
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_certificate_id_not_exist
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_certificate_id_not_exist
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_public_key_rsa
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_public_key_rsa
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_signature_key_type_lookup_fail
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_signature_key_type_lookup_fail
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_init_with_invalid_certificate
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_init_with_invalid_certificate
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_verify_invalid_chain_length
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_verify_invalid_chain_length
>  ... FAIL
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_verify_signing_certificate
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_verify_signing_certificate
>  ... FAIL
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_hash_method_fail
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_hash_method_fail
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_verifier_none
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_verifier_none
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_bad_sig_key_type
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_bad_sig_key_type
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_cannot_sign_certificates_without_key_usage
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_cannot_sign_certificates_without_key_usage
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_verify
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_verify
>  ... FAIL
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_within_valid_dates
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_within_valid_dates
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_certificate_key_manager_fail
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_certificate_key_manager_fail
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_signature_fail
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_signature_fail
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_ECC
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_ECC
>  ... FAIL
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_init_with_non_signing_certificate
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_init_with_non_signing_certificate
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_after_valid_dates
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_after_valid_dates
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_verify_valid_certificate
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_verify_valid_certificate
>  ... FAIL
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_public_key_dsa
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_public_key_dsa
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_should_create_verifier
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_should_create_verifier
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_bad_signature
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_bad_signature
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_can_sign_certificates
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_can_sign_certificates
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_init_with_out_of_date_certificate
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_init_with_out_of_date_certificate
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_before_valid_dates
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_before_valid_dates
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_verify_valid_certificate_with_no_root
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_verify_valid_certificate_with_no_root
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_public_key_ecc
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_public_key_ecc
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_should_create_verifier_fail
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_should_create_verifier_fail
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_cannot_sign_certificates_without_basic_constraints
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_cannot_sign_certificates_without_basic_constraints
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_update_with_valid_certificate
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_update_with_valid_certificate
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_not_issuer
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_not_issuer
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_certificate_invalid_format
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_certificate_invalid_format
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_signature
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_signature 
> ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_DSA
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_DSA
>  ... FAIL
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_init
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_init
>  ... ok
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_verify_disable_checks
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_verify_disable_checks
>  ... FAIL
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_verify_invalid_certificate
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_verify_invalid_certificate
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_hash_method
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_hash_method
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_verifier_invalid_image_props
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_get_verifier_invalid_image_props
>  ... ok
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_PSS
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_PSS
>  ... FAIL
> running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
> OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
> OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \
> ${PYTHON:-python} -m subunit.run discover -t ./ 
> ${OS_TEST_PATH:-./cursive/tests} --list 
> running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
> OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
> OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \
> ${PYTHON:-python} -m subunit.run discover -t ./ 
> ${OS_TEST_PATH:-./cursive/tests}  --load-list /tmp/tmpxz0e8zyv
> running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
> OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
> OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \
> ${PYTHON:-python} -m subunit.run discover -t ./ 
> ${OS_TEST_PATH:-./cursive/tests}  --load-list /tmp/tmpz_lmivjp
> running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
> OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
> OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \
> ${PYTHON:-python} -m subunit.run discover -t ./ 
> ${OS_TEST_PATH:-./cursive/tests}  --load-list /tmp/tmpq4bh4hsz
> running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
> OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
> OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \
> ${PYTHON:-python} -m subunit.run discover -t ./ 
> ${OS_TEST_PATH:-./cursive/tests}  --load-list /tmp/tmp7r2s_1vo
> running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
> OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
> OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \
> ${PYTHON:-python} -m subunit.run discover -t ./ 
> ${OS_TEST_PATH:-./cursive/tests}  --load-list /tmp/tmpuu3bv6y3
> running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
> OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
> OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \
> ${PYTHON:-python} -m subunit.run discover -t ./ 
> ${OS_TEST_PATH:-./cursive/tests}  --load-list /tmp/tmp6d65_ar7
> running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
> OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
> OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \
> ${PYTHON:-python} -m subunit.run discover -t ./ 
> ${OS_TEST_PATH:-./cursive/tests}  --load-list /tmp/tmpbasfoop5
> running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
> OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
> OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \
> ${PYTHON:-python} -m subunit.run discover -t ./ 
> ${OS_TEST_PATH:-./cursive/tests}  --load-list /tmp/tmpf5ipgam2
> 
> ======================================================================
> FAIL: 
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_issuer
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_is_issuer
> ----------------------------------------------------------------------
> testtools.testresult.real._StringException: Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/cursive/tests/unit/test_certificate_utils.py", line 
> 93, in test_is_issuer
>     result = certificate_utils.is_issuer(cert, cert)
>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 68, in is_issuer
>     verify_certificate_signature(
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 138, in 
> verify_certificate_signature
>     verifier = signer_public_key.verifier(
>                ^^^^^^^^^^^^^^^^^^^^^^^^^^
> AttributeError: '_RSAPublicKey' object has no attribute 'verifier'
> 
> 
> ======================================================================
> FAIL: 
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_verify_invalid_chain_length
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_verify_invalid_chain_length
> ----------------------------------------------------------------------
> testtools.testresult.real._StringException: Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/mock/mock.py", line 1346, in patched
>     return func(*newargs, **newkeywargs)
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/cursive/tests/unit/test_certificate_utils.py", line 
> 390, in test_context_verify_invalid_chain_length
>     self.assertRaisesRegex(
>   File "/usr/lib/python3.11/unittest/case.py", line 1318, in assertRaisesRegex
>     return context.handle('assertRaisesRegex', args, kwargs)
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3.11/unittest/case.py", line 237, in handle
>     callable_obj(*args, **kwargs)
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 292, in verify
>     if is_issuer(candidate, signed_certificate):
>        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 68, in is_issuer
>     verify_certificate_signature(
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 138, in 
> verify_certificate_signature
>     verifier = signer_public_key.verifier(
>                ^^^^^^^^^^^^^^^^^^^^^^^^^^
> AttributeError: '_RSAPublicKey' object has no attribute 'verifier'
> 
> 
> ======================================================================
> FAIL: 
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_verify_signing_certificate
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_verify_signing_certificate
> ----------------------------------------------------------------------
> testtools.testresult.real._StringException: Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/cursive/tests/unit/test_certificate_utils.py", line 
> 149, in test_verify_signing_certificate
>     certificate_utils.verify_certificate_signature(
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 138, in 
> verify_certificate_signature
>     verifier = signer_public_key.verifier(
>                ^^^^^^^^^^^^^^^^^^^^^^^^^^
> AttributeError: '_RSAPublicKey' object has no attribute 'verifier'
> 
> 
> ======================================================================
> FAIL: 
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_verify
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_verify
> ----------------------------------------------------------------------
> testtools.testresult.real._StringException: Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/mock/mock.py", line 1346, in patched
>     return func(*newargs, **newkeywargs)
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/cursive/tests/unit/test_certificate_utils.py", line 
> 335, in test_context_verify
>     context.verify()
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 292, in verify
>     if is_issuer(candidate, signed_certificate):
>        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 68, in is_issuer
>     verify_certificate_signature(
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 138, in 
> verify_certificate_signature
>     verifier = signer_public_key.verifier(
>                ^^^^^^^^^^^^^^^^^^^^^^^^^^
> AttributeError: '_RSAPublicKey' object has no attribute 'verifier'
> 
> 
> ======================================================================
> FAIL: 
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_ECC
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_ECC
> ----------------------------------------------------------------------
> testtools.testresult.real._StringException: Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/mock/mock.py", line 1346, in patched
>     return func(*newargs, **newkeywargs)
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/cursive/tests/unit/test_signature_utils.py", line 
> 182, in test_verify_signature_ECC
>     signer = private_key.signer(
>              ^^^^^^^^^^^^^^^^^^
> AttributeError: '_EllipticCurvePrivateKey' object has no attribute 'signer'
> 
> 
> ======================================================================
> FAIL: 
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_verify_valid_certificate
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_verify_valid_certificate
> ----------------------------------------------------------------------
> testtools.testresult.real._StringException: Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/mock/mock.py", line 1346, in patched
>     return func(*newargs, **newkeywargs)
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/cursive/tests/unit/test_certificate_utils.py", line 
> 165, in test_verify_valid_certificate
>     certificate_utils.verify_certificate(
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 200, in 
> verify_certificate
>     certificate_context.verify()
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 292, in verify
>     if is_issuer(candidate, signed_certificate):
>        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 68, in is_issuer
>     verify_certificate_signature(
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 138, in 
> verify_certificate_signature
>     verifier = signer_public_key.verifier(
>                ^^^^^^^^^^^^^^^^^^^^^^^^^^
> AttributeError: '_RSAPublicKey' object has no attribute 'verifier'
> 
> 
> ======================================================================
> FAIL: 
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_DSA
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_DSA
> ----------------------------------------------------------------------
> testtools.testresult.real._StringException: Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/mock/mock.py", line 1346, in patched
>     return func(*newargs, **newkeywargs)
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/cursive/tests/unit/test_signature_utils.py", line 
> 200, in test_verify_signature_DSA
>     signer = TEST_DSA_PRIVATE_KEY.signer(
>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
> AttributeError: '_DSAPrivateKey' object has no attribute 'signer'
> 
> 
> ======================================================================
> FAIL: 
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_verify_disable_checks
> cursive.tests.unit.test_certificate_utils.TestCertificateUtils.test_context_verify_disable_checks
> ----------------------------------------------------------------------
> testtools.testresult.real._StringException: Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/mock/mock.py", line 1346, in patched
>     return func(*newargs, **newkeywargs)
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/cursive/tests/unit/test_certificate_utils.py", line 
> 361, in test_context_verify_disable_checks
>     context.verify()
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 292, in verify
>     if is_issuer(candidate, signed_certificate):
>        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 68, in is_issuer
>     verify_certificate_signature(
>   File "/<<PKGBUILDDIR>>/cursive/certificate_utils.py", line 138, in 
> verify_certificate_signature
>     verifier = signer_public_key.verifier(
>                ^^^^^^^^^^^^^^^^^^^^^^^^^^
> AttributeError: '_RSAPublicKey' object has no attribute 'verifier'
> 
> 
> ======================================================================
> FAIL: 
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_PSS
> cursive.tests.unit.test_signature_utils.TestSignatureUtils.test_verify_signature_PSS
> ----------------------------------------------------------------------
> testtools.testresult.real._StringException: Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/mock/mock.py", line 1346, in patched
>     return func(*newargs, **newkeywargs)
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/cursive/tests/unit/test_signature_utils.py", line 
> 148, in test_verify_signature_PSS
>     signer = TEST_RSA_PRIVATE_KEY.signer(
>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
> AttributeError: '_RSAPrivateKey' object has no attribute 'signer'
> 
> 
> ----------------------------------------------------------------------
> Ran 48 tests in 6.092s
> 
> FAILED (failures=9)
> + echo ======> TESTR TEST SUITE FAILED FOR python3.11: displaying pip3 freeze 
> output...
> ======> TESTR TEST SUITE FAILED FOR python3.11: displaying pip3 freeze 
> output...
> + [ -x /usr/bin/pip3 ]
> + pip3 freeze
> WARNING: The directory '/sbuild-nonexistent/.cache/pip' or its parent 
> directory is not owned or is not writable by the current user. The cache has 
> been disabled. Check the permissions and owner of that directory. If 
> executing pip with sudo, you should use sudo's -H flag.
> alabaster==0.7.12
> appdirs==1.4.4
> attrs==22.1.0
> autopage==0.4.0
> Babel==2.10.3
> blinker==1.5
> castellan==4.0.0
> certifi==2022.9.24
> chardet==5.1.0
> charset-normalizer==3.0.1
> cliff==4.0.0
> cmd2==2.4.2+ds
> coverage==6.5.0
> cryptography==38.0.4
> debtcollector==2.5.0
> decorator==5.1.1
> deprecation==2.0.7
> docutils==0.17.1
> dogpile.cache==1.1.8
> dulwich==0.20.50
> extras==1.0.0
> fixtures==4.0.1
> flake8==5.0.4
> future==0.18.2
> hacking==4.1.0
> idna==3.3
> imagesize==1.4.1
> importlib-metadata==4.12.0
> iso8601==1.0.2
> Jinja2==3.0.3
> jmespath==1.0.1
> jsonpatch==1.32
> jsonpointer==2.3
> keystoneauth1==5.0.0
> lxml==4.9.1
> Mako==1.2.4.dev0
> MarkupSafe==2.1.1
> mccabe==0.7.0
> mock==4.0.3
> more-itertools==8.10.0
> msgpack==1.0.3
> munch==2.5.0
> netaddr==0.8.0
> netifaces==0.11.0
> oauthlib==3.2.1
> openstackdocstheme==1.20.0
> openstacksdk==0.101.0
> os-client-config==2.1.0
> os-service-types==1.7.0
> oslo.config==9.0.0
> oslo.context==5.0.0
> oslo.i18n==5.1.0
> oslo.log==5.0.1
> oslo.serialization==5.0.0
> oslo.utils==6.0.1
> oslotest==4.5.0
> packaging==21.3
> pbr==5.10.0
> prettytable==2.5.0
> pycodestyle==2.9.1
> pyflakes==2.5.0
> Pygments==2.13.0
> pyinotify==0.9.6
> PyJWT==2.4.0
> pyparsing==3.0.9
> pyperclip==1.8.2
> python-barbicanclient==5.4.0
> python-dateutil==2.8.2
> python-subunit==1.4.0
> pytz==2022.6
> PyYAML==6.0
> reno==2.11.2
> requests==2.28.1
> requestsexceptions==1.4.0
> rfc3986==1.5.0
> roman==3.3
> six==1.16.0
> snowballstemmer==2.2.0
> Sphinx==5.3.0
> stestr==3.2.1
> stevedore==4.0.2
> testrepository==0.0.20
> testscenarios==0.5.0
> testtools==2.5.0
> urllib3==1.26.12
> voluptuous==0.12.2
> wcwidth==0.2.5
> wrapt==1.14.1
> zipp==1.0.0
> + exit 1
> make[1]: *** [debian/rules:20: override_dh_auto_test] Error 1


The full build log is available from:
http://qa-logs.debian.net/2022/12/20/python-cursive_0.2.2-4_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20221220;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20221220&[email protected]&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
Source: python-cursive
Source-Version: 0.2.3-1
Done: Thomas Goirand <[email protected]>

We believe that the bug you reported is fixed in the latest version of
python-cursive, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Thomas Goirand <[email protected]> (supplier of updated python-cursive package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sun, 01 Jan 2023 15:44:04 +0100
Source: python-cursive
Architecture: source
Version: 0.2.3-1
Distribution: unstable
Urgency: medium
Maintainer: Debian OpenStack <[email protected]>
Changed-By: Thomas Goirand <[email protected]>
Closes: 1026702
Changes:
 python-cursive (0.2.3-1) unstable; urgency=medium
 .
   * New upstream release:
     - Fixes FTBFS because of unit tests (Closes: #1026702).
   * Add autopkgtest.
Checksums-Sha1:
 afa6846de9246fa74acf2c806e8327b8fd6a2f4b 2579 python-cursive_0.2.3-1.dsc
 f021266ca6a086bf0655eb2ba075daa493caff20 35044 python-cursive_0.2.3.orig.tar.xz
 d409b23b6273d7a2d4856bd4860782f1cbe15932 3232 
python-cursive_0.2.3-1.debian.tar.xz
 6bafa7dc5c63314bb2c02c2e4d5877b27e4f99e3 11933 
python-cursive_0.2.3-1_amd64.buildinfo
Checksums-Sha256:
 7e95997d396872c6e60ac859531659639be13ddfcff57dfc4ca6e97c70b56c2f 2579 
python-cursive_0.2.3-1.dsc
 76db8088e40cec3ba1036e9e33714841fb37ccf450ab1eaff6146576e45445a0 35044 
python-cursive_0.2.3.orig.tar.xz
 39d74175a567420a37ff12257cca34639520dc28bb1efd8cf158d9eb4db7e68c 3232 
python-cursive_0.2.3-1.debian.tar.xz
 c24dd7ecce26eeeb920d1df2e28b1d713c70ac2c2d02a26cf82ced3ffd0a51f3 11933 
python-cursive_0.2.3-1_amd64.buildinfo
Files:
 1ac54e885a4c4bb0fdff7199298834b2 2579 python optional 
python-cursive_0.2.3-1.dsc
 10e5799475e9ed97af8b97cbdac50928 35044 python optional 
python-cursive_0.2.3.orig.tar.xz
 b15ad6365e78ea606770d3b91f1901b5 3232 python optional 
python-cursive_0.2.3-1.debian.tar.xz
 d7a788633b101b79be6ae0386c243761 11933 python optional 
python-cursive_0.2.3-1_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoLGp81CJVhMOekJc1BatFaxrQ/4FAmOxnhMACgkQ1BatFaxr
Q/4S0Q//W6iaj/pw8Pk8KM6K3YMD/O8N2BNVt7FVVlQ5cqSxQW+RJaFyuCWhuicE
Sd0XUC+u8AFIpFZ8aLZRUzz4qkihCQY9UTs2nqLgrcKO1jqbBT2m7wti3YW19rbY
tlm3lx7HcFqlsLyI0gY/RslwVjgodPOnhZKV9Cdp2NVeBj9eng92wYVYVT1dSU30
zD+BY7mC+f8rnAfYOXpuz5mXACQDPeKNiblfaJ3hEiNE6d6cmJK8YCWaHTA2BOzw
MTXF7EbpZE6B4CzwT5Iu4BCIiPc2h0YkXDrkj08My35Lq9fEW7DXRUuKtDiw6pJp
FxW4nZD+AJV9U3iePuyNyIA60tLFm+LoLX8Iarci1heor7+svivuPlGyYDdHbSvr
LBpyfORak2WJaJFaiQNAPyb9thMFUzkSCgvi+RnYG19T5SeAum+RUEkdUC2xumzE
ZNh1hHfwK06z+RYAgO4+NbT0Fg32ErROlwo8jPoV5FGOIDFODeUSEIGGpG+xMRSj
jOYiieepJjtkoaciCtxMIJhedF2u86EsE1cKVkUl16pSSdhKY+5doxtYG9eLHdZU
G0f/3gxN/HyKu399QXQnUSg6ORvTgZyhjvQiY2C+LbG3uTEnalv+BH/EmH340ec9
Y4unOAegBnuyK5VnLUqDvF5vHIOoQ1WWrFn1/4qEOuNSb2MyqTE=
=JWwc
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to