• Bug#1101255: refstack-client: FTBFS: packaging.version.InvalidVersion:

    From Santiago Vila@21:1/5 to All on Tue Mar 25 01:20:05 2025
    Package: src:refstack-client
    Version: 0.0.0~2023.09.19.b60a7e41f7-1
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

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

    --------------------------------------------------------------------------------
    [...]
    debian/rules clean
    make: pyversions: No such file or directory
    py3versions: no X-Python3-Version in control file, using supported versions
    dh clean --with python3
    debian/rules override_dh_auto_clean
    make[1]: Entering directory '/<<PKGBUILDDIR>>'
    make[1]: pyversions: No such file or directory
    py3versions: no X-Python3-Version in control file, using supported versions
    rm -rf doc/build build .stestr tempest.log
    find . -type d -name __pycache__ -exec rm -r {} \+
    make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    dh_clean
    debian/rules binary
    make: pyversions: No such file or directory
    py3versions: no X-Python3-Version in control file, using supported versions
    dh binary --with python3
    dh_update_autotools_config
    dh_autoreconf
    dh_auto_configure
    dh_auto_configure: warning: Please use the third-party "pybuild" build system instead of python-distutils
    dh_auto_configure: warning: This feature will be removed in compat 12.
    debian/rules override_dh_auto_build
    make[1]: Entering directory '/<<PKGBUILDDIR>>'
    make[1]: pyversions: No such file or directory
    py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..."
    Do nothing...
    make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    debian/rules override_dh_auto_test
    make[1]: Entering directory '/<<PKGBUILDDIR>>'
    make[1]: pyversions: No such file or directory
    py3versions: no X-Python3-Version in control file, using supported versions
    # The no-venv patch is breaking, so we blacklist it: test_get_tempest_test_ids()
    pkgos-dh_auto_test --no-py2 'refstack_client\.tests\.(?!.*unit\.test_list_parser\.TestTestListParser\.test_get_tempest_test_ids.*)'
    + 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.13
    + [ yes = no ]
    + [ no = yes ]
    + [ 3.13 = disabled ]
    + echo 3.13
    + 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 ]
    + [ -x /usr/bin/python3-stestr ]
    + STESTR=stestr
    + rm -rf .stestr
    + PYTHON=python3.13 stestr run --parallel --subunit refstack_client\.tests\.(?!.*unit\.test_list_parser\.TestTestListParser\.test_get_tempest_test_ids.*)
    + subunit2pyunit
    /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method
    warnings.warn("TestResult has no addDuration method", refstack_client.tests.unit.test_client.TestRefstackClient.test_failed_run refstack_client.tests.unit.test_client.TestRefstackClient.test_failed_run ... ok
    /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method
    warnings.warn("TestResult has no addDuration method", refstack_client.tests.unit.test_list_parser.TestTestListParser.test_create_include_list
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_create_include_list ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_forbidden_conf_file
    refstack_client.tests.unit.test_client.TestRefstackClient.test_forbidden_conf_file ... ok
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_form_test_id_mappings
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_form_test_id_mappings ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_form_result_content
    refstack_client.tests.unit.test_client.TestRefstackClient.test_form_result_content ... ok
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_get_base_test_ids_from_list_file
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_get_base_test_ids_from_list_file ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_generate_cpid_from_endpoint
    refstack_client.tests.unit.test_client.TestRefstackClient.test_generate_cpid_from_endpoint ... ok
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_get_base_test_ids_from_list_file_invalid_url
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_get_base_test_ids_from_list_file_invalid_url ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_generate_keystone_data
    refstack_client.tests.unit.test_client.TestRefstackClient.test_generate_keystone_data ... ok
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_get_base_test_ids_from_list_file_url
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_get_base_test_ids_from_list_file_url ... ok
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_get_base_test_ids_from_list_files_invalid_file
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_get_base_test_ids_from_list_files_invalid_file ... ok
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_get_full_test_ids
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_get_full_test_ids ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_cpid_account_file_not_found
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_cpid_account_file_not_found ... ok
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_get_full_test_ids_with_nonexistent_test
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_get_full_test_ids_with_nonexistent_test ... ok
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_write_normalized_test_list
    refstack_client.tests.unit.test_list_parser.TestTestListParser.test_write_normalized_test_list ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_cpid_from_keystone_by_tenant_name_from_account_file
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_cpid_from_keystone_by_tenant_name_from_account_file ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_cpid_from_keystone_failure_handled
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_cpid_from_keystone_failure_handled ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_cpid_from_keystone_v3_varying_catalogs
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_cpid_from_keystone_v3_varying_catalogs ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_keystone_config
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_keystone_config ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_keystone_config_account_file_empty
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_keystone_config_account_file_empty ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_keystone_config_no_accounts_file
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_keystone_config_no_accounts_file ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_next_stream_subunit_output_file
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_next_stream_subunit_output_file ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_next_stream_subunit_output_file_nonexistent
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_next_stream_subunit_output_file_nonexistent ... ok
    /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method
    warnings.warn("TestResult has no addDuration method", refstack_client.tests.unit.test_client.TestRefstackClient.test_get_passed_tests refstack_client.tests.unit.test_client.TestRefstackClient.test_get_passed_tests ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_list refstack_client.tests.unit.test_client.TestRefstackClient.test_list ... ok refstack_client.tests.unit.test_client.TestRefstackClient.test_post_results refstack_client.tests.unit.test_client.TestRefstackClient.test_post_results ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_post_results_with_sign
    refstack_client.tests.unit.test_client.TestRefstackClient.test_post_results_with_sign ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_no_conf_file
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_no_conf_file ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_nonexisting_directory
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_nonexisting_directory ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_result_tag
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_result_tag ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_upload
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_upload ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_upload_with_sign
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_upload_with_sign ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_with_empty_test_list
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_with_empty_test_list ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_with_non_exist_test_list_file
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_with_non_exist_test_list_file ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_with_test_list
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_with_test_list ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_save_json_result refstack_client.tests.unit.test_client.TestRefstackClient.test_save_json_result ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_set_env_params refstack_client.tests.unit.test_client.TestRefstackClient.test_set_env_params ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_sign_pubkey refstack_client.tests.unit.test_client.TestRefstackClient.test_sign_pubkey ... ok
    /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method
    warnings.warn("TestResult has no addDuration method", refstack_client.tests.unit.test_client.TestRefstackClient.test_subunit_upload refstack_client.tests.unit.test_client.TestRefstackClient.test_subunit_upload ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_upload refstack_client.tests.unit.test_client.TestRefstackClient.test_upload ... ok refstack_client.tests.unit.test_client.TestRefstackClient.test_upload_nonexisting_file
    refstack_client.tests.unit.test_client.TestRefstackClient.test_upload_nonexisting_file ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_upload_prompt refstack_client.tests.unit.test_client.TestRefstackClient.test_upload_prompt ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_user_query refstack_client.tests.unit.test_client.TestRefstackClient.test_user_query ... ok
    refstack_client.tests.unit.test_client.TestRefstackClient.test_verbose refstack_client.tests.unit.test_client.TestRefstackClient.test_verbose ... ok refstack_client.tests.unit.test_client.TestRefstackClient.test_yield_results refstack_client.tests.unit.test_client.TestRefstackClient.test_yield_results ... ok

    ----------------------------------------------------------------------
    Ran 46 tests in 1.674s

    OK
    + stestr slowest
    Test id Runtime (s)
    --------------------------------------------------------------------------------------------------------- -----------
    refstack_client.tests.unit.test_client.TestRefstackClient.test_post_results_with_sign 0.255
    refstack_client.tests.unit.test_client.TestRefstackClient.test_sign_pubkey 0.252
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest 0.003
    refstack_client.tests.unit.test_client.TestRefstackClient.test_verbose 0.003
    refstack_client.tests.unit.test_client.TestRefstackClient.test_failed_run 0.003
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_cpid_from_keystone_v3_varying_catalogs 0.003
    refstack_client.tests.unit.test_client.TestRefstackClient.test_get_cpid_from_keystone_failure_handled 0.003
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_with_test_list 0.002
    refstack_client.tests.unit.test_client.TestRefstackClient.test_upload_nonexisting_file 0.002
    refstack_client.tests.unit.test_client.TestRefstackClient.test_run_tempest_with_non_exist_test_list_file 0.002
    + rm -rf .stestr
    make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    create-stamp debian/debhelper-build-stamp
    dh_prep
    debian/rules override_dh_auto_install
    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_install --no-py2 --in-tmp
    + PKGOS_IN_TMP=no
    + echo WARNING: --no-py2 is deprecated and always on.
    WARNING: --no-py2 is deprecated and always on.
    + shift
    + PKGOS_IN_TMP=yes
    + shift
    + dpkg-parsechangelog -SSource
    + SRC_PKG_NAME=refstack-client
    + echo refstack-client
    + sed s/python-//
    + PY_MODULE_NAME=refstack-client
    + py3versions -vr
    + PYTHON3S=3.13
    + [ yes = yes ]
    + TARGET_DIR=tmp
    + pwd
    + python3.13 setup.py install --install-layout=deb --root /<<PKGBUILDDIR>>/debian/tmp
    /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
    !!

    ********************************************************************************
    Requirements should be satisfied by a PEP 517 installer.
    If you are using pip, you can try `pip install --use-pep517`.
    ********************************************************************************

    !!
    dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated.
    !!

    ********************************************************************************
    Please avoid running ``setup.py`` and ``easy_install``.
    Instead, use pypa/build, pypa/installer or other
    standards-based tools.

    See https://github.com/pypa/setuptools/issues/917 for details.
    ********************************************************************************

    !!
    easy_install.initialize_options(self) /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:79: SetuptoolsDeprecationWarning: setup.py install is deprecated.
    !!

    ********************************************************************************
    Please avoid running ``setup.py`` directly.
    Instead, use pypa/build, pypa/installer or other
    standards-based tools.

    See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
    ********************************************************************************

    !!
    self.initialize_options()
    /usr/lib/python3/dist-packages/pbr/core.py:140: UserWarning: Unknown distribution option: 'tests_require'
    warnings.warn(msg)
    Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/setup.py", line 27, in <module>
    setuptools.setup(
    ~~~~~~~~~~~~~~~~^
    setup_requires=['pbr>=2.0.0'],
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    pbr=True)
    ^^^^^^^^^
    File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 117, in setup
    return distutils.core.setup(**attrs)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
    File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 148, in setup
    _setup_distribution = dist = klass(attrs)
    ~~~~~^^^^^^^
    File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 330, in __init__
    self.metadata.version = self._normalize_version(self.metadata.version)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 366, in _normalize_version
    normalized = str(Version(version))
    ~~~~~~~^^^^^^^^^
    File "/usr/lib/python3/dist-packages/packaging/version.py", line 202, in __init__
    raise InvalidVersion(f"Invalid version: {version!r}") packaging.version.InvalidVersion: Invalid version: '0.0.0.02023.09.19.b60a7e41f7'
    make[1]: *** [debian/rules:19: override_dh_auto_install] Error 1
    make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    make: *** [debian/rules:9: binary] Error 2
    dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

    The above is just how the build ends and not necessarily the most relevant part.
    If required, the full build log is available here:

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

    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:refstack-client, so that this is still visible in the BTS web page for this package.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Debian Bug Tracking System@21:1/5 to All on Tue Mar 25 14:10:02 2025
    This is a multi-part message in MIME format...

    Your message dated Tue, 25 Mar 2025 13:04:42 +0000
    with message-id <E1tx3xS-002nSy-Rt@fasolo.debian.org>
    and subject line Bug#1101255: fixed in refstack-client 0.0.0~2023.09.19.b60a7e41f7-2
    has caused the Debian Bug report #1101255,
    regarding refstack-client: FTBFS: packaging.version.InvalidVersion: Invalid version: '0.0.0.02023.09.19.b60a7e41f7'
    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 owner@bugs.debian.org
    immediately.)


    --
    1101255: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1101255
    Debian Bug Tracking System
    Contact owner@bugs.debian.org with problems

    Received: (at submit) by bugs.debian.org; 25 Mar 2025 00:11:46 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.6-bugs.debian.org_2005_01_02
    (2021-04-09) on buxtehude.debian.org
    X-Spam-Level:
    X-Spam-Status: No, score=-121.2 required=4.0 tests=ALL_TRUSTED,BAYES_00,
    BODY_INCLUDES_PACKAGE,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,
    DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,HAS_PACKAGE,SPF_HELO_PASS,
    SPF_NONE,USER_IN_DKIM_WELCOMELIST,USER_IN_DKIM_WHITELIST,X_DEBBUGS_CC
    autolearn=ham autolearn_force=no
    version=3.4.6-bugs.debian.org_2005_01_02
    X-Spam-Bayes: score:0.0000 Tokens: new, 298; hammy, 150; neutral, 375; spammy,
    0. spammytokens: hammytokens:0.000-+--python3, 0.000-+--trixie,
    0.000-+--pkgbuilddir, 0.000-+--PKGBUILDDIR, 0.000-+--sk:dh_auto Return-path: <sanvila@debian.org>
    Received: from mailly.debian.org ([2001:41b8:202:deb:6564:a62:52c3:4b72]:486