rosbuilder(1)

execute appropriate build commands for ROS packages

Section 1 dh-ros bookworm source

Description

ROSBUILDER

NAME

rosbuilder - execute appropriate build commands for ROS packages

SYNOPSIS

rosbuilder [options]

DESCRIPTION

rosbuilder is invoked internally by the ros buildsystem. You can use this in your debian/rules with dh --buildsystem=ros.

OPTIONS

-h, --help

show this help message and exit

--sourcedir DIR

root directory of the source package

--search-depth N

limit maximum depth to N directory levels when searching for packages recursively (default: 2)

--unlimited-search-depth

do not limit maximum depth when searching for packages

--builddir DIR

build directory

--destdir DIR

installation directory

--verbose

make verbose output

--detect

detect if ROS packages are to be built

--build-types

list detected build types

--build-order

list packages in build order

ENVIRONMENT

The rosbuilder behavior can be customized by setting various environment variables in debian/rules.

Remember to prefix the declarations with the export keyword, or the variables will not propagate to the environment properly.

General behavior

ROS_DESTDIR

override the location for the staged installation

ROS_IGNORE_TEST_RESULTS

do not fail the build if the dh_auto_test step fails for the listed packages. If set to the special value 1, test failures for all packages will be ignored.

ROS_PYTHON_VERSION

set to 2 or 3 to force the respective Python version for the build

ROS_SKIP_PACKAGES

do not build the listed packages at all

ROS_SKIP_TESTS

skip tests for the listed packages. If set to the special value 1, all package tests will be skipped. This is equivalent to passing nocheck via DEB_BUILD_OPTIONS.

Customizing dh_auto_*

For the configure, build, test, and install steps, there are hooks to run additional commands before and after each step. Also, either additional arguments can be passed to the dh_auto_* helpers or the whole step can be replaced by a different command.
ROS_
step_ARGS

pass additional arguments to a dh step. The placeholder step stands for one of CONFIGURE, BUILD, TEST, INSTALL, or CLEAN, all in upper-case.

ROS_step_type_ARGS

pass additional arguments to a dh step, but only for packages with a particular build type. Known build types are AMENT_CMAKE, AMENT_PYTHON, CATKIN, and CMAKE.

ROS_step_COMMAND_PREFIX

prepend the given command and its arguments to a dh step. This is intended for wrapper commands which execute the remainder of their arguments, such as xvfb-run, which can be used to run tests in a virtual X server.

ROS_step_type_COMMAND_PREFIX

prepend the given command and its arguments to a dh step, but only for a particular build type.

ROS_EXECUTE_BEFORE_step

execute additional commands before a dh step. The value is subject to some variable expansion (see below) and treated as shell command line.

ROS_EXECUTE_AFTER_step

execute additional commands before a dh step

ROS_EXECUTE_BEFORE_step_type

execute additional commands before a dh step for packages of build type type.

ROS_EXECUTE_AFTER_step_type

execute additional commands after a dh step for packages of build type type.

ROS_EXECUTE_CUSTOM_step

replace the dh step by a custom shell command line. This will replace the entire command line, so any COMMAND_PREFIX will be ignored as well.

ROS_EXECUTE_CUSTOM_step_type

replace the dh step for packages of build type type by a custom shell command line. This will replace the entire command line, so any COMMAND_PREFIX will be ignored as well.

Variable expansions for shell command lines

rosbuilder supports a few placeholders in custom command lines. All values will be quoted as required to prevent spurious shell expansions.

{dir}

the source directory of the currently processed ROS package

{builddir}

the temporary build directory of the currently processed ROS package

{destdir}

the location for the staged installation

{package}

the name of the currently processed ROS package

{package_id}

the sanitized package name, suitable for use as variable identifier

{version}

the version number of the currently procssed ROS package

{build_type}

the build type of the currently processed ROS package

AUTHOR

The dh-ros helper and rosbuilder was written by Timo Röhling for Debian.

SEE ALSO

debhelper(7)