Skip to content

ros-infrastructure/ros-apt-source

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# ROS archive keyring

This repository contains the packages for configuring keys and source for the ROS repositories.

The packages target the supported platforms for which binary packages are built. 
The supported ROS-OS pairs are: 

|                 | ROS | ROS 2 |
|-----------------|-----|-------|
| Debian Buster   | *   |       |
| Ubuntu Focal    | *   | *     |
| Ubuntu Jammy    |     | *     |
| Ubuntu Noble    |     | *     |
| RHEL 8          |     | *     |
| RHEL 9          |     | *     |
| Debian Bullseye |     | ^     |
| Debian Bookworm |     | ^     |

> [*] Testing with ROS debs
> [^] Testing with Infra pkgs since no debs available.

## About the package

The package configures the keyring in `/usr/share/keyrings` and the corresponding source file is symlinked from `/usr/share/ros-apt-source` to the expected path `/etc/apt/sources.list.d`. 
From Jammy onwards the key is embedded in that source file and the content from this is pulled from the keyring and parsed to the special format on build(See: https://manpages.ubuntu.com/manpages/noble/man5/sources.list.5.html). The keyring is left in place even with the embedded key to facilitate key validation without having to extract the key from the sources file.


## Building the packages

Run 
```
earthly +build-all
```

## Uploading packages to the bootstrap repo.

After release, copy packages to the bootstrap repo:

```
scp -r output [email protected]:ros-apt-source
```

Import each set of packages into the corresponding bootstrap repository.
```
aptly repo add ros_bootstrap-focal ros-apt-source/ubuntu\:focal/ros*.deb
aptly repo add ros_bootstrap-jammy ros-apt-source/ubuntu\:jammy/ros2*.deb
aptly repo add ros_bootstrap-noble ros-apt-source/ubuntu\:noble/ros2*.deb
bin/snapshot-and-publish-all ros_bootstrap
```

TODO: Instructions for updating RPM bootstrap repo.

Run import_upstream (and import_upstream_rpm) on build.ros.org and build.ros2.org to complete the package import