Package: src:libcloud
Version: 3.8.0+repack-4
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build.

Below you will find how the build ends (probably the most relevant part,
but not necessarily). If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202509/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:libcloud, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
I: pybuild base:311: python3.13 setup.py clean 
/usr/lib/python3/dist-packages/setuptools/config/pyprojecttoml.py:72: 
_ExperimentalConfiguration: `[tool.distutils]` in `pyproject.toml` is still 
*experimental* and likely to change in future releases.
  config = read_configuration(filepath, True, ignore_option_errors, dist)
/usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: 
SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated
!!

        
********************************************************************************
        Please use a simple string containing a SPDX expression for 
`project.license`. You can also use `project.license-files`. (Both options 
available on setuptools>=77.0.0).

        By 2026-Feb-18, you need to update your project and remove deprecated 
calls
        or your builds will no longer be supported.

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.

[... snipped ...]

        conn_params = {
            "hostname": "dummy.host.org",
            "username": "ubuntu",
            "key_material": private_key,
        }
    
        mock = ParamikoSSHClient(**conn_params)
    
        expected_msg = "private key file is encrypted"
>       assertRaisesRegex(
            self,
            paramiko.ssh_exception.PasswordRequiredException,
            expected_msg,
            mock.connect,
        )

libcloud/test/compute/test_ssh_client.py:199: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
libcloud/utils/py3.py:145: in assertRaisesRegex
    return getattr(self, "assertRaisesRegex")(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
libcloud/compute/ssh.py:344: in connect
    conninfo["pkey"] = self._get_pkey_object(key=self.key_material, 
password=self.password)
                       
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    def _get_pkey_object(self, key, password=None):
        """
        Try to detect private key type and return paramiko.PKey object.
    
        # NOTE: Paramiko only supports key in PKCS#1 PEM format.
        """
        key_types = [
            (paramiko.RSAKey, "RSA"),
>           (paramiko.DSSKey, "DSA"),
             ^^^^^^^^^^^^^^^
            (paramiko.ECDSAKey, "EC"),
        ]
E       AttributeError: module 'paramiko' has no attribute 'DSSKey'. Did you 
mean: 'RSAKey'?

libcloud/compute/ssh.py:661: AttributeError
__ ParamikoSSHClientTests.test_password_protected_key_no_password_provided_2 ___

self = <libcloud.test.compute.test_ssh_client.ParamikoSSHClientTests 
testMethod=test_password_protected_key_no_password_provided_2>

    @patch("paramiko.SSHClient", Mock)
    def test_password_protected_key_no_password_provided_2(self):
        path = os.path.join(
            os.path.dirname(__file__),
            "fixtures",
            "misc",
            "test_rsa_2048b_pass_foobar.key",
        )
    
        # Supplied as key_material
        with open(path) as fp:
            private_key = fp.read()
    
        conn_params = {
            "hostname": "dummy.host.org",
            "username": "ubuntu",
            "key_material": private_key,
            "password": "invalid",
        }
    
        mock = ParamikoSSHClient(**conn_params)
    
        expected_msg = "OpenSSH private key file checkints do not match"
>       assertRaisesRegex(self, paramiko.ssh_exception.SSHException, 
> expected_msg, mock.connect)

libcloud/test/compute/test_ssh_client.py:245: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
libcloud/utils/py3.py:145: in assertRaisesRegex
    return getattr(self, "assertRaisesRegex")(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
libcloud/compute/ssh.py:344: in connect
    conninfo["pkey"] = self._get_pkey_object(key=self.key_material, 
password=self.password)
                       
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    def _get_pkey_object(self, key, password=None):
        """
        Try to detect private key type and return paramiko.PKey object.
    
        # NOTE: Paramiko only supports key in PKCS#1 PEM format.
        """
        key_types = [
            (paramiko.RSAKey, "RSA"),
>           (paramiko.DSSKey, "DSA"),
             ^^^^^^^^^^^^^^^
            (paramiko.ECDSAKey, "EC"),
        ]
E       AttributeError: module 'paramiko' has no attribute 'DSSKey'. Did you 
mean: 'RSAKey'?

libcloud/compute/ssh.py:661: AttributeError
__ ParamikoSSHClientTests.test_password_protected_key_valid_password_provided __

self = <libcloud.test.compute.test_ssh_client.ParamikoSSHClientTests 
testMethod=test_password_protected_key_valid_password_provided>

    @patch("paramiko.SSHClient", Mock)
    def test_password_protected_key_valid_password_provided(self):
        path = os.path.join(
            os.path.dirname(__file__),
            "fixtures",
            "misc",
            "test_rsa_2048b_pass_foobar.key",
        )
    
        # Supplied as key_material
        with open(path) as fp:
            private_key = fp.read()
    
        conn_params = {
            "hostname": "dummy.host.org",
            "username": "ubuntu",
            "key_material": private_key,
            "password": "foobar",
        }
    
        mock = ParamikoSSHClient(**conn_params)
>       self.assertTrue(mock.connect())
                        ^^^^^^^^^^^^^^

libcloud/test/compute/test_ssh_client.py:268: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
libcloud/compute/ssh.py:344: in connect
    conninfo["pkey"] = self._get_pkey_object(key=self.key_material, 
password=self.password)
                       
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <libcloud.compute.ssh.ParamikoSSHClient object at 0x7f2a99bffd10>
key = '-----BEGIN OPENSSH PRIVATE 
KEY-----\nb3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABB8vQSsS2\nc2ykD4sx...wyejTT9SSoSWUEGi3+wZeUzhW8QOK74Z6s8CnusJxfjKGXNk21T\nRxBHBC9duCtSFk1ARBGKu2WqmHY=\n-----END
 OPENSSH PRIVATE KEY-----\n'
password = 'foobar'

    def _get_pkey_object(self, key, password=None):
        """
        Try to detect private key type and return paramiko.PKey object.
    
        # NOTE: Paramiko only supports key in PKCS#1 PEM format.
        """
        key_types = [
            (paramiko.RSAKey, "RSA"),
>           (paramiko.DSSKey, "DSA"),
             ^^^^^^^^^^^^^^^
            (paramiko.ECDSAKey, "EC"),
        ]
E       AttributeError: module 'paramiko' has no attribute 'DSSKey'. Did you 
mean: 'RSAKey'?

libcloud/compute/ssh.py:661: AttributeError
=============================== warnings summary ===============================
libcloud/common/google.py:110
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/common/google.py:110:
 DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    return datetime.datetime.utcnow()

libcloud/test/common/test_openstack_identity.py: 22 warnings
libcloud/test/compute/test_deployment.py: 24 warnings
libcloud/test/compute/test_openstack.py: 1156 warnings
libcloud/test/compute/test_rackspace.py: 1785 warnings
libcloud/test/dns/test_rackspace.py: 102 warnings
libcloud/test/loadbalancer/test_rackspace.py: 366 warnings
libcloud/test/storage/test_cloudfiles.py: 141 warnings
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/common/openstack_identity.py:794:
 DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    time_tuple_now = datetime.datetime.utcnow().utctimetuple()

libcloud/test/common/test_openstack_identity.py::OpenStackIdentityConnectionTestCase::test_token_expiration_and_force_reauthentication
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/test/common/test_openstack_identity.py:262:
 DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    soon = datetime.datetime.utcnow() + datetime.timedelta(

libcloud/test/common/test_osc.py::OSCRequestSignerAlgorithmV4TestCase::test_v4_signature_contains_credential_scope
libcloud/test/common/test_osc.py::OSCRequestSignerAlgorithmV4TestCase::test_v4_signature_contains_signed_headers
libcloud/test/common/test_osc.py::OSCRequestSignerAlgorithmV4TestCase::test_v4_signature_contains_user_id
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/common/osc.py:78:
 DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    date = datetime.utcnow()

libcloud/test/common/test_osc.py::OSCRequestSignerAlgorithmV4TestCase::test_v4_signature_contains_credential_scope
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/test/common/test_osc.py:59:
 DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    datetime.utcnow().strftime("%Y%m%d")

libcloud/test/compute/test_opennebula.py::OpenNebula_1_4_Tests::test_create_node
libcloud/test/compute/test_opennebula.py::OpenNebula_2_0_Tests::test_create_node
  /usr/lib/python3.13/xml/etree/ElementTree.py:893: DeprecationWarning: Testing 
an element's truth value will always return True in future versions.  Use 
specific 'len(elem)' or 'elem is not None' test instead.
    if text or len(elem) or not short_empty_elements:

libcloud/test/compute/test_openstack.py::OpenStack_1_0_Tests::test_create_node_with_metadata
libcloud/test/compute/test_openstack.py::OpenStack_1_0_FactoryMethodTests::test_create_node_with_metadata
libcloud/test/compute/test_rackspace.py::OpenStack_1_0_Tests::test_create_node_with_metadata
libcloud/test/compute/test_rackspace.py::RackspaceusFirstGenUsTests::test_create_node_with_metadata
libcloud/test/compute/test_rackspace.py::RackspaceusFirstGenUkTests::test_create_node_with_metadata
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/compute/drivers/openstack.py:702:
 DeprecationWarning: Testing an element's truth value will always return True 
in future versions.  Use specific 'len(elem)' or 'elem is not None' test 
instead.
    if metadata_elm:

libcloud/test/compute/test_openstack.py::OpenStack_1_0_Tests::test_create_node_with_metadata
libcloud/test/compute/test_openstack.py::OpenStack_1_0_FactoryMethodTests::test_create_node_with_metadata
libcloud/test/compute/test_rackspace.py::OpenStack_1_0_Tests::test_create_node_with_metadata
libcloud/test/compute/test_rackspace.py::RackspaceusFirstGenUsTests::test_create_node_with_metadata
libcloud/test/compute/test_rackspace.py::RackspaceusFirstGenUkTests::test_create_node_with_metadata
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/compute/drivers/openstack.py:706:
 DeprecationWarning: Testing an element's truth value will always return True 
in future versions.  Use specific 'len(elem)' or 'elem is not None' test 
instead.
    if files_elm:

libcloud/test/compute/test_ssh_client.py: 33 warnings
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/compute/ssh.py:147:
 DeprecationWarning: You are using deprecated "key" argument which has been 
replaced with "key_files" argument
    warnings.warn(message, DeprecationWarning)

libcloud/test/container/test_ecs.py: 31 warnings
libcloud/test/loadbalancer/test_alb.py: 55 warnings
libcloud/test/loadbalancer/test_elb.py: 22 warnings
libcloud/test/storage/test_aurora.py: 66 warnings
libcloud/test/storage/test_google_storage.py: 66 warnings
libcloud/test/storage/test_ovh.py: 132 warnings
libcloud/test/storage/test_s3.py: 66 warnings
libcloud/test/storage/test_scaleway.py: 132 warnings
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/common/aws.py:275:
 DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    now = datetime.utcnow()

libcloud/test/dns/test_auroradns.py: 32 warnings
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/dns/drivers/auroradns.py:260:
 DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    t = datetime.datetime.utcnow()

libcloud/test/dns/test_base.py::BaseTestCase::test_export_zone_to_bind_format_success
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/test/dns/test_base.py:86:
 DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    now = datetime.datetime.utcnow()

libcloud/test/dns/test_base.py::BaseTestCase::test_export_zone_to_bind_format_success
libcloud/test/dns/test_base.py::BaseTestCase::test_export_zone_to_bind_format_success
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/dns/base.py:483:
 DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    date = datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")

libcloud/test/dns/test_route53.py: 42 warnings
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/dns/drivers/route53.py:63:
 DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    time_string = datetime.datetime.utcnow().strftime("%a, %d %b %Y %H:%M:%S 
GMT")

libcloud/test/storage/test_aurora.py::S3Tests::test_get_object_cdn_url
libcloud/test/storage/test_google_storage.py::S3Tests::test_get_object_cdn_url
libcloud/test/storage/test_ovh.py::S3Tests::test_get_object_cdn_url
libcloud/test/storage/test_ovh.py::OvhStorageDriverTestCase::test_get_object_cdn_url
libcloud/test/storage/test_s3.py::S3Tests::test_get_object_cdn_url
libcloud/test/storage/test_scaleway.py::S3Tests::test_get_object_cdn_url
libcloud/test/storage/test_scaleway.py::ScalewayStorageDriverTestCase::test_get_object_cdn_url
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/storage/drivers/s3.py:1296:
 DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    now = datetime.utcnow()

libcloud/test/storage/test_azure_blobs.py::AzureBlobsTests::test_get_object_cdn_url
libcloud/test/storage/test_azure_blobs.py::AzuriteBlobsTests::test_get_object_cdn_url
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/storage/drivers/azure_blobs.py:622:
 DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    now = datetime.utcnow()

libcloud/test/test_http.py::HttpLayerTestCase::test_prepared_request_empty_body_chunked_encoding_not_used
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build/libcloud/test/test_http.py:109:
 DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead
    cls.mock_server_thread.setDaemon(True)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 10 durations =============================
2.00s call     
libcloud/test/test_connection.py::ConnectionClassTestCase::test_parse_errors_can_be_retried
2.00s call     
libcloud/test/storage/test_base.py::BaseStorageTests::test_should_retry_rate_limited_errors_until_success
2.00s call     
libcloud/test/storage/test_base.py::BaseStorageTests::test_should_retry_rate_limited_errors
1.00s call     
libcloud/test/test_connection.py::ConnectionClassTestCase::test_retry_with_timeout
1.00s call     
libcloud/test/test_connection.py::ConnectionClassTestCase::test_retry_with_sleep
1.00s call     
libcloud/test/test_connection.py::ConnectionClassTestCase::test_retry_with_backoff
1.00s call     libcloud/test/compute/test_vultr.py::VultrTests::test_rate_limit
1.00s call     
libcloud/test/test_connection.py::ConnectionClassTestCase::test_retry_rate_limit_error_timeout
0.99s call     
libcloud/test/compute/test_azure_arm.py::AzureNodeDriverTests::test_list_volumes_pagination_timeout
0.97s call     
libcloud/test/test_utils.py::TestUtils::test_read_in_chunks_corectness
=========================== short test summary info ============================
FAILED 
libcloud/test/compute/test_ssh_client.py::ParamikoSSHClientTests::test_ed25519_key_type
FAILED 
libcloud/test/compute/test_ssh_client.py::ParamikoSSHClientTests::test_key_material_argument
FAILED 
libcloud/test/compute/test_ssh_client.py::ParamikoSSHClientTests::test_key_material_argument_invalid_key
FAILED 
libcloud/test/compute/test_ssh_client.py::ParamikoSSHClientTests::test_key_material_valid_pem_keys
FAILED 
libcloud/test/compute/test_ssh_client.py::ParamikoSSHClientTests::test_key_material_valid_pem_keys_invalid_header_auto_conversion
FAILED 
libcloud/test/compute/test_ssh_client.py::ParamikoSSHClientTests::test_password_protected_key_no_password_provided_1
FAILED 
libcloud/test/compute/test_ssh_client.py::ParamikoSSHClientTests::test_password_protected_key_no_password_provided_2
FAILED 
libcloud/test/compute/test_ssh_client.py::ParamikoSSHClientTests::test_password_protected_key_valid_password_provided
=== 8 failed, 8101 passed, 25 skipped, 2 deselected, 4304 warnings in 44.89s ===
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_libcloud/build; python3.13 -m pytest -m 
'not serial'
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 
--test-pytest --test-args "-m 'not serial'" returned exit code 13
make[1]: *** [debian/rules:19: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:13: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

Reply via email to