Re: way to make do_devshell changes permanent?


Joel A Cohen
 

On Wed, Mar 4, 2020 at 10:53 PM Kent Dorfman <kent.dorfman766@...> wrote:
On 3/3/20, Aaron Cohen <aaron@...> wrote:
>> > # Once satisfied with changes:
>> > 3) git add $BUILDDIR/workspace/sources/<recipe> && git commit -m "Added

Does the git add have to be done as specified above?  I made changes
and inside the directory where the changes occured I just did a git
add -am "my message", but it didn't save my changes when I rebuilt the
image.

I guess this should be more like:
3) cd $BUILDDIR/workspace/sources/<recipe> && git add ... && git commit ...

because I don't think git works correctly from outside the repository.
 
Also, the devtool finish seems really horky.  devtool modify <recipe>
checks out the package, but why is it necessary to explicitly specify
a layer when you finish?  It's hard enough knowing what layer a recipe
is coming from in the first place, with all the inheritance, layer
priorities, and bbappends. D'oh!  In some ways seems needlessly
complex: ie flexibility at the expense of elegance.

You actually don't want to "devtool finish" while you're still playing with the recipe.

While you're in the "devtool modify" state, bitbake will prefer the source code within your workspace (you shouldn't need to "git commit" either while at this stage). "devtool finish" tries to automatically update your recipe, but also removes the association with the source code in your workspace directory (it doesn't delete the directory within your workspace as a safety measure though).

You have to specify the layer to save your changes to, because ideally, you are either the owner of the recipe, in which case you should know exactly which layer to save changes, or if you're not the owner of the recipe, the "correct" thing to do is make a bbappend in your own layer with patch files for the source code changes. If you're not the owner, your life will be easier in the end if you don't change the recipe in your copy of the layer.

--Aaron



 

Join yocto@lists.yoctoproject.org to automatically receive all group messages.