Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.rc > #363800 > unrolled thread

Bug#1071329: meson-python: FTBFS: FileNotFoundError: [Errno 2] No such file or directory: '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/docs/examples/spam'

Started bySantiago Vila <sanvila@debian.org>
First post2024-05-17 22:50 +0200
Last post2024-07-21 00:00 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.debian.bugs.rc


Contents

  Bug#1071329: meson-python: FTBFS: FileNotFoundError: [Errno 2] No such file or directory: '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/docs/examples/spam' Santiago Vila <sanvila@debian.org> - 2024-05-17 22:50 +0200
    Bug#1071329: marked as pending in meson-python Simon McVittie <noreply@salsa.debian.org> - 2024-07-21 00:00 +0200
    Processed: Bug#1071329 marked as pending in meson-python "Debian Bug Tracking System" <owner@bugs.debian.org> - 2024-07-21 00:00 +0200

#363800 — Bug#1071329: meson-python: FTBFS: FileNotFoundError: [Errno 2] No such file or directory: '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/docs/examples/spam'

FromSantiago Vila <sanvila@debian.org>
Date2024-05-17 22:50 +0200
SubjectBug#1071329: meson-python: FTBFS: FileNotFoundError: [Errno 2] No such file or directory: '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/docs/examples/spam'
Message-ID<IFcGM-e26K-53@gated-at.bofh.it>
Package: src:meson-python
Version: 0.15.0-1
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-yf0sm3kx -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-yf0sm3kx/meson-python-native-file.ini
The Meson build system
Version: 1.4.0
Source dir: /<<PKGBUILDDIR>>
Build dir: /<<PKGBUILDDIR>>/.mesonpy-yf0sm3kx
Build type: native build
Project name: meson-python
Project version: 0.15.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.15.0

   User defined options
     Native files : /<<PKGBUILDDIR>>/.mesonpy-yf0sm3kx/meson-python-native-file.ini
     buildtype    : release
     libdir       : lib/x86_64-linux-gnu
     localstatedir: /var
     prefix       : /usr
     sysconfdir   : /etc
     wrap_mode    : nodownload
     b_ndebug     : if-release
     b_vscrt      : md

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.15.0-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with "installer" module
I: pybuild plugin_pyproject:129: Building wheel for python3.11 with "build" module
I: pybuild base:311: python3.11 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_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-_weco7n6 -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-_weco7n6/meson-python-native-file.ini
The Meson build system
Version: 1.4.0
Source dir: /<<PKGBUILDDIR>>
Build dir: /<<PKGBUILDDIR>>/.mesonpy-_weco7n6
Build type: native build
Project name: meson-python
Project version: 0.15.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program python found: YES (/usr/bin/python3.11)
Build targets in project: 0

meson-python 0.15.0

   User defined options
     Native files : /<<PKGBUILDDIR>>/.mesonpy-_weco7n6/meson-python-native-file.ini
     buildtype    : release
     libdir       : lib/x86_64-linux-gnu
     localstatedir: /var
     prefix       : /usr
     sysconfdir   : /etc
     wrap_mode    : nodownload
     b_ndebug     : if-release
     b_vscrt      : md

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.15.0-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.11 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.2.6
making output directory... done
loading intersphinx inventory 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 30 source files that are out of date
updating environment: [new config] 30 added, 0 changed, 0 removed
reading sources... [  3%] about
reading sources... [  7%] changelog
reading sources... [ 10%] contributing/commit-format
reading sources... [ 13%] contributing/documentation
reading sources... [ 17%] contributing/getting-started
reading sources... [ 20%] contributing/index
reading sources... [ 23%] contributing/release-process
reading sources... [ 27%] contributing/test-suite
reading sources... [ 30%] explanations/default-options
reading sources... [ 33%] explanations/design
reading sources... [ 37%] explanations/design-old
reading sources... [ 40%] explanations/editable-installs
reading sources... [ 43%] explanations/internal-dependencies
reading sources... [ 47%] how-to-guides/build-directory
reading sources... [ 50%] how-to-guides/config-settings
reading sources... [ 53%] how-to-guides/debug-builds
reading sources... [ 57%] how-to-guides/editable-installs
reading sources... [ 60%] how-to-guides/first-project
reading sources... [ 63%] how-to-guides/meson-args
reading sources... [ 67%] index
reading sources... [ 70%] projects-using-meson-python
reading sources... [ 73%] reference/config-settings
reading sources... [ 77%] reference/environment-variables
reading sources... [ 80%] reference/limitations
reading sources... [ 83%] reference/meson-compatibility
reading sources... [ 87%] reference/pyproject-settings
reading sources... [ 90%] reference/quirks
reading sources... [ 93%] tutorials/entrypoints
reading sources... [ 97%] tutorials/executable
reading sources... [100%] tutorials/introduction

