*** bochecha has quit IRC | 00:43 | |
*** jude has quit IRC | 02:54 | |
*** bochecha has joined #buildstream | 07:35 | |
*** jonathanmaw has joined #buildstream | 07:35 | |
*** jude has joined #buildstream | 07:57 | |
*** ssam2 has joined #buildstream | 09:07 | |
*** tlater has joined #buildstream | 09:15 | |
gitlab-br-bot | push on buildstream@24-better-validation-for-loaded-yaml (by Tristan Maat): 6 commits (last: Add element node validations) https://gitlab.com/BuildStream/buildstream/commit/f0cf37a3fb3a7c9c5a405c63df09363a33f49577 | 09:55 |
---|---|---|
gitlab-br-bot | buildstream: 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/87 | 09:55 |
gitlab-br-bot | push 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/910e6d08f7eb96c9e7d2bc02251b4856263e450b | 10:03 |
gitlab-br-bot | push 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/d56f472ddc6b6ff364aaa74cf1dac30be0d774de | 10:05 |
gitlab-br-bot | buildstream: 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/87 | 10:05 |
gitlab-br-bot | push on buildstream@cross_platform (by Tristan Maat): 20 commits (last: Add platform factories) https://gitlab.com/BuildStream/buildstream/commit/c60cbbd90f5af94acf612343f3c3047cd874c476 | 10:34 |
gitlab-br-bot | buildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/81 | 10:34 |
gitlab-br-bot | push on buildstream@cross_platform (by Tristan Maat): 1 commit (last: .gitlab-ci.yml: Add fallback tests to CI) https://gitlab.com/BuildStream/buildstream/commit/c53b265a8c845fb7b92937c298f859ddf4feba36 | 10:38 |
gitlab-br-bot | buildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/81 | 10:38 |
gitlab-br-bot | push on buildstream@cross_platform (by Tristan Maat): 1 commit (last: .gitlab-ci.yml: Add fallback tests to CI) https://gitlab.com/BuildStream/buildstream/commit/540075a2a1dd27faf13fff9b2ade28dc9f789a90 | 10:42 |
gitlab-br-bot | buildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/81 | 10:42 |
gitlab-br-bot | push on buildstream@cross_platform (by Tristan Maat): 20 commits (last: _sandboxchroot.py: Improve mount interface) https://gitlab.com/BuildStream/buildstream/commit/79222459de650052317ca0fd6d1b779a7607afe1 | 11:21 |
gitlab-br-bot | buildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/81 | 11:21 |
gitlab-br-bot | push on buildstream@cross_platform (by Tristan Maat): 1 commit (last: .gitlab-ci.yml: Add fallback tests to CI) https://gitlab.com/BuildStream/buildstream/commit/460cccb26693094b631053a4a89f0287a82610d3 | 11:23 |
gitlab-br-bot | buildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/81 | 11:23 |
gitlab-br-bot | push 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/0fa05f41aec7c6cfa59615e26241d5d6faedd9f4 | 13:19 |
gitlab-br-bot | buildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/81 | 13:19 |
bochecha | split-rules have to be defined globally in the project.conf file? or can elements add their own? | 13:31 |
ssam2 | hmm, i don't know | 13:32 |
bochecha | the 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 rebuilt | 13:51 |
ssam2 | that seems wrongt | 14:00 |
ssam2 | wrong | 14:00 |
ssam2 | artifacts are only split once you get to a 'compose' element | 14:00 |
ssam2 | so you shouldn't need to rebuild anything before the first 'compose' | 14:01 |
bochecha | I'd love it if it worked that way :) | 14:07 |
ssam2 | if it doesn't, I think you have hit a bug | 14:09 |
bochecha | ok then, let me dig it up a bit, see if I can figure it out :) | 14:12 |
tristan | ssam2, it no longer works that way because of the possibility of propagating attributes forward through the pipeline via public data | 14:20 |
tristan | Thats why public data is now strictly part of the key | 14:20 |
bochecha | tristan: oh, so the behaviour I'm seeing is expected then? | 14:20 |
tristan | bochecha, 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 elements | 14:21 |
gitlab-br-bot | buildstream: Tristan Maat created branch 74-prevent-artifacts-from-containing-files-in-buildstream-build | 14:21 |
tristan | Yeah everything gets rebuilt when you change public data globally | 14:21 |
bochecha | ok, fair enough :) | 14:21 |
ssam2 | ah, ok | 14:22 |
bochecha | the docs don't specify how/where to put the split-rules stuff in an element, though | 14:22 |
ssam2 | sorry for the misinformation :-) | 14:22 |
bochecha | is that at the top level? in config? | 14:22 |
bochecha | ssam2: no worries :) | 14:22 |
tristan | on 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 building | 14:23 |
tristan | this 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 |
bochecha | tristan: I'll be honest, your last message seems very abstract to me, and I have no idea what it means :-/ | 14:24 |
tristan | bochecha, like this: http://buildstream.gitlab.io/buildstream/public.html#split-rules | 14:24 |
bochecha | oh, I see | 14:25 |
bochecha | makes a lot of sense with an example, thanks :) | 14:25 |
tristan | bochecha, 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 data | 14:25 |
tristan | so 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 |
tristan | anyway, probably off topic... :) | 14:27 |
*** jude has quit IRC | 14:28 | |
bochecha | speaking about split-rules... | 14:31 |
bochecha | since %{libdir}/lib*.a is already in the default `devel` domain | 14:32 |
bochecha | would 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 |
tristan | Hmmm, a more general "*.a" catching pattern for default split rules | 14:35 |
tristan | my guts says it's not ideal to be putting statements that effect the whole sysroot in the defaults | 14:36 |
bochecha | also, 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 |
bochecha | so 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 |
tristan | bochecha, yes thats precisely how it works | 14:43 |
bochecha | very cool :) | 14:43 |
tristan | so you can do system wide statements or use it for packaging an element or... hopefully something I hadn't thought of :) | 14:44 |
bochecha | well, so far it seems you've already thought of everything /o\ | 14:45 |
*** bochecha has quit IRC | 14:51 | |
gitlab-br-bot | push 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/8012fdba5b6c4c0407f9cfd1d90c1d8b4b3b63f7 | 15:00 |
tlater | Ah, is tristan about? | 15:03 |
* tristan is about | 15:03 | |
tlater | \o/ | 15:03 |
tristan | what is tristan about !? | 15:03 |
tlater | Probably quite low priority, but what's your opinion on this issue: https://gitlab.com/BuildStream/buildstream/issues/64? | 15:04 |
tristan | tlater, I think we should hold off on advertising plugin subclassing as something that is supported | 15:10 |
tlater | tristan: But also not error/warn if someone does attempt to subclass? | 15:11 |
tristan | This is a documentation issue not a code issue, isn't it ? | 15:12 |
tristan | is there an easy way to assert it ? | 15:12 |
tlater | tristan: Somewhat. It would require some nasty reading or error messages though | 15:13 |
tristan | meh, dont do nasty things for this; a statement that it's not supported should be enough | 15:13 |
*** bochecha has joined #buildstream | 15:14 | |
tristan | that leaves the door open for supporting that one day, supporting it now makes us responsible for it working | 15:14 |
tristan | which is undesirable | 15:14 |
tlater | tristan: Alright :) | 15:15 |
tlater | Have you had any time for the plugins MR as of yet? | 15:15 |
tlater | !90, iirc | 15:15 |
tristan | tlater, just added a couple comments, will give it another look in a moment... | 15:27 |
tlater | tristan: 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 |
tristan | that seems unclear looking at the patch :-/ | 15:33 |
tlater | I thought I left a big fat comment about that, actually, but I'll have a look at it again. | 15:33 |
tristan | yeah you may have, but not at that specific location :) | 15:33 |
tristan | hehe | 15:33 |
tristan | Ok so this means the loader needs to know what to load | 15:34 |
tristan | And since it didnt load anything yet; what is getting loaded doesnt have a say in what gets loaded ? | 15:34 |
tlater | I'm not sure I follow? | 15:34 |
tristan | Well, tlater this detail is not that horrible for now as at least it's entirely private | 15:34 |
tristan | tlater, by that I mean, it's the Element which knows it might want to load a .yaml file from next to where it was installed | 15:35 |
tristan | that's basically the design of that yaml file | 15:35 |
tlater | Right, yeah | 15:35 |
tristan | So, it would make sense that the plugin be the one to tell the loader, that it needs something | 15:35 |
tristan | of itself | 15:35 |
tristan | buuuut | 15:36 |
tristan | Lets 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 attention | 15:36 |
tristan | at least we know why it's that way right now | 15:36 |
* tlater was not very happy coding that, and spent an hour or two bashing his head against setuptools | 15:38 | |
*** bochecha_ has joined #buildstream | 15:47 | |
*** bochecha has quit IRC | 15:47 | |
gitlab-br-bot | push 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/7c7c941b5f16253e50486523fd54942aaaa8b7a1 | 16:01 |
*** jonathanmaw has quit IRC | 16:09 | |
tristan | tlater, what are we formatting when we show plugins in the startup summary ? | 16:10 |
tristan | tlater, "{}".format(GitSource) would give something like "<class 'foo.sources.GitSource'>" by default right ? but have you overridden that ? | 16:11 |
tlater | It *should* show the kind string, that might be a mistake. | 16:12 |
tristan | ah you are right | 16:14 |
tristan | I was confused, they are kind strings not plugin types | 16:14 |
tlater | Hm, maybe python is one language where naming a variable after its type makes sense. Oh well. | 16:15 |
tristan | well, they could be loaded_plugin_kinds without indicating exactly the type | 16:17 |
tristan | not sure dependencies is the right word there either | 16:17 |
tristan | but it's not a huge deal, for the rest of the patch it looks fine to me | 16:17 |
tristan | as I mentioned in the comment, I would want to move the plugin related docs to the module level docstring of plugin.py | 16:18 |
tlater | Yeah, that makes sense. | 16:18 |
tristan | I 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 too | 16:18 |
tristan | Ok /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 again | 16:19 | |
*** tristan has quit IRC | 16:22 | |
gitlab-br-bot | buildstream: merge request (artifacts-config->master: WIP: Artifacts config) #88 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/88 | 16:26 |
gitlab-br-bot | push on buildstream@70-third-party-plugin-sharing (by Tristan Maat): 3 commits (last: Add documentation) https://gitlab.com/BuildStream/buildstream/commit/2281b367638732832abef45c27d88f5287d71c51 | 16:42 |
gitlab-br-bot | buildstream: merge request (70-third-party-plugin-sharing->master: Resolve "Third party plugin sharing") #90 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/90 | 16:42 |
*** tristan has joined #buildstream | 16:55 | |
*** ChanServ sets mode: +o tristan | 16:55 | |
* tlater has to go play badminton now o/ | 17:04 | |
*** tlater has quit IRC | 17:04 | |
gitlab-br-bot | push on buildstream@master (by Tristan Van Berkom): 7 commits (last: Add _yaml.validate_node) https://gitlab.com/BuildStream/buildstream/commit/06b4d3aeae88a30d922cd044feaf9f255946fe55 | 17:07 |
gitlab-br-bot | buildstream: issue #24 ("Better validation for loaded YAML") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/24 | 17:07 |
gitlab-br-bot | buildstream: 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/87 | 17:07 |
*** ssam2 has quit IRC | 18:34 | |
gitlab-br-bot | push on buildstream@master (by Tristan Van Berkom): 7 commits (last: _plugincontext.py: Add support for pip-installed plugins) https://gitlab.com/BuildStream/buildstream/commit/6a326f465888fbf411682dd6c7c58cc7bc597e6b | 19:06 |
gitlab-br-bot | buildstream: merge request (70-third-party-plugin-sharing->master: Resolve "Third party plugin sharing") #90 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/90 | 19:08 |
gitlab-br-bot | push on buildstream@70-third-party-plugin-sharing (by Tristan Van Berkom): 14 commits (last: Add _yaml.validate_node) https://gitlab.com/BuildStream/buildstream/commit/06b4d3aeae88a30d922cd044feaf9f255946fe55 | 19:08 |
gitlab-br-bot | buildstream: merge request (70-third-party-plugin-sharing->master: Resolve "Third party plugin sharing") #90 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/90 | 19:10 |
gitlab-br-bot | buildstream: issue #70 ("Third party plugin sharing") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/70 | 19:12 |
gitlab-br-bot | buildstream: Tristan Van Berkom deleted branch 70-third-party-plugin-sharing | 19:29 |
*** tristan has quit IRC | 20:49 | |
*** tristan has joined #buildstream | 22:48 | |
*** tristan has quit IRC | 23:59 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!