Changes between Initial Version and Version 1 of PythonFrameworkTransition


Ignore:
Timestamp:
Mar 6, 2008, 5:51:25 PM (16 years ago)
Author:
raimue (Rainer Müller)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PythonFrameworkTransition

    v1 v1  
     1= Python.framework transition =
     2
     3See the [browser:branches/python-frameworks] branch.
     4
     5== Build python{24,25,30} ports as frameworks ==
     6(into ${prefix}/Library/Frameworks/Python.framework/Versions/{2.4,2.5,3.0}/)
     7
     8    * Keep it as much similar to the default Python.framework for easier maintenance
     9    * Add the following symlinks:
     10{{{
     11${prefix}/lib/pythonXX -> ${prefix}/Library/Frameworks/Python.framework/Versions/XX/lib/pythonXX
     12${prefix}/include/pythonXX -> ${prefix}/Library/Frameworks/Python.framework/Versions/XX/include/pythonXX
     13}}}
     14
     15== Further transition work ==
     16
     17=== python24 ===
     18python24 is already a framework installation, but should be changed to match
     19the scheme from above.
     20
     21Maybe py-* requires the same transition as described for py25-* ports below, we will have to try out.
     22
     23=== python25 ===
     24In order to safely upgrade especially python25 to a framework, we need:
     25
     26    * A new python25 port group, which has to be released with one of the next
     27      MacPorts version. Efforts on this branch have to be coordinated with a
     28      release (targeting 1.6.1 or 1.6.2).
     29
     30    * All py25-* ports have to be removed *before* upgrading python25 itself,
     31      because we change lib/python2.5 from a directory into a symlink.
     32      Otherwise you will see errors with file_map.db.
     33
     34    * Therefore we need some hook inside python25 to fire up on upgrading
     35      non-framework to framework. E.g. it would have to do, save a list of all
     36      installed py25-* ports before and uninstall them. After successful
     37      installation of python25, install these ports again. Because of the
     38      directory-to-symlink change, deactivate/activate does not work.
     39      This will be the main challenge.
     40
     41=== python30 ===
     42Nobody should be using python30 productively yet. python30 port group was also
     43not released yet.
     44    * Make python30 install the same as other python versions.
     45
     46=== python26 ===
     47After all was sorted out, we can add a python26 port in the same manner for the upcoming next python release.