Issue #20644: Keep build-installer.py in sync across active versions.

This commit is contained in:
Ned Deily 2014-04-09 16:15:20 -07:00
parent f3ddcc9ba7
commit 9978a9357a
1 changed files with 18 additions and 9 deletions

View File

@ -8,7 +8,9 @@ OS X 10.5 and the 10.5 SDK.
Please ensure that this script keeps working with Python 2.5, to avoid
bootstrap issues (/usr/bin/python is Python 2.5 on OSX 10.5). Sphinx,
which is used to build the documentation, currently requires at least
Python 2.4.
Python 2.4. However, as of Python 3.4.1, Doc builds require an external
sphinx-build and the current versions of Sphinx now require at least
Python 2.6.
In addition to what is supplied with OS X 10.5+ and Xcode 3+, the script
requires an installed version of hg and a third-party version of
@ -21,8 +23,8 @@ installing the most recent ActiveTcl 8.4 or 8.5 version.
32-bit-only installer builds are still possible on OS X 10.4 with Xcode 2.5
and the installation of additional components, such as a newer Python
(2.5 is needed for Python parser updates), hg, and svn (for the documentation
build).
(2.5 is needed for Python parser updates), hg, and for the documentation
build either svn (pre-3.4.1) or sphinx-build (3.4.1 and later).
Usage: see USAGE variable in the script.
"""
@ -365,7 +367,8 @@ def library_recipes():
# Instructions for building packages inside the .mpkg.
def pkg_recipes():
unselected_for_python3 = ('selected', 'unselected')[PYTHON_3]
unselected_for_lt_python34 = ('selected', 'unselected')[getVersionTuple() < (3, 4)]
# unselected if 3.0 through 3.3, selected otherwise (2.x or >= 3.4)
unselected_for_lt_python34 = ('selected', 'unselected')[(3, 0) <= getVersionTuple() < (3, 4)]
result = [
dict(
name="PythonFramework",
@ -610,8 +613,8 @@ def checkEnvironment():
# Ensure ws have access to hg and to sphinx-build.
# You may have to create links in /usr/bin for them.
runCommand('hg --version')
runCommand('sphinx-build --version')
if getVersionTuple() >= (3, 4):
runCommand('sphinx-build --version')
def parseOptions(args=None):
"""
@ -924,9 +927,15 @@ def buildPythonDocs():
docdir = os.path.join(rootDir, 'pydocs')
curDir = os.getcwd()
os.chdir(buildDir)
runCommand('make clean')
# Assume sphinx-build is on our PATH, checked in checkEnvironment
runCommand('make html')
# The Doc build changed for 3.4 (technically, for 3.4.1)
if getVersionTuple() < (3, 4):
# This step does an svn checkout of sphinx and its dependencies
runCommand('make update')
runCommand("make html PYTHON='%s'" % os.path.abspath(sys.executable))
else:
runCommand('make clean')
# Assume sphinx-build is on our PATH, checked in checkEnvironment
runCommand('make html')
os.chdir(curDir)
if not os.path.exists(docdir):
os.mkdir(docdir)