looking for now-outdated files... none found
pickling environment... done
checking consistency... /<<PKGBUILDDIR>>/docs/contributing/commit-format.rst: WARNING: document isn't included in any toctree
/<<PKGBUILDDIR>>/docs/contributing/getting-started.rst: WARNING: document isn't included in any toctree
/<<PKGBUILDDIR>>/docs/contributing/test-suite.rst: WARNING: document isn't included in any toctree
/<<PKGBUILDDIR>>/docs/explanations/design.rst: WARNING: document isn't included in any toctree
/<<PKGBUILDDIR>>/docs/explanations/editable-installs.rst: WARNING: document isn't included in any toctree
/<<PKGBUILDDIR>>/docs/explanations/internal-dependencies.rst: WARNING: document isn't included in any toctree
/<<PKGBUILDDIR>>/docs/how-to-guides/build-directory.rst: WARNING: document isn't included in any toctree
/<<PKGBUILDDIR>>/docs/reference/quirks.rst: WARNING: document isn't included in any toctree
/<<PKGBUILDDIR>>/docs/tutorials/entrypoints.rst: WARNING: document isn't included in any toctree
/<<PKGBUILDDIR>>/docs/tutorials/executable.rst: WARNING: document isn't included in any toctree
done
preparing documents... WARNING: unsupported theme option 'light_css_variables' given
done
copying assets... copying static files... done
copying extra files... done
done
writing output... [  3%] about
writing output... [  7%] changelog
writing output... [ 10%] contributing/commit-format
writing output... [ 13%] contributing/documentation
writing output... [ 17%] contributing/getting-started
writing output... [ 20%] contributing/index
writing output... [ 23%] contributing/release-process
writing output... [ 27%] contributing/test-suite
writing output... [ 30%] explanations/default-options
writing output... [ 33%] explanations/design
writing output... [ 37%] explanations/design-old
writing output... [ 40%] explanations/editable-installs
writing output... [ 43%] explanations/internal-dependencies
writing output... [ 47%] how-to-guides/build-directory
writing output... [ 50%] how-to-guides/config-settings
writing output... [ 53%] how-to-guides/debug-builds
writing output... [ 57%] how-to-guides/editable-installs
writing output... [ 60%] how-to-guides/first-project
writing output... [ 63%] how-to-guides/meson-args
writing output... [ 67%] index
writing output... [ 70%] projects-using-meson-python
writing output... [ 73%] reference/config-settings
writing output... [ 77%] reference/environment-variables
writing output... [ 80%] reference/limitations
writing output... [ 83%] reference/meson-compatibility
writing output... [ 87%] reference/pyproject-settings
writing output... [ 90%] reference/quirks
writing output... [ 93%] tutorials/entrypoints
writing output... [ 97%] tutorials/executable
writing output... [100%] tutorials/introduction

/<<PKGBUILDDIR>>/docs/contributing/release-process.rst:16: WARNING: undefined label: 'security'
/<<PKGBUILDDIR>>/docs/tutorials/executable.rst:20: WARNING: undefined label: 'how-to-guides-executable-with-internal-dependencies'
generating indices... genindex done
writing additional pages... search done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded, 13 warnings.

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.3, pytest-8.1.2, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build
configfile: pyproject.toml
plugins: mock-3.12.0
collected 98 items

tests/test_consistency.py .                                              [  1%]
tests/test_editable.py .........                                         [ 10%]
tests/test_examples.py x                                                 [ 11%]
tests/test_metadata.py ....F                                             [ 16%]
tests/test_options.py ...                                                [ 19%]
tests/test_output.py .........                                           [ 28%]
tests/test_pep517.py .............                                       [ 41%]
tests/test_project.py ............s                                      [ 55%]
tests/test_sdist.py .F......                                             [ 63%]
tests/test_tags.py .ss.....                                              [ 71%]
tests/test_wheel.py ...............ss........                            [ 96%]
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',
         }}
         with pytest.raises(pyproject_metadata.ConfigurationError, match='Required "project.version" field is missing'):
>           Metadata.from_pyproject(pyproject, pathlib.Path())

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/test_metadata.py:52:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/mesonpy/__init__.py:230: in from_pyproject
     metadata = super().from_pyproject(data, project_dir)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

