Skip to content
This repository has been archived by the owner on Feb 22, 2024. It is now read-only.
/ spot_msgs Public archive

Repository for custom messages for Spot (see bosdyn_msgs for auto-generated ones from the API)

License

Notifications You must be signed in to change notification settings

bdaiinstitute/spot_msgs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spot_msgs

Repository for custom messages for Spot (see bosdyn_msgs for auto-generated ones from the API).

How to build .deb

(Largely borrowed from here)

Get dependencies

You may need the latest pip, follow the official instructions.

Install bloom:

sudo pip install -U bloom

Install fakeroot:

sudo apt-get install fakeroot

Get ready

To make a debian folder structure from the ROS package you must cd into the package to be in the same folder where package.xml file is.

Create debian structure

Initialize (if you haven't already) and update rosdep:

rosdep init
rosdep update

Because spot_msgs depends on bosdyn_msgs which is not yet released, I had to fork rosdistro and put in a blank reference for bosdyn_msgs.

Configure some stuff:

bloom-generate rosdebian --os-name ubuntu --os-version jammy --ros-distro humble

You can also let the tool guess some stuff:

bloom-generate rosdebian --ros-distro humble

You'll get something like this:

$ bloom-generate rosdebian --os-name ubuntu --os-version jammy --ros-distro humble
/usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning:  is an invalid version and will not be supported in a future release
  warnings.warn(
/usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning:  is an invalid version and will not be supported in a future release
  warnings.warn(
ROS Distro index file associate with commit 'e7ba7d4d4fa7ad70260b34fb0e03f4b96e6f62bb'
New ROS Distro index url: 'https://raw.githubusercontent.com/ros/rosdistro/e7ba7d4d4fa7ad70260b34fb0e03f4b96e6f62bb/index-v4.yaml'
==> Generating debs for ubuntu:jammy for package(s) ['spot_msgs']
No homepage set, defaulting to ''
No historical releaser history, using current maintainer name and email for each versioned changelog entry.
No CHANGELOG.rst found for package 'spot_msgs'
Package 'spot-msgs' has dependencies:
Run Dependencies:
  rosdep key           => jammy key
  rosidl_default_runtime => ['ros-humble-rosidl-default-runtime']
Build and Build Tool Dependencies:
  rosdep key           => jammy key
  builtin_interfaces   => ['ros-humble-builtin-interfaces']
  common_interfaces    => ['ros-humble-common-interfaces']
  std_msgs             => ['ros-humble-std-msgs']
  sensor_msgs          => ['ros-humble-sensor-msgs']
  ament_cmake          => ['ros-humble-ament-cmake']
  rosidl_default_generators => ['ros-humble-rosidl-default-generators']
==> Placing templates files in the 'debian' folder.
==> In place processing templates in 'debian' folder.
Expanding 'debian/rules.em' -> 'debian/rules'
Expanding 'debian/compat.em' -> 'debian/compat'
Expanding 'debian/changelog.em' -> 'debian/changelog'
Expanding 'debian/copyright.em' -> 'debian/copyright'
Expanding 'debian/control.em' -> 'debian/control'
Expanding 'debian/source/format.em' -> 'debian/source/format'
Expanding 'debian/source/options.em' -> 'debian/source/options'

Create binary debian

Having sourced the necessary dependencies (most probably source /opt/ros/humble/setup.bash) execute:

fakeroot debian/rules binary

If you get the error:

dh: Command not found

You need to install:

sudo apt-get install dpkg-dev debhelper

If you've run this before, you may have a directory that starts with .obj. You'll want to delete that directory for a clean build.

In the end you'll get a line like:

dpkg-deb: building package 'ros-humble-spot-msgs' in '../ros-humble-spot-msgs_0.0.0-0jammy_amd64.deb'.

Upload debian to GitHub

You should now have a .deb file containing the spot_msgs package in the directory above. You need to upload that as a release to GitHub here. Please increment the version of the release. At some point we may consider automating this process but we don't have a formalized way of doing these precompilations yet.

About

Repository for custom messages for Spot (see bosdyn_msgs for auto-generated ones from the API)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages