**** BEGIN LOGGING AT Sat Jan 11 03:00:53 2020 Jan 11 06:34:36 New news from stackoverflow: How to compile C++ file for Sama5d27-som1-ek kit Jan 11 12:01:15 khem: https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/629 Jan 11 12:01:22 (glibc build) Jan 11 13:23:52 Hey peeps, Jan 11 13:24:23 are there some docs available on the major components of bitbake? Jan 11 13:24:56 Am currently trying to understand the relation between the bitbake server ans the ui_module/ Jan 11 13:28:04 It seems like when invoking bitbake the server gets spun in a new process with 3 pipe endpoints endpoints available as communication channels Jan 11 13:29:00 MeanEngi: Its not really documented unfortunately :( Jan 11 13:29:20 I'm trying to see if it's a correct mental model to observer the ui_module as the main actor feeding the server with all the info Jan 11 13:29:51 MeanEngi: I personally visualise it as the ui_module issues commands and then gets events back to tell it what happened Jan 11 13:30:24 Thanks :) Jan 11 13:30:39 MeanEngi: Its designed that the cooker/server does the actual work and the ui is what interacts with the user in some way, be it commandline, web interface or whatever Jan 11 13:31:11 MeanEngi: there is the challenge this all got retrofitted to an existing codebase so its not as clean as would be ideal Jan 11 13:31:30 MeanEngi: I do try and clean it up when I have time Jan 11 13:31:37 And what part is responsible for working with paths and locating .conf, .bb files etc? Jan 11 13:31:57 MeanEngi: the cooker/server Jan 11 13:32:32 MeanEngi: cookerdata.py specifically Jan 11 13:32:45 @rp: Thanks Jan 11 13:33:11 (hmm, still finding my way with IRC :p ) Jan 11 13:33:47 MeanEngi: you disappeared once before, before I could answer one of your questions! Jan 11 13:34:10 So it's safe enough to say that everything "Cooker" related relates to the activity on the server? Jan 11 13:34:23 MeanEngi: the cooker is effectively the server Jan 11 13:35:21 it reads commands from the controlling UI and then handles them, sending events back to say what happened Jan 11 13:35:39 multiple UIs can read the event stream Jan 11 13:35:45 only one can control Jan 11 13:36:05 MeanEngi: Do you have a goal in mind when looking at this out of interest? Jan 11 13:37:07 RP Just out of interest, am gathering some content for the presentation on FOSDEM about debugging recipes :) Jan 11 13:37:32 MeanEngi: fair enough, I'm just wondering if there is anything specific I can offer :) Jan 11 13:37:43 the tinfoil APIs are quite neat and underused Jan 11 13:38:00 (they let you start up a cooker and do things to it) Jan 11 13:38:48 What exactly are you referring to with "tinfoil API"? (feel free to refer to code) Jan 11 13:39:42 MeanEngi: you may wonder how devtool or recipetool work, they connect to a bitbake server using the tinfoil API Jan 11 13:40:00 oe-pkgdata-util may be a simpler example Jan 11 13:40:48 lib/bb/tinfoil.py Jan 11 13:42:28 And bitbake isn't using that API? Jan 11 13:42:53 "bitbake" - the mode of operating with the server by using "bitbake ..." from the cli Jan 11 13:43:07 MeanEngi: correct Jan 11 13:43:44 MeanEngi: bitbake is too specialised for building recipes to be able to become other tools Jan 11 13:44:04 we created tinfoil to allow other tools to connect into and use the cooker Jan 11 13:45:53 MeanEngi: tinfoil and bitbake use the same command interfaces behind the scenes. The commands the server supports are in lib/bb/commands.py Jan 11 13:46:50 Just reading the docstring for Tinfoil. Is "Querying bitbake internals" something other than "communicating with the Cooker/server"? Jan 11 13:47:13 MeanEngi: no, same thing Jan 11 13:47:19 (this is just for my conceptual understanding, don't aim to nitpick on the wording :p ) Jan 11 13:47:39 MeanEngi: tinfoil is a wrapper so we can change bitbake internally and attempt to provide a consistent user API Jan 11 13:48:35 I guess at this level up abstraction (the one where we introduced the server and the ui_module) I'm not clear what you mean when you say bitbake :) Jan 11 13:48:46 *of abstraction Jan 11 13:48:55 MeanEngi: no, bitbake can mean several things Jan 11 13:55:16 RP: Thanks. You also mentioned about the question I had a while back... The one about the starting point for the server to act on commands from the ui_module? Jan 11 13:56:24 MeanEngi: right, its runCommand and runAsyncCommand in command.py, called from server/process.py iirc Jan 11 13:56:53 ProcessServer::main() specificallly Jan 11 13:59:35 Right, think it was this line: https://github.com/openembedded/bitbake/blob/master/lib/bb/ui/knotty.py#L447 Jan 11 14:03:16 Where the "" from the cli invocation "" gets passed to the cooker. Jan 11 14:03:41 Just looking at the https://github.com/openembedded/bitbake/blob/master/lib/bb/server/process.py#L331 (the runCommand in server/process.py) Jan 11 14:04:17 That still doesn't seem to be the server runtime but some data being sent through a channel to the server Jan 11 14:05:07 I guess I'd expect something where the server is either in a blocking in a socket read or a callback... Jan 11 14:06:01 It would than start the processing once it receives the command with something (from a different thread/process calls runCommand)? Jan 11 14:09:53 A side question :P . The server is a different thread or a process? I've noticed multiple threads after "setup_bitbake" is invoked but have noticed some parent/child pipe passing which does point to processes... Jan 11 14:15:30 MeanEngi: https://github.com/openembedded/bitbake/blob/master/lib/bb/server/process.py#L212 ProcessServer::main() as I said Jan 11 14:16:09 MeanEngi: yes, ProcessServer sets up its own process. In bitbake memres mode it can stay in memory Jan 11 14:22:04 RP: Thanks :+1: Jan 11 15:07:08 Hey all. Maybe someone can offer some tips. After building the yocto image, I want to create a simple webpage that lists all the used tools and respective licenses. Right now this is an external script that I manually run after the image is finished. I'd love to incorporate it somehow as a build step so it is kept in sync after each build. Any recommendation or similar implementation I could search for? Jan 11 15:07:46 enen92: postfuncs of the image do_image_complete task? Jan 11 15:09:54 Looks like exactly what I'm looking for. Do you know of anyway I can access the license folder from my script? Jan 11 15:11:31 enen92: pass in the variable name from the function? Jan 11 15:18:49 I need to read a bit about this. Thanks a lot for your help Jan 11 15:57:07 RP: it seems mips has issues Jan 11 16:05:39 so its mainly core-image-sato and sato-sdk Jan 11 16:12:06 khem: yes, so it would seem Jan 11 16:12:28 khem: doing my best to give you data at this point Jan 11 16:12:42 khem: did you resolve the eglfs issue somehow yesterday? I'm seeing the same now without x11 Jan 11 16:12:43 RP: I looked at them Jan 11 16:13:05 and I also see that qemumips/VGA patch that I sent could be in picture Jan 11 16:13:05 khem: I feel like I'm drowning in problems :( Jan 11 16:13:23 khem: I removed it from the rerun so it causes issues of its own Jan 11 16:13:41 JaMa: not yet, got busy in fires elsewhere :) Jan 11 16:14:18 khem: ok, I'll have a look, just didn't want to duplicate the work if you had a fix somewhere Jan 11 16:14:50 RP: yeah ok, my tests were with core-image-weston and systemd but I think I need core-image-sato${-sdk} with sysvinit Jan 11 16:15:37 JaMa: thanks, I will be happy, btw. QT5.14 worked well with musl on x86/qemu so its a good beginning Jan 11 16:15:54 khem: I think -sato{-sdk} with systemd is also unwell Jan 11 16:15:59 RP: core-image-sato-sdk dies in boot Jan 11 16:16:00 khem: but yes Jan 11 16:16:10 khem: right Jan 11 16:16:22 but core-image-sato reports x11 errors Jan 11 16:16:32 arent they using same init system Jan 11 16:16:46 khem: qemumips-alt is systemd, qemumips is sysvinit Jan 11 16:16:50 khem: I've rebased the musl patches in qtwebengine to apply in 5.14, when you have some spare build cycles, please trigger musl qtwebengine build as well Jan 11 16:16:56 ah Jan 11 16:17:45 JaMa: http://errors.yoctoproject.org/Errors/Build/96540/ Jan 11 16:19:06 khem: I've fixed this in master-next Jan 11 16:20:14 JaMa: cool all of them ? Jan 11 16:20:33 yes, all patches to apply, but haven't built them yet (not even with glibc) Jan 11 16:21:22 I've also applied your fuzz-patch fix for before 5.14 upgrade Jan 11 16:21:24 RP: I saw that archlinux enabled seccomp in file utility by default and I am sure other distros will follow soon and pseudo makes seccomp unhappy Jan 11 16:21:54 RP: I think this issue is going to get severe in future distros we need to fix pseudo Jan 11 16:22:15 JaMa: ok, and the other two packages ? Jan 11 16:23:04 khem: the tumbleweed autobuilders are disabled due to this Jan 11 16:23:25 khem: debian already tried this and then backed seccomp out, it breaks too much Jan 11 16:23:56 RP: arch did same but they have re-enabled it since they think the issues they hit are fixed Jan 11 16:24:16 khem: I agree finding a solution would be good but I have no idea who will work on it or when :( Jan 11 16:24:41 khem: we should perhaps have a bug for it? Maybe a wrapper around file adding the -S option is the best we can do for now? Jan 11 16:25:30 I straced it but its hard to strace when peudo is in between since we dont know which syscall is being trapped Jan 11 16:26:01 khem: I think the issue that that pseudo translates the syscalls to things normal file doesn't use/expect Jan 11 16:26:23 RP: I think the problem is that file allows fixes set of syscalls now, and pseudo munges them and seccomp does not like it Jan 11 16:26:31 khem: right Jan 11 16:26:37 either it replaces them or changes signatures I dont know Jan 11 16:26:56 khem: its that pseudo batches large groups together in its wrappers Jan 11 16:27:00 khem: wildwest and whiteboard? I don't know what these 2 are and the rrors are strange, are you saying that it's caused by Qt upgrade? Jan 11 16:27:51 JaMa:they are from meta-atmel but depend on qt5 Jan 11 16:28:40 RP: perhaps file -s is a good option for now I agree Jan 11 16:29:28 khem: we really need a way to detect when file on a system has secomp enabled. If we have that we could have sanity inject a wrapper Jan 11 16:33:40 hmm -s might not work since file under pseudo crashed on ordinary files too Jan 11 16:33:59 khem: -S, not -s Jan 11 16:42:39 yeah I see Jan 11 16:45:21 RP: so basically run something like `readelf -d HOSTTOOLS_DIR/file | grep libseccomp` or `ldd HOSTTOOLS_DIR/file | grep libseccomp` Jan 11 17:29:22 khem: fancy sorting a patch for the sanity code? :) Jan 11 19:06:14 RP: thinking about it dont know if I will get to do it soon enough Jan 11 19:06:44 RP: if glibc passes all tests without qemumips/vga patch then dont yet merge it Jan 11 19:07:26 I want to run glibc testsuites and see if all is ok Jan 11 19:25:43 I have pushed refresh patch kraj/glibc-2.31 Jan 11 23:43:14 khem: so you want me to run another test run? we do run the test suites on the AB iirc **** ENDING LOGGING AT Sun Jan 12 02:59:58 2020