[arch-dev-public] python 3.2 rebuild

Stéphane Gaudreault stephane at archlinux.org
Sun Feb 20 16:32:24 EST 2011


Version 3.2 of python is now available (formal announcement on the python.org 
frontpage should be published in the next hours).

Thankfully this rebuild will be a much smaller than the recent one for 2.7.1. 
It is a fairly small rebuild with 9 pkgs from [extra] and 18 from [community]. 

I am ready to upload the new package into staging so rebuilds can start after. 
I tested [extra] package rebuild with the "rc" releases and Fedora ran their 
development tree with python 3.2rc{1,2,3} for several weeks, so I do not 
expect problems with the final release. If there is no objection, I will start 
the rebuild into staging tomorrow morning.

Important changes are listed here : 
http://docs.python.org/dev/whatsnew/3.2.html

There is a new bytecode format and the layout of how Python stores cached
bytecode has changed somewhat. The full details can be seen at:
  http://www.python.org/dev/peps/pep-3147/

To summarize, where before we had:
   foo/__init__.py
   foo/__init__.pyc
   foo/__init__.pyo
   foo/bar.py
   foo/bar.pyo
   foo/bar.pyo
   foo/foo.py
   foo/foo.pyc
   foo/foo.pyo

with Python 3.2 we now have a __pycache__ directory:
   foo/__init__.py
   foo/bar.py
   foo/foo.py
   foo/__pycache__/
   foo/__pycache__/__init__.cpython-32.pyc
   foo/__pycache__/__init__.cpython-32.pyo
   foo/__pycache__/foo.cpython-32.pyc
   foo/__pycache__/foo.cpython-32.pyo
   foo/__pycache__/bar.cpython-32.pyc
   foo/__pycache__/bar.cpython-32.pyo

The 32 in the above filenames refers explicitely to the python version, not the 
architecture. 

When rebuilding, we will need to make sure that rebuilded packages contains 
directories like  foo/__pycache__
to capture the directory and the bytecode files within.

As the .pyo files are architecture independent. I think we should make sure to 
build them, i.e add --optimize=1 in the install line like this :

python setup.py install --root="$pkgdir" --optimize=1

Stéphane


More information about the arch-dev-public mailing list