IRC logs for #buildstream for Tuesday, 2017-10-24

*** juergbi has quit IRC01:19
*** semanticdesign has quit IRC01:35
*** semanticdesign_ has quit IRC01:35
*** juergbi has joined #buildstream03:45
*** tristan has joined #buildstream04:37
*** tristan has quit IRC06:52
*** jude has joined #buildstream06:55
*** jude has quit IRC07:18
*** jude has joined #buildstream07:20
*** tristan has joined #buildstream07:30
*** semanticdesign has joined #buildstream08:01
*** semanticdesign_ has joined #buildstream08:01
*** tiagogomes has joined #buildstream08:07
*** bochecha has quit IRC08:45
*** bochecha has joined #buildstream08:49
*** valentind has joined #buildstream08:58
*** tiagogomes has quit IRC09:08
*** ssam2 has joined #buildstream09:10
*** tiagogomes has joined #buildstream09:16
*** jude has quit IRC09:19
*** jude has joined #buildstream09:19
*** tiagogomes has quit IRC09:20
*** tiagogomes has joined #buildstream09:20
*** tlater has joined #buildstream09:52
*** tiagogomes has quit IRC10:04
*** tiagogomes has joined #buildstream10:19
*** valentind has quit IRC10:50
tlaterHm, not sure if this is another bug related to the child watcher, but when I run `bst build --track` the status area doesn't update by itself (i.e. the times don't change unless a message is printed).12:00
tristanthat's driven by a ticker in _scheduler/scheduler.py12:06
tristanIt could be related12:06
tristantlater, And if you revert your local work, the ticker continues to work right ?12:06
tristan(In which case, you *do* know it's related :))12:07
tlatertristan: It doesn't, no :/12:07
tristanohhh, that would be bad12:07
tristanit's something possible to go unnoticed12:07
* tlater will check again12:08
tlaterIt's possible I'm not reverting properly, though resetting to something old doesn't change anything.12:08
tristansince usually there is a lot of activity, it could have gone unnoticed for a while12:08
tristantlater, if you confirm that it's not a regression from your change, and that your fix works, then we can treat it as a separate issue (and it probably is, if that is the case)12:10
tristantlater, I can confirm that is *not* happening with buildstream master12:11
tlatertristan: I'll try buildstream master, it's possible this happens only after a track fails12:11
tristanI did `mv ~/.cache/buildstream ~/.cache/buildstream.backup && bst track core/gnome-backgrounds.bst`12:11
tristanthe gnome-backgrounds.bst is heavy graphics, big download... so only one thing happening, and ticker works12:12
* tlater waits for base-platform to track, can't see with the download going on12:16
tlatertristan: Unless python weirdly caches files for something installed with `pip -e`, this happens in master after something fails to track and lets me choose 'continue' - I thought this was the same issue in #107 and reported them together.12:21
*** tiagogomes has quit IRC12:21
tlaterAlso seeing the annoying waitpid errors again, so I'm fairly sure this is unrelated.12:21
tristanSo this only happens *after* continue ?12:42
tristanCould be that we've suspended something in that context and forget to wake it back up ?12:43
*** xjuan has joined #buildstream12:43
tristananyway, tlater - as I mentioned; if it's not caused by your patch, and it's a bug in master, then it's a separate bug12:43
tristanif you could file it even, that would be great12:44
tristanAlright: https://gitlab.com/BuildStream/cargo-fetcher that's a start12:47
tristanJust needs a launcher script and a setup.sh to schedule the cron jobs, and we have an ever accumulating, self updating vendor directory to import, and use for building rusty things like librsvg12:48
ssam2is that source or binaries ?12:49
tristanIf librsvg grows a new rusty dependency, just commit to the Cargo.toml in that repo, and in say 5 or 10 minutes, it will be available for the next `bst track rust/vendor.bst` (or whatever we call that element in the GNOME project)12:49
tristanit's all source12:49
ssam2why OSTree rather than Git ?12:50
tristanNo reason12:50
tristanCould be git12:51
tristanOr rather, one good reason: Allowed me to reuse a lot of stuff from debootstrap-ostree :)12:51
ssam2fair enough12:51
tristanAnyway, it's hopefully a stop gap for until such a day that we might create a `cargo` Source (which has the downside of requiring users to have cargo on their host)12:52
tristanI'm thinking a cargo source will not be too bad12:52
tristanBut yeah, we need to think on this more12:52
ssam2seems like we could have an import tool to undo whatever wacky stuff cargo is doing to hide the real source code12:53
tristanyeah like generating .bst files you mean right ?12:54
tristanmaybe yeah12:54
tristanto think about another day... in the day time :D12:54
tristanInterestingly, I'll make librsvg.bst only build-depend on that rusty thingy12:55
tristancause it's all static source stuff, anything rusty just needs to build-depend on it12:55
tristantomorrow I should have automation and tests12:56
tristanerr, tests/test a build of GNOME with it/ :)12:56
*** tristan has quit IRC13:01
*** tiagogomes has joined #buildstream13:08
* tlater had a confusing mess of different versions of buildstream due to running `./setup.py develop` once, which seems to have been the cause of the issue earlier13:40
tlaterOr maybe not...13:40
*** tristan has joined #buildstream14:03
*** anahuelamo has quit IRC14:51
*** anahuelamo has joined #buildstream15:07
*** valentind has joined #buildstream15:56
*** xjuan has quit IRC16:11
*** xjuan has joined #buildstream16:16
*** jude has quit IRC16:27
*** ssam2 has quit IRC17:07
*** cs_shadow_ has quit IRC17:11
*** tristan has quit IRC17:21
*** gitlab-br-bot has joined #buildstream17:27
*** gitlab-br-bot has quit IRC17:28
*** gitlab-br-bot has joined #buildstream17:29
*** tlater has quit IRC17:41
*** jude has joined #buildstream18:34
*** tristan has joined #buildstream18:35
*** cs_shadow_ has joined #buildstream18:40
tristanjjardon[m], weird, I got a moderator email for buildstream-list, and was able to login... moderation queue is empty - and I did not receive the mail on the list18:50
tristanjjardon[m], did you handle that ?18:50
cs_shadow_ah! that was me. I accidentally sent a message from incorrect email address so I cancelled the moderation request and resent it from the correct account. Sorry about the confusion :)18:51
tristancs_shadow_, ah that's you ! :D18:52
tristanit's very late here - but glossing briefly over it, there are a couple of related issues I think which set some ideas about how to get there for incremental builds18:53
tristanI think a first step will be supporting that for workspaces18:53
tristancs_shadow_, there is another old bug report, which is interesting but a bit far from grasp, which is about caching the build directories18:54
tristanthat would block on the ability to even store mtime in artifacts, which is another complex task, which goes hand in hand with handling xattrs and setuid binaries safely within the build sandbox18:55
*** jude has quit IRC18:55
tristanstill, incremental builds for workspaces will probably cover the majority of interesting cases, caching and sharing build directories via artifacts is really a limousine18:57
cs_shadow_yeah, workspaces makes sense. I have a 3-liner patch that makes it work by reusing same build directories but that doesn't handle all various cases. I haven't yet thought about how to store this as an artifact but it does let you do dirty builds18:57
cs_shadow_storing mtime for the artifacts might be tricky, as you point out18:57
tristanyes, there are some good arguments for serializing attributes as YAML metadata, which would make some interesting things easier (like implementing `bst diff` to check repeatability, and perhaps GPG signing), and also alleviate the difficulty in the artifact backend18:58
tristanthat would still need a new fuse layer for actually handling the xattrs and setuid properly, though18:59
cs_shadow_`bst diff` would be great. Although I'm hoping that we can make progress on this in steps. First step being supporting this locally with workspaces perhaps19:02
tristanoh yeah, only mentioning that because it's a good excuse for storing the attributes in our metadata19:02
cs_shadow_definitely19:03
tristanIf we can have the workspaces logically take ownership of the build directory in the sandbox, and have that pretty clean...19:03
tristanthen we should land that asap :)19:03
tristanProbably we need to make sure that closing a workspace and deleting it also nukes it's build directory19:04
tristanand we want to make sure it's *only* the build directory, not the whole staging area19:04
cs_shadow_yes, handling the dirty build areas might also become a thing soon after adding support for incremental builds19:04
tristanbecause we'll want to use incremental builds with --no-strict, replacing the base separately from the build dir, etc19:04
tristancs_shadow_, random thought before I drop off the planet... maybe this is what your patch does anyway...19:14
tristanit seems to me that we get everything we need by simply mounting the workspace into the sandbox directly, instead of staging it there19:15
tristanand then the edge cases are just... `bst shell --sysroot <buildroot>` not sure theres anything else that needs handling19:15
cs_shadow_At this point, my patch still copies files but doesn’t overwrite mtimes. And it re-uses the same build area for builds thereby preserving its contents19:17
cs_shadow_It shouldn’t be too hard (I think) to change it to just use the workspace directory directly19:18
cs_shadow_I’ll see if can hack that up quickly19:18
tristanit'll be a bit tricky, sandbox internals have this tricky mount map thing19:19
tristanbut the overall logic seems sane and non disruptive19:19
tristanleaving build areas around is disruptive19:20
tristanand limiting when you want to incremental build something against a sysroot which has changed (opening up a whole vector of edge cases)19:20
cs_shadow_Agreed. That was easy to hack as a poc though ;)19:21
tristan:)19:21
cs_shadow_Thanks for the quick tips. I’ll work on it a bit and reply on that thread once I’ve got something working.19:22
*** semanticdesign has quit IRC19:24
*** semanticdesign_ has quit IRC19:24
*** xjuan has quit IRC20:51
*** valentind has quit IRC23:06

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