IRC logs for #buildstream for Tuesday, 2017-08-29

*** bochecha has joined #buildstream08:11
bochechatristan: hi, for #78, do we go with adding a new `exclude:` to the `compose` element config? I'd be happy to take a stab at implementing that :)08:18
*** jonathanmaw has joined #buildstream08:30
*** tlater has joined #buildstream08:56
*** ssam2 has joined #buildstream08:59
*** jude has quit IRC09:32
*** jonathanmaw_ has joined #buildstream09:33
*** jonathanmaw has quit IRC09:34
*** jude has joined #buildstream09:48
*** jonathanmaw_ has quit IRC10:14
*** jonathanmaw has joined #buildstream10:15
gitlab-br-botbuildstream: issue #77 ("Add a `bst build --no-pull` mode") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/7711:24
gitlab-br-botbuildstream: issue #77 ("Add a `bst build --no-pull` mode") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/7712:22
ssam2bah, i didn't mean to do that12:23
ssam2well, i did, but then I changed my mind again12:23
gitlab-br-botbuildstream: issue #77 ("Add a `bst build --no-pull` mode") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/7712:23
*** tlater has quit IRC12:28
*** tlater has joined #buildstream13:35
*** tristan has quit IRC14:29
*** tlater has quit IRC14:33
*** tlater has joined #buildstream14:36
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 1 commit (last: Make the sandboxchroot chroot in the same process) https://gitlab.com/BuildStream/buildstream/commit/5ad569d78c0c277710fc894dbb03562f6077603714:50
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8114:51
*** bochecha has quit IRC14:51
*** tristan has joined #buildstream15:01
*** ChanServ sets mode: +o tristan15:01
tristanssam2, yeah; I was thinking about that yesterday and then thought that --no-pull doesnt make much sense15:01
tristanfor the proposed use case15:02
tristanA '--no-pull' option would seem to imply it's not going to pull any artifacts; which might mean; even if I have some things to build; dont use the artifact share to download any dependencies15:02
tristanso, it wouldnt have been the right name anyway15:02
ssam2yeah, i'm not particularly attached to that design15:04
ssam2and yeah I see what you mean, --no-pull is not even unambiguous!15:05
tristanyeah I knew something stinked about that heh15:06
tristanssam2, fwiw I really have to figure out what to do with conditionals15:07
tristani.e. this https://mail.gnome.org/archives/buildstream-list/2017-August/msg00007.html15:08
tristananyway I have a variantless design brewing in the background15:08
ssam2interesting15:09
tristanmaybe I should writeup a tentative design and send to list ?15:09
ssam2yeah, please do15:09
tristanthing is time is tight and I need something fast but rather get some feedback15:09
* tristan wonders what is bochecha's time zone15:10
ssam2i very much agree with your principal of wanting to avoid combinatorial explosion15:10
tristanvariants gave us a kind of control on limiting it; or a system that encourages less possibilities15:10
tristanI think15:11
ssam2yeah15:11
ssam2but I also see the issue that you can only have one variant, which might be /too/ limiting15:11
tristanEven granular element to element constraints limits the amount of possibilities15:11
ssam2very hard to get right15:11
tristanand yeah, imaging granular variable * element constraints; ... exponentially more complex to get right than just one variant15:12
ssam2is automatic resolution something that's actually needed?15:12
tristanSo I wonder; what would a world look like with A.) Pre determined conditional statements ... B.) Variants resolved after but still existing ?15:13
ssam2A) is for things like --enable-debug ?15:13
tristanI.e. our argument for nuking variants is that it isnt flexible enough to handle all cases15:13
tristanbut does that mean it should be removed ?15:13
ssam2i see your point15:13
tristanssam2, yeah that's the same question I'm asking; what would it look like ? what would I be doing ?15:14
ssam2we need to collect the various use cases for this together I guess15:14
tristanit *seems* to me that variants for different ways of compiling things or different features enabled, but other conditionals in place for "if os == bsd" or "if level = debug", together might still make sense ?15:15
tristanssam2, one example I think juergbi raised was...15:15
tristanA.) gtk with wayland, B.) gtk with x11, C.) gtk with wayland and pulseaudio, D.) gtk with wayland and alsa, E.) .... smaller combinatorial explosion ...15:16
tristanssam2, I'm not hugely concerned with that though; while it does imply some redundant typing; overall you only support the variants you use15:17
ssam2yeah15:17
tristanssam2, another thing to consider is; with an alternative to variants; I want to completely get rid of "arch" and host/target arch15:17
ssam2and you can build GTK+ with both Wayland and X11 backends15:17
tristanRight15:17
ssam2hmm, yeah would be OK with that15:17
ssam2the issue with 'arch' is that if you want to do something for all 64-bit arches, for example, you have to manually list each 64-bit arch and copy and paste the same config for each one15:18
tristanSo if we gave the user a way A.) to specify what "options" can be set in project.conf ... and B.) A way to configure those options at build time15:18
ssam2the flip side of this of course... is that shell already has conditionals15:19
tristanWe can use that to completely remove arch conditionals15:19
tristanssam2, so yeah; there can also be other ways of matching variables with conditionals15:19
tristanyou could have glob or regex matches but I dont feel like it15:20
tristan's something to encourage15:20
tristanI.e. "just because your symbolic machine ABI name ends in the characters 6 and 4, does not a 64bit platform make"15:21
ssam2ha, i agree15:21
tristanUnless you happen to also be the person who named all of your platforms15:21
ssam2(although this case it's Baserock, so we actually do name them all ourselves)15:21
tristanright15:21
ssam2it's more that having to list the same config for each arch in turn, rather than being able to say "for this set of arches, do this"15:22
tristanso not sure what15:22
tristanI was thinking something like if/else and switch/case15:22
tristanswitch/case/default15:22
ssam2ok15:22
tristanssam2, in a list; where conditions are resolved in the sequence described by the element (the order that the element declares conditions)15:23
tristanyou have multiple vars now in play, it's important that the element gets to decide which conditions to process first15:23
ssam2yes that needs to be clear15:23
tristanI also thought of further parsing the yaml15:24
tristanI'm not perfectly sold on the "everything must be parsable and represented in true YAML form" standpoint15:25
tristanso i.e. a conditional could have a single attribute like "ifeq(option_name, value)"15:25
tristanrather than 3 obnoxious lines of YAML15:26
ssam2yeah I agree on that front; I mean Ansible embeds most of a templating framework and gets away with it15:26
ssam2my philosophical feeling on this is that once you add conditionals, you don't actually have a fully serialized data structure any more15:27
ssam2the underlying data structure is actually the combination of all possible values of each of those conditions; and what you are writing is "syntactic sugar" effectively15:28
tristanWell sure15:28
ssam2in Baserock definitions it really is a serialized data format, there are no conditionals, but of course that brings other issues such as we have 20 different copies of linux.morph15:28
tristanEven when you parse the data structure it still requires input (specification of options) to resolve to anything meaningful15:28
tristanbut not sure where that conversation is going :)15:28
ssam2i'm basically agreeing saying do whatever you want with the YAML syntax :-)15:29
tristanHeh15:29
tristanOk so I'll try to make a writeup15:30
ssam2as anyone who wants to see the real data will have to do some extra processing themselves, regardless of how conditionals are specified15:30
tristanHas anyone had the pleasure of trying out the latest feature https://buildstream.gitlab.io/buildstream/completion.html#completion ?15:30
tristanBy the way ?15:30
tristantlater, regarding the cross platform work; my concern with that Platform class is that it will become very branchy and difficult to track what is going on15:32
tristantlater, adding just one additional sandbox or artifact cache implementation from here will make it more complex15:33
tristana lot I think15:33
tristantlater, I also dont like how things are resolve on the fly15:34
tristanlike... what happens when I build 500 modules and half way through I install bwrap on my host15:34
tristanI might stop using chroot ?15:34
tristanSo my suggestion is to have one Platform *interface* that everything calls into, and to have one check at load time to decide which Platform *implementation* to use15:35
tristanand then the fallback Platform implementation just uses chroot + tarballs, and the regular linux backend uses ostree & bwrap15:36
tristanAnd if we really want to support chroot + ostree, that would be a different backend15:36
tlaterAlright, should this still be decided be what is available on the system or should it just assume linux = ostree + bwrap?15:37
tlater*by what is available15:37
tristanThat part can easily be changed; I dont mind starting with a switch on the reported OS and then asserting presence of required tooling for that OS15:38
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 3 commits (last: artifactcache.py/tarcache.py: Remove cache get_kind) https://gitlab.com/BuildStream/buildstream/commit/3ee9cd1e6d9cdee08cc8f2ba0ad228646a7061e916:20
*** xjuan has joined #buildstream16:35
*** jonathanmaw has quit IRC17:05
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 3 commits (last: Make the sandboxchroot chroot in the same process) https://gitlab.com/BuildStream/buildstream/commit/b8dbd72e54c504121e4aa9dce8a40df442035bbf17:08
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8117:08
*** ssam2 has quit IRC17:20
*** tlater has quit IRC17:26
*** tlater has joined #buildstream17:29
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8117:34
tlatertristan: Are you still about?17:38
tristantlater, yep18:02
*** tlater` has joined #buildstream18:06
*** tlater has quit IRC18:06
gitlab-br-botpush on buildstream@compose-exclude (by Tristan Van Berkom): 2 commits (last: element.py: Changed artifact staging apis to have an 'exclude' argument) https://gitlab.com/BuildStream/buildstream/commit/3c88a48daee90818fdd1f5e2199238e106d2aa6c18:13
tlater`tristan: I assume by 'restoring the environment' in your comment on the sandboxchroot you only mean chrooting back to the original root?18:15
*** tlater` is now known as tlater18:15
tristantlater`, that and the current working directory18:16
tristantlater, to be honest juergbi's suggestion to use the preexec function sounds nice because you dont have to do any of that18:16
tlaterThe issue with that is the great red warning in the documentation that says not to use it.18:17
tristanthe cwd or root or anything in your envp, if we ever touch any of that in our processes we should revert it quickly after18:17
tristanybd was using a chdir() context manager but I made sure to use cwd argument in Popen() everywhere so as to avoid any nasty side effects of environment modifying18:18
juergbii can't say much about python's preexec_fn but in C you'd definitely do it there (between fork and exec)18:19
tristanThis one "The preexec_fn parameter is not safe to use in the presence of threads in your application. The child process could deadlock before exec is called. If you must use it, keep it trivial! Minimize the number of libraries you call into." ?18:19
tlaterYeah18:19
tristantlater, yeah I would ignore that18:19
tristanthere are no threads18:20
tristanfirst off18:20
juergbianother option could be to use the 'chroot' binary instead of os.chroot(), i.e., push 'chroot' and the root dir in front of the argv18:20
juergbihowever, i would go with preexec_fn unless you're aware of a specific issue with that18:21
tristanjuergbi, I rather prefer this to dealing with escaping the commands for that18:21
tlaterjuergbi: That was the original implementation, for some reason that didn't work (something about nested 'sh -c's)18:21
juergbiah, argv handling can be painful, especially with abstraction layers18:22
tristanright18:22
juergbion the low level this would be trivial as you don't need sh -c outside chroot18:22
juergbiso you could literally just prepend two strings to argv18:22
tlaterUnfortunately the plugins have full control over that :/18:22
juergbithe chroot binary may have restrictions regarding cwd, though18:23
tristanright the sandbox gives you an environment to execute something18:23
tristanyou decide to execute sh with it18:23
juergbithe sandbox impl. could still modify argv, couldn't it?18:23
juergbichroot /sysroot sh -c '...' should be fine18:24
juergbias i mentioned, i would anyway prefer preexec_fn, though18:24
tlaterI'll use preexec_fn then, though I don't think restoring the environment is that terrible if that does run into issues.18:25
tristanpreexec_fn is the right thing18:25
juergbirestoring chroot might not work on netbsd, iirc, in case that's relevant18:26
tristanthe documentation is just like; exposing an interrupt handler callback to a web JS programmer and saying: please dont start a word processor here, things will likely break18:26
tristan"If you must use it, keep it trivial! Minimize the number of libraries you call into."18:27
tristanLike, really, calling into libraries in a preexec_fn ?18:27
juergbipresent a gtk dialog asking whether you really want to exec the process? ;)18:28
tristanWhat probably happened, is some idiot started calling APIs from a threading library in the preexec_fn; after fork and before exec18:28
tristanright, and then run the dialog in a thread18:28
juergbithe warning is warranted in the sense that it's indeed fragile in case the original process is already multi-threaded18:29
tristan"just let me know after I finish execing that this is what you wanted"18:29
juergbidue to locks18:29
tristansure18:29
tristanBut even then, in C I think it would not really be18:29
tristanI suspect python api level locks18:29
juergbiand some libraries might use background threads without the application developer being aware of it18:29
tristanthat is just wrong though18:30
juergbinot so sure about that18:30
juergbifork with a background thread holding the malloc lock?18:30
tristanI remember a 10+ year open bug on seriously fucked libgnomeui and bonobo libs18:30
juergbiyou try to malloc in the child?18:30
tristanthey were initializing threads at random thats right18:30
tristanWell anyway, I guess I have my opinions; libraries which spawn threads should certainly make that clear, and thread lifecycles should be tied to lifecycles of things exposed in the API18:31
tristanwhat libgnomeui was doing is rather orthogonal now that I think of it, that had to do specifically with glib and how we had initialization setup18:32
tristan(was still horrible to see though)18:33
tristanjuergbi, good point though I hadnt considered that18:35
tristanforks before exec in threads may even have issues at the C library level18:35
tristancertainly even there chroot is the kind of thing I would expect to be meant to work18:36
gitlab-br-botpush on buildstream@compose-exclude (by Tristan Van Berkom): 1 commit (last: element.py: Fixup last commit) https://gitlab.com/BuildStream/buildstream/commit/4623cc8f7529875038cf212cf3896a551b4cbcda18:39
*** tlater has quit IRC18:43
*** tlater has joined #buildstream18:45
juergbiyes, definitely. chroot is a straight syscall, doesn't require any allocations or any other substantial userspace work (in C)18:51
tlaterI'll just avoid opening gtk dialogs for now...18:51
juergbihehe18:52
tlatertristan: On ignoring an ImportError, that's there to avoid the ostree source, which crashes if ostree is not installed. It's probably not the best way to do that, but I'm not sure how to do that otherwise - unless the platform should also be in charge of loading plugins.18:55
tristantlater, which comment is that18:57
tristanabout what exactly18:57
tristantry / except for importerror is okay, I think there must be something else to that comment18:57
tlaterI'm not sure how to link them...18:58
tristantlater, for instance, I recall one thing similar where; various things had a comment about the import error18:58
tlaterAh18:58
tlaterhttps://gitlab.com/BuildStream/buildstream/merge_requests/81#note_3854798418:58
tristanand then I found a comment about the import error18:58
tristanwhere one might have been in the past18:58
tlaterYeah, that's all gone now18:58
tristanbut had been removed, but the comment remained, and I commented that that should be gone18:58
* tristan opens link18:58
tlaterThis is a different comment18:58
tristancomment about set_root_read_only() ?18:59
tlaterNo, one above that18:59
tlaterJust scrolls to the wrong part of the page19:00
tristanAhhhh19:00
tristanTHAT one19:00
tlaterYeah, definitely should have had a comment at least19:00
tristanYeah that should be solved19:00
tristanyeah should have at least19:00
tristanso how would we solve that ?19:00
tlaterIt should also depend on the platform19:01
tristantlater, for now just write a comment that not all plugins succeed to load on every platform and configuration and that we should do something more elaborate around there19:01
tristanI'm fine with not blocking the branch on that detail anyway19:01
tlaterAlright19:01
tristanbut long term we should save some context about it so we can do better error reporting19:01
tristanI guess, maybe we'll forget if nobody asks for it19:02
tlaterI could put a warning message there, though that might scare users19:02
tristancurrently it will just bail out with something like "no such source kind `ostree`"19:02
tristanif you try to use one19:02
tristanyeah dont19:02
tristanit would be nice if it were an error, and if we only ever tried to load plugins on demand19:04
tristanbut we dont load them on demand and the API doesnt want us to, so lets leave it for now :)19:04
tlaterAnother # FIXME that will certainly be fixed at some point in the future19:06
tlatercertainly19:06
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 3 commits (last: Make the sandboxchroot chroot in the same process) https://gitlab.com/BuildStream/buildstream/commit/6ccd10685196306ff1f41e7e48d74a2713c4c44a19:10
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8119:10
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 1 commit (last: _plugincontext.py: Add comment on loading ostree source) https://gitlab.com/BuildStream/buildstream/commit/2e46c642fa17ed4d29271ffa85396627bac03b8219:14
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8119:14
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 4 commits (last: Make the sandboxchroot chroot in the same process) https://gitlab.com/BuildStream/buildstream/commit/e7a6cfc21363c7e4af56a3e47e23d6e1a38a070719:15
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8119:15
tlatertristan: On this comment: https://gitlab.com/BuildStream/buildstream/merge_requests/81#note_3854742719:19
tlaterI was experimenting with compression types, that can go, I'll just stick to bz2 - the fallback is there in case we can't find a working tar command though, should we just ignore that edge case?19:19
tlater^ That might happen on an AIX system that doesn't have gtar.19:20
tlaterOr has a weird implementation of gtar, I guess19:21
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 4 commits (last: Make the sandboxchroot chroot in the same process) https://gitlab.com/BuildStream/buildstream/commit/2db9ad5764ac684a0ba901dafaab151e2d903a5719:35
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8119:36
tristantlater, keeping the python tar implementation sounds sensible for that I guess, but yeah please have them agree on the compression :)19:41
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 1 commit (last: tarcache.py: Remove compression options) https://gitlab.com/BuildStream/buildstream/commit/d82331362459eece8e37b81b40cad8acb99a713019:43
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8119:43
gitlab-br-botbuildstream: issue #79 ("Load plugins on demand") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/7919:52
tlatertristan: Last one for now I suppose: https://gitlab.com/BuildStream/buildstream/merge_requests/81#note_3854866520:01
tlaterI think I must have misunderstood why sandbox read-onlyness matters to hardlinks, would you mind elaborating?20:01
gitlab-br-botbuildstream: Tristan Van Berkom deleted branch compose-exclude20:03
gitlab-br-botpush on buildstream@compose-exclude (by Tristan Van Berkom): 3 commits (last: plugin.py: Added detail parameter to Plugin.timed_activity()) https://gitlab.com/BuildStream/buildstream/commit/ccddb1e827d9f2fe38974d3d331682312679893e20:03
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 4 commits (last: Split monolithic _platform.py into multiple platform implementations) https://gitlab.com/BuildStream/buildstream/commit/b284a86422d5d2a2c22a22940b8bdcb1e584b83e20:13
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8120:15
tristantlater, it matters because if have a read-write location which exposes an artifact, and it's files are hardlinked, writing files corrupts the artifact cache20:27
tristantlater, so root-read-only-ness is not sufficient; it assumes that artifacts are only staged at the root20:28
tristanbut in script elements they are often staged in a separate location, or a debian packaging element might stage an artifact independently20:29
tristanof the base20:29
tlaterAh, alright, I understand20:30
tristanultimately artifacts appear where elements mark them with Sandbox.mark_directory()20:30
tlaterSo anything that's staged needs to be read-only?20:31
tristancurrently there is a note that says only the root *can* be readonly, but this could be changed if that's better20:31
tristantlater, no, an element must be allowed to do it's thing if thats what it wants20:32
tristantlater, instead; if there is no fuse solution; then files must be copied if they are going to a location that is read-write20:32
tristanThen again, it's true that root-read-only-ness, at least; is allowed to change across invocations20:33
tristanhmmm20:33
tristantlater, so what is it that we said about running integration commands ?20:34
* tristan thinks he has a photo of the whiteboard we had20:34
tlaterThey are only run when the root is read-only, but obviously that doesn't work20:34
tristanof course not20:34
laurenceurhegyiI have that photo if you need it tristan and tlater...20:35
tristanI have it here; I dont know if you've seen this one laurenceurhegyi20:36
tlaterI have a copy too20:36
tristan"If an element is going to run s-i, then the sandbox must be staged with copies" (must be able to know if s-i commands need to run)20:36
tristanBuildElement needs a "no-integrate" we had a point on20:37
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 2 commits (last: tarcache.py: Remove compression options) https://gitlab.com/BuildStream/buildstream/commit/8b238ef39d6e4ae88d0767ee239cf9276d8cdca520:37
gitlab-br-botbuildstream: merge request (cross_platform->master: WIP: Cross platform) #81 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/8120:37
tristanI can see it right there, "Change semantics of "root-read-only" for the lifetime of a sandbox20:38
tristan"20:38
tristanBut I dont know what we were thinking :-/20:39
tristanHow does that work ?20:39
tristanOh20:39
tlaterIt might have been Friday afternoon after a tough week mistakes20:39
tristanIt means that on linux we have to live with read-write root20:39
tristanat build time20:39
tristanWhich I guess is livable, but undesirable because it raises no errors in the case that accidentally happens20:40
tlaterWhy do we have to live with a read-write root again?20:41
tristanWell, we need to run integration commands right ?20:41
tristanSo we need read-write root for that20:41
tlaterUnless we have no-integrate20:41
tristanNormally we discard read-write root after that point20:41
tristanRight, but what about the normal case :)20:42
tristanHmmm, I very much dont like that people will need to use things differently to optimize for their platform20:42
tristani.e. no-integrate and inserting integration rounds as compose elements or such as needed throughout the stack20:43
tristanif you consider a full system20:43
tristanAlso we might need to cheat with ldconfig20:44
tlaterThere's no real way around that though, you'll always have to copy on AIX/solaris and take the hit or manage integration yourself.20:44
tristanit could be reduced splitting things up; for instance `rm /etc/ld.so.cache && ldconfig` is safe to run20:46
tristanbut of course its not safe cause you cant error out if the user makes a mistake20:46
tristanso scratch that20:46
tristan(although we will probably *want* a special case like that for ldconfig)20:47
tristantlater, anyway so no-integrate is something a user can use to turn off integration right ?20:48
tristanAlright well, it's a wart20:48
tristantlater, so in this case is there no way that the platform/sandbox can handle running root-read-only on a per invocation instead of per sandbox basis anymore ?20:50
tlaterI'm not entirely sure when individual invocations happen right now20:53
tristanI mean when the sandbox is run20:53
tristana command or something20:54
tristaneach time the root could be readwrite or readonly, now it has to be readwrite or readonly all the time for the sake of other platforms20:54
tristancan we do it in a way that that doesnt happen ?20:55
tlaterI don't see why we couldn't20:56
tlaterW20:56
tlaterhat was the original reason we wanted it to be read-only?20:56
tlaterSorry that I'm being slow right now, it's been a while...20:57
tlaterBut as far as I understand we'd like to avoid individual invocations touching other artifacts staged into the sandbox20:58
tlaterNo, I'm lost -.-20:59
*** xjuan has quit IRC21:00
*** tlater has quit IRC21:21
gitlab-br-botbuildstream: issue #73 ("Open workspace should be able to check out new branch of git source") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/7321:39
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 3 commits (last: plugin.py: Added detail parameter to Plugin.timed_activity()) https://gitlab.com/BuildStream/buildstream/commit/ccddb1e827d9f2fe38974d3d331682312679893e22:05
gitlab-br-botbuildstream: issue #78 ("Domain inclusion seem to not work") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/7822:05
*** tristan has quit IRC22:36

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