cls = <class 'mesonpy.Metadata'>
data = {'project': {'name': 'missing-version'}}, project_dir = PosixPath('.')
metadata_version = None

     @classmethod
     def from_pyproject(
         cls,
         data: Mapping[str, Any],
         project_dir: str | os.PathLike[str] = os.path.curdir,
         metadata_version: str | None = None,
     ) -> Self:
         fetcher = DataFetcher(data)
         project_dir = pathlib.Path(project_dir)
     
         if 'project' not in fetcher:
             msg = 'Section "project" missing in pyproject.toml'
             raise ConfigurationError(msg)
     
         dynamic = fetcher.get_list('project.dynamic')
         if 'name' in dynamic:
             msg = 'Unsupported field "name" in "project.dynamic"'
             raise ConfigurationError(msg)
     
         for field in dynamic:
             if field in data['project']:
                 msg = f'Field "project.{field}" declared as dynamic in "project.dynamic" but is defined'
                 raise ConfigurationError(msg)
     
         name = fetcher.get_str('project.name')
         if not name:
             msg = 'Field "project.name" missing'
             raise ConfigurationError(msg)
     
         version_string = fetcher.get_str('project.version')
         requires_python_string = fetcher.get_str('project.requires-python')
         version = packaging.version.Version(version_string) if version_string else None
     
         if version is None and 'version' not in dynamic:
             msg = 'Field "project.version" missing and "version" not specified in "project.dynamic"'
>           raise ConfigurationError(msg)
E           pyproject_metadata.ConfigurationError: Field "project.version" missing and "version" not specified in "project.dynamic"

/usr/lib/python3/dist-packages/pyproject_metadata/__init__.py:242: 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',
         }}
>       with pytest.raises(pyproject_metadata.ConfigurationError, match='Required "project.version" field is missing'):
E       AssertionError: Regex pattern did not match.
E        Regex: 'Required "project.version" field is missing'
E        Input: 'Field "project.version" missing and "version" not specified in "project.dynamic"'

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/test_metadata.py:51: AssertionError
_________________________________ test_pep621 __________________________________

