ROSBUILDER(1)
π ROSBUILDER β bestie edition π
okay so real talk, this is rosbuilder(1) from section 1 of the manual, and she's the little engine that runs your ROS package build steps. Come sit with me, I got you π«Ά
β¨ NAME β¨
rosbuilder β bestie literally runs the right build commands for ROS packages, no cap π
β¨ SYNOPSIS β¨
rosbuilder [options]
that's it. that's the whole vibe check. πΈ
β¨ DESCRIPTION β¨
So rosbuilder is not a "you, personally, in your free time" kind of tool β she gets invoked internally by the ros buildsystem. The way you actually use her is in your debian/rules, like this:
dh --buildsystem=ros
and she handles the rest. iconic behavior fr fr π
β¨ OPTIONS β¨
-h,--helpβ show this help message and exit. she's helpful AND pretty π--sourcedir DIRβ root directory of the source package π³--search-depth Nβ caps how deep she'll dig when searching for packages recursively, max N directory levels (default:2) π--unlimited-search-depthβ no cap on the depth. she's going ALL the way down, periodt π--builddir DIRβ build directory ποΈ--destdir DIRβ install staging directory (default:debian/tmp) π¦--install-prefix DIRβ install prefix (default:/usr) π--verboseβ make verbose output. she will tell you EVERYTHING π£οΈ--detectβ detect if ROS packages are to be built π--build-typesβ list detected build types π--build-orderβ list packages in build order π’
β¨ ENVIRONMENT β¨
You can customize how rosbuilder behaves by setting various environment variables in debian/rules. She's very adaptable, we love a flexible queen π¦
β οΈ GIRL. listen. Remember to prefix your declarations with theexportkeyword, or the variables will not propagate to the environment properly. noexport, no vibes. don't do this to yourself π
π General behavior π
ROS_DESTDIRβ override the location for the staged installation πROS_INSTALL_PREFIXβ override the install prefix π«ROS_IGNORE_TEST_RESULTSβ do not fail the build if thedh_auto_teststep fails for the listed packages. And if you set it to the special value1, test failures for all packages will be ignored. forgiving icon behavior πROS_PYTHON_VERSIONβ set to2or3to force the respective Python version for the build πROS_SKIP_PACKAGESβ do not build the listed packages at all. bye bestie πROS_SKIP_INSTALLβ do not install in the listed packages. This is mostly useful for dedicated test packages π§ͺROS_SKIP_TESTSβ skip tests for the listed packages. If set to the special value1, all package tests will be skipped. This is equivalent to passingnocheckviaDEB_BUILD_OPTIONSπ΄
π Customizing dh_auto_* π
For the clean, 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. So much power, use it responsibly π
ROS_step_ARGSβ pass additional arguments to a dh step. The placeholderstepstands for one ofCONFIGURE,BUILD,TEST,INSTALL, orCLEAN, all in upper-case. yes, uppercase, she's shouting π£οΈROS_step_type_ARGSβ pass additional arguments to a dh step, but only for packages with a particular build type. Known build types areAMENT_CMAKE,AMENT_PYTHON,CATKIN, andCMAKEπ―ROS_step_WRAPPERβ wrap a dh step with another command, i.e., prepend the command line with the given command and its arguments. The wrapper command is expected to execute the remainder of its arguments. An example for a wrapper isxvfb-run, which can be used to run tests in a virtual X server. fancy π₯οΈβ¨ROS_step_type_WRAPPERβ wrap a dh step with another command, 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 after 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 anyCOMMAND_PREFIXwill be ignored as well. full chaos mode, no takebacks π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 anyWRAPPERwill be ignored as well. she said overlapping hooks? never heard of her π
π 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. safety first, bestie π
{dir}β the source directory of the currently processed ROS package π{build_dir}β the temporary build directory of the currently processed ROS package ποΈ{destdir}β the location for the staged installation π¦{homedir}β the temporary directory that is used forROS_HOMEduring building and testing π‘{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 processed ROS package π’{build_type}β the build type of the currently processed ROS package π§©{prefix}β the install prefix π
β¨ AUTHOR β¨
The dh-ros helper and rosbuilder was written by Timo RΓΆhling for Debian. king behavior, we stan ππ
β¨ SEE ALSO β¨
debhelper(7)β go read it, she references it for a reason π«Ά
and that's the whole page, bestie!! πβ¨ this was ROSBUILDER(1) at version 0.15.0, and if you made it all the way down here you're genuinely the main character. go build something cute ππ
π¦ where this page comes from
- ubuntu stonking: dh-ros 0.15.0 Β· MIT
- π the page's license: MIT
- Copyright 2021-2022 Timo RΓΆhling <roehling@debian.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms