Page MenuHomeFreeBSD

lang/python310: add python 3.10.0.beta2
Needs ReviewPublic

Authored by AMDmi3 on Wed, May 26, 4:30 PM.

Details

Reviewers
koobs
Group Reviewers
portmgr
Python
Summary
lang/python310: add python 3.10.0.beta2

PR:             256150
Reviewed by: ???
Approved by:    ??? (python, maintainer)
Differential Revision:  https://reviews.freebsd.org/D30475
Test Plan
  • Build tested on:
    • Platforms
      • 11i386
      • 11amd64
      • 12i386
      • 12amd64
      • 13i386
      • 13amd64
      • 14amd64
      • 13aarch64
    • OpenSSL flavors:
      • 11amd64+libressl
      • 13amd64+libressl
      • 11amd64+ports openssl
      • 13amd64+ports openssl
    • Nondefault options:
      • 13amd64+WITH=DEBUG // revealed staging problems which affects earlier python versions as well
      • 13amd64+WITHOUT=IPV6
      • 13amd64+WITHOUT=LIBMPDEC
      • 13amd64+WITHOUT=NLS
      • 13amd64+WITHOUT=PYMALLOC
      • 13amd64+WITH=FNV
      • 13amd64+WITH=SIPHASH
  • Built tested py-sqlite3, py-gdbm, py-tkinter with python

Run tested (DEFAULT_VERSIONS+=python=3.10 python3=3.10, rebuild everything) on desktop and in production on 13amd64.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 39836
Build 36725: arc lint + arc unit

Event Timeline

lwhsu added inline comments.
lang/python310/Makefile
1

I guess this line can be removed or changed to you?

Is it possible to get this as a diff from python39 (or whatever its original source was)?

Is it possible to get this as a diff from python39 (or whatever its original source was)?

Available in the related PR https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256150, or do you need complete diff with plist?

lang/python310/Makefile
1

IMO no since it's copied from python39 with minimal changes.

This is now ready to land. I take it as there are no objections?

Is it possible to get this as a diff from python39 (or whatever its original source was)?

Available in the related PR https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256150, or do you need complete diff with plist?

Oh the diff was pasted in comment, I was looking at the attachment. That would have been great here.

Apart from the hard-coded version in MASTER_SITES (minor), and no commit log message and test plan in the review here, it looks "ok".

What's the explanation for the NEWOPENSSL variable? Is the behaviour the same with ports versions of openssl, libressl?

Also the LIBFFI option needs to be removed, originally only done in python37 see: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244782

The build fails with it disabled.

Outstanding/open PR https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256141

Can this be run through complete QA?

This is now ready to land. I take it as there are no objections?

The threshold to commit isn't really no objections, no?

koobs requested changes to this revision.Fri, Jun 4, 12:35 PM
This revision now requires changes to proceed.Fri, Jun 4, 12:35 PM
  • Update to beta2
  • Remove LIBFFI option
  • Extend handling of different openssl flavors

Apart from the hard-coded version in MASTER_SITES (minor)

Fixed. I've hardcoded it as it would have to be changed anyway for release, but with cutting away prerelease suffix it would work for both pre- and release versions.

What's the explanation for the NEWOPENSSL variable? Is the behaviour the same with ports versions of openssl, libressl?

python310 does not support archaic openssl from 11.x and fails to build crypto related modules there. The same for libressl. But with openssl from ports it's good even on 11.
I've updated the condition. Not sure if it should be BROKEN instead or should output some kind of warning.

Also the LIBFFI option needs to be removed, originally only done in python37 see: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244782

Outstanding/open PR https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256141

Done.

Can this be run through complete QA?

What do you mean by "complete QA"?

The threshold to commit isn't really no objections, no?

The approval may not be required but as you can see this review led to some improvements.

Apart from the hard-coded version in MASTER_SITES (minor)

Fixed. I've hardcoded it as it would have to be changed anyway for release, but with cutting away prerelease suffix it would work for both pre- and release versions.

What's the explanation for the NEWOPENSSL variable? Is the behaviour the same with ports versions of openssl, libressl?

python310 does not support archaic openssl from 11.x and fails to build crypto related modules there. The same for libressl. But with openssl from ports it's good even on 11.
I've updated the condition. Not sure if it should be BROKEN instead or should output some kind of warning.

Also the LIBFFI option needs to be removed, originally only done in python37 see: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244782

Outstanding/open PR https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256141

Done.

Can this be run through complete QA?

What do you mean by "complete QA"?

The threshold to commit isn't really no objections, no?

The approval may not be required but as you can see this review led to some improvements.

Apart from best practice general QA, usually this means:

  • OPTIONS, particularly the most error prone ones that use third party libs that create work for people with regressions
  • At least all tier 1 archs and supported FreeBSD versions
  • Any other obvious things, in this case, with SSL changes, testing against supported ssl values

Could you update review summary (proposed commit log message) & test plan (list of qa tests run), for our future selves

lang/python310: add python 3.10.0.beta2

PR: 256150
Approved by: no objection from python@
Differential Revision: https://reviews.freebsd.org/D30475

AMDmi3 retitled this revision from lang/python310: add python 3.10.0.beta1 to lang/python310: add python 3.10.0.beta2.Thu, Jun 10, 7:07 PM
AMDmi3 edited the summary of this revision. (Show Details)
AMDmi3 edited the test plan for this revision. (Show Details)
AMDmi3 edited the summary of this revision. (Show Details)
AMDmi3 edited the summary of this revision. (Show Details)
AMDmi3 edited the summary of this revision. (Show Details)

See minor comments to clarify before landing this. Would still like to see this as a diff against the port it was based on

lang/python310/Makefile
1

You can drop this, no need to update diff here

92–97

See comments on https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256558 re this. Would like to understand why ABIFLAGS is no longer sufficient (or when/how it regressed?)