IRC logs for #buildstream for Thursday, 2017-09-14

*** bochecha has quit IRC00:43
*** jude has quit IRC02:54
*** bochecha has joined #buildstream07:35
*** jonathanmaw has joined #buildstream07:35
*** jude has joined #buildstream07:57
*** ssam2 has joined #buildstream09:07
*** tlater has joined #buildstream09:15
gitlab-br-botpush on buildstream@24-better-validation-for-loaded-yaml (by Tristan Maat): 6 commits (last: Add element node validations) https://gitlab.com/BuildStream/buildstream/commit/f0cf37a3fb3a7c9c5a405c63df09363a33f4957709:55
gitlab-br-botbuildstream: merge request (24-better-validation-for-loaded-yaml->master: Resolve "Better validation for loaded YAML") #87 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8709:55
gitlab-br-botpush on buildstream@jonathan/source-bundle-workaround (by Jonathan Maw): 1 commit (last: Be more explicit on where the gcc dirs are in the bootstrap) https://gitlab.com/BuildStream/buildstream/commit/910e6d08f7eb96c9e7d2bc02251b4856263e450b10:03
gitlab-br-botpush on buildstream@24-better-validation-for-loaded-yaml (by Tristan Maat): 2 commits (last: Add source plugin node validations) https://gitlab.com/BuildStream/buildstream/commit/d56f472ddc6b6ff364aaa74cf1dac30be0d774de10:05
gitlab-br-botbuildstream: merge request (24-better-validation-for-loaded-yaml->master: Resolve "Better validation for loaded YAML") #87 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8710:05
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 20 commits (last: Add platform factories) https://gitlab.com/BuildStream/buildstream/commit/c60cbbd90f5af94acf612343f3c3047cd874c47610:34
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8110:34
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 1 commit (last: .gitlab-ci.yml: Add fallback tests to CI) https://gitlab.com/BuildStream/buildstream/commit/c53b265a8c845fb7b92937c298f859ddf4feba3610:38
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8110:38
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 1 commit (last: .gitlab-ci.yml: Add fallback tests to CI) https://gitlab.com/BuildStream/buildstream/commit/540075a2a1dd27faf13fff9b2ade28dc9f789a9010:42
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8110:42
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 20 commits (last: _sandboxchroot.py: Improve mount interface) https://gitlab.com/BuildStream/buildstream/commit/79222459de650052317ca0fd6d1b779a7607afe111:21
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8111:21
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 1 commit (last: .gitlab-ci.yml: Add fallback tests to CI) https://gitlab.com/BuildStream/buildstream/commit/460cccb26693094b631053a4a89f0287a82610d311:23
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8111:23
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 2 commits (last: Add a way to force using the fallback platform) https://gitlab.com/BuildStream/buildstream/commit/0fa05f41aec7c6cfa59615e26241d5d6faedd9f413:19
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8113:19
bochechasplit-rules have to be defined globally in the project.conf file? or can elements add their own?13:31
ssam2hmm, i don't know13:32
bochechathe problem with having them in the project.conf, is that if I add a new element at the tail of the pipeline, and modify the split-rules in project.conf accordingly, then everything will get rebuilt13:51
ssam2that seems wrongt14:00
ssam2wrong14:00
ssam2artifacts are only split once you get to a 'compose' element14:00
ssam2so you shouldn't need to rebuild anything before the first 'compose'14:01
bochechaI'd love it if it worked that way :)14:07
ssam2if it doesn't, I think you have hit a bug14:09
bochechaok then, let me dig it up a bit, see if I can figure it out :)14:12
tristanssam2, it no longer works that way because of the possibility of propagating attributes forward through the pipeline via public data14:20
tristanThats why public data is now strictly part of the key14:20
bochechatristan: oh, so the behaviour I'm seeing is expected then?14:20
tristanbochecha, for the first question, split-rules is public data and so it can be set on any element, the project.conf dictates the defaults for all elements14:21
gitlab-br-botbuildstream: Tristan Maat created branch 74-prevent-artifacts-from-containing-files-in-buildstream-build14:21
tristanYeah everything gets rebuilt when you change public data globally14:21
bochechaok, fair enough :)14:21
ssam2ah, ok14:22
bochechathe docs don't specify how/where to put the split-rules stuff in an element, though14:22
ssam2sorry for the misinformation :-)14:22
bochechais that at the top level? in config?14:22
bochechassam2: no worries :)14:22
tristanon the feature of propagating public data: You are only allowed to read public data at build time (and it's read directly from the built artifacts you depend on); and you are allowed to *set* public data on the element your plugin is building14:23
tristanthis allows weird introspection of what happened as a result of a build, and can be carried forward for other plugins to use (dpkg uses this to predict manifests and suchlike)14:23
bochechatristan: I'll be honest, your last message seems very abstract to me, and I have no idea what it means :-/14:24
tristanbochecha, like this: http://buildstream.gitlab.io/buildstream/public.html#split-rules14:24
bochechaoh, I see14:25
bochechamakes a lot of sense with an example, thanks :)14:25
tristanbochecha, alright sorry :) ... It basically means the python code of the plugin can discover things (from the data it's building), and note them in public data14:25
tristanso public data can be statically declared, or it can be programatically introspected (public data is read off of the elements you depend on)14:26
tristananyway, probably off topic... :)14:27
*** jude has quit IRC14:28
bochechaspeaking about split-rules...14:31
bochechasince %{libdir}/lib*.a is already in the default `devel` domain14:32
bochechawould you accept a patch adding %{libdir}/**/lib*.a ?14:32
bochecha(so that all .a files are in the devel domain, even the ones in subfolders)14:33
tristanHmmm, a more general "*.a" catching pattern for default split rules14:35
tristanmy guts says it's not ideal to be putting statements that effect the whole sysroot in the defaults14:36
bochechaalso, if I define split-rules for an element, does it work like flatpak's clean? that is it only applies to files which were installed by this element?14:39
bochechaso for example, if an element is only useful in the devel domain (all of it), I could put only `**` in the devel domain, and all its files (but not the files from other elements) would be in devel, recursively?14:40
tristanbochecha, yes thats precisely how it works14:43
bochechavery cool :)14:43
tristanso you can do system wide statements or use it for packaging an element or... hopefully something I hadn't thought of :)14:44
bochechawell, so far it seems you've already thought of everything /o\14:45
*** bochecha has quit IRC14:51
gitlab-br-botpush on buildstream@sam/source-bundle-destdir (by Sam Thursfield): 1 commit (last: source-bundle: Allow installing to somewhere other than /) https://gitlab.com/BuildStream/buildstream/commit/8012fdba5b6c4c0407f9cfd1d90c1d8b4b3b63f715:00
tlaterAh, is tristan about?15:03
* tristan is about15:03
tlater\o/15:03
tristanwhat is tristan about !?15:03
tlaterProbably quite low priority, but what's your opinion on this issue: https://gitlab.com/BuildStream/buildstream/issues/64?15:04
tristantlater, I think we should hold off on advertising plugin subclassing as something that is supported15:10
tlatertristan: But also not error/warn if someone does attempt to subclass?15:11
tristanThis is a documentation issue not a code issue, isn't it ?15:12
tristanis there an easy way to assert it ?15:12
tlatertristan: Somewhat. It would require some nasty reading or error messages though15:13
tristanmeh, dont do nasty things for this; a statement that it's not supported should be enough15:13
*** bochecha has joined #buildstream15:14
tristanthat leaves the door open for supporting that one day, supporting it now makes us responsible for it working15:14
tristanwhich is undesirable15:14
tlatertristan: Alright :)15:15
tlaterHave you had any time for the plugins MR as of yet?15:15
tlater!90, iirc15:15
tristantlater, just added a couple comments, will give it another look in a moment...15:27
tlatertristan: On the comment about yaml file loading, unfortunately it has to be done like that, because we need to discover the .yaml file through pip. Unfortunately pip copies the .py file from its original module and moves it to a temporary directory, leaving the .yaml behind.15:32
tristanthat seems unclear looking at the patch :-/15:33
tlaterI thought I left a big fat comment about that, actually, but I'll have a look at it again.15:33
tristanyeah you may have, but not at that specific location :)15:33
tristanhehe15:33
tristanOk so this means the loader needs to know what to load15:34
tristanAnd since it didnt load anything yet; what is getting loaded doesnt have a say in what gets loaded ?15:34
tlaterI'm not sure I follow?15:34
tristanWell, tlater this detail is not that horrible for now as at least it's entirely private15:34
tristantlater, by that I mean, it's the Element which knows it might want to load a .yaml file from next to where it was installed15:35
tristanthat's basically the design of that yaml file15:35
tlaterRight, yeah15:35
tristanSo, it would make sense that the plugin be the one to tell the loader, that it needs something15:35
tristanof itself15:35
tristanbuuuut15:36
tristanLets not care about that because; that would probably be the nice way to do it; but it's an internal detail for now and probably doesnt deserve that much attention15:36
tristanat least we know why it's that way right now15:36
* tlater was not very happy coding that, and spent an hour or two bashing his head against setuptools15:38
*** bochecha_ has joined #buildstream15:47
*** bochecha has quit IRC15:47
gitlab-br-botpush on buildstream@64-clarify-about-plugins-importing-other-plugins (by Tristan Maat): 1 commit (last: plugin.py: Add note on plugin extension support) https://gitlab.com/BuildStream/buildstream/commit/7c7c941b5f16253e50486523fd54942aaaa8b7a116:01
*** jonathanmaw has quit IRC16:09
tristantlater, what are we formatting when we show plugins in the startup summary ?16:10
tristantlater, "{}".format(GitSource) would give something like "<class 'foo.sources.GitSource'>" by default right ? but have you overridden that ?16:11
tlaterIt *should* show the kind string, that might be a mistake.16:12
tristanah you are right16:14
tristanI was confused, they are kind strings not plugin types16:14
tlaterHm, maybe python is one language where naming a variable after its type makes sense. Oh well.16:15
tristanwell, they could be loaded_plugin_kinds without indicating exactly the type16:17
tristannot sure dependencies is the right word there either16:17
tristanbut it's not a huge deal, for the rest of the patch it looks fine to me16:17
tristanas I mentioned in the comment, I would want to move the plugin related docs to the module level docstring of plugin.py16:18
tlaterYeah, that makes sense.16:18
tristanI think there we can describe all the common stuff about plugins, including the common APIs they have to implement, and then later we add element plugin authoring and source plugin authoring materials in their respective sources too16:18
tristanOk /me has to catch a lift to the coffee shop...16:19
* tlater will make that change real quick and then hopefully finally land a branch again16:19
*** tristan has quit IRC16:22
gitlab-br-botbuildstream: merge request (artifacts-config->master: WIP: Artifacts config) #88 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8816:26
gitlab-br-botpush on buildstream@70-third-party-plugin-sharing (by Tristan Maat): 3 commits (last: Add documentation) https://gitlab.com/BuildStream/buildstream/commit/2281b367638732832abef45c27d88f5287d71c5116:42
gitlab-br-botbuildstream: merge request (70-third-party-plugin-sharing->master: Resolve "Third party plugin sharing") #90 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/9016:42
*** tristan has joined #buildstream16:55
*** ChanServ sets mode: +o tristan16:55
* tlater has to go play badminton now o/17:04
*** tlater has quit IRC17:04
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 7 commits (last: Add _yaml.validate_node) https://gitlab.com/BuildStream/buildstream/commit/06b4d3aeae88a30d922cd044feaf9f255946fe5517:07
gitlab-br-botbuildstream: issue #24 ("Better validation for loaded YAML") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/2417:07
gitlab-br-botbuildstream: merge request (24-better-validation-for-loaded-yaml->master: Resolve "Better validation for loaded YAML") #87 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/8717:07
*** ssam2 has quit IRC18:34
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 7 commits (last: _plugincontext.py: Add support for pip-installed plugins) https://gitlab.com/BuildStream/buildstream/commit/6a326f465888fbf411682dd6c7c58cc7bc597e6b19:06
gitlab-br-botbuildstream: merge request (70-third-party-plugin-sharing->master: Resolve "Third party plugin sharing") #90 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/9019:08
gitlab-br-botpush on buildstream@70-third-party-plugin-sharing (by Tristan Van Berkom): 14 commits (last: Add _yaml.validate_node) https://gitlab.com/BuildStream/buildstream/commit/06b4d3aeae88a30d922cd044feaf9f255946fe5519:08
gitlab-br-botbuildstream: merge request (70-third-party-plugin-sharing->master: Resolve "Third party plugin sharing") #90 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/9019:10
gitlab-br-botbuildstream: issue #70 ("Third party plugin sharing") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/7019:12
gitlab-br-botbuildstream: Tristan Van Berkom deleted branch 70-third-party-plugin-sharing19:29
*** tristan has quit IRC20:49
*** tristan has joined #buildstream22:48
*** tristan has quit IRC23:59

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