Yocto Technical Team Minutes, Engineering Sync, for December 7, 2021
Trevor Woerner
Yocto Technical Team Minutes, Engineering Sync, for December 7, 2021
archive: https://docs.google.com/document/d/1ly8nyhO14kDNnFcW2QskANXW3ZT7QwKC5wWVDg9dDH4/edit == disclaimer == Best efforts are made to ensure the below is accurate and valid. However, errors sometimes happen. If any errors or omissions are found, please feel free to reply to this email with any corrections. == attendees == Trevor Woerner, Stephen Jolley, Jasper Orschulko, Trevor Gamblin, Steve Sakoman, Philip Balister, Richard Purdie, Randy MacLeod, Peter Kjellerstedt, Jan-Simon Möller, Scott Murray, Alexandre Belloni, Tim Orling, Jon Mason, Bruce Ashfield, Ross Burton, Joshua Watt, Michael Opdenacker == project status == - 3.5-m1 (kirkstone) to be built this week - 3.4.1 (honister) out of QA and to be released - changes to check-layer script leads to improvements to layer README files - thanks to all for YPS last week - continue to remove local patches by sending upstream - rising intermittent issues with AB - SWAT faltering, large backlog of un-triaged issues == discussion == RP: Ross created graphs related to the changing number of patches and their state (from 2015 to now) http://www.burtonini.com/yoctometrics/ The patch status is clearly improving over time both in number and that they are generally moving upstream. 5 years ago we peaked at 1900 patches, today we’re at 1270-ish. It’s nice to note how much progress we can make when we put our resources towards it. Sometimes looking at a patch shows us that it is no longer required. Upstream is usually receptive, sometimes it’s just a matter of poking again. JPEW: i was working on meta-phosh and noticed that libsoup is all messed up now. there are 2 versions (v2 and v3) and you’re not supposed to mix-and-match. libsoup2 and 3 were both updated so that if they noticed the other one, they both hard fail (they call abort() on the process to kill it). previously things wouldn’t function correctly, now things won’t run at all. biggest offender is webkitgtk was upgraded to use libsoup3 but nothing else has been upgraded so anything links in webkitgtk crashes on startup. there are a surprising number of things in gnome that crash e.g. settings panel. Ross: probably easiest to add a packageconfig on webkit so distro maintainers get to pick JPEW: it looks like most things will probably switch to libsoup3 when they update to gtk4 (and won’t switch before then), but for now pretty much everything in meta-gnome is completely broken. currently libsoup3 is not used by anything other than webkitgtk Ross: probably should make libsoup2 the default for now to regress the breakage RP: sounds reasonable to me JPEW: at OEDVM we were talking about open-source projects getting Yocto compliance. i was working on meta-phosh but not sure what to do next. maybe next thing is to talk to the board? RP: not the board, talk to Nico. Nico is the gatekeeper for the compatibility process, and it goes to the TSC if required after. there are forms on the website, but the website is iffy, so if you fill in the forms and nothing happens, then reach out to Nico directly. it’s probably best to just reach out to Nico directly. RP: something that may be landing in the next few days, Ross is recommending that we remove libtool prefix. libtool is prefixed with an architecture prefix. this is something that OE and buildroot did early on and we’ve been carrying this for decades. there was a time when it looked like autoconf was going to mandate that build tools had the cross-compiler triplet prepended, but autotools looks dead now-a-days. ironically libtool rejected the patches Ross: everything it was trying to solve is now solved with recipe-specific sysroots, and host tools, etc. so everything should just work. any recipe that has to hand-code libtool work-arounds can all be removed now. i expect the fallout to be substantial, but the fixes will be to just remove stuff from recipes. does buildroot still do this? RP: not sure Ross: i don’t see any patches for libtool at all (in buildroot) RP: the cross-compile support in upstream libtool is broken; well, not broken but inefficient. but, as Ross says, it is obsolete now. Ross: lots of diffstat lines removed, but it will make the AB explode AlexB: buildroot has patches for libtool, even multiple versions (see support/libtool, not package/libtool) Ross: ah, i was looking in the wrong place RP: is supporting multiple versions of libtool not a path to madness? supporting one version is bad enough… Ross: it looks like it’s doing the same as our patches (i.e. fixing the relink thing) RP: yes, buildroot is patching for the the relink thing (which is something we do as well) but the prefix patch isn’t in buildroot Ross: i’ll clean this up and post it as an RFC at least RP: sounds good Ross: going back to the chart thing, there was talk a while ago about the LF having a centralized git monitoring/metrics thing? RP: LFX Ross: ah yes! is it still going? can we add our stuff into it? it would be nice to inject out patch data stuff there RP: they are still doing it, and there are developers actively working on it, but the people working on it have more pressing things to work on. so the answer is yes, but not now. there are lots of stuff i’d like to do this with, e.g. CVE metrics is another. it would be nice to find someone who would be interested in generating dashboard data for the project from what we’re producing. we have the ability to inject this stuff, we just need to generate it TimO: we need a data scientist Jon: i sent out an email about inclusive language, please read and respond RP: where? Jon: main yocto, oe-devel, oe-core. trying to get the ball rolling to see if it can land this release MO: i’m interested, it ties in with documentation RP: me too RP: Quentin sent a patch to rename… core-image-master (?) to golden instead. this is part of the QA test framework and was from a time when we had ideas about test controllers etc. i checked with the QA team and they aren’t using it. i did a double-take on that name, it’s not something i’ve used recently and there haven’t been any patches for it in ages. i had completely forgotten about its existence, despite being listed as the maintainer! is anyone using this code? JPEW: core-image-test-master ScottM: i had never heard of it before Ross: i almost ripped it out a few weeks back when i was doing a cleanup of the QA code. there is someone who is either using that code, or a derivative of it. i’ll copy them in on that thread so they can have an opinion. but if it’s not being used then it can probably be deleted. RP: rather than rename, i’m very tempted to just delete it. it’s not used and likely broken. even if someone is using it, there are probably better things they should be doing RP: there’s another breaking change to one of the tunes that we should probably fix before M1… Jon: A72? RP: yes, thanks. the crypto extension is enabled by default in the tune, but there’s now an rpi4 that has an SoC that doesn’t enable it. there are 2 ways to fix this: 1) leave the current tune as-is and create a -nocrypto variant 2) change the current tune to remove the crypto, then add a -crypto variant. not sure what path to take; i’m leaning towards the latter since that fits in better with the rest of the framework even if it is more disruptive. tune stuff is already complicated, i’d rather we keep the framework consistent. i also would prefer a better commit comment Jon: should i respin their patch with the updated wording? or comment on it to have them updated it? RP: either way; preferred to have it before -m1 Jon: just to be clear, this won’t break anything, it’ll just make it slightly less performant RP: right, and i think that’s reasonable ScottM: only meta-raspberrypi is affected by this? Jon: meta-raspberrypi is broken by this ScottM: oh right, after this change everyone else will have this off Jon: right. meta-raspberrypi, meta-rockchip, and possibly a freescale layer will be affected JPEW: so just manually re-enable it? Jon+RP: exactly Jon: yes, change to cortex-a72 + crypto RP: anyone using SH4? or anyone know of someone using it? Randy: nobody we know of (WindRiver) ScottM: nobody that I know of (AGL) MO: it’s an SoC for settop boxes (?) ScottM: maybe Khem would know RP: Khem is the one who patched it in the past, but not sure if he’s doing it because he’s using it (or knows someone using it) or if he’s just doing it because he’s aware of the patches RP: I came across this as part of the patch clean up exercise; there are some SH4 patches we’re carrying for glibc. we need to decide if we’re going to support this going forward. i’m under the impression that if someone wanted to get SH4 working, they would need more than these glibc patches. it would probably be better as an external architecture port/layer rather than odd, random hacks in oe-core ScottM: if Khem signs off on it then it sounds reasonable to me RP: i’ll talk to Khem Peter: i’ve noticed a problem with debug packages with honister. in june there was a change to remove the attempt-only for complimentary packages, so they are no longer called with skip-broken complimentary packages. this hid issues in our packaging. in our case we use gstreamer plugins (bad maybe) for srtp. the thing is we also have our own plugin for srtp. so we build the gstreamer plugin for srtp both as part of the gstreamer-bad package and from our own package. this works fine for the product images (since each plugin is put in its own package) but the debug symbols are all put in one package. meaning there is a clash for installing the debug symbols for both gstreamer and our package. is there any support for splitting the debug packages (similiar to how the main package is split), or are debug packages expected to all be all in one package? JPEW: are you asking if you can split? currently there is one debug package per recipe Peter: exactly. but because we are mixing plugins between 2 packages, the debug symbols clash. i would like the debug packages split just like the plugin packages are split. and i don’t know how the complimentary stuff works; and how it knows, for each plugin, that it should pick up the common debug package rather than the debug package that has the same name as the plugin package RP: it’s a good question. i’ve wondered about this in the past. yours isn’t the only scenario where you can hit this problem. the downside is the extra impact on the build. generating all these extra packages, and putting these extra packages into the package feed, etc.. will have an impact on the overall build and i’m not sure it will make anything more usable. it would fix some things, but cause other things. i also wouldn’t underestimate the amount of work involved to get this to work. RP: the easier fix is to make the files non-overlapping (by renaming) Peter: the problem is that our srtp is a drop-in replacement, so the plugins (files) are called exactly the same (they have to be) so you get the same file in both packages RP: you could make it a symlink (the debug symbols will be based on the original file, not the symlink), if you rename the file but made a symlink that might get around the issue Peter: interesting idea… RP: we’ve moving the goal-posts, but i think the symlink path would be easier TrevorW: honister-specific? Peter: yes, there was a change (june 28) in the package manager. previously, the complimentary packages were built attempt-only=true so dnf was called with the skip-broken option which ended up hiding the issue. it would ignore installing one of the packages at random. so previously there was a chance that symbols wouldn’t be there, and nobody would notice unless they were specifically needing those symbols. the honister change is an improvement since it makes it obvious when an issue comes up. ScottM: it would be nice to have the debug packages setup the same way other distros do, but if it blows up the build times, then that would probably not be worth it. it would be nice if someone had the cycles to prototype it so we’d have the data RP: it’s probably optimizable to some extent. we have some crazy build times for things like packaging ltp. for ltp it probably doesn’t matter, but for perl-modules it probably does. if you add more packages the build time scales badly. one of the implications would be separate debug symbols for each kernel module, which would at least double the number of packages in a kernel build Peter: for us we’d just do it for gstreamer, since that’s the only one causing us issues. in an ideal world everything would be handled the same RP: you can do that and the system will let you do that, but that’s not a change i’d take into core. currently the policy is to have 1 debug package per recipe, and that’s not something we’re about to change. separate debug packages will work, but will affect build times Peter: i could just remove the debug symbols for one of the packages, and hope nobody ever needs to debug it RP: separate debug packages will work, but we’re not going to change the policy Peter: i also have a similar problem with hardknott (which still has the keep-broken option enabled) so i can’t figure that out. similar, but not the same TrevorW: there was discussion around having more of a presentation + discussion style meeting each month at the OE happy hour Jon: possible, we have done it in the past, we’re open to it, but it’s hard to get people to do it (and having them do the prep). but having a YPS gives people something to shoot for. lots of work to do a presentation, OEHH is more informal. it would need someone or something to drive it and make it more formal. Paul Barker has done a couple show-and-tells informally at some OEHHs TimO: i like the spontaneous show-and-tell Jon: most people are trained to think in terms of conferences and doing presentations there. trying to do it informally might make it less likely to happen. we can take it to the board RP: i’ve been chatting with Khem and he says the SH4 patches are there because i wanted them in, so i guess i’ll remove them
|
|