IRC log for #oe on 20200115

00:27.25*** join/#oe tgamblin (~tgamblin@CPE64777de11593-CM64777de11590.cpe.net.cable.rogers.com)
00:36.51*** join/#oe JPEW (~JPEW@ec2-18-219-251-161.us-east-2.compute.amazonaws.com)
00:40.58*** join/#oe JPEW (~JPEW@ec2-18-219-251-161.us-east-2.compute.amazonaws.com)
01:12.44*** join/#oe JaMa (~martin@109.238.218.228)
05:07.45*** join/#oe armpit (~armpit@2601:202:4180:a5c0:fd83:79d8:6b68:b6b6)
06:45.32*** join/#oe AndersD (~AndersD@h-98-128-162-82.NA.cust.bahnhof.se)
07:02.22*** join/#oe nerdboy (~sarnold@gentoo/developer/nerdboy)
07:36.01*** join/#oe frsc (~frsc@2003:a:e7a:6200:4475:5b7:3b7d:d914)
07:36.26*** join/#oe yegorich (~yegorich@mail.visionsystems.de)
07:43.29*** join/#oe rob_w (~bob@unaffiliated/rob-w/x-1112029)
08:04.27*** join/#oe ao2 (~ao2@95.239.147.221)
08:56.01*** join/#oe bluelightning_ (~paul@pdpc/supporter/professional/bluelightning)
08:59.21*** join/#oe leon-anavi (~Leon@78.130.245.67)
08:59.40*** join/#oe Bunio_FH (~bunio@81-18-201-214.static.chello.pl)
09:00.58*** join/#oe florian_kc (~florian_k@Maemo/community/contributor/florian)
09:20.50*** join/#oe tprrt (~tprrt@217.114.204.178)
09:37.53*** join/#oe yann (~yann@85.118.38.73)
09:49.09*** join/#oe bluelightning_ (~paul@pdpc/supporter/professional/bluelightning)
10:11.17*** join/#oe tnovotny (~tnovotny@176-74-132-138.netdatacomm.cz)
10:49.40*** join/#oe hpsy (~hpsy@217.66.60.5)
11:17.49*** join/#oe rburton (~rburton@35.106.2.81.in-addr.arpa)
12:02.19*** join/#oe berton (~berton@189.103.49.163)
12:14.00*** join/#oe berton_ (~berton@189.103.49.163)
12:19.20*** join/#oe hpsy (~hpsy@217.66.60.5)
12:53.01*** join/#oe radsquirrel (~bradleyb@mail.fuzziesquirrel.com)
13:22.04*** join/#oe tgamblin (~tgamblin@128.224.252.2)
14:53.31*** join/#oe ericch (~ericch@50-205-235-218-static.hfc.comcastbusiness.net)
15:08.45*** join/#oe ericch (~ericch@50-205-235-218-static.hfc.comcastbusiness.net)
15:21.20*** join/#oe suihkulokki (~voipio@linaro/suihkulokki)
15:21.47*** join/#oe stephano (~stephano@c-73-164-244-205.hsd1.or.comcast.net)
15:59.49*** join/#oe ericch (~ericch@50-205-235-218-static.hfc.comcastbusiness.net)
16:11.01*** join/#oe comptroller (~comptroll@47-213-227-146.paolcmtc01.res.dyn.suddenlink.net)
16:55.13*** join/#oe ericch (~ericch@50-205-235-218-static.hfc.comcastbusiness.net)
17:04.12*** join/#oe troulouliou_div2 (~troulouli@unaffiliated/troulouliou-div2/x-0271439)
17:12.34*** join/#oe troulouliou_div2 (~troulouli@unaffiliated/troulouliou-div2/x-0271439)
17:48.11*** join/#oe yann (~yann@91-170-159-152.subs.proxad.net)
17:57.06*** join/#oe ericch (~ericch@50-205-235-218-static.hfc.comcastbusiness.net)
18:06.51*** join/#oe Bunio_FH (~bunio@clj-165.netdrive.pl)
18:13.35*** join/#oe ao2 (~ao2@95.239.147.221)
18:14.20*** join/#oe hpsy (~hpsy@217.66.60.5)
18:30.44*** join/#oe Crofton|road (sid401373@gateway/web/irccloud.com/x-ewfqxotxjrtnclbd)
18:34.02*** join/#oe darknighte (sid214177@pdpc/supporter/professional/darknighte)
18:34.20*** join/#oe mdp (sid49840@gateway/web/irccloud.com/x-efjzhdyfqsumyuab)
18:34.22*** join/#oe jonmason (sid36602@gateway/web/irccloud.com/x-kiaqpeshibcgafuy)
18:35.20*** join/#oe ribalda (sid306640@gateway/web/irccloud.com/x-kwuvavqkcihvmtzt)
18:35.22*** join/#oe dl9pf (sid395223@opensuse/member/dl9pf)
18:37.30*** join/#oe ukembedded (sid304355@gateway/web/irccloud.com/x-yvhgpazytaayozjj)
18:38.09*** join/#oe mithro (sid24875@gateway/web/irccloud.com/x-zudacrjlrhmgbrme)
19:00.38*** join/#oe berton (~berton@189.103.49.163)
19:20.40*** join/#oe bluelightning (~paul@pdpc/supporter/professional/bluelightning)
19:26.38*** join/#oe florian (~florian_k@Maemo/community/contributor/florian)
19:32.26*** join/#oe laplante (04107f5c@4.16.127.92)
19:46.16laplanteSuppose I've got a recipe that has a native and target flavor, pulling from a repo with AUTOREV. Right now there is no guarantee that during parsing the two recipes will end up with the same SRCREV. This is because the srcrev cache is keyed based on repo + pn. One workaround would be to change the srcrev cache to be keyed just on repo (perhaps
19:46.17laplantecontrolled by a variable, BB_SRCREV_CACHE_GRANULARITY). Another option is to do like poky/meta/recipes-devtools/gcc/gcc-source.inc and have a separate recipe perform the fetch, which the actual recipes just DEPEND on. What do you all think?
19:58.48*** join/#oe florian (~florian_k@Maemo/community/contributor/florian)
20:12.27laplanteRP: any thoughts?
20:32.10RPlaplante: the trouble is you could intentionally set different revisions depending on PN
20:33.02*** join/#oe comptroller (~comptroll@47-213-227-146.paolcmtc01.res.dyn.suddenlink.net)
20:33.09RPlaplante: you probably need to set the revisions you want ahead of time, you're into the realms of very specific usage scenarios :(
20:34.08laplanteRP: but in the case of different revisions based on PN, the srcrev cache won't be consulted. For example: SRCREV ?= "${AUTOREV}"
20:34.16laplanteSRCREV_class-native = "githash"
20:34.41laplanteAnd yes I realize this is niche :).
20:36.00RPlaplante: you can't know they don't change the branch or something :/
20:36.16RPlaplante: I think you swap one set of problems for another
20:36.40RPlaplante: perhaps it should cache by url?
20:38.28laplanteRP: at least for git, the branch is also part of the key
20:39.07RPlaplante: what exactly is it keying off?
20:39.23laplanteRP: give me a sec, will pop open the cache to dump an example
20:41.29laplanteRP: so if you look in fetch2/__init__.py, generate_revision_key is what is responsible for the key. It suffixes the result of calling "self._revision_key" with the "-${PN}"
20:41.54laplanteRP: for git, _revision_key is defined as: "git:" + ud.host + ud.path.replace('/', '.') + ud.unresolvedrev[name]
20:42.19laplanteRP: so basically, the host, path, and branch or tag name (I guess)
20:43.15RPnot brilliant :/
20:43.33laplanteRP: lol which part?
20:43.37RPI hate poking at this code as we'll end up breaking other things :(
20:44.04RPI'm just thinking of all the other interesting parameters people keep adding to the git fetcher
20:45.53RPlaplante: the fetcher is called fetch2 as fetch became such a nightmare. We still have pieces of it that leaked through, its better but not brilliant
20:46.43RPwe probably could get away with keying on the other data
20:47.01RPI guess to solve your problem we have to try it
20:47.20RPI know who will get the bugs to chase down :(
20:47.46laplanteRP: So I have actually already done it locally and it does work :).
20:48.15laplanteI already chased down one interesting bug in persist_data.py, where a constraint violation was violated on the key.
20:49.12RPlaplante: I spend most of my time chasing down weird bugs that only appear on the testing infrsatructure intermittently :(
20:49.29laplanteRP: I've noticed, that's why I hesitated to bother you :/
20:50.15RPlaplante: I agree with your analysis and that its probably something to fix. I just worry about the impact of changes like this
20:50.19laplanteRP: Re persist_data.py: There's a race in SQLTable::__setitem__, since the SELECT is executed under a read transaction, and is not upgraded to a write transaction until the INSERT or UPDATE actually runs. This was never a problem before removing -${PN} from the key, since conflicting keys were actually impossible.
20:51.00RPlaplante: Well spotted, we should fix that too
20:51.09laplanteRP: Yep, will submit a patch
20:51.19RPlaplante: I know JPEW found a load of other problems in persist_data, its horribly broken
20:52.06JPEWhttps://bugzilla.yoctoproject.org/show_bug.cgi?id=13181
20:52.32laplanteRP: Perhaps we could gate this change on a new var as I suggested, e.g. BB_SRCREV_CACHE_GRANULARITY?
20:52.37laplanteJPEW: :O  that's a doozy
20:53.02JPEWlaplante, Yep. That was a *fun* debugging session ;)
20:53.12RPlaplante: Lets not do that, just creates more of a mess
20:53.51laplanteRP: OK. I'm pretty confident (famous last words) that this fix is correct for the git fetcher. Not sure about the others that implement unresolved refs.
20:53.58laplantee.g. SVN
20:54.18RPlaplante: (the reason is a config option then doubles the number of tests needed)
20:54.48laplanteGotcha
20:54.52RPstrategy for svn is becoming "point and laugh" :/
20:55.25laplanteTo be fair, that's my strategy for usage outside BitBake/Yocto as well
20:56.32*** join/#oe ndec (sid219321@linaro/ndec)
20:57.33laplanteRP: BTW I doubt you've had time to go through the recent email I sent (regarding building tagged releases) but I hope to post a prototype tinfoil-based script soon that is capable of generating the SRCREV_pn- overrides.
20:58.07laplanteRP: My original approach of shoehorning the necessary support into fetch2 has been abandoned (and it sounds like I'm better off not playing with it too much anyway)
20:58.52RPlaplante: I think I would much prefer to see things using its APIs, even event driven as handlers or through tinfoil
20:59.04RPit simply won't scale to everyone;s special way of handing sources
20:59.35RPlaplante: I did read through it breifly and your journey through different appraoches
21:00.12laplanteRP: Hope it was an entertaining read - I don't think I've ever rewritten a piece of code as many times as I did there :)
21:01.09RPlaplante: I feel your pain, I'm open to ways of fetcher help but I think we need new approaches
21:01.19RPif we could rip autorev out the fetcher that would rock
21:01.42laplanteRP: where would it move to?
21:02.47RPlaplante: eventhandler?
21:02.58RPlaplante: not sure, thinking out loud
21:03.13laplanteRP: hmm interesting. Like a RecipePreFinalise or something?
21:03.37RPlaplante: or similar. Could have its own event if needed
21:05.21laplanteRP: I suppose it would be neat to add a stage after parsing that is actually "resolve upstream references".
21:05.27laplanteRP: Since "parsing" right now basically covers both
21:05.56*** join/#oe ao2 (~ao2@95.239.147.221)
21:06.10laplanteWould be convienent to decouple them
21:07.39RPlaplante: Its not quite as simple as "after parsing" since some of the code you're parsing depends on the revision/version
21:07.52RPwhich is what makes autorev such fun
21:07.54laplanteAh true.
21:09.29RPlaplante: not trying to put you off, just being clear about the challenge
21:09.40laplanteRP: no I get it :)
21:10.44laplanteRP: (the point you're making, not the full consequences/minutiae of the challenge)
21:11.54RPlaplante: I've never liked how that code works...
21:12.17RPor uninative installation process which I'm currently reminded of :/
21:14.11*** join/#oe ndec (sid219321@linaro/ndec)
21:14.48laplanteRP: what specifically about uninative do you not like?
21:15.55RPlaplante: its hacked onto the front of the system without a dedicated event or a dedicated point in the task graph
21:16.19RPplan was to prove it and add something proper in due course
21:16.27RPworked too well
21:17.02RPlaplante: to see what I mean, watch the NATIVELSBTRING in a first build in a clean directory vs the second
21:21.55laplanteRP: Gotcha.
21:22.44laplanteRP: The one thing I've noticed about it is that since it operates outside the task graph, it can't be setscened, so never makes it to a sstate mirror :/
21:23.25RPlaplante: setscene makes no sense there, its already a binary
21:23.39RPsstate mirror is a different story though
21:24.20laplanteRP: Ah yes, messed up my terminology.
21:24.21frayFYI I backported the recent sstate-cache changes to zeus and they are fixing problems we had
21:24.46RPfray: the length ones?
21:24.53RPmade a lot of changes recently
21:25.08frayyes, that series of 4..
21:26.16fraythere were 2 others from master I pulled in as well.. (I brought in anything that modified sstate.bbclass)
21:37.38*** join/#oe laplante (04107f5c@4.16.127.92)
21:48.08laplanteRP: do you know why fetch2 allows more than one name for a SRC_URI entry? e.g. SRC_URI = "git://whatever;name=name1,name2" ?
21:49.02laplante(^ last question, I promise)
21:51.54RPlaplante: no, that seems strange
21:52.19RPfray: so you're saying we should backport them officially?
21:52.45frayfor me I needed them..  but changing the sstate paths means more of a decision from someone other then me
21:52.48laplanteRP: just as you wrote that I think I found the "answer". I think it's becuase multiple branches can be specified, and you need one name per branch. Which raises why would you need to clone more than one branch?
21:52.56fray(but yes, I've been using them now for about 18 hours and they're working great)
21:53.07RPlaplante: the kernel used to do that
21:53.08fraythis is on top of zeus w/ out own internal layers..
21:53.47fray(I can get you the list of what I merged if you care.. but easy enough to figure out)
21:53.55RPlaplante: it needed a bare repo where we ensured X branches were present with revisions ...
21:54.22RPfray: I can guess, really just a question of whether we want to do that in stabl
21:54.48frayat a minimum all of the ones other then the change of the directory structure I think we do..
21:55.03frayI personally think the directory structure change is a good idea.. but I'm not sure it is for general zeus maitneance
21:57.40RPfray: well, the filename limiting is way more invasive
21:58.13fraybut without it, things are broken
21:59.13RPfray: and have been since forever
22:00.23fraybut it was bad enough I couldn't build..
23:24.00*** join/#oe tgamblin (~tgamblin@CPE64777de11593-CM64777de11590.cpe.net.cable.rogers.com)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.