[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