--- Begin Message ---
Package: src:meson-python
Version: 0.16.0-2
Severity: serious
Tags: ftbfs
Dear maintainer:
During a rebuild of all packages in unstable, your package failed to build:
--------------------------------------------------------------------------------
[...]
debian/rules binary
dh binary --with sphinxdoc --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build"
module
I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel
--outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy --config-setting
compile-args=--verbose --config-setting setup-args=--wrap-mode=nodownload --config-setting
setup-args=--prefix=/usr --config-setting setup-args=--sysconfdir=/etc --config-setting
setup-args=--localstatedir=/var --config-setting setup-args=--libdir=lib/x86_64-linux-gnu
* Building wheel...
+ meson setup /<<PKGBUILDDIR>> /<<PKGBUILDDIR>>/.mesonpy-mextfi3j -Dbuildtype=release
-Db_ndebug=if-release -Db_vscrt=md --wrap-mode=nodownload --prefix=/usr --sysconfdir=/etc --localstatedir=/var
--libdir=lib/x86_64-linux-gnu
--native-file=/<<PKGBUILDDIR>>/.mesonpy-mextfi3j/meson-python-native-file.ini
The Meson build system
Version: 1.6.0
Source dir: /<<PKGBUILDDIR>>
Build dir: /<<PKGBUILDDIR>>/.mesonpy-mextfi3j
Build type: native build
Project name: meson-python
Project version: 0.16.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program python found: YES (/usr/bin/python3.12)
Build targets in project: 0
meson-python 0.16.0
User defined options
Native files :
/<<PKGBUILDDIR>>/.mesonpy-mextfi3j/meson-python-native-file.ini
b_ndebug : if-release
b_vscrt : md
buildtype : release
libdir : lib/x86_64-linux-gnu
localstatedir: /var
prefix : /usr
sysconfdir : /etc
wrap_mode : nodownload
Found ninja-1.12.1 at /usr/bin/ninja
+ /usr/bin/ninja --verbose
ninja: no work to do.
[1/7] /<<PKGBUILDDIR>>/mesonpy/__init__.py
[2/7] /<<PKGBUILDDIR>>/mesonpy/_compat.py
[3/7] /<<PKGBUILDDIR>>/mesonpy/_editable.py
[4/7] /<<PKGBUILDDIR>>/mesonpy/_rpath.py
[5/7] /<<PKGBUILDDIR>>/mesonpy/_tags.py
[6/7] /<<PKGBUILDDIR>>/mesonpy/_util.py
[7/7] /<<PKGBUILDDIR>>/mesonpy/_wheelfile.py
Successfully built meson_python-0.16.0-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with
"installer" module
debian/rules execute_after_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
PYTHONPATH=. http_proxy='127.0.0.1:9' python3 -m sphinx -N -bhtml docs/
build/html
Running Sphinx v7.4.7
loading translations [en]... done
making output directory... done
loading intersphinx inventory 'python' from
https://docs.python.org/3/objects.inv...
building [mo]: targets for 0 po files that are out of date
writing output...
building [html]: targets for 18 source files that are out of date
updating environment: [new config] 18 added, 0 changed, 0 removed
reading sources... [ 6%] about
reading sources... [ 11%] changelog
reading sources... [ 17%] contributing/index
reading sources... [ 22%] contributing/release-process
reading sources... [ 28%] explanations/default-options
reading sources... [ 33%] explanations/design-old
reading sources... [ 39%] how-to-guides/config-settings
reading sources... [ 44%] how-to-guides/debug-builds
reading sources... [ 50%] how-to-guides/editable-installs
reading sources... [ 56%] how-to-guides/meson-args
reading sources... [ 61%] index
reading sources... [ 67%] projects-using-meson-python
reading sources... [ 72%] reference/config-settings
reading sources... [ 78%] reference/environment-variables
reading sources... [ 83%] reference/limitations
reading sources... [ 89%] reference/meson-compatibility
reading sources... [ 94%] reference/pyproject-settings
reading sources... [100%] tutorials/introduction
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets...
copying static files... done
copying extra files... done
copying assets: done
writing output... [ 6%] about
writing output... [ 11%] changelog
writing output... [ 17%] contributing/index
writing output... [ 22%] contributing/release-process
writing output... [ 28%] explanations/default-options
writing output... [ 33%] explanations/design-old
writing output... [ 39%] how-to-guides/config-settings
writing output... [ 44%] how-to-guides/debug-builds
writing output... [ 50%] how-to-guides/editable-installs
writing output... [ 56%] how-to-guides/meson-args
writing output... [ 61%] index
writing output... [ 67%] projects-using-meson-python
writing output... [ 72%] reference/config-settings
writing output... [ 78%] reference/environment-variables
writing output... [ 83%] reference/limitations
writing output... [ 89%] reference/meson-compatibility
writing output... [ 94%] reference/pyproject-settings
writing output... [100%] tutorials/introduction
generating indices... genindex done
writing additional pages... search done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded.
The HTML pages are in build/html.
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test -O--buildsystem=pybuild
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build;
python3.12 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build
configfile: pyproject.toml
plugins: mock-3.14.0, typeguard-4.3.0
collected 113 items
tests/test_consistency.py . [ 0%]
tests/test_editable.py ................ [ 15%]
tests/test_examples.py . [ 15%]
tests/test_metadata.py ....F [ 20%]
tests/test_options.py ... [ 23%]
tests/test_output.py ......... [ 30%]
tests/test_pep517.py ............. [ 42%]
tests/test_project.py ............ssssss [ 58%]
tests/test_sdist.py FFF..... [ 65%]
tests/test_tags.py .sss..... [ 73%]
tests/test_wheel.py ...............ss.......... [ 97%]
tests/test_wheelfile.py ... [100%]
=================================== FAILURES ===================================
_____________________________ test_missing_version _____________________________
package_missing_version =
PosixPath('/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/missing-version')
def test_missing_version(package_missing_version):
pyproject = {'project': {
'name': 'missing-version',
}}
match = '|'.join((
re.escape('Required "project.version" field is missing'),
# pyproject-metatadata 0.8.0 and later
re.escape('Field "project.version" missing and "version" not specified in
"project.dynamic"'),
))
with pytest.raises(pyproject_metadata.ConfigurationError, match=match):
Metadata.from_pyproject(pyproject, pathlib.Path())
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/test_metadata.py:58:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/mesonpy/__init__.py:256:
in from_pyproject
metadata = super().from_pyproject(data, project_dir)
/usr/lib/python3/dist-packages/pyproject_metadata/__init__.py:360: in
from_pyproject
pyproject.config_error(msg, key="project.version")
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = PyProjectReader(collect_errors=False, errors=[])
msg = 'Field "project.version" missing and \'version\' not specified in
"project.dynamic"'
key = 'project.version', got = None, got_type = None, warn = False, kwargs = {}
def config_error(
self,
msg: str,
*,
key: str | None = None,
got: typing.Any = None,
got_type: type[typing.Any] | None = None,
warn: bool = False,
**kwargs: typing.Any,
) -> None:
"""Raise a configuration error, or add it to the error list."""
msg = msg.format(key=f'"{key}"', **kwargs)
if got is not None:
msg = f"{msg} (got {got!r})"
if got_type is not None:
msg = f"{msg} (got {got_type.__name__})"
if warn:
warnings.warn(msg, ConfigurationWarning, stacklevel=3)
elif self.collect_errors:
self.errors.append(ConfigurationError(msg, key=key))
else:
raise ConfigurationError(msg, key=key)
E pyproject_metadata.errors.ConfigurationError: Field "project.version" missing
and 'version' not specified in "project.dynamic"
/usr/lib/python3/dist-packages/pyproject_metadata/errors.py:103:
ConfigurationError
During handling of the above exception, another exception occurred:
package_missing_version =
PosixPath('/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/missing-version')
def test_missing_version(package_missing_version):
pyproject = {'project': {
'name': 'missing-version',
}}
match = '|'.join((
re.escape('Required "project.version" field is missing'),
# pyproject-metatadata 0.8.0 and later
re.escape('Field "project.version" missing and "version" not specified in
"project.dynamic"'),
))
with pytest.raises(pyproject_metadata.ConfigurationError, match=match):
E AssertionError: Regex pattern did not match.
E Regex: 'Required\\ "project\\.version"\\ field\\ is\\ missing|Field\\
"project\\.version"\\ missing\\ and\\ "version"\\ not\\ specified\\ in\\
"project\\.dynamic"'
E Input: 'Field "project.version" missing and \'version\' not specified in
"project.dynamic"'
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/test_metadata.py:57:
AssertionError
________________________________ test_no_pep621 ________________________________
sdist_library =
PosixPath('/tmp/pytest-of-buildd/pytest-0/test0/mesonpy-test-n04ixm0s/library-1.0.0.tar.gz')
def test_no_pep621(sdist_library):
with tarfile.open(sdist_library, 'r:gz') as sdist:
sdist_pkg_info =
sdist.extractfile('library-1.0.0/PKG-INFO').read().decode()
assert sdist_pkg_info == textwrap.dedent('''\
Metadata-Version: 2.1
Name: library
Version: 1.0.0
''')
E AssertionError: assert 'Metadata-Ver...on: 1.0.0\n\n' ==
'Metadata-Ver...sion: 1.0.0\n'
E
E Skipping 40 identical leading characters in diff, use -v to show
E ion: 1.0.0
E +
tests/test_sdist.py:23: AssertionError
---------------------------- Captured stdout setup -----------------------------
Initialized empty Git repository in
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/library/.git/
+ meson setup /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/library
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/library/.mesonpy-7exs2i81
-Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md
--native-file=/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/library/.mesonpy-7exs2i81/meson-python-native-file.ini
The Meson build system
Version: 1.6.0
Source dir:
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/library
Build dir:
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/library/.mesonpy-7exs2i81
Build type: native build
Project name: library
Project version: 1.0.0
C compiler for the host machine: cc (gcc 14.2.0 "cc (Debian 14.2.0-7) 14.2.0")
C linker for the host machine: cc ld.bfd 2.43.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
Build targets in project: 2
library 1.0.0
User defined options
Native files:
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/library/.mesonpy-7exs2i81/meson-python-native-file.ini
b_ndebug : if-release
b_vscrt : md
buildtype : release
Found ninja-1.12.1 at /usr/bin/ninja
+ meson dist --allow-dirty --no-tests --formats gztar
Created
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/library/.mesonpy-7exs2i81/meson-dist/library-1.0.0.tar.gz
_________________________________ test_pep621 __________________________________
sdist_full_metadata =
PosixPath('/tmp/pytest-of-buildd/pytest-0/test0/mesonpy-test-n04ixm0s/full_metadata-1.2.3.tar.gz')
def test_pep621(sdist_full_metadata):
with tarfile.open(sdist_full_metadata, 'r:gz') as sdist:
sdist_pkg_info =
sdist.extractfile('full_metadata-1.2.3/PKG-INFO').read().decode()
metadata = re.escape(textwrap.dedent('''\
Metadata-Version: 2.1
Name: full-metadata
Version: 1.2.3
Summary: Some package with all of the PEP 621 metadata
Keywords: full metadata
Home-page: https://example.com
Author: Jane Doe
Author-Email: Unknown <jhon....@example.com>
Maintainer-Email: Jane Doe <jane....@example.com>
License: some license
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Project-URL: Homepage, https://example.com
Project-URL: Documentation, https://readthedocs.org
Project-URL: Repository, https://github.com/mesonbuild/meson-python
Project-URL: Changelog,
https://github.com/mesonbuild/meson-python/blob/master/CHANGELOG.rst
Requires-Python: >=3.7
Requires-Dist: a
Requires-Dist: b>1
Requires-Dist: c>2; os_name != "nt"
Requires-Dist: d<3; extra == "test"
Requires-Dist: e[all]; extra == "test"
Provides-Extra: test
Description-Content-Type: text/markdown
<!--
SPDX-FileCopyrightText: 2021 The meson-python developers
SPDX-License-Identifier: MIT
-->
# full-metadata
An example package with all of the PEP 621 metadata!
'''))
# pyproject-metadata 0.8.0 and later uses a comma to separate keywords
expr = metadata.replace(r'Keywords:\ full\ metadata', r'Keywords:\
full[ ,]metadata')
assert re.fullmatch(expr, sdist_pkg_info)
E AssertionError: assert None
E + where None = <function fullmatch at
0x7f2326100a40>('Metadata\\-Version:\\ 2\\.1\\\nName:\\ full\\-metadata\\\nVersion:\\
1\\.2\\.3\\\nSummary:\\ Some\\ package\\ with\\ ...\\-\\->\\\n\\\n\\#\\
full\\-metadata\\\n\\\nAn\\ example\\ package\\ with\\ all\\ of\\ the\\ PEP\\ 621\\
metadata!\\\n', 'Metadata-Version: 2.1\nName: full-metadata\nVersion: 1.2.3\nSummary: Some
package with all of the PEP 621 metadata\nK...pers\n\nSPDX-License-Identifier:
MIT\n-->\n\n# full-metadata\n\nAn example package with all of the PEP 621 metadata!\n')
E + where <function fullmatch at 0x7f2326100a40> = re.fullmatch
tests/test_sdist.py:73: AssertionError
---------------------------- Captured stdout setup -----------------------------
Initialized empty Git repository in
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/full-metadata/.git/
+ meson setup /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/full-metadata
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/full-metadata/.mesonpy-42l0rsh8
-Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md
--native-file=/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/full-metadata/.mesonpy-42l0rsh8/meson-python-native-file.ini
The Meson build system
Version: 1.6.0
Source dir:
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/full-metadata
Build dir:
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/full-metadata/.mesonpy-42l0rsh8
Build type: native build
Project name: full-metadata
Project version: 1.0.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Build targets in project: 0
full-metadata 1.0.0
User defined options
Native files:
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/full-metadata/.mesonpy-42l0rsh8/meson-python-native-file.ini
b_ndebug : if-release
b_vscrt : md
buildtype : release
Found ninja-1.12.1 at /usr/bin/ninja
+ meson dist --allow-dirty --no-tests --formats gztar
Created
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/full-metadata/.mesonpy-42l0rsh8/meson-dist/full-metadata-1.0.0.tar.gz
_____________________________ test_dynamic_version _____________________________
sdist_dynamic_version =
PosixPath('/tmp/pytest-of-buildd/pytest-0/test0/mesonpy-test-n04ixm0s/dynamic_version-1.0.0.tar.gz')
def test_dynamic_version(sdist_dynamic_version):
with tarfile.open(sdist_dynamic_version, 'r:gz') as sdist:
sdist_pkg_info =
sdist.extractfile('dynamic_version-1.0.0/PKG-INFO').read().decode()
assert sdist_pkg_info == textwrap.dedent('''\
Metadata-Version: 2.1
Name: dynamic-version
Version: 1.0.0
''')
E AssertionError: assert 'Metadata-Ver...on: 1.0.0\n\n' ==
'Metadata-Ver...sion: 1.0.0\n'
E
E Skipping 48 identical leading characters in diff, use -v to show
E ion: 1.0.0
E +
tests/test_sdist.py:80: AssertionError
---------------------------- Captured stdout setup -----------------------------
Initialized empty Git repository in
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/dynamic-version/.git/
+ meson setup /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/dynamic-version
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/dynamic-version/.mesonpy-jt_y31j_
-Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md
--native-file=/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/dynamic-version/.mesonpy-jt_y31j_/meson-python-native-file.ini
The Meson build system
Version: 1.6.0
Source dir:
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/dynamic-version
Build dir:
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/dynamic-version/.mesonpy-jt_y31j_
Build type: native build
Project name: dynamic-version
Project version: 1.0.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Build targets in project: 0
dynamic-version 1.0.0
User defined options
Native files:
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/dynamic-version/.mesonpy-jt_y31j_/meson-python-native-file.ini
b_ndebug : if-release
b_vscrt : md
buildtype : release
Found ninja-1.12.1 at /usr/bin/ninja
+ meson dist --allow-dirty --no-tests --formats gztar
Created
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/dynamic-version/.mesonpy-jt_y31j_/meson-dist/dynamic-version-1.0.0.tar.gz
=========================== short test summary info ============================
SKIPPED [1] tests/test_project.py:204: Requires MSVC
SKIPPED [3] tests/test_project.py:216: macOS specific test
SKIPPED [2] tests/test_project.py:233: macOS specific test
SKIPPED [1] tests/test_tags.py:47: macOS specific test
SKIPPED [1] tests/test_tags.py:59: macOS specific test
SKIPPED [1] tests/test_tags.py:69: macOS specific test
SKIPPED [2] tests/test_wheel.py:249: macOS specific test
FAILED tests/test_metadata.py::test_missing_version - AssertionError: Regex p...
FAILED tests/test_sdist.py::test_no_pep621 - AssertionError: assert 'Metadata...
FAILED tests/test_sdist.py::test_pep621 - AssertionError: assert None
FAILED tests/test_sdist.py::test_dynamic_version - AssertionError: assert 'Me...
================== 4 failed, 98 passed, 11 skipped in 50.10s ===================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build; python3.12 -m pytest
tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.12
returned exit code 13
make: *** [debian/rules:8: binary] Error 25
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/202410/
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 affects, so that this is still visible in the BTS web
page for this package.
Thanks.
--- End Message ---