Skip to content

Add page for the snapshot repository - #7191

Open
christophebedard wants to merge 4 commits into
rollingfrom
christophebedard/snapshots
Open

christophebedard wants to merge 4 commits into
rollingfrom
christophebedard/snapshots

Conversation

@christophebedard

@christophebedard christophebedard commented Sep 18, 2026

Copy link
Copy Markdown
Member

Description

Resolves #7188.

This updates & ports the instructions, context, and explanation from:

  1. The ROS wiki page: https://wiki.ros.org/SnapshotRepository
  2. This Discourse post: https://discourse.openrobotics.org/t/announcing-ros-snapshot-repositories/7705

I added more details to this page compared to the original ROS wiki page: I found that switching to an older snapshot (with older versions) wouldn't actually downgrade already-installed packages unless Pin-Priority: 1001 is set for the snapshot repository.

Much like the original ROS wiki page, this sort of assumes you've already installed ROS. For instance, it assumes you've already installed rosdep, enabled the Ubuntu Universe repository, installed sudo, etc. I'm not sure it's worth complicating it more to support fresh installs.

Did you use Generative AI?

I used Claude Opus 5 to make the initial draft, which I then considerably reworked and validated manually.

Additional Information

This can be backported to all active distros.

Resolves #7188.

This updates & ports the instructions, context, and explanation from:

1. The ROS wiki page: https://wiki.ros.org/SnapshotRepository
2. This Discourse post:
   https://discourse.openrobotics.org/t/announcing-ros-snapshot-repositories/7705

I added more details to this page compared to the original ROS wiki
page: I found that switching to an older snapshot (with older versions)
wouldn't actually downgrade already-installed packages unless
`Pin-Priority: 1001` is set for the snapshot repository.

Much like the original ROS wiki page, this sort of assumes you've
already installed ROS. For instance, it assumes you've already installed
rosdep. I'm not sure it's worth complicating it more to support fresh
installs.

This can be backported to all active distros.

---

I used Claude Opus 5 to make the initial draft, which I then
considerably reworked and validated manually.

Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com>
@christophebedard christophebedard added the backport-all backport at reviewers discretion; from rolling to all versions label Sep 18, 2026
@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown

HTML artifacts: https://github.com/ros2/ros2_documentation/actions/runs/35476381489/artifacts/10593334683.

To view the resulting site:

  1. Click on the above link to download the artifacts archive
  2. Extract it
  3. Open html-artifacts-7191/index.html in your favorite browser

@jncfa-kin

Copy link
Copy Markdown

Since these new docs provide information on how to make use of the ROS snapshots, would it add value to also add a mention about APT::Snapshot as a way to freeze upstream Ubuntu and Debian packages as well?

More info here: https://snapshot.ubuntu.com/

Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com>
@christophebedard

Copy link
Copy Markdown
Member Author

Good idea, I added an entry to the FAQs: 4ea24c2

Comment thread source/Get-Started/Installation/Snapshot-Repository.rst Outdated
Comment on lines +50 to +59
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x4B63CF8FDE49746E98FA01DDAD19BAB3CBF125EA" | sudo gpg --dearmor -o /etc/apt/keyrings/ros-snapshots-archive-keyring.gpg

Check that you downloaded the expected key before using it:

.. code-block:: console

$ gpg --show-keys --with-fingerprint /etc/apt/keyrings/ros-snapshots-archive-keyring.gpg

Confirm that the fingerprint it prints is ``4B63 CF8F DE49 746E 98FA 01DD AD19 BAB3 CBF1 25EA``.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't add keys like this anymore for the usual installation instructions, but I'm not sure there is a better way for the snapshot repo

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have not seen this key available anywhere else other than here, and the previous discussion w.r.t. the GPG key migration suggests that the Ubuntu key server is the only place where this currently lives: https://discourse.openrobotics.org/t/ros-signing-key-migration-guide/43937/41

Unless there has been more recent updates that I am not aware of

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for checking!

One minor change from that page is the move to gpg, since apt-key is apparently deprecated.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm! I also used a similar approach when working on this topic recently, I guess alternatively we can also invoke gpg like apt-key does to download the key, but that would require 2 separate commands just to download it (one to get it, and one to export it from the keyring); this just seems better

@jncfa jncfa Sep 19, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com>

@jncfa jncfa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, these docs were quite useful as a reference for setting up the snapshot repo - I coincidentally had the need for it just as this MR went up 😅

thanks a lot!

@christophebedard

Copy link
Copy Markdown
Member Author

great timing then! Thanks for the review!


.. note::

Snapshots are only available for released (non-Rolling) ROS 2 distributions on Ubuntu.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's actually only LTS releases.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh! That explains why some distros were missing from the repo. Fixed: 92ca9ff

Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-all backport at reviewers discretion; from rolling to all versions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document the snapshot apt repository

5 participants