Add page for the snapshot repository - #7191
christophebedard wants to merge 4 commits into
Conversation
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>
|
HTML artifacts: https://github.com/ros2/ros2_documentation/actions/runs/35476381489/artifacts/10593334683. To view the resulting site:
|
|
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 More info here: https://snapshot.ubuntu.com/ |
Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com>
|
Good idea, I added an entry to the FAQs: 4ea24c2 |
| $ 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``. |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
There was a problem hiding this comment.
thanks for checking!
One minor change from that page is the move to gpg, since apt-key is apparently deprecated.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
This is actually how it is done in the osrf docker images: https://github.com/osrf/docker_images/blob/c6df95052053bb76678d1303a727f072c9657262/ros/noetic/ubuntu/focal/ros-core/Dockerfile#L22-L32
Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com>
jncfa
left a comment
There was a problem hiding this comment.
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!
|
great timing then! Thanks for the review! |
|
|
||
| .. note:: | ||
|
|
||
| Snapshots are only available for released (non-Rolling) ROS 2 distributions on Ubuntu. |
There was a problem hiding this comment.
It's actually only LTS releases.
There was a problem hiding this comment.
oh! That explains why some distros were missing from the repo. Fixed: 92ca9ff
Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com>
Description
Resolves #7188.
This updates & ports the instructions, context, and explanation from:
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: 1001is 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.