IRC logs for #buildstream for Wednesday, 2019-03-06

*** nimish has joined #buildstream02:37
*** kapil___ has joined #buildstream04:23
*** tristan has joined #buildstream04:53
*** nimish has quit IRC05:33
*** nimish has joined #buildstream05:59
*** nimish has quit IRC06:00
*** nimish has joined #buildstream06:00
*** nimish has quit IRC06:05
*** nimish has joined #buildstream06:06
*** nimish has quit IRC06:21
*** nimish has joined #buildstream06:21
*** nimish has quit IRC06:26
*** nimish has joined #buildstream06:26
*** nimish has quit IRC06:31
*** nimish has joined #buildstream06:32
*** nimish has quit IRC06:37
*** nimish has joined #buildstream06:37
*** nimish has quit IRC06:47
*** nimish has joined #buildstream06:47
gitlab-br-bottristanvb opened issue #946 (Local source allows inclusion of random/data data) on buildstream https://gitlab.com/BuildStream/buildstream/issues/94606:58
*** ChanServ sets mode: +o tristan07:00
tristantpollard, Filed that issue we discussed yesterday ^^^07:00
tristanI think some of that is valuable information for https://buildstream.build/faq.html07:01
*** nimish has quit IRC07:04
*** tristan has quit IRC07:05
*** nimish has joined #buildstream07:23
*** tristan has joined #buildstream08:10
*** ChanServ sets mode: +o tristan08:10
*** toscalix has joined #buildstream08:39
*** kapil___ has quit IRC09:03
*** nimish has quit IRC09:04
*** nimish has joined #buildstream09:25
gitlab-br-bottristanvb opened issue #947 (Errors lack context when files are not found) on buildstream https://gitlab.com/BuildStream/buildstream/issues/94709:29
*** nimish has quit IRC09:30
*** raoul has quit IRC09:39
*** raoul has joined #buildstream09:45
gitlab-br-bottristanvb closed issue #641 (Error out if `%{max-jobs}` is substituted in `Element.node_subst_member()`) on buildstream https://gitlab.com/BuildStream/buildstream/issues/64109:46
gitlab-br-botjuergbi opened issue #948 (Import elements allow build dependencies) on buildstream https://gitlab.com/BuildStream/buildstream/issues/94809:47
tristanAh that is easy to fix09:47
juergbitristan: read the full description ;)09:48
tristanOh maybe it's untrue though09:49
tristanjuergbi, Are we certain that it is impossible to need a file to be staged in order to build ?09:49
tristanI mean, I know that runtime dependencies are generally relied upon to manually ensure staging order09:50
juergbi    def stage(self, sandbox):09:50
juergbi        pass09:50
tristanbut maybe build dependencies are also required09:50
*** jonathanmaw has joined #buildstream09:50
juergbiindirect build dependencies shouldn't matter09:50
juergbifor staging09:50
tristanOh wait a sec that's right09:51
tristanIt is meaningful to have a build-only dependency *on* an import element, but not the other way around of course09:51
*** nimish has joined #buildstream09:51
juergbimeaningful in the sense of possibly different scheduling/pipeline order09:51
juergbibut not meaningful in any other way, right?09:52
tristanAnd having an import element declare a runtime-only dependency is enough to ensure that the import is always found "on top" of the other09:52
juergbiyes09:52
tristanjuergbi, It can be meaningful to build-only depend on an import element for probably a variety of reasons, in any case that an element may need some flat data for a build (say a cracklib words database for example)09:53
tristanbut that anyway is not under discussion here :)09:53
juergbiah, right. I misread your sentence despite your emphasis :-/09:54
Kinnisontristan: How does tracking a source interact with that source being inside a conditional statement?09:59
tristanKinnison, that should work fine and should hopefully be regression tested somewhere10:00
benschubertjonathanmaw: could you have a look at https://gitlab.com/BuildStream/bst-external/merge_requests/73 ?10:01
KinnisonI'm wondering because the options mutate the node, which afaict would mutate the toplevel and thus prevent things from working.  I must be missing a copy somewhere, but given that I don't see how the track would then work10:01
tristanKinnison, the provenance of the ref holding dictionary is saved for this reason (part of the original use cases of provenance)10:01
tristanKinnison, so the ref should be updated in the conditional, and it should even be updated if the source was declared in an included file (the included file should be the one modified)10:02
juergbiiirc, if the 'ref' key doesn't exist yet, it might get created outside the conditional10:02
juergbihowever, it works fine, if it already exists10:02
tristanKinnison, However, as I recall the entire source needs to be conditionalized10:02
tristanyeah that too10:02
tristansomething is inconvenient around those lines10:02
KinnisonHrm, I'm not sure I won't want to change how this happens, but thanks10:02
KinnisonIf I do, I'll be sure to be at least as useful as now10:03
tristanThere is precedent, but it may have evaporated by now10:03
*** phildawson has joined #buildstream10:03
tristanI recall the original gnome-build-meta (pre-freedesktop-sdk) was tracking 4 arches for the base runtime from ostree repos10:03
tristanKinnison, As I recall, the reason is that if the conditional is done *inside* the source dictionary and the ref doesnt exist, then the source is *creating* the ref on the dict, so it would indeed appear outside of the condition10:05
tristankind of a gotcha10:05
KinnisonYeah, I *think* I can fix that10:05
Kinnison:D10:05
*** nimish has quit IRC10:15
*** kapil___ has joined #buildstream10:19
gitlab-br-botmarge-bot123 merged MR !1190 (juerg/fast-import->master: Improve import performance) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/119010:27
gitlab-br-botjuergbi opened (was WIP) MR !1192 (juerg/remote-execution-cas->master: Improve remote execution) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/119210:32
*** lachlan has joined #buildstream10:33
Kinnisontristan: good news - I *think* with our new proposed data structure we can rewrite the tracking edit/save process to successfully manipulate content from wherever it came :D10:39
Kinnisonobviously if there was never a ref, it'll go in the containing dict not into a conditional10:39
Kinnisonbut if various edited fields change, they'll be updated in their right places, even if the source was composited partially from various places10:40
Kinnisonit'll make the track operation slightly more expensive than it currently is, but that's not a pain point IMO10:40
*** nimish has joined #buildstream10:54
lachlanjonathanmaw: Would you have some time today to review a couple of benchmarking MRs?10:57
Kinnisontristan: ChainMap -- do we use it purely as an efficiency to prevent dict copies, or do we expect underlying dicts to be mutated and have that effect show through to things chained on top?11:00
jonathanmawlachlan: can do, which ones are you looking for a review of?11:00
lachlanjonathanmaw: The 1st is https://gitlab.com/BuildStream/benchmarks/merge_requests/3311:00
lachlanand I'm currently preparing the second11:01
gitlab-br-botphildawson opened (was WIP) MR !1022 (chandan/base-git-mirror->master: Expose _GitMirror as part of plugin author facing API) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/102211:04
lachlanjonathanmaw, and the second is https://gitlab.com/BuildStream/benchmarks/merge_requests/3411:15
juergbiraoul: ah, the warning happens for elements that don't have any sources, of course11:25
juergbieven though there is no issue for those11:25
raoulah, that makes sense, I've been waiting for llvm to build so still haven't got to any sources that show it11:26
raoulI'll do something so that it doesn't throw up that warning11:26
juergbiraoul: as indicated on gitlab, I'd rather go with an assert in that case, if we consider it a bug for this to happen11:27
juergbior a fatal error, if we say it might happen in certain too-small CAS scenarios, like build dependencies11:27
juergbidon't generally want to keep a code path that we don't expect to ever happen (and thus, also never tested)11:28
raoulYeah that's the only scenario I can think it might happen, but required sources should be marked so that they're not deleted and it still shouldn't happen11:28
raoulmakes sense11:28
juergbi(if it was still a valid code path, we should add a test case for it)11:28
tristanKinnison, Purely as a measure of efficiency - we need to modify the "copies" through composition and all that, but we need those modifications to not affect the original copies which we keep around for saving track results12:00
tristanKinnison, I would be unpleasantly surprised if we were reliant on behaviors such as modifying the originals12:00
*** kapil___ has quit IRC12:49
*** phildawson has quit IRC12:57
*** phildawson has joined #buildstream12:57
*** tristan has quit IRC12:59
*** nimish has quit IRC12:59
*** phildawson has quit IRC13:05
*** phildawson has joined #buildstream13:05
Kinnisontristan: We ran tests and if chainmaps are replaced with full copies then we're safe, so yes it's just an efficiency, thanks for the confirmation though13:21
*** tristan has joined #buildstream13:25
*** nimish has joined #buildstream13:25
*** alatiera has joined #buildstream13:37
*** phildawson has quit IRC13:56
*** nimish has quit IRC14:00
*** nimish has joined #buildstream14:00
*** nimish has quit IRC14:05
*** nimish has joined #buildstream14:06
jmachttps://docs.buildstream.build/format_project.html#external-plugins says the number after a plugin element is the version, or "format version" later in the same section14:10
jmacWhat does "format version" mean in this context?14:10
*** nimish has quit IRC14:16
*** nimish has joined #buildstream14:16
*** alatiera has quit IRC14:20
juergbijmac: is 'format version' for the core clear as described in https://buildstream.gitlab.io/buildstream/format_project.html#format-version ?14:20
juergbi'format version' for plugins is pretty much the same, except only relating to the configuration keys defined by that particular plugin14:21
jmacI'm clear on what a format version is for projects, but I've not seen one specified for a plugin before14:23
*** alatiera has joined #buildstream14:24
jmacThe reason for asking is I'd like to require version X of a plugin package, where X is the version specified in the plugin repository's setup.py. It looks as though the element version number in project.conf is for something different?14:26
*** phildawson has joined #buildstream14:29
jmacIt appears "package-name: plugin-package>=N" is valid format, so I'll try that14:31
*** lachlan has quit IRC14:33
gitlab-br-botBenjaminSchubert opened MR !1207 (bschubert/tests-behind-proxy->master: test: Pass proxy and cert env variable to tox environment) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/120714:35
*** nimish has quit IRC14:36
*** nimish has joined #buildstream14:36
*** phildawson has quit IRC14:37
*** lachlan has joined #buildstream14:42
*** kapil___ has joined #buildstream14:44
*** lachlan has quit IRC14:45
*** nimish has quit IRC14:46
*** nimish has joined #buildstream14:47
gitlab-br-botjuergbi opened MR !1208 (juerg/cache-buildtrees->master: Tweak cache-buildtrees option) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/120814:55
*** lachlan has joined #buildstream14:56
tpollardthanks for providing the link to the irc discussion re that juergbi14:56
*** nimish has quit IRC14:57
juergbiyw14:57
*** nimish has joined #buildstream14:57
*** nimish has quit IRC15:27
*** nimish has joined #buildstream15:27
*** nimish has quit IRC15:42
*** nimish has joined #buildstream15:43
*** lachlan has quit IRC15:44
*** nimish has quit IRC15:48
*** nimish has joined #buildstream15:48
*** lachlan has joined #buildstream15:49
*** phildawson has joined #buildstream15:58
*** nimish has quit IRC16:03
*** nimish has joined #buildstream16:03
gitlab-br-botmarge-bot123 merged MR !1205 (jennis/compose_backwards->master: cleanup: Move YAML handling logic in _include.py to _yaml.py) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/120516:05
*** nimish has quit IRC16:08
raouljuergbi, I've implemented the assert and have realised that source checkout is one place that the fallback code is used, when sources are in the CACHED consistency but perhaps not in the the local CAS (which will happen if for example you have a bunch of local sources and this is the first run)16:09
*** nimish has joined #buildstream16:09
raoulI added some logic to check whether we should still stage and run the fetch pipeline, but this doesn't respect the fetch option source checkout so doesn't seem to be the way to do it16:10
raoulso I think we probably do want this fallback staging, unless you think adding some more logic to the fetch about staging and fetching is a better way to do this?16:11
*** nimish has quit IRC16:24
*** nimish has joined #buildstream16:24
lachlanjonathanmaw: Thanks for the review, I will put in the changes asap16:31
*** nimish has quit IRC16:34
*** nimish has joined #buildstream16:35
juergbiraoul: what do you mean with "this doesn't respect the fetch option source checkout"?16:40
raoulThere's a fetch option to the source checkout command, if we need to stage elements and so run the fetch pipeline we'll end up fetching sources even if that option was set to False16:41
benschubertCould someone have a look at https://gitlab.com/BuildStream/buildstream/merge_requests/1207 ?16:55
gitlab-br-botjuergbi approved MR !1207 (bschubert/tests-behind-proxy->master: test: Pass proxy and cert env variable to tox environment) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/120717:14
*** nimish has quit IRC17:15
*** nimish has joined #buildstream17:15
*** nimish has quit IRC17:20
*** nimish has joined #buildstream17:20
*** toscalix has quit IRC17:21
*** nimish has quit IRC17:30
*** lachlan has quit IRC17:30
*** nimish has joined #buildstream17:31
*** lachlan has joined #buildstream17:32
*** nimish has quit IRC17:41
*** nimish has joined #buildstream17:41
*** nimish has quit IRC17:56
*** nimish has joined #buildstream17:57
*** lachlan_ has joined #buildstream18:01
*** nimish has quit IRC18:02
*** phildawson_ has joined #buildstream18:02
*** CTtpollard has joined #buildstream18:02
*** jonathanmaw_ has joined #buildstream18:02
*** raoul_ has joined #buildstream18:02
*** lachlan has quit IRC18:02
*** raoul has quit IRC18:02
*** jonathanmaw has quit IRC18:02
*** phildawson has quit IRC18:02
*** nimish has joined #buildstream18:02
*** tpollard has quit IRC18:03
*** lachlan_ has quit IRC18:16
*** raoul_ has quit IRC18:16
*** nimish has quit IRC18:17
*** jonathanmaw_ has quit IRC18:18
*** nimish has joined #buildstream18:19
*** lachlan_ has joined #buildstream18:19
*** adds68 has quit IRC18:23
*** ikerperez has quit IRC18:23
*** jennis has quit IRC18:23
*** kapil___ has quit IRC18:24
*** adds68 has joined #buildstream18:31
*** nimish has quit IRC18:32
*** nimish has joined #buildstream18:32
gitlab-br-botmarge-bot123 merged MR !1207 (bschubert/tests-behind-proxy->master: test: Pass proxy and cert env variable to tox environment) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/120718:40
*** phil has joined #buildstream18:46
*** tpollard has joined #buildstream18:47
*** phildawson_ has quit IRC18:49
*** CTtpollard has quit IRC18:49
*** nimish has quit IRC18:52
*** nimish has joined #buildstream18:53
*** nimish has quit IRC19:13
*** nimish has joined #buildstream19:13
*** lachlan_ has quit IRC19:18
*** lachlan_ has joined #buildstream19:21
*** nimish has quit IRC19:48
*** nimish has joined #buildstream19:48
*** nimish has quit IRC19:58
*** nimish has joined #buildstream19:59
*** nimish has quit IRC20:04
*** nimish has joined #buildstream20:04
*** nimish has quit IRC20:09
*** nimish has joined #buildstream20:09
*** nimish has quit IRC20:19
*** nimish has joined #buildstream20:20
*** nimish has quit IRC20:25
*** nimish has joined #buildstream20:25
*** nimish has quit IRC20:30
*** nimish has joined #buildstream20:30
*** nimish has quit IRC20:37
*** tristan has quit IRC20:50
*** lachlan_ has quit IRC20:55

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!