[Documentation] [TitleIndex] [WordIndex

The basic design of rosstack

Summary:

A tool to help manage working out of multiple repositories with different versions of stacks. And a first step toward being able to have out of the box apps.

Protype usage

Clean Install

Download/unpack rostack
rosstack update
rosstack install 2dnav_stage
rosstack setup 2dnav_stage --name=2dnav_stage_demo
source ~/ros/.bashrc.2dnav_stage_demo
rosdep 2dnav_stage
rosmake 2dnav_stage
roscd 2dnav_stage
roslaunch 2dnav_stage_wavefront.launch

Problem: Need to bootstarp compile ROS not met

Switch to branch of ROS

rosstack update
rosstack install ros-0.5
rosstack setup ros-0.5
source ~/ros/.bashrc.ros-0.5
rosmake roscpp_tutorials
rosrun roscpp_tutorials 001talker

Environment Variables Read

ROS_STACK_PATH_READ_ONLY --- colon seperated search path (non recursive) ROS_STACK_PATH (Default: ~/ros) --- colon seperated search path (non recursive) write to first one

ROS_SOURCES (Default ~/ros/sources.list)

Files

configuration files

~/ros/sources.list

~/.rosstack_cache A local cache of above stack listings

stack.xml

Same as manifest except add version (maybe remove sysdeps, for that's tracked at a package level)

Server Files

On some server(s) there will be definitions of each stack including the following fields:

Modes

list

Options:

find

Stack-Name return the full path to the stack

contents

List packages in stack

update

Read ROS_SOURCES and update local cache of available packages (~.rosstack_cache)

upgrade

Iterate through stacks installed from svn and update each

install

Install stack NAME(S) and all their dependencies. Options:

publish

A helper function which will upload the stack definition to some server where it will be pulled down when others update

setup

options:

Create ~/.bashrc.NAME with:

ROS_ROOT
ROS_PACKAGE_PATH

2024-03-23 12:57