Comment 5 for bug 531518

Revision history for this message
Julian Andres Klode (juliank) wrote :

I would not say it's half a rewrite.

all: Python 3 support
aptsources: Almost completely identical, just some small fixes.
apt: API rename, using tested compatibility functions derived from the ones used in python-debian.
apt.progress: Mostly rename, and a rewritten AcquireProgress (the complete old one is still provided for compat)
apt_inst: Additional code only

apt_pkg
------------
- API rename, using a single tp_getattro function which translates old attributes names to the new ones.
- Use classes instead of functions for creating objects
- Fix the memory deallocation of most objects (previously, the object we pointed to was not deleted)
- Some new classes, but they do not change anything in the old ones
- Use getset instead of tp_getattr; as this is more reliable and allows pydoc to work.
- Some stylistic changes

The changelog looks larger than the changes are in reality, because it also lists stuff that was already backported into 0.7.13.4 and lists some fixes for new functionality again; and because the changes are often documented per-file.

Shipping the new API now makes it easier to merge patches; and gives developers one python-apt API for Debian & Ubuntu instead of two. And hey, if Debian can ship it, Ubuntu should do it as well.

Oh, and the earlier the merge is done; the more testing the code gets. It should have been done earlier, but doko is not a very responsive person on the Debian side, and I wanted to wait for Python 3 in Debian sid first; and could not merge the sid and experimental branches until doko finally managed to upload python3.1 to unstable. And mvo was also very busy, we were planning to merge it before the freeze; but this failed due to some (now fixed) issues.