[ NB: I sent this to fedora-packaging as well as fedora-devel, and it's probably better to follow up there because this thread is shifting focus ... ] On Mon, May 5, 2008 at 10:54 PM, Toshio Kuratomi <a.badger@xxxxxxxxx> wrote: > I took a closer look at Ice and I think there's a few things that should > change. > > 1) AFAICS there's no reason for the python bindings to be part of the Ice > package. It comes in a separate tarball and appears to build on its own. I > can't find a mention of this in the review so I don't know if there's > something special about it that I'm missing. [1]_ Actually, upstream is very soon releasing a new version of Ice where all of the language bindings are in a single tarball, so I think I'll stick with the monolithic SRPM. > 2) The .pth file looks like it's being used to compensate for bad imports > and upstream packaging. > * There should be an __init__.py file in > %{_libdir}/pythonX.Y/site-packages/Ice > > * The following files have imports that need to be changed: > IceBox/__init__.py > Glacier2/__init__.py > IceGrid/__init__.py > IceStorm/__init__.py > IcePatch2/__init__.py > > change imports like:: > import IceBox_IceBox_ice > to this:: > from Ice import IceBox_IceBox_ice The problem is, those files are automatically generated using other parts of the Ice program (using slice2py, to be specific). There's a documented way that slice2py deals with packages and modules (http://zeroc.com/doc/Ice-3.2.1/manual/Python.23.15.html#75777) that I'm reluctant to touch. I could remove the "Ice.pth" file and require people to set PYTHONPATH, but unfortunately I don't think I can go changing the actual (generated) __init__.py files. :( > 3) Additionally, on x86_64, the python module is spread over two > directories: /usr/lib64/python2.5/site-packages/Ice and > /usr/lib/python2.5/site-packages/Ice. Python doesn't handle that very well. > All the files of a module should be in a single directory. Since this > module builds an ELF shared object (IcePy.so/IcePy.so.3.2.1) all files > should be installed into %{python_sitearch}/ (This is what lead to BZ > #392751). Okay, sure, that's easy to fix. So I should put *.py* into site_arch always, and put nothing into site_lib? The Python packaging guidelines aren't amazingly clear on this point to a non-Python programmer like me. :) MEF -- Mary Ellen Foster -- http://homepages.inf.ed.ac.uk/mef/ Informatik 6: Robotics and Embedded Systems, Technische Universität München and ICCS, School of Informatics, University of Edinburgh -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list