While building debian packages, I've discovered that xapian-bindings
0.9.7 doesn't work with Python 2.1 (the current Debian stable has
Python 2.1, 2.2, 2.3, and 2.4!) The problem is in SWIG and is easy
to fix (I already have), but it makes me wonder if the time has come
to give up supporting Python 2.1. Some arguments for this:
* Although current Debian stable (3.1) has Python 2.1, the next one
(hopefully out before the end of this year) will only have Python 2.3
and later. If anything, Debian's stable releases are probably a
conservative indicator of the oldest versions which Linux distros are
likely to include.
* This isn't the first time SWIG has broken Xapian with Python 2.1,
e.g.:
http://thread.gmane.org/gmane.comp.search.xapian.devel/526
* Python 2.1 is significantly different to 2.2 and later as far as
SWIG is concerned, which means there's a significant extra effort
to support it compared to 2.2 and later (which could be directed
towards improving Xapian in ways which will benefit more users).
* Python 2.5 was released last month; the last Python 2.1 release was
over 4.5 years ago (2.1.3 on 2002-04-08). I wouldn't be suprised to
find nobody is actually using Xapian with Python 2.1 now.
* Python 2.1 doesn't support the "pythonic iterators" which James
added.
* It would allow us to strip out the whole "olde" vs
"modern" mechanism
in the python bindings parts of configure.ac and Makefile.am, and
simplify smoketest.py a little.
If you're actually using Xapian and Python 2.1 (or planning to) please
speak up, and give us some idea why, and if you have plans to migrate
to a newer Python version.
Meanwhile, the backported packages for Debian stable for 0.9.7 don't
include Python 2.1 support, and the source tarball won't work with
Python 2.1 unless you delete the line "_swig_property = property" from
near the start of python/olde/xapian.py before running "make".
Cheers,
Olly