ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I have come up with vary ugly way of doing this. On build server I have a script which creates compressed version of package installable. e.g catkin_make install --pkg pkg_name -DCMAKE_INSTALL_PREFIX pkg_install zip -r package.zip pkg_install

Now I can copy this compressed package install directory on my target machine. Target machine has the ROS installed but no package source code.

On target machine I have another script which performs following tasks: 1) create a workspace directory 2) create ".catkin" and ".rosinstall" files inside the workspace. (This marks the workspace as catkin_workspace) 3) copy ros setup files from ros_install_directory to worksapce directory This is initialization parts done once per target For per package The package is unzipped in tmp dir The package contents are something like tmp/ros_package/lib tmp/ros_package/share ... Now I copy content of copy tmp/ros_package/lib/* to workspace/lib/<package_name>/ copy tmp/ros_package/share/* to workspace/lib/<package_name>/ ....

This process actually worked. I am able to run newly installed nodes on target without having its source code.

However, the scripts are very complicated and not very easy to maintain.

Can someone suggest a better way?