New submission from Ned Deily: There are currently various differences in the files installed by "make altinstall" and "make install" for OS X framework (./configure --enable-framework) and/or OS X universal (--with-universal-archs) configurations. Some of the differences are cosmetic; some are just wrong (e.g. broken symlinks). This issue proposes to fix the differences such that the same set of file names will be installed to the $exec_prefix/bin directory for non-framework ("unix" or "shared") configures, and to the framework bin and unixtools directories for framework configurations. The current standard altinstall and install non-framework configurations are the baselines.
For framework configurations: - "make altinstall" creates a complete set of symlinks in the unixtools directory ($prefix/bin, default /usr/local/bin) to each file/link installed to the framework bin directory. (fixed) - "make install" creates symlinks to the additional (unversioned) files/links created in the framework bin directory. (fixed) - The obsolete and undocumented pythonw* symlinks will no longer be installed anywhere. Currently, these are all linked to or copies of their python* counterparts; there is no difference in behavior between them on OS X and hasn't been for many years and releases. (Note, these are not to be confused with the unchanged "pythonw.c" executable which is what is executed to "boostrap" from the command line into the Python app bundle within a framework install.) - pythonX.Ym will be fixed to be replaced by a link to "python.c" executable; currently it is a copy of the python interpreter. (bug) For OS X universal non-framework build configurations with a combination of 32-bit and 64-bit architectures, "make altinstall" will now additionally install a 32-bit-only Python executable as pythonX.Y-32, like the universal framework configurations currently do (new). (Actually, the framework build installs a 32-bit-only "pythonw.c" bootstrap executable ... but that's not important now). This ensures that users have a consistent and reliable way to invoke universal 64-/32-bit Pythons in 32-bit mode. FTR, using "arch -i386 python3" is not reliable in that any subprocesses created by the interpreter will revert to the system's default mode which is 64-bit (where possible) for 10.6+. With "python3-32", 32-bit mode is maintained in subprocesses if sys.executable is used to supply the interpreter name for the subprocess, as of Python 3.3+. For reference, here are current 3.3 bin layouts: left side is the baseline, right side indicates variances from the baseline with "X.Y" and "X" referring to the Python version ("3.4" and "3"), "(..)" indicating a missing file, directory, or Makefile target, and "m" referring to the PEP 3149 ABI identifier: ================= ========================= install framework install altinstall framework altinstall ================= ========================= 2to3 2to3-X.Y idleX idleX.Y pydocX pydocX.Y pythonX pythonwX pythonX.Y pythonX,pythonwX.Y pythonX.Ym pythonX-config pythonX.Y-config pythonX.Ym-config pyvenv pyvenv-X.Y ----------------- ------------------------- (for universal builds) pythonX.Y-32,pythonX-32, pythonwX.Y-32,pythonwX-32 ================= ========================= ================= ========================= install (framework unixtools) altinstall framework altunixtools ================= ========================= 2to3 2to3-X.Y idleX idleX.Y pydocX pydocX.Y pythonX pythonwX pythonX.Y pythonwX.Y pythonX.Ym (pythonX.Ym) pythonX-config pythonX.Y-config pythonX.Ym-config (pythonX.Ym-config) pyvenv pyvenv-X.Y ----------------- ------------------------- (for universal builds) pythonX.Y-32,pythonX-32, pythonwX.Y-32,pythonwX-32 ================= ========================= Proposed for 3.4 - for non-framework, framework bin, and framework unixtools directories: ================= install altinstall ================= 2to3 2to3-X.Y idleX idleX.Y pydocX pydocX.Y pythonX pythonX.Y pythonX.Ym pythonX-config pythonX.Y-config pythonX.Ym-config pyvenv pyvenv-X.Y ----------------- (for universal builds) pythonX-32 pythonX.Y-32 ================= ---------- assignee: ned.deily components: Build, Macintosh messages: 203342 nosy: ned.deily, ronaldoussoren priority: normal severity: normal stage: patch review status: open title: Clean up OS X framework and universal bin directories versions: Python 3.4 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue19649> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com