Reflect changes made in Yocto recipe - embedded-linux

I'm new to yocto world and recently I started working on a yocto project. I have a basic question about how to reflect changes onto a device. I have made changes using devtool modify <pkgname>. Now I wanted to flash it on my device. The way I'm doing this is first building this recipe ( devtool build <pkg-name> ) and then building complete image ( devtool build-image multimodal-image-minimal ). But this process is very time consuming even for very small changes. So are there any other different ways something like updating some iso which can make life easier ?

You can use the devtool depoly-target to install your package into a connected target directly without building the whole image.
https://wiki.yoctoproject.org/wiki/TipsAndTricks/Patching_the_source_for_a_recipe

Related

BuildRoot errors doing make [package/pkg-generic.mk:293:

When I do make of buildroot appears this error
make: *** [package/pkg-generic.mk:293: /home/vitor/buildroots/buildroot/output/build/host-gcc-final-11.3.0/.stamp_built]
Error 2
Does anyone know the solution?
Thanks already for the time
Note: The first time I have do buildroot it worked fine, but for an work I needed to change some files and since that stop working, so I deleted that buildroot and tried to do a new ones and always appear this error.
Recommandation: don't use the current "master" of Buildroot if you're new to Buildroot, but instead use a release tag. As Arnout said, you did not post enough lines of the error to really know, but based on the package that failed I suspect you're encountering one of the issues we've had with the update of glibc to version 2.36, which is not yet part of any Buildroot stable release.
Use Buildroot 2022.02 or 2022.08, but not Buildroot master if you're interested in having something that "works" :-)

"Move" app bundle identifier to a new React Native project

I'm upgrading an old React Native app, from 0.59.1 to 0.68.0 (which is the last one). Useless to say that it's a huge pain to upgrade all of those dependencies and I'm thinking to create a new project (and move all JS files) instead of upgrading the current one.
But I have a problem: the app is currently in production and I want to make a new project which would result in an update for the old app. I think that the goal to do this is "move" the bundle ID from the previous project, but I really don't know how to do it.
Any ideas? I need tips for both iOS and Android.
Thanks in advance!
Already upgrading to 0.68? The stable version got out a few days ago and a lot of libraries (basically every library) are currently not stating in their docs where to add their dependencies etc. in 0.68 since a lot of stuff moved is added or removed... 0.68 is completely different from 0.67. I would consider to wait a bit with upgrading to 0.68 and upgrade to 0.67 for now. Also since 0.59 is a rather old version, I would take your first suggestion, create a completely new project running on 0.67, installing every package you have in your old project, regularly checking if the build succeeds and then just like you said copy your /src folder to the new project. And yes you need to change your package name to your old one. Heres a video on how to do it.

How do I build Flutter application locally?

I have developed (on a Mac) a small Flutter app to learn the technology. Now, I would like to build it and use it on Mac, Linux and Android. The few packages I have used claim compatibility with all systems.
So the first thing I did was to run flutter build macos. I indeed obtain an application under build/macos/Build/Products/Release/nameofmyapp.app. It seems this runs correctly, but it fails, for instance, loading data from a DB, which is the first thing it should do.
I have a few questions:
are there any other steps that I should take? I see a long guide about the release process, but to be frank I don't need or want any of that: I only want to use the app myself. Is there something else to do other than flutter build macos?
am I looking for the built app in the right place?
if I did everything correctly, could it be that I need to authorize the app to access to the file in some way? Should I manage this workflow myself, or is there a standard way to perform this action in Flutter?
Sorry for asking more than one question, but I am not sure whether what I am doing wrong is
the build process
where to look for the built app, or
(not) handling the app permissions.
EDIT
Following a suggestion by Madhavam, I tried flutter run --release. The result is identical to running the built application: nothing is loaded from the database, and no errors appear in the console.
To be clear, these are the libraries that are not working:
sqflite should load data from a database (in my Documents folder) but does not show anything
file picker cross should allow me to load data from a JSON file, but when I try this interaction, I an not shown any dialog to load a file
shared preferences should read some settings, but they all appear as null
In short, anything that has to do with interacting with external files or storage does not seem to work
Yup, you have to manage it yourself. Take a look at this package
:https://pub.dev/packages/permission_handler
If you're using Firebase then you probably need to add the release keys.
One thing too, if you face an error only in the release build then I recommend running the app with flutter run --release so that you can see the errors that are being thrown.
So it seems that this is related to the default being an app that runs in sandbox. Since I do not want to distribute the app, it was fine for me to disable this setting. Details are in this answer

React Native Build Errors in Xcode

While trying to build my React Native project in Xcode keep coming across the same build errors. There are too many errors to list, but it seems to have something to do with React. Is there any way to rewind in Xcode or address the mass errors? I installed several npm/react-native libraries and used link to integrate them. Any idea on how to restore order, given the warnings in the image?
My issue was finally solved here:
https://github.com/facebook/react-native/issues/14382#issuecomment-313163119
In the Terminal, navigate to the react-native/third-party/glog folder inside node_modules (for me, this was cd node_modules/react-native/third-party/glog-0.3.4)
Once actively in this folder, run ../../scripts/ios-configure-glog.sh
Glog is configured and the required config.h header file is created for Xcode to find

Update Xcode build progress bar when using run script

In Xcode you can specify custom scripts to build your applications. I have a project which makes extensive use of these. For instance, one target builds the simulator versions (both 32bit and 64bit) and the ARM version as well as documentation and then bundles up the generated static library into a framework along with some other files
Running the above code can take a couple of minutes. Normally when you build, Xcode has a progress bar at the top of the screen. When you use these scripts it fills in a tiny amount and then stops there until your script completes.
It would be nice if there was a way to tell Xcode to update this progress bar? It doesn't have to be perfect, just a way of giving some feedback that something is happening and that the build process hasn't stalled.
Thanks!
It looks like you can use Bash in your custom build script. So why not do something like in the example linked, wherein for each build target you do
echo "building target name blare"
In fact, if you really want a progress bar, why not just use Bash to make one? See an example here.

Resources