Bug 2098971 - F37FailsToInstall: python3-hypothesmith
Summary: F37FailsToInstall: python3-hypothesmith
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: python-hypothesmith
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Miro Hrončok
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.11 F37FailsToInstall
TreeView+ depends on / blocked
 
Reported: 2022-06-20 09:38 UTC by Miro Hrončok
Modified: 2022-07-18 22:24 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-07-18 22:24:32 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Miro Hrončok 2022-06-20 09:38:09 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (mhroncok).

Your package (python-hypothesmith) Fails To Install in Fedora 37:

can't install python3-hypothesmith:
  - nothing provides python(abi) = 3.10 needed by python3-hypothesmith-0.2.0-2.fc36.noarch
  - nothing provides python3.10dist(hypothesis) >= 5.41 needed by python3-hypothesmith-0.2.0-2.fc36.noarch
  - nothing provides python3.10dist(lark-parser) >= 0.7.2 needed by python3-hypothesmith-0.2.0-2.fc36.noarch
  
If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.


If you don't react accordingly to the policy for FTBFS/FTI bugs (https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/), your package may be orphaned in 8+ weeks.


P.S. The data was generated solely from koji buildroot, so it might be newer than the latest compose or the content on mirrors. To reproduce, use the koji/local repo only, e.g. in mock:

    $ mock -r fedora-37-x86_64 --disablerepo='*' --enablerepo=local install python3-hypothesmith


P.P.S. If this bug has been reported in the middle of upgrading multiple dependent packages, please consider using side tags: https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#updating-inter-dependent-packages

Thanks!

Comment 1 Miro Hrončok 2022-06-20 10:08:35 UTC
This bugzilla is likely a fallout from the Python 3.11 rebuild.

If your package (or some of the dependencies it has) failed to rebuild during the Python 3.11 rebuild, they now fail to install. To fix this, packages need to be rebuilt in Rawhide.

We will slowly triage the bugzillas, but we'd appreciate your help.

If you know this is blocked by an existing reported build failure or another package not yet rebuilt with Python 3.11, please mark it as such by using the "Depends On"/"Blocks" bugzilla fields. That will help us determine what failures to prioritize.

If this is not Python 3.11 related, please remove the PYTHON3.11 blocking tracker.

Thank you and sorry for the inconvenience. Let me know if you need any help.

Comment 2 Miro Hrončok 2022-06-27 14:58:21 UTC
Hello,

