Bug 2220290

Summary: F39FailsToInstall: python3-josepy
Product: [Fedora] Fedora Reporter: Fedora Fails To Install <fti-bugs>
Component: python-josepyAssignee: Felix Schwarz <fschwarz>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: certbot-sig, fschwarz, mhroncok, nb
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-07-07 07:32:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2135404, 2168845    

Description Fedora Fails To Install 2023-07-05 19:13:56 UTC
Hello,

Please note that this comment was generated automatically by https://pagure.io/releng/blob/main/f/scripts/ftbfs-fti/follow-policy.py
If you feel that this output has mistakes, please open an issue at https://pagure.io/releng/

Your package (python-josepy) Fails To Install in Fedora 39:

can't install python3-josepy:
  - nothing provides python(abi) = 3.11 needed by python3-josepy-1.13.0-4.fc38.noarch
  - nothing provides python3.11dist(cryptography) >= 1.5 needed by python3-josepy-1.13.0-4.fc38.noarch
  - nothing provides python3.11dist(pyopenssl) >= 0.13 needed by python3-josepy-1.13.0-4.fc38.noarch
  - nothing provides python3.11dist(setuptools) >= 1 needed by python3-josepy-1.13.0-4.fc38.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-39-x86_64 --config-opts mirrored=False install python3-josepy


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 Felix Schwarz 2023-07-06 20:43:06 UTC
I traced this back to a test suite failure triggered by a deprecation warning in pyOpenSSL. I created an upstream issue: https://github.com/pyca/pyopenssl/issues/1228

=================================== FAILURES ===================================
____________________ ComparableX509Test.test_getattr_proxy _____________________

self = <util_test.ComparableX509Test testMethod=test_getattr_proxy>

    def test_getattr_proxy(self):
>       self.assertIs(self.cert1.has_expired(), True)

tests/util_test.py:22: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <OpenSSL.crypto.X509 object at 0x7f57096df2c0>

    def has_expired(self) -> bool:
        """
        Check whether the certificate has expired.
    
        :return: ``True`` if the certificate has expired, ``False`` otherwise.
        :rtype: bool
        """
        time_bytes = self.get_notAfter()
        if time_bytes is None:
            raise ValueError("Unable to determine notAfter")
        time_string = time_bytes.decode("utf-8")
        not_after = datetime.datetime.strptime(time_string, "%Y%m%d%H%M%SZ")
    
>       return not_after < datetime.datetime.utcnow()
E       DeprecationWarning: datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.now(datetime.UTC).

/usr/lib/python3.12/site-packages/OpenSSL/crypto.py:1437: DeprecationWarning
=========================== short test summary info ============================
FAILED tests/util_test.py::ComparableX509Test::test_getattr_proxy - Deprecati...
======================== 1 failed, 193 passed in 0.51s =========================

Comment 2 Miro HronĨok 2023-07-07 07:00:39 UTC
Running the tests with:

  %pytest -Wdefault

Usually helps.

Comment 3 Felix Schwarz 2023-07-07 07:32:12 UTC
That is a good idea. I added that to the spec file and triggered a new build.

Additionally I submitted a PR for pyOpenSSL upstream: https://github.com/pyca/pyopenssl/pull/1229

Btw: I won't have time to take care of the rest of the certbot stack so I'd be glad if someone else could trigger rebuilds for certbot.