Dne 27. 06. 23 v 10:13 Vít Ondruch napsal(a):
Dne 26. 06. 23 v 22:12 Fabio Valentini napsal(a):On Mon, Jun 26, 2023 at 8:40 PM Vít Ondruch <vondruch@xxxxxxxxxx> wrote:Dne 26. 06. 23 v 20:24 Fabio Valentini napsal(a):On Mon, Jun 26, 2023 at 8:10 PM Miro Hrončok <mhroncok@xxxxxxxxxx> wrote:(snip)--- The current problem with Python without tzdata is:=======================================================================>>> from zoneinfo import ZoneInfo >>> ZoneInfo("Europe/Prague") Traceback (most recent call last):File "/usr/lib64/python3.11/zoneinfo/_common.py", line 12, in load_tzdata return resources.files(package_name).joinpath(resource_name).open("rb")^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/usr/lib64/python3.11/importlib/resources/_common.py", line 22, in filesreturn from_package(get_package(package)) ^^^^^^^^^^^^^^^^^^^^File "/usr/lib64/python3.11/importlib/resources/_common.py", line 53, inget_package resolved = resolve(package) ^^^^^^^^^^^^^^^^File "/usr/lib64/python3.11/importlib/resources/_common.py", line 44, in resolvereturn cand if isinstance(cand, types.ModuleType) else importlib.import_module(cand) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/usr/lib64/python3.11/importlib/__init__.py", line 126, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1204, in _gcd_importFile "<frozen importlib._bootstrap>", line 1176, in _find_and_load File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removedFile "<frozen importlib._bootstrap>", line 1204, in _gcd_importFile "<frozen importlib._bootstrap>", line 1176, in _find_and_load File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removedFile "<frozen importlib._bootstrap>", line 1204, in _gcd_importFile "<frozen importlib._bootstrap>", line 1176, in _find_and_load File "<frozen importlib._bootstrap>", line 1140, in _find_and_load_unlockedModuleNotFoundError: No module named 'tzdata' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<stdin>", line 1, in <module>File "/usr/lib64/python3.11/zoneinfo/_common.py", line 24, in load_tzdata raise ZoneInfoNotFoundError(f"No time zone found with key {key}") zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key Europe/Prague' =======================================================================Not that ZoneInfo("UTC") also fails:=======================================================================>>> ZoneInfo("UTC") Traceback (most recent call last): ...zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key UTC' =======================================================================So we would need to patch Python to detect missing tzdata and report somethinglike:ZoneInfoNotInstalledError: 'No time zone information installed on the system,you can only use UTC' We would also need to ensure UTC work even without tzdata installed.I would be reluctant to carry this as a downstream-only patch. And the upstreamwindow for changes like this has already closed for Python 3.12.Does this mean that tzdata needs to be present for doing datetime / timezone calculations at runtime with the zoneinfo module? Would this Change require that all Python programs that use this module add "Requires: tzdata"? I don't think that would be a reasonable change. There's a similar issue with some Rust libraries (and probably other language-specific timezone handling libraries),Yep, this is the case for rubygem-tzinfo. It would deserve recommends at minimum, because in theory, the tzdata can be suplied by tzinfo-data geminstead.That might work with something like Requires: (tzdata or rubygem(tzinfo-data))We don't have rubygem-tzinfo-data in Fedora. But it can be installed via `gem install` or Bundler. So that is the reason for soft dependency.
I have added the soft dependency into rubygem-tzinfo: https://src.fedoraproject.org/rpms/rubygem-tzinfo/c/6822ef00ad1b64a81ddd64c1728e49fa309d7603?branch=rawhide If nothing else, the dependency will be visible now. Vít
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue