diff --git a/Mac/BuildScript/README.txt b/Mac/BuildScript/README.txt index 3ced0664318..66d9935de1b 100644 --- a/Mac/BuildScript/README.txt +++ b/Mac/BuildScript/README.txt @@ -1,14 +1,27 @@ Building a Python Mac OS X distribution ======================================= -The ``build-install.py`` script creates Python distributions, including +The ``build-installer.py`` script creates Python distributions, including certain third-party libraries as necessary. It builds a complete framework-based Python out-of-tree, installs it in a funny place with $DESTROOT, massages that installation to remove .pyc files and such, creates an Installer package from the installation plus other files in ``resources`` and ``scripts`` and placed that on a ``.dmg`` disk image. -For Python 3.4.0, PSF practice is to build two installer variants +This installers built by this script are legacy bundle installers that have +been supported from the early days of OS X. In particular, they are supported +on OS X 10.3.9, the earliest supported release for builds from this script. + +Beginning with Python 3.4.2, PSF practice is to build two installer variants +using the newer flat package format, supported on 10.5+, and signed with the +builder's Apple developer key, allowing downloaded packages to satisfy Apple's +default Gatekeeper policy (e.g. starting with 10.8, Apple store downloads and +Apple developer ID signed apps and installer packages). The process for +transforming the output build artifacts into signed flat packages is not +yet integrated into ``build-installer.py``. The steps prior to the flat +package creation are the same as for 3.4.1 below. + +For Python 3.4.0 and 3.4.1, PSF practice was to build two installer variants for each release. 1. 32-bit-only, i386 and PPC universal, capable on running on all machines diff --git a/Mac/BuildScript/resources/ReadMe.txt b/Mac/BuildScript/resources/ReadMe.txt index e061a06350b..8964b8b4ec5 100644 --- a/Mac/BuildScript/resources/ReadMe.txt +++ b/Mac/BuildScript/resources/ReadMe.txt @@ -1,92 +1,36 @@ -This package will install Python $FULL_VERSION for Mac OS X -$MACOSX_DEPLOYMENT_TARGET for the following architecture(s): -$ARCHITECTURES. - - **** IMPORTANT **** - -Installing on OS X 10.8 (Mountain Lion) or later systems -======================================================== - -If you are attempting to install on an OS X 10.8+ system, you may -see a message that Python can't be installed because it is from an -unidentified developer. This is because this Python installer -package is not yet compatible with the Gatekeeper security feature -introduced in OS X 10.8. To allow Python to be installed, you -can override the Gatekeeper policy for this install. In the Finder, -instead of double-clicking, control-click or right click the "Python" -installer package icon. Then select "Open using ... Installer" from -the contextual menu that appears. - - **** IMPORTANT **** +This package will install Python $FULL_VERSION for Mac OS X $MACOSX_DEPLOYMENT_TARGET for the following architecture(s): $ARCHITECTURES. +============================= Update your version of Tcl/Tk to use IDLE or other Tk applications -================================================================== +============================= -To use IDLE or other programs that use the Tkinter graphical user -interface toolkit, you may need to install a newer third-party version -of the Tcl/Tk frameworks. Visit http://www.python.org/download/mac/tcltk/ -for current information about supported and recommended versions of -Tcl/Tk for this version of Python and of Mac OS X. +To use IDLE or other programs that use the Tkinter graphical user interface toolkit, you need to install a newer third-party version of the Tcl/Tk frameworks. Visit https://www.python.org/download/mac/tcltk/ for current information about supported and recommended versions of Tcl/Tk for this version of Python and of Mac OS X. - **NEW* As of Python 3.4.0b1: +============================= +Installing on OS X 10.8 (Mountain Lion) or later systems +[CHANGED for Python 3.4.2] +============================= +As of Python 3.4.2, installer packages from python.org are now compatible with the Gatekeeper security feature introduced in OS X 10.8. Downloaded packages can now be directly installed by double-clicking with the default system security settings. Python.org installer packages for OS X are signed with the Developer ID of the builder, as identified on the download page for this release (https://www.python.org/downloads/). To inspect the digital signature of the package, click on the lock icon in the upper right corner of the Install Python installer window. Refer to Appleā€™s support pages for more information on Gatekeeper (http://support.apple.com/kb/ht5290). + +============================= +Simplified web-based installs +[NEW for Python 3.4.2] +============================= + +With the change to the newer flat format installer package, the download file now has a .pkg extension as it is no longer necessary to embed the installer within a disk image (.dmg) container. If you download the Python installer through a web browser, the OS X installer application may open automatically to allow you to perform the install. If your browser settings do not allow automatic open, double click on the downloaded installer file. + +============================= New Installation Options and Defaults -===================================== +[NEW for Python 3.4.0] +============================= -The Python installer now includes an option to automatically install -or upgrade pip, a tool for installing and managing Python packages. -This option is enabled by default and no Internet access is required. -If you do not want the installer to do this, select the "Customize" -option at the "Installation Type" step and uncheck the "Install or -ugprade pip" option. +The Python installer now includes an option to automatically install or upgrade pip, a tool for installing and managing Python packages. This option is enabled by default and no Internet access is required. If you do not want the installer to do this, select the Customize option at the Installation Type step and uncheck the Install or ugprade pip option. -To make it easier to use scripts installed by third-party Python -packages, with pip or by other means, the "Shell profile updater" -option is now enabled by default, as has been the case with Python -2.7.x installers. You can also turn this option off by selecting -"Customize" and unchecking the "Shell profile updater" option. You -can also update your shell profile later by launching the "Update -Shell Profile" command found in the /Applications/Python $VERSION -folder. You may need to start a new terminal window for the -changes to take effect. +To make it easier to use scripts installed by third-party Python packages, with pip or by other means, the Shell profile updater option is now enabled by default, as has been the case with Python 2.7.x installers. You can also turn this option off by selecting Customize and unchecking the Shell profile updater option. You can also update your shell profile later by launching the Update Shell Profile command found in the /Applications/Python $VERSION folder. You may need to start a new terminal window for the changes to take effect. -Python.org Python $VERSION and 2.7.x versions can both be installed and -will not conflict. Command names for Python 3 contain a 3 in them, -python3 (or python$VERSION), idle3 (or idle$VERSION), pip3 (or pip$VERSION), etc. -Python 2.7 command names contain a 2 or no digit: python2 (or -python2.7 or python), idle2 (or idle2.7 or idle), etc. If you want to -use pip with Python 2.7.x, you will need to download and install a -separate copy of it from the Python Package Index -(https://pypi.python.org/pypi). +============================= +Python 3 and Python 2 Co-existence +============================= -Using this version of Python on OS X -==================================== - -Python consists of the Python programming language interpreter, plus -a set of programs to allow easy access to it for Mac users including -an integrated development environment, IDLE, plus a set of pre-built -extension modules that open up specific Macintosh technologies to -Python programs. - -The installer puts applications, an "Update Shell Profile" command, -and a link to the optionally installed Python Documentation into the -"Python $VERSION" subfolder of the system Applications folder, -and puts the underlying machinery into the folder -$PYTHONFRAMEWORKINSTALLDIR. It can -optionally place links to the command-line tools in /usr/local/bin as -well. Double-click on the "Update Shell Profile" command to add the -"bin" directory inside the framework to your shell's search path. - -You must install onto your current boot disk, even though the -installer may not enforce this, otherwise things will not work. - -You can verify the integrity of the disk image file containing the -installer package and this ReadMe file by comparing its md5 checksum -and size with the values published on the release page linked at -http://www.python.org/download/ - -Installation requires approximately $INSTALL_SIZE MB of disk space, -ignore the message that it will take zero bytes. - -More information on Python in general can be found at -http://www.python.org. +Python.org Python $VERSION and 2.7.x versions can both be installed on your system and will not conflict. Command names for Python 3 contain a 3 in them, python3 (or python$VERSION), idle3 (or idle$VERSION), pip3 (or pip$VERSION), etc. Python 2.7 command names contain a 2 or no digit: python2 (or python2.7 or python), idle2 (or idle2.7 or idle), etc. If you want to use pip with Python 2.7.x, download and install a separate copy of it from the Python Package Index (https://pypi.python.org/pypi/pip/). diff --git a/Mac/BuildScript/resources/Welcome.rtf b/Mac/BuildScript/resources/Welcome.rtf index 886ebfecabb..d918eceff7e 100644 --- a/Mac/BuildScript/resources/Welcome.rtf +++ b/Mac/BuildScript/resources/Welcome.rtf @@ -1,7 +1,7 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 CourierNewPSMT;} {\colortbl;\red255\green255\blue255;} -\paperw11905\paperh16837\margl1440\margr1440\vieww9640\viewh10620\viewkind0 +\paperw11905\paperh16837\margl1440\margr1440\vieww12200\viewh10880\viewkind0 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640 \f0\fs24 \cf0 This package will install @@ -14,7 +14,7 @@ \b Python for Mac OS X \b0 consists of the Python programming language interpreter, plus a set of programs to allow easy access to it for Mac OS X users including an integrated development environment \b IDLE -\b0 and a set of pre-built extension modules that open up specific Macintosh technologies to Python programs.\ +\b0 .\ \ \b NEW for Python 3.4: @@ -36,4 +36,4 @@ for an overview. See the ReadMe file and the Python documentation for more info \b tkinter \b0 graphical user interface toolkit require specific versions of the \b Tcl/Tk -\b0 platform independent windowing toolkit. Visit {\field{\*\fldinst{HYPERLINK "http://www.python.org/download/mac/tcltk/"}}{\fldrslt http://www.python.org/download/mac/tcltk/}} for current information on supported and recommended versions of Tcl/Tk for this version of Python and Mac OS X.} \ No newline at end of file +\b0 platform independent windowing toolkit. Visit {\field{\*\fldinst{HYPERLINK "https://www.python.org/download/mac/tcltk/"}}{\fldrslt https://www.python.org/download/mac/tcltk/}} for current information on supported and recommended versions of Tcl/Tk for this version of Python and Mac OS X.} \ No newline at end of file diff --git a/Mac/BuildScript/resources/readme.rtf b/Mac/BuildScript/resources/readme.rtf new file mode 100644 index 00000000000..5b748010a54 --- /dev/null +++ b/Mac/BuildScript/resources/readme.rtf @@ -0,0 +1,103 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 CourierNewPSMT;} +{\colortbl;\red255\green255\blue255;} +\margl1440\margr1440\vieww13020\viewh15160\viewkind0 +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural + +\f0\fs24 \cf0 This package will install Python $FULL_VERSION for Mac OS X $MACOSX_DEPLOYMENT_TARGET for the following architecture(s): $ARCHITECTURES.\ +\ + +\b \ul Update your version of Tcl/Tk to use IDLE or other Tk applications +\b0 \ulnone \ +\ +To use IDLE or other programs that use the Tkinter graphical user interface toolkit, you need to install a newer third-party version of the +\i Tcl/Tk +\i0 frameworks. Visit {\field{\*\fldinst{HYPERLINK "https://www.python.org/download/mac/tcltk/"}}{\fldrslt https://www.python.org/download/mac/tcltk/}} for current information about supported and recommended versions of +\i Tcl/Tk +\i0 for this version of Python and of Mac OS X.\ + +\b \ul \ +Installing on OS X 10.8 (Mountain Lion) or later systems\ +\ulnone [CHANGED for Python 3.4.2] +\b0 \ +\ +As of Python 3.4.2, installer packages from python.org are now compatible with the Gatekeeper security feature introduced in OS X 10.8. Downloaded packages can now be directly installed by double-clicking with the default system security settings. Python.org installer packages for OS X are signed with the Developer ID of the builder, as identified on the download page for this release ({\field{\*\fldinst{HYPERLINK "https://www.python.org/downloads/"}}{\fldrslt https://www.python.org/downloads/}}). To inspect the digital signature of the package, click on the lock icon in the upper right corner of the +\i Install Python +\i0 installer window. Refer to Apple\'92s support pages for more information on Gatekeeper ({\field{\*\fldinst{HYPERLINK "http://support.apple.com/kb/ht5290"}}{\fldrslt http://support.apple.com/kb/ht5290}}).\ +\ + +\b \ul Simplified web-based installs\ +\ulnone [NEW for Python 3.4.2] +\b0 \ +\ +With the change to the newer flat format installer package, the download file now has a +\f1 .pkg +\f0 extension as it is no longer necessary to embed the installer within a disk image ( +\f1 .dmg +\f0 ) container. If you download the Python installer through a web browser, the OS X installer application may open automatically to allow you to perform the install. If your browser settings do not allow automatic open, double click on the downloaded installer file.\ +\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural + +\b \cf0 \ul \ulc0 New Installation Options and Defaults\ +\ulnone [NEW for Python 3.4.0] +\b0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural +\cf0 \ +The Python installer now includes an option to automatically install or upgrade +\f1 pip +\f0 , a tool for installing and managing Python packages. This option is enabled by default and no Internet access is required. If you do not want the installer to do this, select the +\i Customize +\i0 option at the +\i Installation Type +\i0 step and uncheck the +\i Install or ugprade pip +\i0 option.\ +\ +To make it easier to use scripts installed by third-party Python packages, with +\f1 pip +\f0 or by other means, the +\i Shell profile updater +\i0 option is now enabled by default, as has been the case with Python 2.7.x installers. You can also turn this option off by selecting +\i Customize +\i0 and unchecking the +\i Shell profile updater +\i0 option. You can also update your shell profile later by launching the +\i Update Shell Profile +\i0 command found in the +\f1 /Applications/Python $VERSION +\f0 folder. You may need to start a new terminal window for the changes to take effect.\ +\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural + +\b \cf0 \ul \ulc0 Python 3 and Python 2 Co-existence\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural + +\b0 \cf0 \ulnone \ +Python.org Python $VERSION and 2.7.x versions can both be installed on your system and will not conflict. Command names for Python 3 contain a 3 in them, +\f1 python3 +\f0 (or +\f1 python$VERSION +\f0 ), +\f1 idle3 +\f0 (or i +\f1 dle$VERSION +\f0 ), +\f1 pip3 +\f0 (or +\f1 pip$VERSION +\f0 ), etc. Python 2.7 command names contain a 2 or no digit: +\f1 python2 +\f0 (or +\f1 python2.7 +\f0 or +\f1 python +\f0 ), +\f1 idle2 +\f0 (or +\f1 idle2.7 +\f0 or +\f1 idle +\f0 ), etc. If you want to use +\f1 pip +\f0 with Python 2.7.x, download and install a separate copy of it from the Python Package Index ({\field{\*\fldinst{HYPERLINK "https://pypi.python.org/pypi/pip/"}}{\fldrslt https://pypi.python.org/pypi/pip/}}).\ +} \ No newline at end of file diff --git a/Misc/NEWS b/Misc/NEWS index 0c5e7fd9774..9806e2734dc 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -302,6 +302,9 @@ Extension Modules Build ----- +- Issue #15661: python.org OS X installers are now distributed as signed + installer packages compatible with the Gatekeeper security feature. + - Issue #21958: Define HAVE_ROUND when building with Visual Studio 2013 and above. Patch by Zachary Turner.