Skip to content

include 3.8.0rc1 #344

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Oct 3, 2019
Merged

include 3.8.0rc1 #344

merged 3 commits into from
Oct 3, 2019

Conversation

mattip
Copy link
Contributor

@mattip mattip commented Sep 10, 2019

Try to use 3.8.0b4 3.8.0rc1 in the manylinux builds
closes #314
closes #313
replaces #333

@mattip
Copy link
Contributor Author

mattip commented Sep 10, 2019

Once again the build fails

+ curl -fsSLO https://www.python.org/ftp/python/3.8.0/Python-3.8.0b4.tgz
+ curl -fsSLO https://www.python.org/ftp/python/3.8.0/Python-3.8.0b4.tgz.asc
+ gpg --verify Python-3.8.0b4.tgz.asc
gpg: Signature made Thu 29 Aug 2019 10:43:07 PM UTC using RSA key ID 10250568
gpg: Can't check signature: No public key

Copy link
Contributor

@auvipy auvipy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

try to fix the build error as well

@lkollar
Copy link
Contributor

lkollar commented Sep 11, 2019

Link to the upstream issue: https://bugs.python.org/issue37967.

@trishankatdatadog
Copy link
Member

Automatic key download is a bad idea. It basically means: "trust whatever public key signed this package."

@mattip
Copy link
Contributor Author

mattip commented Sep 11, 2019

@trishankatdatadog thanks. I am not so good with gpg. Is the other solution the correct one? Where does the fingerprint value come from?

gpg --fetch-keys "https://keybase.io/ambv/pgp_keys.asc?fingerprint=e3ff2839c048b25c084debe9b26995e310250568"

Context for those not following the cpython issue

``` It looks like you don't have Łukasz key and your GnuPG is not configured for automatic key download.

Automatic key download works for me:

$ gpg --verify Python-3.8.0b4.tgz.asc
gpg: assuming signed data in 'Python-3.8.0b4.tgz'
gpg: Signature made 2019-08-30T00:43:07 CEST
gpg: using RSA key E3FF2839C048B25C084DEBE9B26995E310250568
gpg: requesting key 0xB26995E310250568 from hkp server keys.fedoraproject.org
gpg: key 0xB26995E310250568: public key "Łukasz Langa (GPG langa.pl) [email protected]" imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: Good signature from "Łukasz Langa (GPG langa.pl) [email protected]" [undefined]
gpg: aka "Łukasz Langa [email protected]" [unknown]
gpg: aka "Łukasz Langa (Work e-mail account) [email protected]" [undefined]
gpg: aka "[jpeg image of size 24479]" [unknown]

You could also download the key from keybase:

$ gpg --fetch-keys "https://keybase.io/ambv/pgp_keys.asc?fingerprint=e3ff2839c048b25c084debe9b26995e310250568"
gpg: requesting key from 'https://keybase.io/ambv/pgp_keys.asc?fingerprint=e3ff2839c048b25c084debe9b26995e310250568'
gpg: key 0xB26995E310250568: "Łukasz Langa (GPG langa.pl) [email protected]" not changed
gpg: Total number processed: 1
gpg: unchanged: 1

@trishankatdatadog
Copy link
Member

@mattip That may be fine as a temporary workaround, but I recommend that the official Python GPG public key list be updated before the final release of 3.8.0.

@mattip
Copy link
Contributor Author

mattip commented Sep 12, 2019

It seems the resolution of bpo-37967 is to disallow using the pubkeys.txt and to remove it from the python.org website ASAP. A new solution is needed. Is there a gpg expert who can suggest how to fix this line ? Should it be like the other invocation of gpg a few lines above?

@trishankatdatadog
Copy link
Member

@mattip I would not recommend removing pubkeys.txt. The problem is: how do you know what the authoritative keys are? If you trust the public key attached to a signature on a Python tarball, then it could have been signed by anybody. OTOH, this assumes that attackers can sign malicious Python tarballs, but not overwrite pubkeys.txt on the Python website. There needs to be a better long term solution from the Python developers. I personally cannot recommend skipping the proper checking of signatures.

@mattip
Copy link
Contributor Author

mattip commented Sep 12, 2019

@trishankatdatadog please comment on the cpython issue https://bugs.python.org/issue37967. The decision has apparently already been made. There are recommendations on the downloads link https://www.python.org/downloads/ (in the section marked "OpenPGP Public Keys") to do one of:

  • downloading the public key file (but they claim that will be removed soon)
  • grab the individual keys directly from the keyserver network by running the command gpg --recv-keys 10250568 ...
  • verify the authenticity of the download via gpg --verify Python-3.6.2.tgz.asc

Which of the last two is safe (or should we do both)?

@trishankatdatadog
Copy link
Member

@mattip What a bad idea. Let me comment there directly. Thanks.

@trishankatdatadog
Copy link
Member

@matthew-brett
Copy link
Contributor

Sorry to ask, but what is the current status of 3.8 builds for Manylinux? I think the first release candidate is planned for today (30 September)? https://www.python.org/dev/peps/pep-0569/#schedule

@mattip
Copy link
Contributor Author

mattip commented Oct 1, 2019

The gpg verify stage is still failing. python.org no longer recommends using the pubkeys.txt file, and now lists the fingerprints of the release manager on the download page, and states "You can import a person's public keys from a public keyserver network server you trust by running a command like: gpg --recv-keys [key id] but (sorry for being such a gpg idiot) I don't understand how to get from the 3.8 release manager's fingerprint to the key id.

@matthew-brett
Copy link
Contributor

I just did some futzing around. I think the idea is you check https://www.python.org/downloads/ - find the key id of the person, say Steve Dower, with key id "FC62 4643 4870 34E5" and then, assuming that https has protected you from deceit, do:

gpg --recv-keys "FC624643487034E5"

Is that what you meant?

@mattip
Copy link
Contributor Author

mattip commented Oct 1, 2019

@matthew-brett added that stanza in 4be5453, let's see if it works.

@mattip
Copy link
Contributor Author

mattip commented Oct 3, 2019

The build succeeds. It would be nice to be able to try out some 3.8 builds before the final release.

@@ -1,7 +1,7 @@
# source me

PYTHON_DOWNLOAD_URL=https://www.python.org/ftp/python
CPYTHON_VERSIONS="2.7.16 3.4.10 3.5.7 3.6.9 3.7.4"
CPYTHON_VERSIONS="2.7.16 3.4.10 3.5.7 3.6.9 3.7.4 3.8.0b4"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3.8.0rc1 is now released

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated and changed the PR name appropriately

@matthew-brett
Copy link
Contributor

Yes please to having the RC1 for testing wheel builds.

@mattip mattip changed the title include 3.8.0b4 include 3.8.0rc1 Oct 3, 2019
@auvipy auvipy merged commit 8968796 into pypa:master Oct 3, 2019
This was referenced Oct 3, 2019
@mattip mattip deleted the 3.8.0b4 branch March 19, 2020 13:08
grzanka pushed a commit to grzanka/manylinux that referenced this pull request May 20, 2020
* include 3.8.0b4

* Add gpg key for 3.8 release manager

* use 3.8.0rc1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Python 3.8
5 participants