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

Using rosbuild there is no install target. I highly recommend if you're building/packaging things to go into /opt/ros you build them in place. That is effectively how we build the debian packages which we release. (There's some magic to work through chroots etc in the debbuild system).

This is one of the primary features driving the development of the new build system, catkin. To see how the debian building happens see the rosdeb package single_deb.py is being used for rosbuild stacks in fuerte and groovy.

It's invocation is like this:

#!/bin/bash -x
OS_PLATFORM=precise
ARCH=amd64
STACK_NAME=arm_navigation_experimental
PACKAGE_NAME=ros-groovy-arm-navigation-experimental
DISTRO_NAME=groovy

echo $DISTRO_NAME
echo $STACK_NAME
echo $OS_PLATFORM
echo $ARCH

sudo apt-get install pbuilder git-core python-rospkg python-vcstools -y

cat > $WORKSPACE/build.bash << DELIM
source /opt/ros/cturtle/setup.sh
export ROS_PACKAGE_PATH=$WORKSPACE/ros_release:$WORKSPACE/release:$ROS_PACKAGE_PATH

#noupload while testing
rosrun rosdeb single_deb.py $DISTRO_NAME $STACK_NAME $OS_PLATFORM $ARCH
DELIM

bash $WORKSPACE/build.bash

There's lots of state setup on the build machine to support this. There are people who have replicated some or all of this, but it's definitely not designed to be deployed externally and will not be a focus of development. The new buildsystem does have a goal of supporting external projects deploying the infrastructure behind firewalls.