Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The main cost in supporting a "new OS" is in getting all the required packages released. You could take a look at ros/rosdistro#21513 to see what is typically involved.

Raspbian may be a variant of some other OS, but that doesn't really matter too much. It makes it somewhat easier wrt dependencies, but even then things need to be tested, build configurations updated, various jobs created on the buildfarm and all the (release) tooling needs to be updated and working.

At least, that's what it means to add "official" support for a new OS or architecture.

Communities or community members could of course provide binaries of packages they've already compiled to others. Perhaps using a container technology like Docker, Singularity or LXC. That could help with distribution and deployment and would also allow you to freeze versions of dependencies.

All-in-all supporting Raspbian may be technically feasible, but it comes at a (high) cost.

The main cost in supporting a "new OS" is in getting all the required packages released. You could take a look at ros/rosdistro#21513 to see what is typically involved.involved (that is the Noetic Kick-off and Release Checklist).

Raspbian may be a variant of some other OS, but that doesn't really matter too much. It makes it somewhat easier wrt dependencies, but even then things need to be tested, build configurations updated, various jobs created on the buildfarm and all the (release) tooling needs to be updated and working.

At least, that's what it means to add "official" support for a new OS or architecture.

Communities or community members could of course provide binaries of packages they've already compiled to others. Perhaps using a container technology like Docker, Singularity or LXC. That could help with distribution and deployment and would also allow you to freeze versions of dependencies.

All-in-all supporting Raspbian may be technically feasible, but it comes at a (high) cost.

The main cost in supporting a "new OS" is in getting all the required packages released. You could take a look at ros/rosdistro#21513 to see what is typically involved (that is the Noetic Kick-off and Release Checklist).

Raspbian may be a variant of some other OS, OS (which is already supported) and you're necessarily interested in creating a new ROS release, so some of those tasks will not be relevant, but that doesn't really matter too much. It makes it somewhat easier wrt dependencies, but even then things need to be tested, build configurations updated, various jobs created on the buildfarm and all the (release) tooling needs to be updated and working.

At least, And that's just the base ROS release. All the community contributed packages are then still missing. And there is a good chance Raspbian ships certain dependencies at sufficiently different versions that some/many packages don't immediately build or run correctly. Which will then require maintainers of those packages to fix them -- or the release maintainer will need to figure out the problem and potentially blacklist the package.

That's what it means to add "official" support for a new OS or architecture.


Communities or community members could of course provide binaries of packages they've already compiled to others. Perhaps using a container technology like Docker, Singularity or LXC. That could help with distribution and deployment and would also allow you to freeze versions of dependencies.

All-in-all supporting Raspbian may be technically feasible, but it comes at a (high) cost.