[ros-users] Update to new stack.xml format potentially breaks Fuerte for many users

Jack O'Quin jack.oquin at gmail.com
Sat Jun 30 16:16:50 UTC 2012

On Fri, Jun 29, 2012 at 10:47 PM, Tully Foote <tfoote at willowgarage.com> 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

> 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

> 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

More information about the ros-users mailing list