IRC logs for #buildstream for Thursday, 2018-10-04

*** cs-shadow has quit IRC01:58
*** tristan has quit IRC02:14
juergbijmac: possibly relevant to your work: https://gitlab.com/BuildStream/buildstream/merge_requests/85805:20
*** catonano has joined #buildstream06:00
*** abderrahim has quit IRC06:19
*** abderrahim has joined #buildstream06:19
*** catonano_ has joined #buildstream06:45
*** catonano has quit IRC06:46
*** catonano_ is now known as catonano06:46
*** catonano has quit IRC07:48
gitlab-br-botbuildstream: merge request (valentindavid/staging_order_and_link_files->master: WIP: Make link_files and copy_files and behave independently to staging order) #858 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/85807:53
gitlab-br-botbuildstream: merge request (valentindavid/staging_order_and_link_files->master: WIP: Make link_files and copy_files and behave independently to staging order) #858 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/85807:57
gitlab-br-botbuildstream: merge request (valentindavid/staging_order_and_link_files->master: WIP: Make link_files and copy_files and behave independently to staging order) #858 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/85807:58
gitlab-br-botbuildstream: merge request (valentindavid/staging_order_and_link_files->master: Make link_files and copy_files and behave independently to staging order) #858 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/85808:10
*** catonano has joined #buildstream08:13
*** toscalix has joined #buildstream08:34
gitlab-br-botbuildstream: merge request (danielsilverstone-ct/bwrap-check-runtime-only->master: WIP: Make bwrap check runtime only) #847 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/84708:39
*** raoul has joined #buildstream08:42
*** jonathanmaw has joined #buildstream08:48
jmacjuergbi: Interesting, thanks08:59
gitlab-br-botbuildstream: merge request (willsalmon/outOfSourecBuild->master: Out of source builds) #776 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/77609:02
gitlab-br-botbuildstream: merge request (danielsilverstone-ct/bwrap-check-runtime-only->master: WIP: Make bwrap check runtime only) #847 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/84709:04
lchlantristan: Sorry to bother, have you had a chance to look at !836 at all?09:04
gitlab-br-botbuildstream: merge request (willsalmon/outOfSourecBuild->master: Out of source builds) #776 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/77609:05
gitlab-br-botbuildstream: merge request (danielsilverstone-ct/bwrap-check-runtime-only->master: WIP: Make bwrap check runtime only) #847 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/84709:13
gitlab-br-botbuildstream: merge request (valentindavid/staging_order_and_link_files->master: WIP: Make link_files and copy_files and behave independently to staging order) #858 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/85809:17
gitlab-br-botbuildstream: merge request (danielsilverstone-ct/bwrap-check-runtime-only->master: WIP: Make bwrap check runtime only) #847 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/84709:20
*** bochecha has joined #buildstream09:23
gitlab-br-botbuildstream: merge request (danielsilverstone-ct/bwrap-check-runtime-only->master: Make bwrap check runtime only) #847 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/84709:23
gitlab-br-botbuildstream: merge request (danielsilverstone-ct/bwrap-check-runtime-only->master: Make bwrap check runtime only) #847 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/84709:23
gitlab-br-botbuildstream: issue #621 ("Unhandled exception when terminating failed build") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/62109:25
*** tristan has joined #buildstream09:27
gitlab-br-botbuildstream: issue #696 ("Missing tests for Linux-non-bwrap-non-FUSE situations") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/69609:28
*** lachlan has joined #buildstream09:29
Kinnisonjuergbi: Thanks for the approval on 847, unfortunately I'm not a committer so I can't merge it.  Could you set it to merge when the tests pass?09:29
juergbisure09:30
Kinnisonthakns09:30
Kinnisonthanks too09:30
* Kinnison needs to learn to type09:30
*** catonano has quit IRC09:32
*** catonano has joined #buildstream09:32
gitlab-br-botbuildstream: issue #644 ("Allow BuildStream to be installed in a remote-only mode") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/64409:46
gitlab-br-botbuildstream: merge request (danielsilverstone-ct/bwrap-check-runtime-only->master: Make bwrap check runtime only) #847 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/84709:46
* Kinnison wonders if anyone has seen tristan today09:47
*** ChanServ sets mode: +o tristan09:50
* tristan waves at Kinnison 09:51
Kinnisonohai :-D09:51
Kinnisontristan: I'm trying to help lachlan finish up on !836 and wondered if you might have a chance to look at his test changes?09:51
* tristan looks09:52
Kinnisonthank you09:52
*** lachlan has quit IRC10:14
tristanKinnison, Comments up10:19
Kinnisontristan: Thank you.10:20
*** catonano has quit IRC10:24
*** lachlan has joined #buildstream10:32
*** tristan has quit IRC10:34
*** raoul has quit IRC10:38
*** raoul has joined #buildstream10:38
*** tristan has joined #buildstream10:48
gitlab-br-botbuildstream: merge request (coldtom/strip-rules->master: WIP: Upstream freedesktop-sdk strip rules) #750 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/75010:53
gitlab-br-botbuildstream: merge request (coldtom/strip-rules->master: WIP: Upstream freedesktop-sdk strip rules) #750 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/75010:53
*** catonano has joined #buildstream11:04
*** catonano has quit IRC11:04
*** lachlan has quit IRC11:04
*** lachlan has joined #buildstream11:18
*** raoul has quit IRC11:21
*** raoul has joined #buildstream11:30
*** ahmed89 has joined #buildstream11:32
*** ChanServ sets mode: +o tristan12:02
tristanlachlan, I was going to discuss YamlCache here but jonathanmaw beat me to it on the MR, just updated that: https://gitlab.com/BuildStream/buildstream/merge_requests/836/diffs#note_10650047012:02
tristanAnd one more edit on that comment, missed one of jonathanmaw's details12:06
tristanDo we have anymore minor fixes for bst-1.2 ?12:18
tristanvalentind, anything besides !849 ?12:19
tristanWe have very good material for a 1.2.3 now, so I'd like to push out a release (few good fixes from yesterday, and immense performance boost from batch files support)12:20
valentindtristan, there is something not merge is the fixes for cache server filling up. But Freedesktop SDK is now running the fix, and I will to wait for the cache to fill up to see how it holds.12:21
*** dtf has joined #buildstream12:21
valentindSo maybe for 1.2.4.12:21
laurenceI'm was just looking for the website url and couldn't quite find it - any objections to adding a hyperlink to the gitlab README?12:26
laurenceWill create an MR, assuming none12:26
tristanlaurence, Of course, makes sense :)12:32
gitlab-br-botbuildstream: merge request (patch-2->master: README: Update to add link to website) #859 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/85912:32
gitlab-br-botbuildstream: merge request (patch-2->master: README: Update to add link to website) #859 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/85912:41
*** ahmed89 has quit IRC12:42
*** ahmed89 has joined #buildstream12:44
*** ahmed89 has quit IRC12:47
*** ahmed89 has joined #buildstream12:47
gitlab-br-botbuildstream: merge request (juerg/remote->master: element.py: Prepare local sandbox for bst checkout and bst shell) #860 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/86012:52
*** finn has quit IRC12:57
*** finn__ has joined #buildstream12:59
*** finn_ has quit IRC13:00
valentindThis mix of symlinks and directories in staging is really annoying. So for example if I have an element that in directory /some/path has a link to ../something. Then I have another element that has /some/path to be a symlink to other/path and /some/other/path is a directory, then the link will go in /some/other/path and point to /some/other/something instead of /some/something.13:07
valentindOr is it?13:07
*** finn has joined #buildstream13:07
*** finn has quit IRC13:11
*** finn__ has quit IRC13:11
*** finn has joined #buildstream13:23
*** finn__ has joined #buildstream13:23
gitlab-br-botbuildstream: issue #667 ("Add regression test for #666") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/66713:40
gitlab-br-botbuildstream: merge request (Qinusty/634-workspace-failed-builds->master: Do not save workspace on failed build) #812 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/81213:43
gitlab-br-botbuildstream: merge request (Qinusty/634-workspace-failed-builds->master: Do not save workspace on failed build) #812 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/81213:47
gitlab-br-botbuildstream: issue #634 ("bug in build after failed build with workspace's") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/63414:11
gitlab-br-botbuildstream: merge request (Qinusty/634-workspace-failed-builds->master: Do not save workspace on failed build) #812 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/81214:11
finnhi everyone, this is buildstream executing remotely14:26
finnhttps://asciinema.org/a/gJ1tdOoGWlF346ZeQ75XpPXoz14:26
finnThis is part of a larger demonstration I will be presenting at BazelCon14:26
tristanvery nice show finn :)14:26
finn(we've snuck in buildstream)14:26
tristanWe will want to see slides, remember to blog after that !14:27
tiagogomesnice :)14:28
tristanvalentind, please let me know once you've landed https://gitlab.com/BuildStream/buildstream/merge_requests/849 on 1.2, I hope to release with that fix tomorrow14:42
tristanvalentind, symlink questions are hard ones indeed :-/14:43
tristanvalentind, The root of the "symlink problem" here is that we do not run builds on a single persistent sysroot, and instead split up and stage artifacts14:44
*** rdale has joined #buildstream14:45
tristanvalentind, So there is one very important intention here: If a low level component creates, for example, a `/usr/lib -> /store/lib` symlink, and then many elements install stuff into /usr/lib... then when they get *staged*, the symlink is there first; and the symlink *beat* the reverse dependencies which each have /usr/lib as a directory14:46
tristanI.e. the artifacts have /usr/lib/libfoo.so, but depend on an artifact with /usr/lib -> /store/lib, so at staging time, libfoo.so is staged at /store/lib/libfoo.so14:47
*** finn has quit IRC14:49
gitlab-br-botbuildstream: merge request (valentindavid/rmtree_oserror->master: Catch correct exception from shutil.rmtree) #849 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/84914:56
gitlab-br-botbuildstream: merge request (valentindavid/rmtree_oserror-1.2->bst-1.2: Catch correct exception from shutil.rmtree [bst-1.2]) #861 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/86114:57
*** tristan has quit IRC14:59
*** tristan has joined #buildstream15:06
*** ChanServ sets mode: +o tristan15:06
gitlab-br-botbuildstream: merge request (valentindavid/rmtree_oserror-1.2->bst-1.2: Catch correct exception from shutil.rmtree [bst-1.2]) #861 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/86115:16
valentindtristan, It is merged in 1.215:18
tristanvalentind, Thanks !15:21
*** finn has joined #buildstream15:23
valentindtristan, Could we enforce that we have dependencies when a directory happens to be a symlink? That would not solves all the bugs we have, but that would cut down the most complex ones.15:25
tristanvalentind, I don't know what you mean15:27
tristanvalentind, for instance, one of the popular use cases is to stage /lib -> usr/lib, /bin -> usr/bin (i.e. usr merge system)15:28
tristanWhere that happens right down at the bottom15:28
tristanvalentind, from my perspective; any artifact can have a symlink in the output, that symlink can be a symlink to a directory, a file, or be an intentionally broken symlink15:29
tristanAt stage time, the first to be staged wins15:29
valentindtristan, the problem is now the order of element that are not dependent to each others should not be important, but it is. Sometimes it builds, sometimes fails.15:29
tristanAnd you express that in your project with runtime dependencies15:29
valentindAnd just changing some dependency changes the order. I think even the command line might change the order.15:30
valentindSo it works  for a while.15:30
tristanThat should not be the case at all15:30
valentindAnd then one day, it fails. And you do not know why.15:30
valentindIt should always fail, if it can fail.15:30
tristanvalentind, At load time, we sort all the deps for every element in a stable way15:30
valentindtristan, I have seen this case.15:30
valentindtristan, if you rename an element for example, the order change.15:31
tristanstaging order, whether we have explicitly set one with a dependency or not; will be the same for every build15:31
tristanvalentind, Yes, that is *true*15:31
tristanvalentind, that is not random at all15:31
gitlab-br-botbuildstream: issue #153 ("Unhandled exception in utils._force_rmtree()") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/15315:31
gitlab-br-botbuildstream: merge request (valentindavid/rmtree_oserror->master: Catch correct exception from shutil.rmtree) #849 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/84915:31
valentindtristan, yes, but changing one dependency for example can also change order.15:31
valentindAnd sometimes in a way that a human being cannot understand.15:31
tristanvalentind, If you did not care to express a dependency because of a necessary symlink, and explicitly enforce your staging order, then you need to correct that with a dependency15:31
tristanvalentind, The problem, if there is one, is informing the user of this in the right way15:32
valentindIn freedesktop sdk we do not mix symlinks and directory, because this case comes back to haunt us if we do.15:32
tristanI believe freedesktop-sdk *is* a usr merge system15:32
valentindtristan, yes, so I want to verify the order is correct.15:32
tristanOnly the user (project author), knows the correct outcome15:33
valentindtristan, no we make sure all element install in usr.15:33
tristanAnd that author needs to setup the staging order explicitly, using dependencies.15:33
valentindtristan, exactly, we need to do that. The problem is now we do not get error or warning if we did not set the dependencies.15:34
valentindIt works for a while. And then it breaks one day.15:34
tristanWhat error would you want ?15:34
tristanThat is the question you know15:34
valentindAnd that is a pain for contributors because they have no idea what is happening.15:35
tristanvalentind, Sure, but what error is it that we want ?15:35
tristanIt looks like we are closing in on actually understanding what needs to be done15:35
valentindI would want to detect that we put files in a path that is using symlinks, but that symlinks is not from a dependency (either direct or indirect).15:35
tristanI dont understand that sentence15:36
valentindDuring the staging of an element, I have to copy a file from the artifact to the stage area. If the path of the dirname of this file in the stage area has any symlink, that is it is not a canonical path, then I need to make sure that those symlinks were creating by staging elements that the current element depends on (and it can be indirect dependency as well).15:38
tristanvalentind, You want it to be an error when I install into /usr/lib, but then later stage against a dependency which has set /usr/lib -> /store/lib to be an error ?15:38
tristanThat would be wrong, because it's exactly intentional; otherwise every element would have to know about it15:38
*** lachlan has quit IRC15:39
valentindtristan, not a dependency.15:39
valentindWhen it is not a dependency.15:39
tristanInstead, if you want /opt/org to be a symlink to /store/org, one day, because you ran out of space in the /opt partition... then you just add a symlink once and rebuild the whole system15:39
valentindLet say a.bst creates /usr/lib -> /store/lib, and b.bst installs a files in /usr/lib. all.bst depends on both a.bst and b.bst.15:40
tristanvalentind, Ok I *think* I see where you are going with your longer sentence above15:40
valentindI want to make sure that there is a dependency from b.bst to a.bst.15:41
valentindThe problem now is that if a.bst is staged before b.bst, it works. If b.bst is staged before a.bst, it fails.15:41
valentindSo when I am staging b.bst after to a.bst I want to detect that the symlink was created by a dependency of b.bst.15:42
valentindAnd if not, warn, possibly configurable as a fatal error.15:42
tristanvalentind, Can you please take the time to write this up to the mailing list, problem statement, and suggested new warning ?15:42
valentindtristan, OK15:43
tristanIt's worth more eyes, and maybe additional edge cases can be explored at the same time15:43
valentindThe warning is because it would change the behavior of 1.2 and I think this is a fix we need in 1.2.15:43
valentindAnyway, then there is the bug I talked about earlier with relative symlink. But I will have dinner now.15:43
tristanI dont think it should be an error at all15:44
valentindI have test cases.15:44
tristanI mean; I think it should be configurable as an fatal-warning, to be consistent with other such things15:44
tristanAlso it seems to be on the feature side of things, not really appropriate for backporting to 1.215:45
tristanBut then, if it saves lives, maybe we can consider making an exception for this feature addition (it would also be an API addition, which is kindof against the general rule)15:45
laurenceI'm about to look through the BuildStream 'newcomer' or 'low hanging fruit' bugs to see if there are any specifically related to Remote Execution client15:48
laurencesince some project team members will be at BazelCon in NY next week, and there's a hackaton on the thursday, which would be a good time to try to address some15:48
toscalixsadly I haven't finished the roadmapping proposal on time for the event15:55
gitlab-br-botbuildstream: merge request (willsalmon/outOfSourecBuild->master: Out of source builds) #776 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/77615:55
*** lachlan has joined #buildstream16:06
tiagogomesbst checkout --deps none $artifact doesn't do anything16:12
jennistiagogomes: https://gitlab.com/BuildStream/buildstream/merge_requests/81916:23
jennisIssue #670 describes this, cs-shadow has a fix for it within that MR, there is also the intention to backport this: https://gitlab.com/BuildStream/buildstream/merge_requests/82816:24
jennisThese seem to be sitting idly because of a change I suggested that I'm not sure tristan agree's with, awaiting his response: https://gitlab.com/BuildStream/buildstream/merge_requests/819#note_10545424216:27
tiagogomesthanks16:32
jennisIs #477 blocked by `bst artifact` commands? https://gitlab.com/BuildStream/buildstream/issues/477 or are we able to discuss some sort of implementation for it soon?16:39
jennisJust too add weight, I've heard numerous requests for this16:41
*** lachlan has quit IRC16:51
*** toscalix has quit IRC17:05
*** alatiera_ has quit IRC17:21
*** lachlan has joined #buildstream17:25
*** raoul has quit IRC17:29
*** lachlan has quit IRC17:42
*** rdale has quit IRC17:45
*** jonathanmaw has quit IRC18:03
*** xjuan has joined #buildstream18:18
tristanjennis, I think the answer for that one ultimately is to (A) Allow the user to ignore remote cache servers and (B) Implement `bst artifact delete`18:18
tristanSo yeah, blocked, we're pretty close to finishing on the proposal stage, I have to write up a summary after all the churn throughout that proposal18:19
tristanBut implementation wise, should be fairly easy18:19
jennisahh thanks tristan, and yes, a summary write up of that discussion would be hugely appreciated!18:33
* jennis has found it hard to keep track of that one18:34
*** xjuan has quit IRC18:45
*** xjuan has joined #buildstream18:46
*** Prince781 has joined #buildstream19:46
*** xjuan has quit IRC21:55
*** xjuan has joined #buildstream22:21
*** tristan has quit IRC23:07
*** xjuan has quit IRC23:51

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