Package: src:python-makefun
Version: 1.15.4-2
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

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

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

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

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 cannot 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:python-makefun, 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
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --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:142: Building wheel for python3.14 with "build" 
module
I: pybuild base:385: python3.14 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14  
* Building wheel...
<string>:19: DeprecationWarning: pkg_resources is deprecated as an API. See 
https://setuptools.pypa.io/en/latest/pkg_resources.html
toml section missing PosixPath('pyproject.toml') does not contain a 
tool.setuptools_scm section
toml section missing PosixPath('pyproject.toml') does not contain a 
tool.setuptools_scm section
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: BSD License

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

!!
  self._finalize_license_expression()
running bdist_wheel
/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:135: 
SetuptoolsDeprecationWarning: bdist_wheel.universal is deprecated
!!

        
********************************************************************************
        With Python 2.7 end-of-life, support for building universal wheels
        (i.e., wheels that support both Python 2 and Python 3)
        is being obviated.
        Please discontinue using this option, or if you still need it,
        file an issue with pypa/setuptools describing your use case.

        This deprecation is overdue, please update your project and remove 
deprecated
        calls to avoid build errors in the future.
        
********************************************************************************

!!
  self.finalize_options()
running build
running build_py
creating build/lib/makefun
copying src/makefun/_main_py35_and_higher.py -> build/lib/makefun
copying src/makefun/_main_legacy_py.py -> build/lib/makefun
copying src/makefun/_version.py -> build/lib/makefun
copying src/makefun/__init__.py -> build/lib/makefun
copying src/makefun/_main_py36_and_higher.py -> build/lib/makefun
copying src/makefun/main.py -> build/lib/makefun
copying src/makefun/py.typed -> build/lib/makefun
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/makefun
copying build/lib/makefun/_main_py35_and_higher.py -> 
build/bdist.linux-x86_64/wheel/./makefun
copying build/lib/makefun/_main_legacy_py.py -> 
build/bdist.linux-x86_64/wheel/./makefun
copying build/lib/makefun/_version.py -> 
build/bdist.linux-x86_64/wheel/./makefun
copying build/lib/makefun/__init__.py -> 
build/bdist.linux-x86_64/wheel/./makefun
copying build/lib/makefun/py.typed -> build/bdist.linux-x86_64/wheel/./makefun
copying build/lib/makefun/_main_py36_and_higher.py -> 
build/bdist.linux-x86_64/wheel/./makefun
copying build/lib/makefun/main.py -> build/bdist.linux-x86_64/wheel/./makefun
running install_egg_info
running egg_info
creating src/makefun.egg-info
writing src/makefun.egg-info/PKG-INFO
writing dependency_links to src/makefun.egg-info/dependency_links.txt
writing top-level names to src/makefun.egg-info/top_level.txt
writing manifest file 'src/makefun.egg-info/SOURCES.txt'
reading manifest file 'src/makefun.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'src/makefun.egg-info/SOURCES.txt'
Copying src/makefun.egg-info to 
build/bdist.linux-x86_64/wheel/./makefun-1.15.4.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/makefun-1.15.4.dist-info/WHEEL
creating 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/.tmp-jradxegj/makefun-1.15.4-py2.py3-none-any.whl'
 and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'makefun/__init__.py'
adding 'makefun/_main_legacy_py.py'
adding 'makefun/_main_py35_and_higher.py'
adding 'makefun/_main_py36_and_higher.py'
adding 'makefun/_version.py'
adding 'makefun/main.py'
adding 'makefun/py.typed'
adding 'makefun-1.15.4.dist-info/licenses/LICENSE'
adding 'makefun-1.15.4.dist-info/METADATA'
adding 'makefun-1.15.4.dist-info/WHEEL'
adding 'makefun-1.15.4.dist-info/top_level.txt'
adding 'makefun-1.15.4.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built makefun-1.15.4-py2.py3-none-any.whl
I: pybuild plugin_pyproject:168: Unpacking wheel built for python3.14 with 
"installer" module
   dh_auto_test -O--buildsystem=pybuild
I: pybuild base:385: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build; 
python3.14 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.14.6, pytest-9.1.1, pluggy-1.6.0 -- 
/usr/bin/python3.14
cachedir: .pytest_cache
rootdir: /<<PKGBUILDDIR>>
configfile: setup.cfg
plugins: typeguard-4.4.4
collecting ... collected 97 items

