Page MenuHomeFreeBSD

Update lang/python27 to 2.7.10
ClosedPublic

Authored by brnrd on May 24 2015, 10:28 AM.

Details

Reviewers
mva
vsevolod
koobs
Group Reviewers
Python
Summary

Proposed commit-message:

lang/python: Update to 2.7.10

The FreeBSD Python team welcomes Python 2.7.10 to the Ports tree!

Announcement:	https://www.python.org/downloads/release/python-2710/
Changelog:	https://hg.python.org/cpython/raw-file/v2.7.10/Misc/NEWS

Important changes for this release:
 - Python 2.7.10 is a bug fix release of the Python 2.7.x series.
 - Fixes issues with LibreSSL 2.2+

PR: 		192511, 201088
Differential_Revision:	D2637
Reviewed_by:        koobs (mentor), antoine
Approved by:        koobs (mentor), antoine
  • Patches Modules/_ssl.c to use the new define OPENSSL_NO_EGD from LibreSSL 2.2.0
  • ftpmirror was removed from all versions (vulnerable)
  • Patches have been re-generated using makepatch with comments and timestamps reverted
Test Plan

Build with base openssl and ports libressl, regression-test

  • porttest (poudriere OK) OpenSSL: LibreSSL:
  • portlint -AC (unmodified timestamps as per mat's guidance)
WARN: Makefile: [8]: possible direct use of command "python" found. use ${PYTHON_CMD} instead.
WARN: Makefile: [19]: possible direct use of command "python" found. use ${PYTHON_CMD} instead.
WARN: Makefile: for new port, make $FreeBSD$ tag in comment section empty, to make SVN happy.
WARN: /usr/freebsd-ports/lang/python27/files/patch-Doc__library__fcntl.rst: patch was not generated using ``make makepatch''.  It is recommended to use ``make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/lang/python27/files/patch-Lib__distutils__unixccompiler.py: patch was not generated using ``make makepatch''.  It is recommended to use ``make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/lang/python27/files/patch-Modules-_ctypes-libffi-configure: patch was not generated using ``make makepatch''.  It is recommended to use ``make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/lang/python27/files/patch-Modules__fcntlmodule.c: patch was not generated using ``make makepatch''.  It is recommended to use ``make makepatch'' to ensure proper patch format.
0 fatal errors and 7 warnings found.
  • make regression-test
  • porttest docs (OK): text html pdf-a4 pdf-letter
  • porttest python-tools

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Linters Available
Unit
No Unit Test Coverage

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
antoine added a reviewer: antoine.
antoine added a subscriber: antoine.

This breaks lang/python-doc-*

brnrd edited edge metadata.
lang/python27/Makefile
106

This looks wrong in multiple ways:

  • hardcoded /usr/local instead of ${LOCALBASE}
  • CPPFLAGS / LDFLAGS / LIBS are already passed in environment of the configure script by bsd.port.mk
  • LIBS should be preferred over LDFLAGS
brnrd edited edge metadata.
brnrd marked an inline comment as done.
brnrd updated this object.

Regenerate patch-files with makepatch, merge comments from existing patches, replace /usr/local

$ portlint -AC
WARN: Makefile: [8]: possible direct use of command "python" found. use ${PYTHON_CMD} instead.
WARN: Makefile: [19]: possible direct use of command "python" found. use ${PYTHON_CMD} instead.
WARN: Makefile: for new port, make $FreeBSD$ tag in comment section empty, to make SVN happy.
0 fatal errors and 3 warnings found.

lang/python27/Makefile
106
  • Fixed the /usr/local after inspecting portling -AC output.
  • Without passing LDFLAGS and CPPFLAGS to configure it picks up libcrypto from base

configure:8550: checking for RAND_egd in -lcrypto
configure:8575: cc -o conftest -O2 -fno-strict-aliasing -pipe -march=native -fstack-protector -lpthread -Wl,-rpath
,/usr/local/lib -Wl,-rpath=/usr/lib:/usr/local/lib -fstack-protector conftest.c -lcrypto >&5
configure:8575: $? = 0

This needs an exp-run, PYTHON_REL is now 2710 which is greater than 3XX

Ouput of poudriere testport

antoine edited edge metadata.

This needs :

  • a patch to unbreak lang/python-doc-*
  • my comments about LDFLAGS / CPPFLAGS are not addressed, you should just have to do CPPFLAGS+= and LIBS+= , no need to mess with CONFIGURE_ARGS/ENV
  • a patch to fix PYTHON_REL in python.mk and/or ports
This revision now requires changes to proceed.May 24 2015, 11:59 AM

The commit message (after @antoine's mentioned exp-run) should also include a link to the upstream changelog and highlight the most important changes for this release

lang/python27/files/patch-Doc__library__fcntl.rst
4

Avoid timestamp changes

lang/python27/files/patch-Lib__distutils__unixccompiler.py
7

Avoid timestamp changes

lang/python27/files/patch-Modules-_ctypes-libffi-configure
4

Avoid timestamp changes

lang/python27/files/patch-Modules__fcntlmodule.c
4

Avoid timestamp changes

brnrd edited edge metadata.

Replace CONFIGURE_ARGS

Replace CONFIGURE_ARGS in the WITH_OPENSSL_PORT test with
corresponding CPPFLAGS and LIBS as per /usr/ports/CHANGES
20110923

Tested with make regression-test, no additional issues
introduced with this change

brnrd marked 2 inline comments as done.
brnrd edited edge metadata.

Revert timestamp changes

Timestamps where changed by make makepatch. Is there an easier
way to reroll patches with makepatch and retain the timestamps?

In D2637#49291, @brnrd wrote:

Revert timestamp changes

Timestamps where changed by make makepatch. Is there an easier
way to reroll patches with makepatch and retain the timestamps?

Yes, svn revert the files that only have the timestamp changes.

Exp-run results:

http://package18.nyi.freebsd.org/jail.html?mastername=101amd64-default-python2710

5 new failures:

+ {"origin"=>"lang/python-doc-html", "pkgname"=>"python-doc-html-2.7.10", "phase"=>"fetch", "errortype"=>"distinfo_update"}
+ {"origin"=>"lang/python-doc-pdf-a4", "pkgname"=>"python-doc-pdf-a4-2.7.10", "phase"=>"fetch", "errortype"=>"distinfo_update"}
+ {"origin"=>"lang/python-doc-pdf-letter", "pkgname"=>"python-doc-pdf-letter-2.7.10", "phase"=>"fetch", "errortype"=>"distinfo_update"}
+ {"origin"=>"lang/python-doc-text", "pkgname"=>"python-doc-text-2.7.10", "phase"=>"fetch", "errortype"=>"distinfo_update"}
+ {"origin"=>"lang/python-tools", "pkgname"=>"py27-python-tools-2.7.10", "phase"=>"patch", "errortype"=>"???"}

Failure logs:

http://package18.nyi.freebsd.org/data/101amd64-default-python2710/2015-05-26_08h42m01s/logs/errors/python-doc-html-2.7.10.log
http://package18.nyi.freebsd.org/data/101amd64-default-python2710/2015-05-26_08h42m01s/logs/errors/python-doc-pdf-a4-2.7.10.log
http://package18.nyi.freebsd.org/data/101amd64-default-python2710/2015-05-26_08h42m01s/logs/errors/python-doc-pdf-letter-2.7.10.log
http://package18.nyi.freebsd.org/data/101amd64-default-python2710/2015-05-26_08h42m01s/logs/errors/python-doc-text-2.7.10.log
http://package18.nyi.freebsd.org/data/101amd64-default-python2710/2015-05-26_08h42m01s/logs/errors/py27-python-tools-2.7.10.log

brnrd edited the test plan for this revision. (Show Details)
brnrd updated this object.

Add lang/python-doc-* and lang/python-tools changes

brnrd edited the test plan for this revision. (Show Details)
brnrd updated this object.

Silence portlint a bit

What's left to do? How do I help?

-J

brnrd updated this object.

Replace HAVE_RAND_EGD by OPENSSL_NO_EGD

koobs edited edge metadata.
vsevolod edited edge metadata.
koobs requested changes to this revision.EditedJul 3 2015, 12:33 PM
koobs edited edge metadata.

Pending inline patch references as breadcrumbs after @brnrd creates an upstream issue. I didn't mean to accept the review, but overall its I'm much more confident after removal of the global FLAGS block after our conversation on IRC

This revision now requires changes to proceed.Jul 3 2015, 12:33 PM
brnrd edited edge metadata.
brnrd edited edge metadata.
brnrd updated this object.

Add reference to upstream OPENSSL_NO_EGD change

brnrd edited edge metadata.

Remove ambiguity

koobs edited edge metadata.

SHIP IT BERNARD! Very nice work

mva added a reviewer: mva.
This revision is now accepted and ready to land.Jul 5 2015, 7:17 PM

And learned another thing... Can't close when there's open reviewers. Removed antoine and portmgr and can now close.