bpo-34405: Update to OpenSSL 1.0.2p for macOS installer builds (GH-9191)

This commit is contained in:
Ned Deily 2018-09-11 15:45:36 -07:00 committed by GitHub
parent 8a2c2d4e1b
commit 31912b43c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 10 deletions

View File

@ -162,7 +162,8 @@ def getTargetCompilers():
CC, CXX = getTargetCompilers()
PYTHON_3 = getVersionMajorMinor() >= (3, 0)
PYTHON_2 = getVersionMajorMinor()[0] == 2
PYTHON_3 = getVersionMajorMinor()[0] == 3
USAGE = textwrap.dedent("""\
Usage: build_python [options]
@ -210,9 +211,9 @@ def library_recipes():
result.extend([
dict(
name="OpenSSL 1.0.2o",
url="https://www.openssl.org/source/openssl-1.0.2o.tar.gz",
checksum='44279b8557c3247cbe324e2322ecd114',
name="OpenSSL 1.0.2p",
url="https://www.openssl.org/source/openssl-1.0.2p.tar.gz",
checksum='ac5eb30bf5798aa14b1ae6d0e7da58df',
buildrecipe=build_universal_openssl,
configure=None,
install=None,
@ -607,8 +608,9 @@ def checkEnvironment():
base_path = base_path + ':' + OLD_DEVELOPER_TOOLS
os.environ['PATH'] = base_path
print("Setting default PATH: %s"%(os.environ['PATH']))
if PYTHON_2:
# Ensure we have access to sphinx-build.
# You may have to create a link in /usr/bin for it.
# You may have to define SDK_TOOLS_BIN and link to it there,
runCommand('sphinx-build --version')
def parseOptions(args=None):
@ -822,6 +824,13 @@ def build_universal_openssl(basedir, archList):
]
if no_asm:
configure_opts.append("no-asm")
# OpenSSL 1.0.2o broke the Configure test for whether the compiler
# in use supports dependency rule generation (cc -M) with gcc-4.2
# used for the 10.6+ installer builds. Patch Configure here to
# force use of "cc -M" rather than "makedepend".
runCommand(
"""sed -i "" 's|my $cc_as_makedepend = 0|my $cc_as_makedepend = 1|g' Configure""")
runCommand(" ".join(["perl", "Configure"]
+ arch_opts[arch] + configure_opts))
runCommand("make depend")
@ -1055,6 +1064,11 @@ def buildPythonDocs():
curDir = os.getcwd()
os.chdir(buildDir)
runCommand('make clean')
if PYTHON_2:
# Python 2 doc builds do not use blurb nor do they have a venv target.
# Assume sphinx-build is on our PATH, checked in checkEnvironment
runCommand('make html')
else:
# Create virtual environment for docs builds with blurb and sphinx
runCommand('make venv')
runCommand('make html PYTHON=venv/bin/python')

View File

@ -0,0 +1 @@
Update to OpenSSL 1.0.2p for macOS installer builds.