superflore-gen-oe-recipes: Delete all generated files when regenerating all recipes#265
Conversation
4c70e3b to
8e2adeb
Compare
| # D meta-ros2-eloquent/generated-recipes/variants/ros-base_0.8.3-1.bb | ||
| # we want just the path with filename | ||
| existing = existing.split()[1] | ||
| if not existing: |
There was a problem hiding this comment.
Can line 62 ever result it existing evaluting to False? If not, then shouldn't this line be else:?
herb-kuta-lge
left a comment
There was a problem hiding this comment.
Commit message change suggestions:
clean_ros_recipe_dirs wasn't called anywhere, extend it and call this when regenerating all recipes
Replace with:
clean_ros_recipe_dirs() wasn't called anywhere, update it for what's now generated by superflore and call it when regenerating all of the recipes.
the package is moved to different prefix like pcl-conversions did for dashing and eloquent
Replace "package is moved to different prefix like pcl-conversions did for" with "component that provides a package is changed like what happened to pcl-conversions in".
./meta-ros2-crystal/generated-recipes/pcl-conversions/pcl-conversions_2.0.0.bb
Drop.
And the recipe wasn't just moved to different directory, it's quite different:
Drop this and what follows. I don't see how showing how different the recipes are helps further explain the need for the change.
faa1967 to
513fd88
Compare
I disagree, It shows why it's important to implement this change. |
Wouldn't still be important to implement it even if the recipes were identical? |
No it wouldn't be important, because bitbake doesn't care from which directory the recipe was used, but when the built output is very different, then it's important to use the new recipe. |
513fd88 to
240fd98
Compare
Actually, if a recipe moves to a different subdirectory, it's |
The details of the differences are unimportant, so perhaps show how different they are by piping the |
8ba8338 to
225fc83
Compare
herb-kuta-lge
left a comment
There was a problem hiding this comment.
It's a bit confusing, but I think what else is left to resolve are:
- Replacing the long diff in the commit message with something shorter, eg,
diffstatoutput. - Having a single list of the files to be removed and use it when outputting their names and calling
git rm. - Comments explaining what would cause unexpected output from
git status --porcelainandglob.
225fc83 to
99cc162
Compare
Can you please provide these comments? I don't know what unexpected might have happen especially in combination with --only which isn't implemented yet AFAIK. |
If it's unexpected, shouldn't it be considered an ASSERT that stops execution? |
herb-kuta-lge
left a comment
There was a problem hiding this comment.
Remaining issues:
- Should the unexpected output that generates the errors on lines 72 and 88 be considered assertion failures and cause the program to exit? Otherwise, isn't it possible that the errors will be missed (because the output from a normal run is so verbose)?
- Commit message tweak; change the final
:to a..
* clean_ros_recipe_dirs() wasn't called anywhere, update it for what's
now generated by superflore and call it when regenerating all of the
recipes.
* the overlay.repo.remove_file(existing, True) call in bitbake/gen_packages.py
works fine, but only when the new recipe is being generated in the same directory
as the previous version:
existing = glob.glob('{}_*.bb'.format(prefix))
where prefix is:
prefix = '{0}/meta-ros{1}-{2}/generated-recipes/{3}/{4}'
which will result in multiple recipes for the same package when the
component that provides a package is changed like what happened to
pcl-conversions in dashing and eloquent.
Signed-off-by: Martin Jansa <martin.jansa@lge.com>
99cc162 to
ad662c9
Compare
|
The output is verbose, but err() output is quite rare in it and contains even more important messages than this unexpected output, see the errors in last meta-ros regeneration: |
|
OK, then let's leave it as is. |
|
@allenh1 < Now that this last open PR was been merged, could you release a v0.3.2 ? |
|
@herb-kuta-lge That sounds like a good idea to me! @tfoote FYI |
works fine, but only when the new recipe is being generated in the same directory
as the previous version:
existing = glob.glob('{}_*.bb'.format(prefix))
where prefix is:
prefix = '{0}/meta-ros{1}-{2}/generated-recipes/{3}/{4}'
which will result in multiple recipes for the same package when the
package is moved to different prefix like pcl-conversions did for
dashing and eloquent:
and especially for dashing where the version is identical it's
undeterministic which recipe bitbake will use. And the recipe wasn't
just moved to different directory, it's quite different:
grep in the current build logs shows that the "older"
meta-ros2-dashing/generated-recipes/pcl-conversions/pcl-conversions_2.0.0-1.bb
was currently being used in dashing instead of "newer"
meta-ros2-dashing/generated-recipes/perception-pcl/pcl-conversions_2.0.0-1.bb
corresponding rosdistro change for dashing:
ros/rosdistro@19b06c4
and eloquent:
ros/rosdistro@67c3ef5
Signed-off-by: Martin Jansa martin.jansa@lge.com