PyLucene: How to package libraries that link against OpenJDK libraries?

Felix Schwarz felix.schwarz at oss.schwarz.eu
Thu May 22 21:33:10 UTC 2008


Hi,

I'm trying to package JCC/PyLucene. Now that OpenJDK made it into Fedora (and 
EPEL 5), PyLucene with JCC could possibly be included with Fedora.

But I'm facing some problems writing the spec files, therefore I did not 
submit the packages for a review:
- JCC rpm [1]: include and lflags are set in setup.py which I have to change
   so that the file contains the rights paths. How can I get these paths while
   avoid these pitfalls:
     a) Do not have to rebuild JCC every time OpenJDK gets a version bump?
     b) Use the correct arch? (...lib/i386) - ok that one could be solved with
        some shell scripting in the spec file
     c) How to get the correct vm type? On i386 there is a client and a server
        vm. Is there a way I can "just" get the client vm directory (and as a
        fallback the server vm)?
     d) JCC uses JNI so the library paths must be set correctly at runtime.
        Unfortunately, the OpenJDK package does not add its paths to
        /etc/ld.so.conf.d (did I miss something?) Is there another workaround
        besides using rpath (bad, see a) or filing a bug against OpenJDK?

- PyLucene rpm [2]: Besides the linker search path I have another problem with
   the version number. PyLucene uses version numbers which are illegal in RPM
   such as "2.3.2-1" (sic!). I think the best way to handle it (besides
   upstream changing the numbering schema) is just to use "2.3.2.1". Any
   objections?

And last but not least the naming: PyLucene seems pretty clear to me, it 
conforms to the Python packaging guidelines. But what to do with JCC? It is 
essentially a python application containing a C++ library which links against 
the JDK. Should this be called python-jcc?

Probably many of these questions are very much newbie-style and may be trivial 
for the more experienced but all pointers are appreciated :-)

fs

[1] http://www.schwarz.eu/opensource/rpm/JCC/1.9-2/
[2] http://www.schwarz.eu/opensource/rpm/PyLucene/2.3.2-1/




More information about the fedora-devel-list mailing list