[Xapian-discuss] Parallel installation of Python bindings

Richard Boulton richard at lemurconsulting.com
Tue May 29 12:23:43 BST 2007


Thomas Waldmann asked me a question on IRC, about how to cope with 
upgrading his application (MoinMoin) to use the latest version of Xapian 
if available, but still work with the older releases (so that, for 
example, users can just use the version of Xapian available from their 
linux distribution), and, in particular, if other applications require a 
older Xapian to be installed, how to avoid conflicts.

I thought a bit about this over the weekend, but I can't see any easy 
way to allow multiple versions of the Xapian python bindings to be 
installed at once.  We could put the Xapian bindings in versioned 
directories (omitting the revision part of the version number probably, 
since the API should be backwards compatible within minor versions), but 
this would require some kind of magic "xapian.py" file which loaded the 
appropriate version, and allowed a specific version to be requested.

This seems like overkill for the problem, and I can't think of a simpler 
solution, so I suggest we don't attempt to allow parallel (system-wide) 
installation of Xapian.  A package could always include a Xapian 
installation inside it, of course, if it needs to use a particular 
version of Xapian.

Other than that, my best advice is to use only features which are 
present in 0.9 in your applications until 1.0 becomes widespread, and to 
only upgrade use of deprecated interfaces to the new interfaces, and use 
new features, once you're happy to require your users to have 1.0 installed.

Incidentally, Olly is working on debian packages for 1.0.0 (I'm not sure 
if he's quite finished, but he's certainly made progress), so they'll be 
available soon.

-- 
Richard



More information about the Xapian-discuss mailing list