tests/test_advanced.py::test_non_representable_defaults PASSED           [  1%]
tests/test_advanced.py::test_preserve_attributes PASSED                  [  2%]
tests/test_advanced.py::test_empty_name_in_string PASSED                 [  3%]
tests/test_advanced.py::test_same_than_wraps_basic PASSED                [  4%]
tests/test_advanced.py::tests_wraps_sigchange PASSED                     [  5%]
tests/test_advanced.py::tests_wraps_lambda PASSED                        [  6%]
tests/test_advanced.py::tests_wraps_renamed_lambda PASSED                [  7%]
tests/test_advanced.py::test_lambda_signature_str PASSED                 [  8%]
tests/test_advanced.py::test_co_name PASSED                              [  9%]
tests/test_advanced.py::test_with_signature_lambda PASSED                [ 10%]
tests/test_advanced.py::test_create_wrapper_lambda PASSED                [ 11%]
tests/test_advanced.py::test_invalid_co_name PASSED                      [ 12%]
tests/test_advanced.py::test_invalid_func_name PASSED                    [ 13%]
tests/test_advanced.py::test_qualname_when_nested PASSED                 [ 14%]
tests/test_advanced.py::test_type_hint_error PASSED                      [ 15%]
tests/test_advanced.py::test_type_hint_error2 PASSED                     [ 16%]
tests/test_advanced.py::test_type_hint_error_sigchange PASSED            [ 17%]
tests/test_compile_deco.py::test_compilefun PASSED                       [ 18%]
tests/test_compile_deco.py::test_compilefun_nested PASSED                [ 19%]
tests/test_compile_deco.py::test_compilefun_nested_already_compiled PASSED [ 
20%]
tests/test_compile_deco.py::test_compilefun_nested_exclude[variant=all] PASSED 
[ 21%]
tests/test_compile_deco.py::test_compilefun_nested_exclude[variant=named] 
PASSED [ 22%]
tests/test_compile_deco.py::test_compilefun_co_names PASSED              [ 23%]
tests/test_compile_deco.py::test_compilefun_nameerror PASSED             [ 24%]
tests/test_compile_deco.py::test_compilefun_method PASSED                [ 25%]
tests/test_compile_deco.py::test_compileclass_decorator PASSED           [ 26%]
tests/test_create_from_signature.py::test_positional_only PASSED         [ 27%]
tests/test_create_from_string.py::test_basic[type_hints=False-self_ref=True] 
PASSED [ 28%]
tests/test_create_from_string.py::test_basic[type_hints=False-self_ref=False] 
PASSED [ 29%]
tests/test_create_from_string.py::test_basic[type_hints=1-self_ref=True] PASSED 
[ 30%]
tests/test_create_from_string.py::test_basic[type_hints=1-self_ref=False] 
PASSED [ 31%]
tests/test_create_from_string.py::test_basic[type_hints=2-self_ref=True] PASSED 
[ 32%]
tests/test_create_from_string.py::test_basic[type_hints=2-self_ref=False] 
PASSED [ 34%]
tests/test_create_from_string.py::test_type_comments SKIPPED (This t...) [ 35%]
tests/test_create_from_string.py::TestArguments::test_case_simple PASSED [ 36%]
tests/test_create_from_string.py::TestArguments::test_case_simple_with_star 
PASSED [ 37%]
tests/test_create_from_string.py::TestArguments::test_case_simple_with_star_args1
 PASSED [ 38%]
tests/test_create_from_string.py::TestArguments::test_case_simple_with_star_args2
 PASSED [ 39%]
tests/test_create_from_string.py::TestArguments::test_case_with_type_comments_and_newlines
 PASSED [ 40%]
tests/test_doc.py::test_ex_nihilo[type=str-decorator=False] PASSED       [ 41%]
tests/test_doc.py::test_ex_nihilo[type=str-decorator=True] PASSED        [ 42%]
tests/test_doc.py::test_ex_nihilo[type=Signature-decorator=False] PASSED [ 43%]
tests/test_doc.py::test_ex_nihilo[type=Signature-decorator=True] PASSED  [ 44%]
tests/test_doc.py::test_ex_nihilo_kw_only PASSED                         [ 45%]
tests/test_doc.py::test_from_sig_wrapper[use_decorator=False] PASSED     [ 46%]
tests/test_doc.py::test_from_sig_wrapper[use_decorator=True] PASSED      [ 47%]
tests/test_doc.py::test_helper_functions PASSED                          [ 48%]
tests/test_doc.py::test_injection PASSED                                 [ 49%]
tests/test_doc.py::test_var_length PASSED                                [ 50%]
tests/test_doc.py::test_positional_only PASSED                           [ 51%]
tests/test_doc.py::test_with_signature PASSED                            [ 52%]
tests/test_doc.py::test_with_signature_none PASSED                       [ 53%]
tests/test_doc.py::test_wraps hello!
b=2
hello!
b=0
hello!
b=1

PASSED                                     [ 54%]
tests/test_doc.py::test_wraps_functools hello!
b=0
hello!