sdist_full_metadata = PosixPath('/tmp/pytest-of-buildd/pytest-0/test0/mesonpy-test-sn6lrr_x/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()
     
>       assert sdist_pkg_info == 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.doe@example.com>
             Maintainer-Email: Jane Doe <jane.doe@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!
         ''')
E       AssertionError: assert 'Metadata-Ver...1 metadata!\n' == 'Metadata-Ver...1 metadata!\n'
E
E         Skipping 116 identical leading characters in diff, use -v to show
E         Skipping 906 identical trailing characters in diff, use -v to show
E         - ords: full metadata
E         ?           ^
E         + ords: full,metadata
E         ?           ^

tests/test_sdist.py:33: 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-989fqevp -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/tests/packages/full-metadata/.mesonpy-989fqevp/meson-python-native-file.ini
The Meson build system
Version: 1.4.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-989fqevp
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-989fqevp/meson-python-native-file.ini
     buildtype   : release
     b_ndebug    : if-release
     b_vscrt     : md

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-989fqevp/meson-dist/full-metadata-1.0.0.tar.gz
================================== XFAILURES ===================================
__________________________________ test_spam ___________________________________

venv = <tests.conftest.VEnv object at 0x7fc5f4ef5d00>
tmp_path = PosixPath('/tmp/pytest-of-buildd/pytest-0/test_spam0')

     @pytest.mark.xfail(reason="FIXME: Needs more investigation to pass in Debian")
     def test_spam(venv, tmp_path):
         """Test that the wheel for the example builds, installs, and imports."""
>       with chdir(examples_dir / 'spam'):

tests/test_examples.py:22:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.12/contextlib.py:137: in __enter__
     return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = PosixPath('/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/docs/examples/spam')

     @contextlib.contextmanager
     def chdir(path: Path) -> Iterator[Path]:
         """Context manager helper to change the current working directory -- cd."""
         old_cwd = os.getcwd()
>       os.chdir(os.fspath(path))
E       FileNotFoundError: [Errno 2] No such file or directory: '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_mesonpy/build/docs/examples/spam'

mesonpy/_util.py:30: FileNotFoundError
=========================== short test summary info ============================
SKIPPED [1] tests/test_project.py:204: Requires MSVC
SKIPPED [1] tests/test_tags.py:46: macOS specific test
SKIPPED [1] tests/test_tags.py:57: macOS specific test
SKIPPED [2] tests/test_wheel.py:249: macOS specific test
XFAIL tests/test_examples.py::test_spam - FIXME: Needs more investigation to pass in Debian
FAILED tests/test_metadata.py::test_missing_version - AssertionError: Regex p...
FAILED tests/test_sdist.py::test_pep621 - AssertionError: assert 'Metadata-Ve...
============= 2 failed, 90 passed, 5 skipped, 1 xfailed in 43.34s ==============
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
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build; python3.11 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.11.9, pytest-8.1.2, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build
configfile: pyproject.toml
plugins: mock-3.12.0
collected 98 items

tests/test_consistency.py .                                              [  1%]
tests/test_editable.py .........                                         [ 10%]
tests/test_examples.py x                                                 [ 11%]
tests/test_metadata.py ....F                                             [ 16%]
tests/test_options.py ...                                                [ 19%]
tests/test_output.py .........                                           [ 28%]
tests/test_pep517.py .............                                       [ 41%]
tests/test_project.py ............s                                      [ 55%]
tests/test_sdist.py .F......                                             [ 63%]
tests/test_tags.py .ss.....                                              [ 71%]
tests/test_wheel.py ...............ss........                            [ 96%]
tests/test_wheelfile.py ...                                              [100%]

=================================== FAILURES ===================================
_____________________________ test_missing_version _____________________________

package_missing_version = PosixPath('/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/tests/packages/missing-version')

     def test_missing_version(package_missing_version):
         pyproject = {'project': {
             'name': 'missing-version',
         }}
         with pytest.raises(pyproject_metadata.ConfigurationError, match='Required "project.version" field is missing'):
>           Metadata.from_pyproject(pyproject, pathlib.Path())

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/tests/test_metadata.py:52:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/mesonpy/__init__.py:230: in from_pyproject
     metadata = super().from_pyproject(data, project_dir)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

cls = <class 'mesonpy.Metadata'>
data = {'project': {'name': 'missing-version'}}, project_dir = PosixPath('.')
metadata_version = None

     @classmethod
     def from_pyproject(
         cls,
         data: Mapping[str, Any],
         project_dir: str | os.PathLike[str] = os.path.curdir,
         metadata_version: str | None = None,
     ) -> Self:
         fetcher = DataFetcher(data)
         project_dir = pathlib.Path(project_dir)
     
         if 'project' not in fetcher:
             msg = 'Section "project" missing in pyproject.toml'
             raise ConfigurationError(msg)
     
         dynamic = fetcher.get_list('project.dynamic')
         if 'name' in dynamic:
             msg = 'Unsupported field "name" in "project.dynamic"'
             raise ConfigurationError(msg)
     
         for field in dynamic:
             if field in data['project']:
                 msg = f'Field "project.{field}" declared as dynamic in "project.dynamic" but is defined'
                 raise ConfigurationError(msg)
     
         name = fetcher.get_str('project.name')
         if not name:
             msg = 'Field "project.name" missing'
             raise ConfigurationError(msg)
     
         version_string = fetcher.get_str('project.version')
         requires_python_string = fetcher.get_str('project.requires-python')
         version = packaging.version.Version(version_string) if version_string else None
     
         if version is None and 'version' not in dynamic:
             msg = 'Field "project.version" missing and "version" not specified in "project.dynamic"'
>           raise ConfigurationError(msg)
E           pyproject_metadata.ConfigurationError: Field "project.version" missing and "version" not specified in "project.dynamic"

/usr/lib/python3/dist-packages/pyproject_metadata/__init__.py:242: ConfigurationError

During handling of the above exception, another exception occurred:

package_missing_version = PosixPath('/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/tests/packages/missing-version')

     def test_missing_version(package_missing_version):
         pyproject = {'project': {
             'name': 'missing-version',
         }}
>       with pytest.raises(pyproject_metadata.ConfigurationError, match='Required "project.version" field is missing'):
E       AssertionError: Regex pattern did not match.
E        Regex: 'Required "project.version" field is missing'
E        Input: 'Field "project.version" missing and "version" not specified in "project.dynamic"'

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/tests/test_metadata.py:51: AssertionError
_________________________________ test_pep621 __________________________________

sdist_full_metadata = PosixPath('/tmp/pytest-of-buildd/pytest-1/test0/mesonpy-test-2ipp_v5r/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()
     
>       assert sdist_pkg_info == 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.doe@example.com>
             Maintainer-Email: Jane Doe <jane.doe@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!
         ''')
