IRC logs for #buildstream for Tuesday, 2018-08-07

gitlab-br-botbuildstream: merge request (jjardon/doc_arch_releases->master: source/install_linux_distro.rst: Make clearer ArchLinux packages available) #613 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/61300:02
*** christophegx has joined #buildstream01:51
*** bochecha has quit IRC02:17
*** tristan has joined #buildstream04:24
gitlab-br-botbuildstream: merge request (edbaunton/executable-remote-source->master: remote.py: Add support for marking downloaded files executable) #581 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/58105:04
*** tristan has quit IRC06:11
gitlab-br-botbuildstream: merge request (edbaunton/executable-remote-source->master: remote.py: Add support for marking downloaded files executable) #581 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/58106:13
*** Connection2 has joined #buildstream07:00
*** tristan has joined #buildstream07:26
gitlab-br-botbuildstream: merge request (jjardon/doc_arch_releases->master: source/install_linux_distro.rst: Make clearer ArchLinux packages available) #613 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/61307:29
*** leopi has joined #buildstream07:36
*** gitlab-br-bot has quit IRC07:42
*** gitlab-br-bot has joined #buildstream07:42
*** gitlab-br-bot has joined #buildstream07:42
*** finn has joined #buildstream07:45
*** finn_ has quit IRC07:45
*** gitlab-br-bot has quit IRC07:48
*** gitlab-br-bot has joined #buildstream07:48
*** gitlab-br-bot has quit IRC07:49
*** gitlab-br-bot has joined #buildstream07:49
*** gitlab-br-bot has quit IRC07:51
*** gitlab-br-bot has joined #buildstream07:51
*** toscalix has joined #buildstream07:56
gitlab-br-botbuildstream: merge request (jjardon/doc_arch_releases->master: source/install_linux_distro.rst: Make clearer ArchLinux packages available) #613 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/61308:05
*** lkoranda has joined #buildstream08:05
*** bumbar19 has joined #buildstream08:10
WSalmonphildawson, are you happy with https://gitlab.com/BuildStream/buildstream/merge_requests/580 now i have updated the bit you mentioned?08:15
*** gitlab-br-bot has quit IRC08:15
*** gitlab-br-bot has joined #buildstream08:15
phildawsonWSalmon, I'm  happy now :)08:19
WSalmonWoop :)08:19
gitlab-br-botbuildstream: merge request (jjardon/doc_arch_releases->master: source/install_linux_distro.rst: Make clearer what ArchLinux packages are available) #613 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/61308:19
jjardontest seems to fail randomly? fedora job failed in a MR that only changed some docs: https://gitlab.com/BuildStream/buildstream/-/jobs/87321473 known issue?08:25
phildawsonjjardon, I think #503 off the top of my head :)08:26
phildawsonI  expect the test will pass if you rerun it08:26
phildawsonthough it is somewhat irritating.08:27
WSalmonI have run https://gitlab.com/BuildStream/buildstream/merge_requests/595 through a spell checker but there are a lot of words so could some one have a quick look at the spelling etc and could tiagogomes comment if this solution is expectable? I can do something more complex but it doesn't seem worth it for a few seconds of compute time per CI... but i am happy to be wrong.08:27
gitlab-br-botbuildstream: issue #550 ("pulling from the cache doesn't honor the fetchers setting") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/55008:27
WSalmon*acceptable08:27
phildawsonWSalmon, I'll take a look08:27
WSalmonThanks :)08:27
jjardonphildawson: https://gitlab.com/BuildStream/buildstream/issues/503 seems to be closed, so maybe is another issue?08:27
qinustyWhat version are you using jjardon?08:28
phildawsonjjardon, in that case I'm not sure. Out of curiosity which test(s) was failing?08:29
qinustytest_push_after_pull08:29
jjardonqinusty: this is a MR to master, so latest08:29
jjardonI will open an issue08:29
qinustyAlright, perhaps raise it as an issue and then we'll keep an eye on it08:29
phildawson^+108:29
*** moved has joined #buildstream08:30
gitlab-br-botbuildstream: issue #559 ("Spurious error when running fedora job (the change in the MR was only on documentation)") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/55908:30
jjardonthanks qinusty phildawson08:32
gitlab-br-botbuildstream: merge request (willsalmon/trackWarning->master: Add warning to git track if track and ref are not present) #580 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/58008:45
gitlab-br-botbuildstream: merge request (willsalmon/trackWarning->master: Add warning to git track if track and ref are not present) #580 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/58008:46
gitlab-br-botbuildstream: merge request (adamjones/systemd-cas->master: Include systemd file examples for google-cas cache) #524 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/52408:47
*** gitlab-br-bot has quit IRC08:49
*** gitlab-br-bot has joined #buildstream08:49
tristanjjardon, that spurious failure is https://gitlab.com/BuildStream/buildstream/issues/52008:54
tristanqinusty, phildawson ^^08:54
jjardontristan: ok, let me mark as duplicate08:54
gitlab-br-botbuildstream: issue #559 ("Spurious error when running fedora job (the change in the MR was only on documentation)") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/55908:55
tristanjjardon, thanks08:55
jjardonbtw, in case you dont know: comment in the issue with /duplicate #<issue number> to mark issues as dup. I've just discovered that the other day08:56
tristanOh that's new08:58
tristanjjardon, is there any way to do that through the UI ?08:58
jjardontristan: no as far as I know08:58
tristanI think that nature of an issue's relationship is new, cause I wanted it a long time ago :)08:58
phildawsonAh, I hadn't spotted that one. Thanks for pointing that out tristan.08:59
jjardonI guess they have the "backend" ready, but they are still working in the UI part08:59
tristanphildawson, it's a pretty hot topic yeah, tiagogomes is working on it already08:59
* tiagogomes nods09:00
tristanjjardon, better they fix the mobile UI first (merge from handphone anyone ?), and making the JS payload a bit less heavy duty (nice if firefox doesnt need to ask you if you want to stop the script), first09:01
tristanat least, I hope they are prioritizing the recent regressions :)09:01
gitlab-br-botbuildstream: issue #560 ("BUG: Message handling out of sync") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/56009:01
*** gitlab-br-bot has quit IRC09:02
*** gitlab-br-bot has joined #buildstream09:02
jjardontristan: buy a new phone :P09:02
tristanjjardon, gitlab freezes my *laptop*09:02
tristanjjardon, on the phone, I just get this sidebar when I visit the mobile UI, the collapse button doesnt work anymore09:03
jjardonmine is pretty old and I've never seen that popup to stop the script09:03
jjardontristan: yeah, same here; sometimes that happen, I do not know why09:03
jjardonbut yeah, agree that some optimization would be great09:04
tristanI've never had that on my phone, and it only happens on my laptop when: (A) reviewing a non-trivial branch... (B)... adding plenty of comments09:04
tristanthat is a regression, not an optimization; last month this wasn't happening afair09:04
tristanThe more you add comments, the slower it gets09:05
tristanCommenting on an existing comment, doesnt effect performance09:05
*** tpollard has joined #buildstream09:05
tristan(of course the whole patch takes a looong time to load, but that's not really as bad as the UI becoming unusable)09:05
tristananyway, /endrant :)09:06
qinustytristan, I'm getting reordering of nodes within .bst files :/09:06
qinustyThe regression might be worse than we thought, or it's a separate issue. Who knows09:07
tristanqinusty, Do you get reordering with raw ruamel.yaml ?09:09
*** gitlab-br-bot has quit IRC09:09
*** gitlab-br-bot has joined #buildstream09:09
tristanGiven say, the same sample bst file as input ?09:09
*** gitlab-br-bot has quit IRC09:10
*** gitlab-br-bot has joined #buildstream09:10
* qinusty shrugs, I'm just trying to build something with buildstream and it reordered my file. It doesn't seem to be doing it every time09:10
qinustyhmmm, should've split that09:10
qinustyyou get the point09:10
tristanqinusty, I have a feeling we might be seeing a regression in ruamel.yaml itself, coupled with a regression that we're saving files for refs which didnt change09:10
tristanqinusty, or wait, I might be confusing people... there is a lot going on in parallel, so I am no longer sure if you are the person who is working on that specific regression09:11
qinustyTrack reoorders09:11
qinustyI just reproduced it09:11
qinustyI'm not /working/ on it, but I have previously investigated it09:12
tristanOk09:12
qinustyI'll try comments 1sec09:12
gitlab-br-botbuildstream: merge request (jjardon/doc_arch_releases->master: source/install_linux_distro.rst: Make clearer what ArchLinux packages are available) #613 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/61309:12
qinustyOkay09:13
qinustyYou were right in the meeting, it seems it's all screwed09:13
tristanyeah, if the comments disappear, then BuildStream has regressed into not using the round tripping anymore (which I was doubtful of in our last meeting, but it's possible)09:13
qinustyComments gone, reordering is out the window09:13
tristanAha09:13
tristanOk, do you remember the issue number off hand ? lets update that... we need to know the story :)09:14
qinustyI'll find it09:14
tristanqinusty, actually, can you paste the offending .bst file before and after also ?09:14
tristanthat will be very helpful :)09:14
gitlab-br-botbuildstream: issue #560 ("BUG: Message handling out of sync") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/56009:18
*** jonathanmaw has joined #buildstream09:20
qinustyOkay, so getting the "Inconsistent pipeline 'exact versions are missing'..." message. What sort of fix am I looking for? It hints at using bst track to resolve the issue but this doesn't exactly help if I'm not too sure what is supposed to happen :P09:22
* qinusty is actually using buildstream for once rather than just example projects09:22
qinusty`no reference ??????????????????? <element.bst>` is the problem obviously09:23
gitlab-br-botbuildstream: merge request (willsalmon/CacheExpiryTest->master: Trying to mitigate a file system issue) #595 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/59509:24
gitlab-br-botbuildstream: merge request (adamjones/systemd-cas->master: Include systemd file examples for google-cas cache) #524 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/52409:25
tristanqinusty, what are you trying to build ?09:25
tristanqinusty, and with what command ?09:25
valentindI see that in utils._get_dir_size we do not keep inodes to avoid calculating several times the same file. Should not we?09:25
qinustyI'm trying to build curl for the sake of understanding how to use buildstream :D09:26
qinustyI've got a manual element with a git source09:26
tristanvalentind, I doubt it; seeing as the CAS cache will deduplicate matching file objects, but I might be wrong09:26
*** bochecha has joined #buildstream09:26
valentindtiagogomes, Do you manage to reproduce #520? I can.09:26
tristanqinusty, can I see the project somewhere ? and can you tell me what command you ran, and what you expected to happen ?09:27
qinustysuuuure, give me a few minutes to get it somewhere09:27
tristanqinusty, without that information I can say that: `bst build` by itself expects the project to be consistent, and have all the refs09:27
tristanqinusty, otherwise it will suggest that you track, in order to update the refs09:28
qinustyAnd refs are gathered from....09:28
tristanqinusty, `bst build --track-all` will automatically do that09:28
phildawsonjjardon, you marked #559 as duplicate of #420 rather than #520. I've added the correct mark but don't know how to remove the old one :)09:29
tristanqinusty, the refs, for a git source, is the commit sha you want to build. Either you have specified it manually, or `bst track` will automatically update it to the latest commit on the branch you've indicated with the `track` parameter09:29
tristanqinusty, in the abstract sense, the 'ref' is a pointer to something exact, while the track is something you optionally provide for the sake of `bst track` to guess the ref for you09:30
qinustyOkay09:30
qinustyhttps://gitlab.com/Qinusty/bst-build-curl is where I've stuck the files, from what I can understand it might be failing to guess the ref?09:31
jjardonphildawson: ooops thanks09:31
qinustyThere are almost certainly issues with my build instructions, but that's besides the point at the minute :P09:32
* qinusty probably needs track or ref09:33
tristanqinusty, I'm a bit confused about your having an 'etag' there: https://gitlab.com/Qinusty/bst-build-curl/blob/master/elements/base/alpine.bst09:33
qinustythe alpine.bst comes straight from an example project09:33
* qinusty shrugs09:33
tristanthe 'etag' format was removed a while back within the dev cycle afair09:33
tristanbut lets ignore that... I don't think that is causing you an error09:33
*** gitlab-br-bot has quit IRC09:34
*** gitlab-br-bot has joined #buildstream09:34
tristanqinusty, right, so if you want to use track, you need to specify a tracking branch09:34
tristanqinusty, do you want to build curl master branch ?09:34
*** gitlab-br-bot has quit IRC09:34
*** gitlab-br-bot has joined #buildstream09:34
qinustyI guess so, not too fussed. I've added that and we're getting further it seems09:34
*** gitlab-br-bot has joined #buildstream09:34
tristanqinusty, if so, then beside 'url: blabla', specify 'track: master'09:34
*** gitlab-br-bot has quit IRC09:34
*** gitlab-br-bot has joined #buildstream09:34
*** gitlab-br-bot has joined #buildstream09:35
qinustyIs there an issue for this? I remember seeing something about adding a warning to a lack of ref09:35
valentindtristan, to test determinism in source plugins, I am thinking of making an integration test that runs GNU tar on different source plugin, with different umask and make sure the hash is always the same. Do you see a test that would be simpler?09:35
tristanqinusty, there is, I believe the issue is that the error suggests only that you track, even for an untrackable source which does not specify the optional 'track' parameter09:36
qinustyah09:36
qinustyFor me, coming in with no idea of creating a bst project from scratch. It was strange to be told to track and then track tell me ?????????????????????09:37
tristanqinusty, what it comes down to, is that (A) ref is required to build... (B) users can use the tracking productivity feature, but tracking is not required09:37
tristanqinusty, and that part... is because BuildStream is unable at that stage to guess it's cache key, because when you track, you are asking for a new ref; so the cache key for that element will be discovered during the session09:38
tristanqinusty, at the end of a successful tracking session, BuildStream will print a summary of all the cache keys which were discovered during the session09:38
*** gitlab-br-bot has quit IRC09:38
*** gitlab-br-bot has joined #buildstream09:38
qinustyI guess my worry is that at no point in our examples does anything go wrong09:39
tristanI think that we need to improve the learning curve around ref/track, certainly09:39
qinustyBecause now you mention it, yes it makes sense that I have to provide one of the two09:40
tristanAlso, it's not a bad idea at all to include failures in the examples09:40
*** gitlab-br-bot has quit IRC09:40
*** gitlab-br-bot has joined #buildstream09:40
tristanqinusty, also here's a tip; it looks to me like curl does ./configure && make, and is more like an autotools element which needs a custom configure step09:45
tristanqinusty, here's a suggestion: https://bpaste.net/show/60c4f182efae09:45
tristanSo you can always observe the defaults of what a build element is going to do, like the autotools element: http://buildstream.gitlab.io/buildstream/elements/autotools.html09:46
tristanand you can override stuff there09:47
tristanqinusty, you're curl build for example, will produce an empty artifact, because it doesnt install anything into %{install-root}09:47
noisecelltiagogomes, jjardon, toscalix, I think https://gitlab.com/BuildStream/buildstream/issues/116 can be closed, am I missing something?09:48
toscalixchecking09:50
phildawsonqinusty, there was an issue for printing a more helpful warning when track hadn't been specified.  A fix will be landing imminently in !580 :)09:50
tpollardare there any examples / docs on using the include directive?09:51
tristantoscalix, noisecell, it would be good if we could close that with certainty; a statement that we "probably need fusermount" for every platform would solve it09:51
toscalixtpollard: if not, please open a ticket. There should be09:51
tristanas I recall, whether the low level fuse library requires a setuid fusermount program to unmount or not, can be dependent on system configuration and distro choices09:52
toscalixnoisecell: tristan added ToDo until we are certain09:52
noisecelltristan, I see what you mean. I though adding the fuse requirement for the every distro was good enough09:53
gitlab-br-botbuildstream: merge request (relative_workspaces->master: Patch for issue #191 support relative workspaces) #504 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/50409:53
jjardonnoisecell: also "We should also document that we require the host kernel to have fuse support (we recently encountered an error where fuse was present as a module but not loaded, and kernel cannot load it because the build was running in a VM)" is not documented yet09:54
gitlab-br-botbuildstream: merge request (relative_workspaces->master: Patch for issue #191 support relative workspaces) #504 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/50409:54
jjardonfrom https://gitlab.com/BuildStream/buildstream/issues/116#note_5373167209:55
qinustyI thought I'd seen it phildawson, nice!09:55
tristannoisecell, I think we can close it if we mention it for each distro indeed, it's the safe bet09:57
tristannoisecell, if we verify that that is done, I certainly think we can close it09:57
noisecelltristan, jjardon, ok09:57
valentindtristan, is running multiple times buildstream in parallel supported?10:04
valentindIt has always worked for me. But I wonder if we make sure it does work and we do not break it.10:05
tristanvalentind, it is supported yes10:06
tristanvalentind, my comment in the issue points out that while we should make the fallback more robust, it shouldnt be happening in the first place10:07
tristanvalentind, it's not really high on the priority list though10:07
tristanvalentind, i.e. the cache cleanup cannot provide the right guarantees with multiple instances running10:07
valentindOK10:08
juergbijonathanmaw: I have an old patch for build-depends. maybe too old to be useful but just in case I pushed it to the branch juerg/build-depends10:09
gitlab-br-botbuildstream: merge request (tiagogomes/issue-520->master: Fix race condition when calculating disk usage) #600 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/60010:09
jonathanmawtvm juergbi10:09
*** gitlab-br-bot has quit IRC10:13
*** gitlab-br-bot has joined #buildstream10:13
gitlab-br-botbuildstream: issue #419 ("Distribute a systemd `.service` file with the new CAS server") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/41910:29
gitlab-br-botbuildstream: merge request (adamjones/systemd-cas->master: Include systemd file examples for google-cas cache) #524 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/52410:29
gitlab-br-botbuildstream: merge request (tiagogomes/issue-520->master: Fix race condition when calculating disk usage) #600 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/60010:36
gitlab-br-botbuildstream: merge request (jennis/change_arch_install_instructions->master: Change install instructions for python-arpy package on Arch) #614 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/61410:47
gitlab-br-botbuildstream: merge request (relative_workspaces->master: Patch for issue #191 support relative workspaces) #504 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/50410:48
gitlab-br-botbuildstream: merge request (jennis/change_arch_install_instructions->master: Change install instructions for python-arpy package on Arch) #614 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/61410:50
gitlab-br-botbuildstream: merge request (jennis/change_arch_install_instructions->master: Change install instructions for python-arpy package on Arch) #614 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/61410:51
gitlab-br-botbuildstream: merge request (jennis/change_arch_install_instructions->master: Change install instructions for python-arpy package on Arch) #614 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/61410:54
gitlab-br-botbuildstream: merge request (jennis/change_arch_install_instructions->master: Change install instructions for python-arpy package on Arch) #614 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/61410:54
gitlab-br-botbuildstream: merge request (tiagogomes/issue-520->master: WIP Fix race condition when calculating disk usage) #600 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/60010:56
cs_shadowtristan: hi, do you have a few minutes to talk about publishing to pypi?11:01
*** gitlab-br-bot has quit IRC11:04
*** gitlab-br-bot has joined #buildstream11:04
gitlab-br-botbuildstream: merge request (jennis/change_arch_install_instructions->master: Change install instructions for python-arpy package on Arch) #614 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/61411:09
*** gitlab-br-bot has quit IRC11:10
*** gitlab-br-bot has joined #buildstream11:10
*** jennis has joined #buildstream11:16
tristancs_shadow, was just swimming in your source transform MR... gimme a sec, and yes :)11:20
cs_shadowtristan: sure, i figured so by looking at gitlab messages :) no rush11:21
gitlab-br-botbuildstream: merge request (chandan/sourcetransform->master: Allow source plugins to access previous sources) #568 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56811:24
tristancs_shadow, ok while we're both here lets chat :)11:28
tristancs_shadow, so, do you have any idea of the impliciations of installing both the distro package and the pip one ?11:29
tristane.g. buildstream in both dist-packages and site-packages ?11:29
tristanwill some exclusivity be guaranteed ? or will one take precedence over the other ?11:29
cs_shadowtristan: I think the answer to that depends on the distro although I think most python installtions bundled with distros would prefer dist-packages11:32
tristanOk, so that's probably not a huge issue11:33
cs_shadowalso, IIRC dist-packages is a debian thing so won't be there on fedora-based systems11:33
tristancs_shadow, what about the question I asked yesterday ? How does the installation fail ?11:34
tristanAnd how do we inform the user when the pip install fails ?11:34
tristanIs the UX nice in that regard ?11:34
tristanOr, *can* we make the UX nice ?11:34
cs_shadowtristan: there are a few options here. The simplest option is to upload a source distribtion to pypi, in which case pip instlal BuildStream will fail in exactly the same way as it would fail from running from installing it from source (which is what it actually is). You can actually test it now using `pip3 install --user --extra-index-url https://test.pypi.org/simple BuildStream`11:35
cs_shadowDon't mind the versions, test pypi is running in future :)11:36
cs_shadowThe second option is to use some kind of binary distribution additionally - wheels. But binary distributions are essentially just copied over at install time, there is no easy way to fail the install using wheels. So, we should probably stick to source distributions if we want to be able to fail the install based on system dependencies11:39
tristanyeah I was not familiar at all with how that works, so basically it's running the setup.py on the host, allowing us to abort when certain things are not found ?11:39
tristancs_shadow, that does sound sane, and I think avoiding these wheels is also a good idea11:40
cs_shadowtristan: in the case of installing from source distribution (sdist), that's exactly what's happening11:40
cs_shadowif BuildStream ever becomes a pure-python package with no hard dependencies then we can reconsider but until then sdist seems like the safest bet11:41
tristanSo, there is a weird case where we are depending on psutil, and indirectly the install of BuildStream fails due to psutil requiring gcc to install11:41
tristancs_shadow, rather the opposite is more likely; and I think even if it were to be pure python (unlikely), we would still want better integration with the host OS than what can be provided inside the pip bubble11:42
tristanin any case, PyPi is probably always going to be a stop-gap solution11:44
tristancs_shadow, is it setup to ensure we explicitly fail on non-linux platforms ? or is that our responsibility in the setup.py ?11:44
cs_shadowtristan: reg. psutil, i suppose that fails in the same way when installing from git too? If they had wheels, that may have helped :)11:45
cs_shadowtristan: that's up to us if we are uploading sdist11:45
cs_shadowdo we not want to support the choot-based unix backend?11:46
tristancs_shadow, sure; I'm more worried about people starting to whine that `pip install` didnt work properly on windows, or osx11:47
cs_shadowtristan: ah right! Maybe we can add a check for non-linux case too enforcing that they have things that we require, like `chroot`11:48
tristancs_shadow, that sounds about right; but it's also true that hardening our checks in setup.py is probably orthogonal11:49
persiaIt should be safe to assume all of POSIX: platforms that can't supply that are increasingly rare.11:49
tristanso; we should file issues about setup.py failing gracefully on unsupported platforms and track that separately11:49
cs_shadowthat makes sense to me '11:50
tristancs_shadow, in general; I think this is going to help a lot with the releases, and echo the sentiment of others yesterday that we should have a 'buildstream' account which we can share the keys for11:51
tristancs_shadow, another question; do you have any need for pip install of dev snapshots ?11:51
tristancs_shadow, to me: one of the main wins here is that it provides a quick solution to communicating the recommended release version at all times11:52
tristancs_shadow, which means; I personally do not want any dev snapshots through pip11:52
tiagogomesWhy does bst did not choose to use threads for parallelism?11:52
tristantiagogomes, originally, I thought it was safer this way; juergbi and I occasionally throw toasters across the room about this topic11:53
tiagogomesxD11:53
tristantiagogomes, one of the reasons I made that original design choice, is that right now, a third party not-so-great plugin can only cause a BUG message and BuildStream should be able to fail gracefully11:54
tristanA bad actor in a pluggable environment... + threads... means third party plugins can lockup BuildStream11:54
tristanbut... there are good arguments to change the model also11:54
cs_shadowtristan: installing dev snapshots isn't that big of an issue for us currently. pypi isn't great at handling these either from recollection11:55
gitlab-br-botbuildstream: merge request (jennis/change_arch_install_instructions->master: Change install instructions for python-arpy package on Arch) #614 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/61411:56
tiagogomesWell the plugin still run in the main process no? It is the pull/build/push steps than run in a different process11:57
gitlab-br-botbuildstream: merge request (jmac/cas_virtual_directory->master: WIP: CAS-backed virtual directory implementation) #481 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48111:57
tristantiagogomes, indeed some parts of it run in the main context11:57
cs_shadowtristan: sorry, I’m running off to a meeting. Will catch up in ~30 mins11:57
tristancs_shadow, thinking of heading to the gym...11:58
tristancs_shadow, anyway I think we have agreement that it's going to be useful at least in the short term11:58
tiagogomes~/.cache/buildstream/artifacts/extract/ never gets clean. Result: I've 50GiB laying around on my disk11:58
tristanwat ?!11:58
tristantiagogomes, I think tlater's cleanup stuff takes care of that, or *must*11:59
tiagogomesI think it cleans the artifacts in the cas cache, not extracted ones12:00
tristantiagogomes, however; there is another possible cause of this - it's possible that you might have extracted artifacts lying around from before the OSTree -> CAS switch ?12:00
tristantiagogomes, if you can confirm that, please file an issue :)12:00
tiagogomesThat's true as well, but looking at the code that is never cleaned up12:01
tiagogomesalso artifacts/cas/tmp could do with some cleanup at start12:01
tristandoes it ever leave anything behind ? if so, that is a bug12:01
tristantiagogomes, I'd rather fix it at the source of the leaked tmp directory12:02
gitlab-br-botbuildstream: merge request (jmac/cas_virtual_directory->master: WIP: CAS-backed virtual directory implementation) #481 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48112:02
tiagogomesIt uses tempfile.Namedfile. But that is not enough if something unexpected happens12:02
tristankeeping a candle burning to retain support for concurrent BuildStream instances12:02
tristanWell, if something unexpected happens, it's a bug; right ?12:03
tristanOne which results in leaked data12:03
*** gitlab-br-bot has quit IRC12:03
*** gitlab-br-bot has joined #buildstream12:03
tiagogomesYes probably, but would be a good idea to clean at start as well for robustness12:03
*** gitlab-br-bot has quit IRC12:04
*** gitlab-br-bot has joined #buildstream12:04
tiagogomesAre concurrent BuildStream instances something to support?12:04
tristanAt the cost of removing data that might be in use by a concurrent BuildStream instance12:04
*** gitlab-br-bot has quit IRC12:04
*** gitlab-br-bot has joined #buildstream12:04
tristantiagogomes, the cache cleanup thing is the only thing which regresses that, indeed12:04
tristanwe've always been very careful about that; but cache cleanup was too difficult to keep it working12:04
tristanwell, you will in theory experience problems if you cache is not large enough for the total artifact results of both builds12:05
tristanbut not before12:05
tristans/if you/if your/12:05
tiagogomeswell, for that you would have to use a file for locking. There's no code for that. And I was thinking in addressing #520 not thinking in that12:05
*** gitlab-br-bot has quit IRC12:06
*** gitlab-br-bot has joined #buildstream12:06
tristanYeah I think we need to still make that cache size calculation fault tolerant, as you did originally12:06
tristanWhile at the same time, it shouldnt be needed when there is only one instance12:06
tristanWe've been avoiding file locks so far, but cache cleanup is so disruptive that I think we might no longer be able to avoid it12:07
*** gitlab-br-bot has quit IRC12:07
*** gitlab-br-bot has joined #buildstream12:07
valentindtristan, I have done some testing, it seems tar and ostree source plugin do not suffer of the umask issue (though tar still has the root vs. user, which I have not tested yet). git, bzr and zip however do.12:09
tiagogomesFor multiple instances you won't be able to dodge it12:09
tristantiagogomes, we were able to dodge it before cleanup, but indeed12:13
tristantiagogomes, anyway I would not prioritize additional work at this time towards making it perfect; but I don't want to start allowing new code to get in which makes the situation worse12:14
tristanvalentind, I don't think I marked ostree as an issue12:14
tristanvalentind, and indeed, for tar it should only be the root-ness which effects the output12:14
tristanvalentind, fwiw I've been wanting to say; it would be good to batch in as many fixed source plugins into the same branch/MR12:15
valentindtristan, I do everything in the same branch.12:16
tristanvalentind, that way we can include a single commit at the end which bumps the artifact version, and avoid bumping it too many times12:16
tristannice :)12:16
valentindtristan, Something I wonder if I need to do. Should I spawn a process, umask, then execve to the command we run? Or is it OK to just umask around the subprocess.Popen?12:16
valentindtristan, I know that bst does not use threading, but multiprocess, so it should be OK. But I am not completely sure about it.12:17
tristanvalentind, you mean in the plugins ?12:18
tristanhrmmmm12:18
tristanvalentind, or you mean in tests ?12:18
valentindtristan, from the plugins.12:18
tristanin tests, I worry that the parallelized tests which juergbi likes to use, might break ?12:18
tristanfor the plugins... I hadn't considered actually setting the umask as a solution12:19
valentindtristan, ok. for the tests, I will see test parallelized tests.12:19
tristanalthough it does sound like a logical / easy approach12:19
*** gitlab-br-bot has quit IRC12:19
*** gitlab-br-bot has joined #buildstream12:19
tristanvalentind, ok here is another aspect of the problem you should consider... "What attributes do we support in BuildStream projects"12:20
tristanvalentind, my feeling is that we need to draw the line and require only the minimum there12:20
tristanvalentind, for instance, anything from a `local` source is either 0644/0755 or a symbolic link12:21
tristanvalentind, this is because we cannot trust that the method which the project maintainers used to store/revision their project can convey anything more than that12:21
tristanlike, git for instance12:22
valentindtristan, for local it does make sense. But it is different from other cases.12:22
tristanyes I understand12:22
valentindSo for local I have 0755 or 0644 only.12:22
tristanyes that makes sense for local; we should probably mention this in the documention of the local source itself12:22
tristanvalentind, this also makes sense for git/bzr12:23
tristanvalentind, probably we could benefit from a utility which implements this commonality12:23
valentindYes. Something we call at the end of .stage().12:24
tristanthat leaves deb/tar/zip afaics12:24
tristanand patch12:25
valentinddeb and tar work. But zip and patch need to be fixed.12:25
valentindtar does not obey umask.12:25
valentind(though it might if we have a tar with missing file rights, I do not know if it is possible).12:26
tristanright, but it will do something different depending on rootness12:26
valentindYes.12:26
tristanseparate problem, but a problem nonetheless12:26
valentindtristan, for tar I just go through the members and put them all to 0/0 root/root before passing to extractall.12:27
valentindI have not tested it. But I think it should do the trick.12:27
valentindI will add a test later.12:27
valentindThough I am not sure how to test it if we need to be root.12:28
tristanvalentind, the approaches where it is tempting to set the umask are interesting12:28
tristanvalentind, one thing that might be a good idea regardless... is to go ahead and add a preexec_fn argument to Plugin.__call()'s invocation of subprocess.Popen()12:29
tristanand set a deterministic umask for every call to a host tool12:29
valentindtristan, is that an undocumented feature of Python?12:30
tristanvalentind, although it raises the question that, if the umask can have different results; should the Source implementor (zip or patch) be allowed to specify the umask it wants to be used ?12:30
tristanvalentind, nope12:31
tristanhttps://docs.python.org/3/library/subprocess.html#popen-constructor12:31
valentindAh I see, I never saw it.12:31
tristanvalentind, all the subprocess things come back to the args provided to Popen(), they all wrap Popen() in some way12:31
tristanyeah, not obvious12:31
valentindCool. Then it is easy.12:31
tristanI think we need not provide any configurability to umask, that sounds overkill, unless one day it's asked for12:32
tristanjust use a sensible one :)12:32
*** gitlab-br-bot has quit IRC12:32
tristanvalentind, does `deb` fall into the same category as `tar` ?12:33
tristanAnyway... I leave this in your capable hands... and go for a run :)12:33
valentindOK12:33
tristancs_shadow, I have only reviewed the feature enabling parts, and will circle back tomorrow for the pip stuff12:34
tristancs_shadow, I will be looking specifically for whether it conforms to the rules we discussed in the email thread, whether the tests assert that well, and whether we control the serialization of the "ref" in such a way that different versions of host pip could never cause the "ref" to be different due to whitespace etc12:36
*** gitlab-br-bot has joined #buildstream12:39
*** gitlab-br-bot has joined #buildstream12:39
*** tristan has quit IRC12:41
*** gitlab-br-bot has quit IRC12:41
qinustyUpon checking again, it appears that https://gitlab.com/BuildStream/buildstream/issues/470 was caused by the include changes valentind. It's quite a large commit but the regression appears from this commit onwards https://gitlab.com/BuildStream/buildstream/commit/171e803f5dab2644c7bcd2e22acecef64880e1ce13:06
toscalixqinusty: please assign it to valentind so he evaluate it. He is busy with other stuff and not neccessarily paying attention to IRC13:09
qinustyWill do.13:09
toscalixthanks13:09
valentindqinusty, thanks.13:09
qinustyIf I can track it down I'll update the issue appropraitely13:09
qinustys/appropraitely/appropriately13:09
*** tristan has joined #buildstream13:12
valentindqinusty, I can see how this could be a problem when an element uses (@). Not sure why it happens on other elements. We have to consider that some yaml are extended with included files and some that are not.13:13
tiagogomesCan I disable fail-on-overlaps through a CI option13:21
tiagogomesNo.13:23
*** leopi has quit IRC13:30
persiatiagogomes: It's a config option.13:52
tpollardhttps://buildstream.gitlab.io/buildstream/format_intro.html#include 'The including YAML fragment has priority over the files it includes, and overrides any values introduced by the includes.' I'm not finding this line the easiest to parse13:53
tpollardis it saying the file that is appending the include has priority?13:53
tpollardi.e if project.conf has an include, any values in the project.conf have priority?13:54
persiaWhen file A includes file B, if file A defines anything that is defined in file B, the value from file A overrides the value from file B.13:54
tpollardI thought so, thanks persia13:54
*** jonathanmaw_ has joined #buildstream14:34
*** CTtpollard has joined #buildstream14:34
*** jonathanmaw has quit IRC14:36
*** tpollard has quit IRC14:37
cs_shadowtristan: thanks for the review. The pip plugin has a few other pain points but its ref should be more robust14:44
cs_shadowI'll start the process on creating the "buildstream" pypi account, and capture necessary changes to code in issues/MR14:45
tristancs_shadow, regarding pip, the install guide will need a new section for it too :)14:55
tristancs_shadow, just passing comment as I noticed a bunch of emails fly by: A copyright statement in a source file always has a date, copyrights are not infinite, they expire; which is why it's important to keep updating that date with new changes14:56
tristancs_shadow, if there are other dateless instances, they should probably be corrected14:56
persias/updating/extending14:56
tristanright, IANAL, but that much I think I've understood well enough :)14:57
persiaSo, if previously "Copyright 1987", change to "Copyright 1987, 2018" if adding code.  Alternately, if "Copyright 2017", change to "Copyright 2017-2018" if adding code.  Only change copyright lines that represent an entity to whom you are assigning copyright whilst you write the change.14:57
tristanpersia, point of interest, I've been asked by clients before to never do "Copyright 2017-2018 ..."14:58
persia(and in some countries, copyright no longer expires, but that's potentially a temporary condition).14:58
persiatristan: Interesting.  What is the recommendation?  "2017, 2018"?  What about when three years apply: does that make it "2016-2018"?14:58
tristanpersia, as it arguably looks like one made a range statement, like one is opting out of copyright after the said range is complete14:59
* persia has never received any guidance on that particular point, so only has an opinion based on potentially incorrect examples14:59
tristanOne could technically add a new line per modification year, but I've been asked to just change the date, since it's the only relevant part for the file (last time a given holder has updated it)14:59
cs_shadowokay, i can ask around about copyright internally and update the files accordingly14:59
persiatristan: Was that a qualified opinion?  I didn't think there was a way to opt out of copyright unless one qualified as a westphalian sovereign.15:00
persiacs_shadow: Excellent strategy :)15:00
persiatristan: Oh, I have received opinion that the first year of publication is relevant for certain classes of argument, although that might only be in certain jurisdictions.15:03
persiaI suppose the answer is, as usual, "ask your lawyer" :(15:03
tristanyes indeed15:03
tristanpersia, while I personally think that; with the maintainer hat on; I will accept any sensible format so long as the contributing party is the one who may be responsible for defending it in a court...15:04
tristanpersia, I also think it's not a good idea to accept "Copyright Foo Inc." without a date, which appears like an overreaching statement of permanent copyright15:05
tristani.e. "Its your problem" is the right attitude, but I think "I own this forever" is just not a very nice statement15:06
persiaI don't think the dates mean that.15:09
persiaBut I agree that Copyright should include a date.15:09
cs_shadowi think one argument for not having dates written down is that the VCS system already has all this information available in a much nicer way15:12
persiahttp://www.wipo.int/wipolex/en/treaties/text.jsp?file_id=283693 doesn't seem to contain any indication of the appropriate format.15:13
persiaIt does indicate that a) term of protection is the *shortest* term in any jurisdiction of all the signatories (suggesting later dates), and that governing law is affected by the country of first publication (suggesting earlier dates).15:14
persiaVCS might have everything, but I'm not sure that VCS history is considered authoritative, and there have been cases where things were modified (to comply with copyright) wherein the VCS history includes the modification, suggesting that VCS history may not matter.15:15
persia(but, as with any of these things, one can't be sure until one is in court about one's particular issue, which complicates determining appropriate best practice)15:15
*** brackets has joined #buildstream15:37
*** leopi has joined #buildstream15:51
jjardonHi, when I define max-jobs in buildstream, is this definine the maximum or actually the exact number of jobs allowed?16:06
jjardonseems it's used as "make -j%{max-jobs}", and AFAIK that define the exact number, not the maximum16:06
persiaMake's -j only defines the maximum parallelism.  You can test this by compiling a simple one-file c program with make -j99.16:11
persiaFor any reasonable project, the parallelism approaches the maximum (assuming the dependency tree permits).16:11
* persia doesn't know precisely how the buildstream implementation works, but strongly suspects it to suffer from the same limitation, in that exact number of processes is limited by the work that can be done, regardless of how high a value is used for "max-jobs"16:12
jjardonpersia: mmm, readin the make manual I think it actually specify the exact number: "-j [jobs] Specifies  the  number  of  jobs (commands) to run simultaneously"16:13
persiajjardon: Yes.  That's arguably a documentation bug.  If there is only one file to compile, make only runs gcc once, regardless of the job count.16:13
jmacWe could make buildstream run 99 copies of the same job, and compare the outputs, if you like16:14
persiaAs an experiment (doesn't require a makefile), create a .c file in a directory, then run `make ${basename}.o` in that directory.  Make's implicit rules shoud cause it to compile, but -j99 won't make it compile 99 times.16:14
persiajmac: I think that is an interesting potential option, but I think it deserves to be something other than "max-jobs".16:14
jjardonpersia: I would not expect make to do that, because that's only a single command16:16
persiaYes.  When make cannot (usefully) reach the number of jobs, it runs fewer jobs, hence -j not specifying the exact number.  I believe buildstream to behave similarly.16:16
persiaI also think this behaviour is the least surprising, for all that it makes documentation hard to write precisely.16:17
jjardonpersia: ok thanks16:20
jjardonah, ok: buildstream/_project.py:        output.base_variables['max-jobs'] = str(multiprocessing.cpu_count())16:20
jjardonproblem I have here is that I'm in a quite powerfull machine, and several bst and running in docker images. Because they do not know they share the same machine, they all run with -j96, making everything slower16:21
persiaOh, heh.  That's where the make server function comes in.16:23
* persia looks up the relevant issue16:23
Kinnisonjjardon: You get to specify max-jobs for those images I guess :-)16:24
Kinnisonpersia: It's nearly impossible to do that safely without risking livelock over time16:24
persiaKinnison: That might be why I can't find a relevant open issue :)16:25
KinnisonPossibly16:25
jjardonI was thinking on putting max-jobs to 12 in my bst project, but then I do not want other runners (with only 4 cores) to _try_ to generate 12 threads16:26
jjardonI think paulsherwood  did some research some time ago and concluded that at some point the number of threads doesn't matter, even if you have a lot of cores16:27
Kinnisonjjardon: Hmm, yeah, you want something which is min(cpu-cores, 12) don't you?16:27
* jjardon needs to search his email archive16:27
jjardonKinnison: yup16:27
* Kinnison is not sure if you can do that statically or if you'll need something to calculate that and pass it into bst build16:28
* Kinnison is also unsure if -o does that16:28
* Kinnison is still new here16:28
persiajjardon: the research results are machine-dependent.  Essentially, builds end up memory or IO bound fairly easily on machines with lots of cores.16:29
persiaMy recommendation is to pick a sensible number: if the source being built works well with 8 threads, then make it 8, or pick a smaller number.16:29
persiaThe only time you really want to run more threads on the lots-of-cores box is when a) you know there is little contention, and b) that machine also has very high-spec memory/IO.16:30
jjardonah, here it is: https://gitlab.com/baserock/ybd/commit/580b7da0e93bf5717148ace075f6224b76d65d4e https://gitlab.com/baserock/ybd/commit/54fc05733277e914b57150b716df86ae19c4597a16:32
jjardonpersia: yeah, so probably the default to max-jobs == cpucores should be changed/improved in buildstream16:32
persiajjardon: That only works for fairly small machines.  Unfortunately, it happens to work for >99% of machines developers use on a daily basis, which tends to keep it popular for folk who compile on laptops or similar.16:33
Kinnisonjjardon: that seems to be suggesting that beyond 10 cores, you want more builders (--builders N) rather than increasing the -j16:34
jjardonyeah16:34
KinnisonTypically that'll be because most software doesn't usefully parallelise beyond about -j1016:34
Kinnisonprobably because of interdependency choke points (e.g. on .a files)16:34
jjardonpersia sure, this is to improve the max-jobs for very big machines only16:34
persiaOr very small machines.16:35
persiaKinnison: My personal experience with falsely constructed compilation environments that supported *very* wide parallelism was that gcc deals with iowait particularly terribly well before reaching the parallelism available in the project.16:36
jjardonbuildstream doesn't a concept for "several instances / builders" right ?16:36
jjardontristan: ^16:36
Kinnisonjjardon: bst has a --builders16:36
persiaMind you, that was a 96-core machine with a single 5400rpm drive, so perhaps a special case :)16:36
Kinnisonjjardon: bst is inherently parallel internally16:36
Kinnisonpersia: eww16:37
jjardonKinnison: oh, that make things even more interesting16:37
persiajjardon: I think your application pushes the edges of the remote execution model.16:37
WSalmoni was talking to persia about overlay file sytems and i cant seen any reference to them but i may not have looked hard enough, bst isnt using them is it?16:37
jjardonpersia: we are not using remote execution, these are local build16:37
jjardonbuilds*16:38
jjardonpersia: or are you saying we should use/implement remote execution model, wherever that is? :)16:38
persiajjardon: Yes.  I suspect your needs (multiple parallel runs of buildstream on real servers) are likely better met by remote execution.  Or at least I hope remote execution is designed to handle more than laptops.16:39
tristanjjardon, passing comment hit and run... --builders defines the maximum number of build tasks (parallel builds)... while -j is currently defaulting to the number of available cpus... which often works well because the kernel's scheduler should be good enough, and many parallel jobs are I/O bound when a cpu intensive job is active (I can build many modules while webkit builds, they are mostly doing ./configure most of the time)16:40
jjardonpersia: ok; this is a single server, with 98 cores, how remote execution will help here? what version of buildstream supports that?16:40
persiatristan: The kernel's scheduler is totally incapable of dealing with builds for more than about 12 cores.16:40
tristanjjardon, that said... we need to look into a job server to share the available tasks to do it better; problem with that is we'd want one job server, to talk to ninja, make, and any other build system in parallel16:40
tristanpersia, still; so far as far as I can see, it's always better to have 4 build *ask* for all the available CPUs, since most of the time they will be running ./configure and be I/O bound, than the alternative, which would be to use less than the available CPUs for a build of webkit, and let other stuff idle16:42
tristanhaving a single job server which talks to every different kind of BuildElement, would still be the ideal16:42
persiatristan: Try the experiment on a machine with >40 cores, and you'll see surprising results.16:43
persiaMy guess is that cache eviction due to "fair scheduling" ends up causing signifcant performance degradation, or something like that.  Can't really be sure.16:43
tristanpersia, not sure I'll be surprised, it sounds like if you want to allocate that many jobs, you will eventually bottleneck on I/O anyway16:44
persiaNo, point being that it's worse than just IO bottleneck.16:44
tristanHow many computers which are likely to run buildstream, have 40 cores ?16:45
persiaOnce one reaches IO bottleneck, one wants to stop increasing parallelism.  Further parallelism beyond that ends up causing additional problems due to scheduling, etc.16:45
persiaAll the servers, basically.16:45
tristanAnyway; no point really... it's late; if we want to hard code a user config option for it, that's plausible16:45
persiaIt's hard to purhcase a server with less than 24 "cores" these days, and >40 is fairly normal.16:45
tristanBut a job server that talks every build system language (not *just* make), is the better solution16:46
persiaYes, ideally one that also tracks IO load, and can balance things sensibly :)16:46
tristanpersia, even if a build server has that many cores; and even if a build server runs many more builds than developers do; those build servers are still outnumbered, I think16:46
jjardontristan: I'm managing 3 :)16:47
persiaPossibly, but if performance is terrible on a build server, it's easier to tell folk to use a different tool that works on servers.16:47
tristanby the developer laptops doing builds, and we need to also optimize for those; because that's where first time users will get an impression16:47
tristanAgain, user config option is a possibility, job server is ideal; the current default is not that horrible, though16:47
persiatristan: No, we need to *support* both use cases.  There's no point in saying "we optimise for this vs. that".  We just choose a metric that happens to work for everyone.16:48
persiaNumber of cores is a terrible metric: it's increasingly easy to buy desktop workstations with 24 or 32 "cores", which end up behaving badly with that metric.16:48
tristanpersia, for the third time before I finish this hit-and-run conversation and get back outside of this house... a config option is a possibility16:48
persia(and 16 or 20 "core" laptops are in the market)16:48
tristanIt probably takes less time than talking about this on IRC16:48
jjardontristan: and you have access to all of them, btw :) I will try to send a patch (only to change the default fo high number of cores) so we can discuss there pros and cons16:49
persiatristan: My preference would be to fix the code to have a good metric, but yeah, we could use a config option if we can't think of one.16:49
tristanpersia, still, the *default* in the absence of a config option, should be a default chosen to optimize for the developer laptop (config is per installation/computor)16:49
persiaFor now, we have max-jobs, which covers the basic case.16:49
persiaMy point is that within a year or two, numcpus will be terrible also for developer laptops.16:49
persia*handheld* devices are often sold with 10-12 user-accessible cores.  Add hyperthreading, and it all falls down.16:50
tristanpatches welcome :D16:50
* tristan hits the road16:50
persiaHave a good night :)16:51
persiajjardon: You probably want to use max-jobs (with a low value) for now, and maybe open an issue describing the problem you're having in enough depth that it can be thought about properly?16:52
*** jonathanmaw_ has quit IRC17:07
*** xjuan has joined #buildstream17:07
*** GigabytePro has joined #buildstream17:16
*** toscalix has quit IRC18:12
*** leopi has quit IRC18:46
tristanI think the point I was trying to get across, is that you *cannot* set max-jobs, i.e.; someone just has to write a patch to offer a config option that sets it18:55
tristanIf you can set the variable in project.conf, and it actually "just works", I'd be surprised18:56
*** cs_shadow has quit IRC19:21
*** tristan has quit IRC20:40
*** xjuan has quit IRC22:33
persiatristan: Indeed.  If one needs to build on a wide range of hosts, one can only set to a ridiculously low value.  Someone has to write a patch tha t does something sensible.  I'm not convinced it should be a new/different/special config option: it may be that the current default can just change in a sensible way.22:43
*** bochecha has quit IRC23:18

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