PASSED                           [ 55%]
tests/test_doc.py::test_wraps_remove PASSED                              [ 56%]
tests/test_doc.py::test_wraps_add_doc PASSED                             [ 57%]
tests/test_doc.py::test_wraps_add[prepend=True] PASSED                   [ 58%]
tests/test_doc.py::test_wraps_add[prepend=False] PASSED                  [ 59%]
tests/test_generators_coroutines.py::test_generator PASSED               [ 60%]
tests/test_generators_coroutines.py::test_generator_with_signature PASSED [ 61%]
tests/test_generators_coroutines.py::test_generator_based_coroutine PASSED [ 
62%]
tests/test_generators_coroutines.py::test_native_coroutine FAILED        [ 63%]
tests/test_generators_coroutines.py::test_issue_96 FAILED                [ 64%]
tests/test_issues.py::test_wraps_varpositional_issue_34 PASSED           [ 65%]
tests/test_issues.py::test_varpositional2 PASSED                         [ 67%]
tests/test_issues.py::test_invalid_signature_str PASSED                  [ 68%]
tests/test_issues.py::test_invalid_signature_str_py3 PASSED              [ 69%]
tests/test_issues.py::test_return_annotation_in_py2 PASSED               [ 70%]
tests/test_issues.py::test_init_replaced PASSED                          [ 71%]
tests/test_issues.py::test_issue_55 PASSED                               [ 72%]
tests/test_issues.py::test_partial_noargs PASSED                         [ 73%]
tests/test_issues.py::test_wraps_dict PASSED                             [ 74%]
tests/test_issues.py::test_issue_62 PASSED                               [ 75%]
tests/test_issues.py::test_issue_63 PASSED                               [ 76%]
tests/test_issues.py::test_issue_66 PASSED                               [ 77%]
tests/test_issues.py::test_issue_pr_67 PASSED                            [ 78%]
tests/test_issues.py::test_issue_76 PASSED                               [ 79%]
tests/test_issues.py::test_issue_77_async_generator_wraps FAILED         [ 80%]
tests/test_issues.py::test_issue_77_async_generator_partial FAILED       [ 81%]
tests/test_issues.py::test_issue_85_wrapped_forwardref_annotation PASSED [ 82%]
tests/test_issues.py::test_issue_91 PASSED                               [ 83%]
tests/test_issues.py::test_issue_98 PASSED                               [ 84%]
tests/test_partial_and_macros.py::test_doc PASSED                        [ 85%]
tests/test_partial_and_macros.py::test_partial PASSED                    [ 86%]
tests/test_partial_and_macros.py::test_issue_57 PASSED                   [ 87%]
tests/test_partial_and_macros.py::test_create_with_partial PASSED        [ 88%]
tests/test_partial_and_macros.py::test_args_order_and_kind PASSED        [ 89%]
tests/test_partial_and_macros.py::test_simple_partial_copy[False] PASSED [ 90%]
tests/test_partial_and_macros.py::test_simple_partial_copy[True] PASSED  [ 91%]
tests/test_so.py::test_create_facades This is generic impl called by func1
called from func1 !
This is generic impl called by func2
This is generic impl called by func3

PASSED                             [ 92%]
tests/test_so.py::test_so_decorator PASSED                               [ 93%]
tests/test_so.py::test_so_facade PASSED                                  [ 94%]
tests/test_so.py::test_so_sig_preserving Help on function my_func in module 
tests.test_so:

my_func(x)
    my function


PASSED                          [ 95%]
tests/test_so.py::test_sig_preserving_2 wrapper executes
22
Help on function funny_function in module tests.test_so:

funny_function(x, y, z=3)
    Computes x*y + 2*z


PASSED                           [ 96%]
tests/test_so.py::test_so_partial Help on function foo in module tests.test_so:

foo(a, *, b=10, c=1)
    <This function is equivalent to 'foo(a, b=10, c=1)', see original 'foo' doc 
below.>
    Return (a+b)*c.


PASSED                                 [ 97%]
tests/test_so.py::test_so_partial2 hello world
1 2
Help on function test in module tests.test_so:

test(*, a='hello', b='world', x, y)
    <This function is equivalent to 'test(a='hello', b='world', x, y)'.>

Help on function test in module tests.test_so:

test(*, a='hello', b='world', x, y)
    <This function is equivalent to 'test(a='hello', b='world', x, y)', see 
original 'test' doc below.>
    Here is a doc


PASSED                                [ 98%]
tests/test_so.py::test_so_partial_posargs Help on function test in module 
tests.test_so:

test(*, b='world', x, y)
    <This function is equivalent to 'test('hello', b='world', x, y)'.>


PASSED                         [100%]

