Skip to content

Create libbot2 deb packages for noble#25

Merged
jwnimmer-tri merged 1 commit intoRobotLocomotion:drakefrom
Aiden2244:22891/libbot-noble
Apr 22, 2025
Merged

Create libbot2 deb packages for noble#25
jwnimmer-tri merged 1 commit intoRobotLocomotion:drakefrom
Aiden2244:22891/libbot-noble

Conversation

@Aiden2244
Copy link

@Aiden2244 Aiden2244 commented Apr 21, 2025

Closes Drake issue #22891

Updated the libbot2 packaging script from the drake branch to create the lcm and libbot2 packages from source targeting Ubuntu 24.04 (noble). To verify correctness, the script was executed on an amd64 machine running Ubuntu 24.04. The script successfully created .deb packages for lcm and libbot2, both of which could be manually installed on the host machine. After installation, the program /opt/libbot2/<version>/bin/bot-procman-sheriff ran successfully and was able to recognize when an /opt/libbot2/<version>/bin/bot-procman-deputy process was launched.

CAVEAT: In order for the script to run successfully, the directory where the packages are installed (which is the root directory of the clone, by default) needs to have global write permissions enabled (via chmod a+w </path/to/root>).

Summary of key changes:

  • Globally raised FATAL minimum version of CMake from 3.1 to 3.5
  • Added patches to scripts/package/linux/ubuntu/common/build.sh in order to build LCM
    • Raised minimum CMake from 3.1 to 3.10
    • Replaced calls to Py_TYPE with calls to Py_SET_TYPE to reflect API upgrade
  • Changed references of freeglut3 to libglut3.12 and cousins to reflect upgraded package naming
  • Trivial changes where necessary to reference noble
  • Removed support for versions of Ubuntu prior to noble
  • Removed logic that uploaded packages to Kitware wheel site

This change is Reviewable

@Aiden2244
Copy link
Author

@jwnimmer-tri This pr should now have the fixes requested from #24

@jwnimmer-tri jwnimmer-tri self-assigned this Apr 21, 2025
Copy link

@jwnimmer-tri jwnimmer-tri left a comment

Choose a reason for hiding this comment

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

Reviewed 31 of 31 files at r1, all commit messages.
Reviewable status: 3 unresolved discussions, LGTM missing from assignee jwnimmer-tri, platform LGTM missing (waiting on @Aiden2244)


a discussion (no related file):

CAVEAT: In order for the script to run successfully, ...

This should be in a README file for posterity (not the PR overview).


a discussion (no related file):
From the PR overview ...

Removed logic that uploaded packages to Kitware wheel site

I agree that we want that outcome, but I didn't see any relevant code-deletions in the PR? Maybe I missed it?


README.md line 3 at r1 (raw file):

# RobotLocomotion Fork of libbot2

![CI](https://github.com/RobotLocomotion/libbot2/workflows/CI/badge.svg)

BTW Since we are deleting all of CI, we should also delete all of the badge references in all of the READMEs.

@Aiden2244 Aiden2244 force-pushed the 22891/libbot-noble branch from ee769f3 to 3ccabe6 Compare April 22, 2025 15:56
Copy link
Author

@Aiden2244 Aiden2244 left a comment

Choose a reason for hiding this comment

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

Reviewable status: 2 unresolved discussions, LGTM missing from assignee jwnimmer-tri, platform LGTM missing (waiting on @jwnimmer-tri)


a discussion (no related file):

Previously, jwnimmer-tri (Jeremy Nimmer) wrote…

From the PR overview ...

Removed logic that uploaded packages to Kitware wheel site

I agree that we want that outcome, but I didn't see any relevant code-deletions in the PR? Maybe I missed it?

Oops, not sure how that moved from the to-do list to the changelog without any requisite changes 🤦 . Come to think of it, unless I am missing something, I can't actually find any code that uploads these packages anywhere. There is logic in the scripts/setup/.../install_prereqs.sh file which designates that Kitware packages are installed from the Kitware apt site instead of the standard Ubuntu site; should this logic go away? AFAIK this is strictly for configuration purposes, but if it references a configuration or a repo that is out of date then it should probably go.


a discussion (no related file):

Previously, jwnimmer-tri (Jeremy Nimmer) wrote…

CAVEAT: In order for the script to run successfully, ...

This should be in a README file for posterity (not the PR overview).

I added this in a README in the same directory as the script itself, but can move it elsewhere if we think that would be clearer.

Copy link

@jwnimmer-tri jwnimmer-tri left a comment

Choose a reason for hiding this comment

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

Reviewed 9 of 9 files at r2, all commit messages.
Reviewable status: all discussions resolved, LGTM missing from assignee jwnimmer-tri, platform LGTM missing (waiting on @Aiden2244)


a discussion (no related file):

I can't actually find any code that uploads these packages anywhere.

Not surprising. I imagine it was done by hand previously.

... which designates that Kitware packages are installed from the Kitware apt site instead of the standard Ubuntu site; should this logic go away?

Let's keep it for now. That's providing a first-party CMake instead of Ubuntu's package. I might circle back and switch to Ubuntu CMake later, but we'll leave it alone for now.

@jwnimmer-tri jwnimmer-tri merged commit 4096d49 into RobotLocomotion:drake Apr 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants