*** tristan has joined #buildstream | 01:16 | |
*** ChanServ sets mode: +o tristan | 01:47 | |
*** jonathanmaw has joined #buildstream | 08:16 | |
*** jude has joined #buildstream | 08:27 | |
*** tlater has joined #buildstream | 08:35 | |
gitlab-br-bot | buildstream: merge request (artifacts-config->master: WIP: Artifacts config) #88 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/88 | 08:36 |
---|---|---|
gitlab-br-bot | buildstream: merge request (artifacts-config->master: WIP: Artifacts config) #88 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/88 | 08:41 |
*** ssam2 has joined #buildstream | 09:12 | |
bochecha_ | I hadn't planned for that yaml validation when I rebased my branch, Ci is all red :] | 09:14 |
gitlab-br-bot | buildstream: merge request (artifacts-config->master: WIP: Artifacts config) #88 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/88 | 09:14 |
gitlab-br-bot | buildstream: merge request (artifacts-config->master: WIP: Artifacts config) #88 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/88 | 09:26 |
*** adds68 has joined #buildstream | 09:28 | |
*** adds68 has quit IRC | 09:32 | |
*** adds68 has joined #buildstream | 09:48 | |
*** bochecha_ has quit IRC | 10:03 | |
*** bochecha_ has joined #buildstream | 10:03 | |
*** bochecha_ has quit IRC | 10:08 | |
*** bochecha_ has joined #buildstream | 10:08 | |
tlater | ssam2: Do you know what tristan meant by this on issue #74 (Prevent artifacts from containing files in `/buildstream/build`): either warn or error out when attempting to stage artifacts in the sandbox when they shadow existing directory? | 10:13 |
ssam2 | yeah | 10:20 |
ssam2 | if I have an artifact that contains files in the path `/buildstream/install`, for example | 10:20 |
ssam2 | then BuildStream will usually have precreated those directories | 10:21 |
ssam2 | so when staging the artifact it can say "hang on, I created those directories but now this artifact is trying to install stuff in there" | 10:21 |
tlater | ssam2: But *not* for files staged by other dependencies? | 10:22 |
ssam2 | no | 10:24 |
ssam2 | just for things BuildStream itself created | 10:24 |
ssam2 | i.e. the "special" dirs /buildstream/install and /buildstream/build | 10:24 |
tlater | Cool, ta :) | 10:24 |
* tlater thought it made little sense, since any write would cause a warning otherwise | 10:24 | |
*** uajain has quit IRC | 11:17 | |
*** uajain has joined #buildstream | 11:20 | |
*** tlater has quit IRC | 11:37 | |
*** tlater has joined #buildstream | 12:08 | |
*** adds68 has quit IRC | 12:50 | |
tristan | :) | 14:12 |
* tristan has fun with lots of email | 14:12 | |
* ssam2 about to send more :-) | 14:19 | |
*** adds68 has joined #buildstream | 14:24 | |
gitlab-br-bot | push on buildstream@74-prevent-artifacts-from-containing-files-in-buildstream-build (by Tristan Maat): 1 commit (last: Add warnings when staging to /buildstream/build) https://gitlab.com/BuildStream/buildstream/commit/76fcba1357685f7557a13e849cdf99a5a22c7875 | 14:30 |
tlater | tristan: Could you explain this comment in more detail: https://gitlab.com/BuildStream/buildstream/merge_requests/81#note_40405848 ? | 14:47 |
tlater | I'm not sure what you are referring to there | 14:48 |
* tristan opens | 14:57 | |
tristan | tlater, set_offline() ? | 14:57 |
tristan | the artifact cache ? | 14:57 |
tristan | So this offline state appeared in the codebase | 14:57 |
tlater | Iirc it existed before | 14:57 |
tristan | and the frontend does a little dance and decides to say "you're offline artifact cache !" | 14:58 |
tristan | not forever no | 14:58 |
tristan | anyway | 14:58 |
tlater | Hmm | 14:59 |
* tristan is waiting for gitlab sorry | 14:59 | |
tristan | tlater, so it's not implemented in the abstract class, it's implemented on the ostree cache and not on the tar cache | 15:00 |
tristan | need I say more ? | 15:00 |
tlater | Well, it's not something that I added for cross-platform support, if it is my code. Currently only the old cache supports anything regarding this in the first place. It can probably removed | 15:00 |
tristan | No no no wait a sec | 15:01 |
tristan | If you abstract the artifact cache, then that is certainly part of what needs to be considered | 15:01 |
tristan | Just to be clear: We dont implement abstractions so that code has to conditionally know that a method exists on it before calling it | 15:02 |
tristan | it has to abstract it :) | 15:02 |
tristan | so an artifact cache always just quacks like an artifact cache | 15:02 |
tlater | Right, yeah, but I'm still trying to figure out this things purpose - presumably there's a better way than having the frontend figure out whether things are online. | 15:03 |
tristan | I believe the frontend cooperates with the artifact cache to determine it's online or offline state, but needs an opportunity to control when or if that happens | 15:04 |
tristan | juergbi, curiously - when we update the local artifact cache with the remote summary; is it somehow automatically locally cached for that remote ? | 15:05 |
tristan | I.e. if we were online and ran `bst show` we'll find things `downloadable` | 15:06 |
tristan | Next time we run `bst show` on the airplane, it also says `downloadable` but the artifact cache was never online ? | 15:06 |
tristan | if this is all at the ostree level then perhaps yeah | 15:07 |
juergbi | there is no caching at the buildstream level but yes, ostree does support storing remote refs, similar to git (except that the objects might not necessarily be local) | 15:08 |
tristan | anyway tlater; I think that code path is a nuisance as well; but dont bother rewriting it all, just make sure it's wired through the abstraction | 15:08 |
tlater | Alright, will do. Can always clean that later, I suppose. | 15:09 |
tristan | yeah I suspect there is going to be more attention needed to these spurious contacting the artifact cache on startup annoyances (funny thing, when it works I guess it's great, when your wifi is off and `bst show` hangs while trying to shake hands, you just want to slap this steaming pile of python) | 15:10 |
tlater | Regarding the two mount classes, perhaps we should rename one of them. The one in the bwrap sandbox is black magic and has very little to do with mounting. | 15:12 |
tlater | The one in the chroot class is a wrapper around the actual `mount` command, because solaris/AIX/Linux have wildly different ideas of what a mount command should do | 15:12 |
tlater | It would be hard to merge them. | 15:13 |
tristan | tlater, sure then dont mind; I thought that while they were *doing* something different, their code flow was the same | 15:47 |
tristan | but I was obviously wrong, just had a hunch :) | 15:47 |
tristan | cause dealing with the mount map and stuff is a bit tricky | 15:47 |
bochecha_ | so I'm having problems with my branch for artifacts config | 15:59 |
bochecha_ | somehow, `project.name` is None, even though the name is defined in my project.conf :-/ | 15:59 |
bochecha_ | seems that the project.name is set in Project._resolve()... which isn't called anywhere? o_O | 16:01 |
bochecha_ | tristan: seems in commit 68748a1f9cf8f91c60bca5b53ea7946bb1d9bb50 you split Project._load into Project._load_first_half and Project._resolve | 16:07 |
bochecha_ | tristan: but unless I'm missing something, Project._resolve is never actually called :) | 16:07 |
tristan | Oh test cases | 16:25 |
tristan | bochecha_, yeah it's called by the pipeline I guess | 16:25 |
bochecha_ | oh | 16:26 |
bochecha_ | the leading underscore made me think it was private (as that's the Python convention) | 16:26 |
bochecha_ | ok, so the problem is that the artifacts cache object is created before resovling the project | 16:26 |
bochecha_ | which means we don't have the project name at that point yet | 16:26 |
bochecha_ | fixed :) | 16:27 |
bochecha_ | so I've got the artifacts cache working, with the three levels we discussed in the MR | 16:28 |
bochecha_ | 1. user config fallback, 2. project config, 3. per-project override in the user config | 16:28 |
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:31 |
gitlab-br-bot | buildstream: merge request (artifacts-config->master: Artifacts config) #88 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/88 | 16:32 |
* tristan has been deep in his email sorry | 16:43 | |
tristan | bochecha_, it's private | 16:45 |
tristan | bochecha_, if Project.load() is public, that's a bug hehe :) | 16:45 |
bochecha_ | tristan: the pipeline calls project._resolve() | 16:45 |
tristan | right yes | 16:45 |
bochecha_ | usually, private functions aren't called by other objects :) | 16:46 |
tristan | Ohhh yeah we have a different view of that | 16:46 |
tristan | bochecha_, I dont like too many underscores, we would have them everywhere | 16:46 |
tristan | So I just say, if the module is _ostree.py, then everything inside it is assumed private anyway | 16:46 |
tristan | And public is only stuff that element/source plugin authors can access | 16:47 |
tristan | (or frontend authors perhaps if we open up that API surface) | 16:47 |
tristan | so yeah I guess we have some things that are underscored on public API surfaces which internals call | 16:48 |
bochecha_ | I'm not sure I follow | 16:51 |
tristan | Two things; A.) if it's already in private scope, no need for underscore to communicate it's privateness... B.) If its not public API (i.e. used *outside of buildstream*), then it's private | 16:52 |
tristan | I'm relatively new to python so maybe I made a huge mess with that policy :) | 16:53 |
bochecha_ | oh, ok | 16:54 |
bochecha_ | so what you consider "private" is at the level of BuildStream, not at the level of the class | 16:54 |
tristan | yes | 16:54 |
bochecha_ | which is fine, just not what I expected :) | 16:54 |
tristan | thats what I care about :) | 16:54 |
bochecha_ | at the same time, is the Project really something that should be public API for the outside to use? (since the Pipeline isn't) | 16:55 |
gitlab-br-bot | push on buildstream@cross_platform (by Tristan Maat): 2 commits (last: platform.py: Remove abc dependency) https://gitlab.com/BuildStream/buildstream/commit/af836a41287d2ec9e10ca598cadbe15f00de1d7d | 16:55 |
gitlab-br-bot | buildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/81 | 16:56 |
tristan | its needed for a few things I believe | 16:56 |
bochecha_ | anyway, I'm quite happy with the MR now, I'd appreciate a review whenever you have time :) | 16:56 |
tristan | bochecha_, project and context are around for read-only purposes of the element | 16:56 |
tristan | but maybe we can eliminate some of that | 16:56 |
tristan | okay thanks ! :D | 16:56 |
* tlater was also confused by the slightly different convention on this project at first | 16:56 | |
*** jonathanmaw has quit IRC | 16:59 | |
gitlab-br-bot | push on buildstream@cross_platform (by Tristan Maat): 1 commit (last: Rename platform implementations) https://gitlab.com/BuildStream/buildstream/commit/7938450614e6a28ac696faf2c943e704974a2ca1 | 17:00 |
gitlab-br-bot | buildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/81 | 17:00 |
*** jude has quit IRC | 17:10 | |
tlater | tristan: I'll finish the comments on the cross_platform branch next week, there are two more that I'd just like to ask you about first, but as I'm leaving in 10 minutes that won't happen tonight | 17:15 |
tlater | Well, leaving now, busy in 10 minutes ;) | 17:15 |
tlater | o/ | 17:15 |
*** tristan has quit IRC | 17:15 | |
*** jonathanmaw has joined #buildstream | 17:16 | |
*** tlater has quit IRC | 17:18 | |
*** ssam2 has quit IRC | 17:19 | |
*** jonathanmaw has quit IRC | 17:23 | |
*** tristan has joined #buildstream | 17:29 | |
*** tristan has quit IRC | 17:37 | |
*** tristan has joined #buildstream | 17:37 | |
tristan | persia, damn internet crap ! | 17:38 |
*** tristan has quit IRC | 17:38 | |
*** tristan has joined #buildstream | 17:46 | |
*** tristan has quit IRC | 18:39 | |
*** tristan has joined #buildstream | 20:55 | |
*** tristan has quit IRC | 22:31 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!