Opened 8 months ago

Closed 8 months ago

#69635 closed defect (fixed)

py-keyring misses py-jaraco.functools as dependency

Reported by: fdik (Volker Birk) Owned by: reneeotten (Renee Otten)
Priority: Normal Milestone:
Component: ports Version: 2.9.1
Keywords: Cc: catap (Kirill A. Korinsky)
Port: py-keyring

Description

After selfupdate the offlineimap command breaks with:

% offlineimap
Traceback (most recent call last):
  File "/opt/local/bin/offlineimap", line 19, in <module>
    from offlineimap import OfflineImap
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/offlineimap/__init__.py", line 20, in <module>
    from offlineimap.init import OfflineImap
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/offlineimap/init.py", line 35, in <module>
    from offlineimap import threadutil, accounts, folder, mbnames
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/offlineimap/accounts.py", line 26, in <module>
    from offlineimap.repository import Repository
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/offlineimap/repository/__init__.py", line 20, in <module>
    from offlineimap.repository.IMAP import IMAPRepository, MappedIMAPRepository
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/offlineimap/repository/IMAP.py", line 26, in <module>
    import keyring
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/keyring/__init__.py", line 1, in <module>
    from .core import (
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/keyring/core.py", line 11, in <module>
    from . import backend, credentials
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/keyring/backend.py", line 14, in <module>
    from jaraco.functools import once
ModuleNotFoundError: No module named 'jaraco.functools'

Installing py312-jaraco.functools fixes this.

Change History (7)

comment:1 Changed 8 months ago by ryandesign (Ryan Carsten Schmidt)

Keywords: offlineimap dependency break jaraco functools removed
Owner: set to catap
Status: newassigned

comment:2 Changed 8 months ago by jmroot (Joshua Root)

Cc: catap added
Owner: changed from catap to reneeotten
Port: py-keyring added; offlineimap removed
Summary: offlineimap @8.0.0-20231218_1 misses py312-jaraco.functools as dependencypy-keyring misses py-jaraco.functools as dependency

comment:3 Changed 8 months ago by fdik (Volker Birk)

With another update there is another missing dependency:

% offlineimap
Traceback (most recent call last):
  File "/opt/local/bin/offlineimap", line 19, in <module>
    from offlineimap import OfflineImap
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/offlineimap/__init__.py", line 20, in <module>
    from offlineimap.init import OfflineImap
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/offlineimap/init.py", line 35, in <module>
    from offlineimap import threadutil, accounts, folder, mbnames
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/offlineimap/accounts.py", line 26, in <module>
    from offlineimap.repository import Repository
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/offlineimap/repository/__init__.py", line 20, in <module>
    from offlineimap.repository.IMAP import IMAPRepository, MappedIMAPRepository
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/offlineimap/repository/IMAP.py", line 26, in <module>
    import keyring
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/keyring/__init__.py", line 1, in <module>
    from .core import (
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/keyring/core.py", line 11, in <module>
    from . import backend, credentials
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/keyring/backend.py", line 14, in <module>
    from jaraco.context import ExceptionTrap
ModuleNotFoundError: No module named 'jaraco.context'
Last edited 8 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:4 Changed 8 months ago by fdik (Volker Birk)

FYI: Because I use offlineimap actively, I will remove the MacPorts version now and install using pip. So I will not be able to report about this case anymore.

comment:5 Changed 8 months ago by fdik (Volker Birk)

in case there is a fix I'm still interested, because then I'll switch back to the MacPorts version.

comment:6 Changed 8 months ago by fdik (Volker Birk)

Forwarded from the OfflineIMAP support:

From: Hugo <notifications@…> To: OfflineIMAP/offlineimap3 <offlineimap3@…> Cc: Volker Birk <vb@…>, Mention <mention@…> Date: Wed, 03 Apr 2024 05:13:19 -0700 Subject: Re: [OfflineIMAP/offlineimap3] Incompatible with Python 3.12 (Issue #189)

@fdik The version in master works with Python 3.10. On Alpine we included [this +patch](https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/community/offlineimap/7cd32cf8-py311-compat.patch) for +Python 3.11 and [this other +one](https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/community/offlineimap/py312-compat.patch) for Python 3.12.

I suggest that you reach out to the MacPorts maintainers; they may need to include the above patches for recent versions of +Python.

-- Reply to this email directly or view it on GitHub: https://github.com/OfflineIMAP/offlineimap3/issues/189#issuecomment-2034414237 You are receiving this because you were mentioned.

Message ID: <OfflineIMAP/offlineimap3/issues/189/2034414237@…>

comment:7 Changed 8 months ago by reneeotten (Renee Otten)

Resolution: fixed
Status: assignedclosed

In 5d5f87ab4ada12725c5a193ce845617a99e7d59a/macports-ports (master):

py-keyring: fix dependencies

Closes: #69635

Note: See TracTickets for help on using tickets.