This is the first reminder (step 3 from https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/#_package_removal_for_long_standing_ftbfs_and_fti_bugs).

If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.

Comment 3 Miro Hrončok 2022-07-04 09:20:46 UTC
Note that this blocks a testful rebuild od python-libcst. In order to avoid a dependency loop, we have committed:

https://src.fedoraproject.org/rpms/python-libcst/c/74f9fa39e34f8f9cd50af154018f37450f93589b?branch=rawhide


So python-libcst was built without tests. Now we would like to revert our bootsrap change, but we cannot build it while hypothesmith is not fixed.

Comment 4 Davide Cavalca 2022-07-06 15:52:36 UTC
So this currently fails to build because the tests fail with

ERROR tests/test_cst.py - DeprecationWarning: module 'sre_parse' is deprecated
ERROR tests/test_syntactic.py - DeprecationWarning: module 'sre_parse' is dep...
ERROR tests/test_version.py - DeprecationWarning: module 'sre_parse' is depre...

This failure comes from hypothesis, which is missing https://github.com/HypothesisWorks/hypothesis/commit/6d1d17d016d092146b620e4f9338f9b125e33ded for python 3.11 compatibility. I think either backporting that or updating hypothesis to 6.45.1 or later should fix it. Will try to test and validate this later.

Comment 6 Miro Hrončok 2022-07-06 23:47:18 UTC
____________________ ERROR collecting tests/test_version.py ____________________
tests/test_version.py:8: in <module>
    import hypothesmith
../../BUILDROOT/python-hypothesmith-0.2.0-3.fc37.x86_64/usr/lib/python3.11/site-packages/hypothesmith/__init__.py:3: in <module>
    from hypothesmith.cst import from_node
../../BUILDROOT/python-hypothesmith-0.2.0-3.fc37.x86_64/usr/lib/python3.11/site-packages/hypothesmith/cst.py:24: in <module>
    from hypothesmith.syntactic import identifiers
../../BUILDROOT/python-hypothesmith-0.2.0-3.fc37.x86_64/usr/lib/python3.11/site-packages/hypothesmith/syntactic.py:11: in <module>
    from hypothesis.extra.lark import LarkStrategy
/usr/lib/python3.11/site-packages/hypothesis/extra/lark.py:36: in <module>
    import lark
/usr/lib/python3.11/site-packages/lark/__init__.py:2: in <module>
    from .visitors import Transformer, Visitor, v_args, Discard
/usr/lib/python3.11/site-packages/lark/visitors.py:3: in <module>
    from .utils import smart_decorator, combine_alternatives
/usr/lib/python3.11/site-packages/lark/utils.py:176: in <module>
    import sre_parse
/usr/lib64/python3.11/sre_parse.py:2: in <module>
    warnings.warn(f"module {__name__!r} is deprecated",
E   DeprecationWarning: module 'sre_parse' is deprecated

That is now coming from /usr/lib/python3.11/site-packages/lark/ not from hypothesis.

Comment 7 Miro Hrončok 2022-07-06 23:49:09 UTC
https://github.com/lark-parser/lark/pull/1140

Comment 9 Miro Hrončok 2022-07-07 09:41:27 UTC
I've attempted to run the tests in mock with -n auto, as they are quite slow.

I got:

+ /usr/bin/pytest -n auto
============================= test session starts ==============================
platform linux -- Python 3.11.0b3, pytest-7.1.2, pluggy-1.0.0
rootdir: /builddir/build/BUILD/hypothesmith-0.2.0, configfile: tox.ini
plugins: hypothesis-6.45.0, forked-1.4.0, xdist-2.5.0, cov-3.0.0
gw0 I / gw1 I / gw2 I / gw3 I / gw4 I / gw5 I / gw6 I / gw7 I
gw0 [159] / gw1 [159] / gw2 [159] / gw3 [159] / gw4 [159] / gw5 [159] / gw6 [159] / gw7 [159]

.....s.................................................................. [ 45%]
..........s....................................................x........ [ 90%]
...........x..x                                                          [100%]

----------- coverage: platform linux, python 3.11.0-beta-3 -----------
Name                                                                                                                     Stmts   Miss Branch BrPart  Cover   Missing
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
/builddir/build/BUILDROOT/python-hypothesmith-0.2.0-4.fc37.x86_64/usr/lib/python3.11/site-packages/hypothesmith/cst.py     166     32     16      8    78%   28->35, 62, 116, 117->139, 197, 235, 250, 262, 436, 454, 460, 465-466, 471-473, 477, 479, 487, 508, 524, 528-529, 543, 545, 548, 557-558, 564-565, 568, 570, 596, 642
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                                                                                      244     32     46      8    86%

2 files skipped due to complete coverage.

FAIL Required test coverage of 100% not reached. Total coverage: 86.21%
============ 154 passed, 2 skipped, 3 xfailed in 858.71s (0:14:18) =============



Trying again without -n auto.


Note that "Required test coverage of 100% not reached" IMHO should not prevent this package from building in Fedora. However, this might indicate other problems.

Comment 10 Miro Hrončok 2022-07-07 10:14:08 UTC
Same result:

+ /usr/bin/pytest
============================= test session starts ==============================
platform linux -- Python 3.11.0b3, pytest-7.1.2, pluggy-1.0.0
rootdir: /builddir/build/BUILD/hypothesmith-0.2.0, configfile: tox.ini
plugins: hypothesis-6.45.0, forked-1.4.0, xdist-2.5.0, cov-3.0.0
collected 159 items

tests/test_cst.py ....s................................................. [ 33%]
...................................................s.................... [ 79%]
..................x...                                                   [ 93%]
tests/test_syntactic.py xx......                                         [ 98%]
tests/test_version.py ...                                                [100%]

----------- coverage: platform linux, python 3.11.0-beta-3 -----------
Name                                                                                                                     Stmts   Miss Branch BrPart  Cover   Missing
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
/builddir/build/BUILDROOT/python-hypothesmith-0.2.0-3.fc37.x86_64/usr/lib/python3.11/site-packages/hypothesmith/cst.py     166     32     16      8    78%   28->35, 62, 116, 117->139, 197, 235, 250, 262, 436, 454, 460, 465-466, 471-473, 477, 479, 487, 508, 524, 528-529, 543, 545, 548, 557-558, 564-565, 568, 570, 596, 642
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                                                                                      244     32     46      8    86%

2 files skipped due to complete coverage.

FAIL Required test coverage of 100% not reached. Total coverage: 86.21%

============ 154 passed, 2 skipped, 3 xfailed in 2084.11s (0:34:44) ============



Interestingly, the file has only 276 lines. I think this is a problem in pytest-cov/coverage and not in this package.

Comment 11 Miro Hrončok 2022-07-16 09:35:06 UTC
> I think this is a problem in pytest-cov/coverage and not in this package.

I tested locally in mock with the recently updated coverage and it seems to build.

Submitted https://koji.fedoraproject.org/koji/taskinfo?taskID=89566752

Comment 12 Miro Hrončok 2022-07-18 22:24:32 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (mhroncok).

All subpackages of a package against which this bug was filled are now installable or removed from Fedora 37.

Thanks for taking care of it!


Note You need to log in before you can comment on or make changes to this bug.