On Fri, Jun 29, 2012 at 10:47 PM, Tully Foote wrote: > Hi Jack and Lorenz, > > We've been trying different installation mechanisms and > pypi/pip/easy_install although quick and easy to start has started showing > some major holes in it's implementation (unable to uninstall, partial > upgrade failures, etc)  Recently we've worked out how to release these pure > python packages as debian packages and now as you know rospkg is available > as debian packages. Recent experience has confirmed my dislike of easy_install. At least pip has an uninstall option, whereas easy_install forces users to remove the installed files by hand, which is more difficult that it looks. > The issue we're running into is that the pypi based installations override > the debian based ones, and usually update correctly, however as we progress > with the debian releases the pypi based installations don't get updated with > the rest of the system. > > With these recent problems using pip/easy_install we've decided to make the > effort and debianize all the things we are currently distributing through > pypi.  So that Ubuntu users will always just use apt.  We will keep the pypi > mechanism for it is better than nothing on the other platforms. Thanks for the status update, Tully. That should help a lot. This problem is less acute for platforms built from source. Users know when those sources are updated and rebuilt. With clear directions, the necessary script updates could happen then. We still need clear documentation on how and what to install, and how to update to the correct version. Some of these script commands lack a --version option. (Ironically, rosversion is one example.) The Ubuntu problem is worse because apt will update things automatically, and the scripts may not be up to date. That is basically what happened recently. Distributing the scripts in the same distribution pipeline eliminates that hole. When scripts are first distributed as Debian packages, we need to notify the existing install base to delete the pypi versions, which is sometimes hard to do. BTW, care is needed when renaming Ubuntu packages. Another problem that bit me recently was having a very old and obsolete rospkg module installed as ros-fuerte-rospkg. When the new python-rospkg was released, it should have said "Replaces: ros-fuerte-rospkg". The renaming was appropriate, since rospkg is not part of the Fuerte distribution. But, leaving the old one lying around caused much confusion. > As we've now worked out all the known blockers for deploying catkin, we're > preparing to present it for review and with that we are also planning to > fork for Groovy. (And as Jack mentioned this is a separate but relevant > issue) I look forward to that. I seem to have an amazing ability to screw these things up, often a useful test methodology. :-) Most of these scripts are intended to work with multiple distributions, which makes their maintenance and testing even more challenging. --  joq