classification
Title: Beta release does not distribute zoneinfo or test_zoneinfo
Type: compile error Stage: resolved
Components: Versions: Python 3.9
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: p-ganssle Nosy List: lukasz.langa, miss-islington, p-ganssle, vstinner
Priority: critical Keywords: patch

Created on 2020-05-19 14:32 by p-ganssle, last changed 2020-05-19 17:12 by p-ganssle. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 20229 merged p-ganssle, 2020-05-19 14:52
PR 20230 merged miss-islington, 2020-05-19 15:55
Messages (10)
msg369357 - (view) Author: Paul Ganssle (p-ganssle) * (Python committer) Date: 2020-05-19 14:32
Apparently something is wrong with make install for beta 1 and the `zoneinfo` module is not installed with it (only _zoneinfo).

When I run a local build `./python -c "import zoneinfo"` works, but when I do `make install` I get ImportError:

  $ bin/python3 -c "import zoneinfo"
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
  ModuleNotFoundError: No module named 'zoneinfo'

I assume this wasn't caught earlier because Lib/test/test_zoneinfo is *also* not being installed.

The C extension, _zoneinfo, is installed properly. I don't know if it is working on Windows.
msg369359 - (view) Author: Paul Ganssle (p-ganssle) * (Python committer) Date: 2020-05-19 14:41
I think I found the problem: these directories are not included in the Makefile.pre.in LIBSUBDIRS variable: https://github.com/python/cpython/blob/a355a06fcc7ef2232736dceb012ae623335cd7ab/Makefile.pre.in#L1373

PR incoming.
msg369361 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2020-05-19 14:44
FYI my notes about adding new files and directories in Python:
https://pythondev.readthedocs.io/files.html
msg369366 - (view) Author: Paul Ganssle (p-ganssle) * (Python committer) Date: 2020-05-19 15:16
Victor: Might be worth updating your notes to indicate that any subdirectory (not just test subdirectories) need to go into LIBSUBDIRS. zoneinfo uses a subdirectory for both the tests and the zoneinfo module, and *neither* were included in the installation in this case.
msg369369 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2020-05-19 15:24
We have multiple "install" buildbot which only run tests on the *installed* Python. I understand that we missed the issue because not only the implementation was broken by "make install", but the whole test was missing as well :-p

> Victor: Might be worth updating your notes to indicate that any subdirectory (not just test subdirectories) need to go into LIBSUBDIRS.

Done.
msg369370 - (view) Author: Paul Ganssle (p-ganssle) * (Python committer) Date: 2020-05-19 15:55
New changeset 2abededbc4165d2daa14ae9d74b1f33cce0593d7 by Paul Ganssle in branch 'master':
bpo-40683: Add zoneinfo to LIBSUBDIRS (#20229)
https://github.com/python/cpython/commit/2abededbc4165d2daa14ae9d74b1f33cce0593d7
msg369371 - (view) Author: miss-islington (miss-islington) Date: 2020-05-19 16:13
New changeset b5bd4358fc2dea2e7c84d0c56974627fc43217cd by Miss Islington (bot) in branch '3.9':
bpo-40683: Add zoneinfo to LIBSUBDIRS (GH-20229)
https://github.com/python/cpython/commit/b5bd4358fc2dea2e7c84d0c56974627fc43217cd
msg369373 - (view) Author: Paul Ganssle (p-ganssle) * (Python committer) Date: 2020-05-19 16:38
Victor has confirmed that this is working on Windows, so I think the current state of the 3.9 and master branches is now fixed.

The last question remaining is whether this justifies a quick b2 release (or if there's another mechanism for a "fixup" release like b1.post0). Łukasz, what do you think?
msg369376 - (view) Author: Łukasz Langa (lukasz.langa) * (Python committer) Date: 2020-05-19 17:04
The beta releases are every three weeks now because of the release schedule being adjusted to allow Linux distributions to release the new version in the Autumn distributions.

I understand that you're eager to have your feature up and running. I feel like shipping the fixed version in beta2 will be sufficient. If we released a beta1.5 later in the week, that would be overkill given the already aggressive schedule as you'd then have a beta2 two weeks later, no?
msg369377 - (view) Author: Paul Ganssle (p-ganssle) * (Python committer) Date: 2020-05-19 17:12
No worries Łukasz, I figured it would be worth bringing up because normally the releases aren't so broken that they aren't usable in the common case. That said, this won't break any *existing* code, it'll just prevent people on Linux machines from using zoneinfo.

I don't think waiting 3 weeks is a big deal. I'm planning to release a backport soon anyway, and I expect people probably won't adopt new-in-3.9 modules without a backport during the beta period *anyway*, since they can't deploy any code using that feature to prod.

I'm going to resolve this issue. Thanks for the quick response Łukasz and for the quick review Victor!
History
Date User Action Args
2020-05-19 17:12:27p-gansslesetstatus: open -> closed
resolution: fixed
messages: + msg369377

stage: patch review -> resolved
2020-05-19 17:04:22lukasz.langasetmessages: + msg369376
2020-05-19 16:38:22p-gansslesetmessages: + msg369373
2020-05-19 16:13:22miss-islingtonsetmessages: + msg369371
2020-05-19 15:55:34miss-islingtonsetnosy: + miss-islington
pull_requests: + pull_request19521
2020-05-19 15:55:25p-gansslesetmessages: + msg369370
2020-05-19 15:24:58vstinnersetmessages: + msg369369
2020-05-19 15:16:22p-gansslesetmessages: + msg369366
title: Beta release does not distribute test_zoneinfo -> Beta release does not distribute zoneinfo or test_zoneinfo
2020-05-19 14:52:18p-gansslesetkeywords: + patch
stage: needs patch -> patch review
pull_requests: + pull_request19520
2020-05-19 14:45:04vstinnersettitle: Beta release does not distribute zoneinfo -> Beta release does not distribute test_zoneinfo
2020-05-19 14:44:58vstinnersetnosy: + vstinner
messages: + msg369361
2020-05-19 14:41:21p-gansslesetmessages: + msg369359
2020-05-19 14:32:55p-gansslecreate