[ros-users] [Discourse.ros.org] [OpenEmbedded] Superflore & Open Embedded

Lukas Bulwahn ros.discourse at gmail.com
Wed Jan 3 14:26:48 UTC 2018


thank you for that contribution.

First, some general remarks to your superflore tool:

You should have a look at these three scripts that already can generate recipes:

 - https://github.com/bmwcarit/meta-ros/blob/master/scripts/create-ros-recipe.py
 - https://github.com/bmwcarit/meta-ros/blob/master/scripts/create-recipe.py
 - https://github.com/bmwcarit/meta-ros/tree/master/lib/recipetool

I actually never tried to use these scripts to generate recipe files, but from my review, I believe they generally work but with certain limiting assumptions of the repository structure, and probably do a good job if you are willing to tweak the generated recipes a bit more with some manual effort.

Furthermore, the pull request https://github.com/bmwcarit/meta-ros/pull/565 is providing a script for updating recipes. In the future, once the pull request is merged, we will continue to use and extend that script for the maintenance activities.

Your remark "given that the dependencies exist" actually points out the current blocker for most recipe generation: Certain (non-ROS packaged) dependencies have no recipes yet, and they are sometimes quite difficult to write. Here just two examples:
 - I never got openni-camera2 to cross-compile (https://github.com/bmwcarit/meta-ros/issues/463), and
 - some other users were discussing to add rtabmap, but they ran into issues with the dependencies as well (https://github.com/bmwcarit/meta-ros/issues/486).

>From my experience maintaining meta-ros for five years by now, creating the recipe files for meta-ros might be some manual (repetitive) work and it seems to be an issue at first, but in the long perspective, creating the recipe is just a simple one-time effort anyway whereas often the time-consuming activities are to find when recipes break due to upstream changes in meta-oe and meta-openembedded. For that, you just need to dig into the issue, no tool can help you there.

Of course, I still hope that superflore helps us to include more recipes in the layer and can be useful for the maintenance of recipe version updates when the distribution is sync-ed once a month.

Now, second to your specific questions:

- The ros.bbclass (https://github.com/bulwahn/meta-ros/blob/master/classes/ros.bbclass#L30), lines 30 to 60, state what is packaged from the build/install in which package, e.g., the main package, the dev package etc. It might be that you need to adjust the paths after you modified the catkin tool. To have the cmake and include folder in the image, you probably need to include the dev package in the image recipe.

- I also believe it is best to have one branch for each ROS distro in meta-ros. I would like to first merge the currently open pull requests, especially the update-script and the sdk support and then we can split it into three branches, indigo, kinetic, lunar, if we get all the recipes work in these branches.


[Visit Topic](https://discourse.ros.org/t/superflore-open-embedded/3579/2) or reply to this email to respond.

More information about the ros-users mailing list