E       AssertionError: assert 'Metadata-Ver...1 metadata!\n' == 'Metadata-Ver...1 metadata!\n'
E
E         Skipping 116 identical leading characters in diff, use -v to show
E         Skipping 906 identical trailing characters in diff, use -v to show
E         - ords: full metadata
E         ?           ^
E         + ords: full,metadata
E         ?           ^

tests/test_sdist.py:33: AssertionError
---------------------------- Captured stdout setup -----------------------------
Initialized empty Git repository in /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/tests/packages/full-metadata/.git/
+ meson setup /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/tests/packages/full-metadata /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/tests/packages/full-metadata/.mesonpy-7w0mrv2y -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/tests/packages/full-metadata/.mesonpy-7w0mrv2y/meson-python-native-file.ini
The Meson build system
Version: 1.4.0
Source dir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/tests/packages/full-metadata
Build dir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/tests/packages/full-metadata/.mesonpy-7w0mrv2y
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.11_mesonpy/build/tests/packages/full-metadata/.mesonpy-7w0mrv2y/meson-python-native-file.ini
     buildtype   : release
     b_ndebug    : if-release
     b_vscrt     : md

Found ninja-1.12.1 at /usr/bin/ninja
+ meson dist --allow-dirty --no-tests --formats gztar
Created /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/tests/packages/full-metadata/.mesonpy-7w0mrv2y/meson-dist/full-metadata-1.0.0.tar.gz
================================== XFAILURES ===================================
__________________________________ test_spam ___________________________________

venv = <tests.conftest.VEnv object at 0x7f8700379110>
tmp_path = PosixPath('/tmp/pytest-of-buildd/pytest-1/test_spam0')

     @pytest.mark.xfail(reason="FIXME: Needs more investigation to pass in Debian")
     def test_spam(venv, tmp_path):
         """Test that the wheel for the example builds, installs, and imports."""
>       with chdir(examples_dir / 'spam'):

tests/test_examples.py:22:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.11/contextlib.py:137: in __enter__
     return next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = PosixPath('/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/docs/examples/spam')

     @contextlib.contextmanager
     def chdir(path: Path) -> Iterator[Path]:
         """Context manager helper to change the current working directory -- cd."""
         old_cwd = os.getcwd()
>       os.chdir(os.fspath(path))
E       FileNotFoundError: [Errno 2] No such file or directory: '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/docs/examples/spam'

mesonpy/_util.py:30: FileNotFoundError
=========================== short test summary info ============================
SKIPPED [1] tests/test_project.py:204: Requires MSVC
SKIPPED [1] tests/test_tags.py:46: macOS specific test
SKIPPED [1] tests/test_tags.py:57: macOS specific test
SKIPPED [2] tests/test_wheel.py:249: macOS specific test
XFAIL tests/test_examples.py::test_spam - FIXME: Needs more investigation to pass in Debian
FAILED tests/test_metadata.py::test_missing_version - AssertionError: Regex p...
FAILED tests/test_sdist.py::test_pep621 - AssertionError: assert 'Metadata-Ve...
============= 2 failed, 90 passed, 5 skipped, 1 xfailed in 45.48s ==============
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build; python3.11 -m pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 3.11" 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/202405/

About the archive rebuild: The build was made on virtual machines
of type m6a.large and r6a.large 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.

[toc] | [next] | [standalone]


#367438 — Bug#1071329: marked as pending in meson-python

FromSimon McVittie <noreply@salsa.debian.org>
Date2024-07-21 00:00 +0200
SubjectBug#1071329: marked as pending in meson-python
Message-ID<J2qhr-3yI2-3@gated-at.bofh.it>
In reply to#363800
Control: tag -1 pending

Hello,

Bug #1071329 in meson-python reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/python-team/packages/meson-python/-/commit/ae823cedfb62a556bfd604a97a396ed5aa90675b

------------------------------------------------------------------------
Add patch from upstream to fix test failures with updated pyproject-metadata

Closes: #1071329
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1071329

[toc] | [prev] | [next] | [standalone]


#367439 — Processed: Bug#1071329 marked as pending in meson-python

From"Debian Bug Tracking System" <owner@bugs.debian.org>
Date2024-07-21 00:00 +0200
SubjectProcessed: Bug#1071329 marked as pending in meson-python
Message-ID<J2qhr-3yI2-7@gated-at.bofh.it>
In reply to#363800
Processing control commands:

> tag -1 pending
Bug #1071329 [src:meson-python] meson-python: FTBFS: FileNotFoundError: [Errno 2] No such file or directory: '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_mesonpy/build/docs/examples/spam'
Added tag(s) pending.

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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.rc


csiph-web