=================================== FAILURES ===================================
____________________________ test_native_coroutine _____________________________

    @pytest.mark.skipif(sys.version_info < (3, 5), reason="native coroutines 
with async/await require python3.6 or higher")
    def test_native_coroutine():
        """ Tests that we can use a native async coroutine as function_handler 
in `create_function`"""
    
        # define the handler that should be called
        from tests._test_py35 import make_native_coroutine_handler
        my_native_coroutine_handler = make_native_coroutine_handler()
    
        # create the dynamic function
        dynamic_fun = create_function("foo(sleep_time=2)", 
my_native_coroutine_handler)
    
        # check that this is a coroutine for inspect and for asyncio
        assert iscoroutinefunction(dynamic_fun)
        from asyncio import iscoroutinefunction as is_native_co
        assert is_native_co(dynamic_fun)
    
        # verify that the new function is a native coroutine and behaves 
correctly
        from asyncio import get_event_loop
>       out = get_event_loop().run_until_complete(dynamic_fun(0.1))
              ^^^^^^^^^^^^^^^^

tests/test_generators_coroutines.py:96: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 
0x7f7aa20b57f0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

/usr/lib/python3.14/asyncio/events.py:718: RuntimeError
________________________________ test_issue_96 _________________________________

    @pytest.mark.skipif(sys.version_info < (3, 5), reason="native coroutines 
with async/await require python3.6 or higher")
    def test_issue_96():
        """Same as `test_native_coroutine` but tests that we can use 'return' 
in the coroutine name"""
    
        # define the handler that should be called
        from tests._test_py35 import make_native_coroutine_handler
        my_native_coroutine_handler = make_native_coroutine_handler()
    
        # create the dynamic function
        dynamic_fun = create_function("foo_returns_bar(sleep_time=2)", 
my_native_coroutine_handler)
    
        # check that this is a coroutine for inspect and for asyncio
        assert iscoroutinefunction(dynamic_fun)
        from asyncio import iscoroutinefunction as is_native_co
        assert is_native_co(dynamic_fun)
    
        # verify that the new function is a native coroutine and behaves 
correctly
        from asyncio import get_event_loop
>       out = get_event_loop().run_until_complete(dynamic_fun(0.1))
              ^^^^^^^^^^^^^^^^

tests/test_generators_coroutines.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 
0x7f7aa20b57f0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

/usr/lib/python3.14/asyncio/events.py:718: RuntimeError
_____________________ test_issue_77_async_generator_wraps ______________________

    @pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python 3.6 
or higher (async generator)")
    def test_issue_77_async_generator_wraps():
        import asyncio
        from ._test_py36 import make_async_generator, 
make_async_generator_wrapper
    
        f = make_async_generator()
        wrapper = wraps(f)(make_async_generator_wrapper(f))
    
        assert inspect.isasyncgenfunction(f)
        assert inspect.isasyncgenfunction(wrapper)
    
>       assert 
> asyncio.get_event_loop().run_until_complete(asyncio.ensure_future(wrapper(1).__anext__()))
>  == 1
               ^^^^^^^^^^^^^^^^^^^^^^^^

tests/test_issues.py:241: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 
0x7f7aa20b57f0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

/usr/lib/python3.14/asyncio/events.py:718: RuntimeError
____________________ test_issue_77_async_generator_partial _____________________

    @pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python 3.6 
or higher (async generator)")
    def test_issue_77_async_generator_partial():
        import asyncio
        from ._test_py36 import make_async_generator
    
        f = make_async_generator()
        f_partial = partial(f, v=1)
    
        assert inspect.isasyncgenfunction(f)
        assert inspect.isasyncgenfunction(f_partial)
    
>       assert 
> asyncio.get_event_loop().run_until_complete(asyncio.ensure_future(f_partial().__anext__()))
>  == 1
               ^^^^^^^^^^^^^^^^^^^^^^^^

tests/test_issues.py:255: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 
0x7f7aa20b57f0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

/usr/lib/python3.14/asyncio/events.py:718: RuntimeError
=============================== warnings summary ===============================
.pybuild/cpython3_3.14/build/tests/test_generators_coroutines.py::test_native_coroutine
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/tests/test_generators_coroutines.py:92:
 DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for 
removal in Python 3.16; use inspect.iscoroutinefunction() instead
    assert is_native_co(dynamic_fun)

.pybuild/cpython3_3.14/build/tests/test_generators_coroutines.py::test_issue_96
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/tests/test_generators_coroutines.py:114:
 DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for 
removal in Python 3.16; use inspect.iscoroutinefunction() instead
    assert is_native_co(dynamic_fun)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_generators_coroutines.py::test_native_coroutine - RuntimeEr...
FAILED tests/test_generators_coroutines.py::test_issue_96 - RuntimeError: The...
FAILED tests/test_issues.py::test_issue_77_async_generator_wraps - RuntimeErr...
FAILED tests/test_issues.py::test_issue_77_async_generator_partial - RuntimeE...
============= 4 failed, 92 passed, 1 skipped, 2 warnings in 0.19s ==============
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build; python3.14 -m pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.14 
--parallel=2 returned exit code 13
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit 
status 2
--------------------------------------------------------------------------------

Reply via email to