IRC logs for #buildstream for Monday, 2017-07-24

juergbiironfoot: thanks for the MR, good catch07:26
*** tlater has joined #buildstream07:47
*** tiagogomes has joined #buildstream08:25
*** tiagogomes has quit IRC08:29
*** jonathanmaw has joined #buildstream08:39
ironfootjuergbi: i wondered if storing "project_variant" makes sense, instead of only "True"08:45
ironfooti don't know if it's possible that an element appears twice in the pipeline with different variants08:46
*** ssam2 has joined #buildstream08:48
*** tiagogomes has joined #buildstream08:54
juergbiironfoot: it will stop at the first element with a conflicting project variant, so i don't think it's necessary to store the project variant in the dict08:58
juergbia single element must only be used in one variant in a pipeline. the earlier element variant resolution should cover this08:59
juergbii'd say it's fine to merge as is but as tristan has already commented, i'll let him handle this, probably tomorrow09:01
ironfootthat's fine : )09:07
jonathanmawtrying to figure out why the cache key changes before vs. after build. It looks like it wasn't just the contents of get_unique_key().09:55
jonathanmawI think it might be self.__public differing, but it's hard to read with all the provenance data09:55
jonathanmawI'll strip out provenance and see what's different then.09:55
juergbijonathanmaw: isn't it just self.commands as we discussed last week?09:56
juergbior are you looking into a different issue?09:56
jonathanmawjuergbi: apparently not. I've changed it so that there's a self.__original_commands used in get_unique_key instead, which doesn't change during build09:57
jonathanmawbefore and after build, they have the same contents now09:57
jonathanmawcache key is still differing, at a guess I'm suspecting self.__public, so I'm having a look at that09:57
juergbihm, i thought i diff'd the dict used to generate the key and only saw a difference in commands09:58
jonathanmawjuergbi: the only difference I see now is public data, possibly provenance. over 2000 lines of stuff before the build, and about 60 lines after the build.10:10
jonathanmawaha, here's the actual differences: https://pastebin.com/HSpk6qRD10:14
jonathanmawlooks like self.__public is being changed, even when we're trying to write to self.__dynamic_public for that part.10:14
*** locallycompact has joined #buildstream10:15
jonathanmawaha! the problem was https://gitlab.com/BuildStream/buildstream/blob/master/buildstream/element.py#L101610:27
jonathanmawthat doesn't copy the dict, so writing one is writing the other.10:27
jonathanmaw"self.__dynamic_public = dict(self.__public)" does the job, but I don't know if provenance also needs changing10:28
jonathanmawI can look in _yaml to see if there's an appropriate way to copy dicts10:28
*** jonathanmaw has quit IRC10:30
*** jonathanmaw has joined #buildstream10:33
*** jonathanmaw has quit IRC10:44
*** jonathanmaw has joined #buildstream10:45
*** ssam2 has quit IRC10:48
juergbiah, the base dict is not copied, even though domain data dicts are copied10:56
gitlab-br-botbuildstream: merge request (jonathan/dpkg-build-key-fix->master: Fix cache key changes in dpkg-build elements) #64 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/6412:41
*** tlater has quit IRC13:09
*** tlater has joined #buildstream14:25
tlaterHm. Using a tarfile as the ostree repo makes extraction incredibly slow14:31
juergbitlater: right, the extract directories are currently kept around, though, so it might not be too bad14:38
juergbi(with OSTree, these are just hardlinks, not occupying additional blocks)14:38
tlaterAh, yeah, that won't work with a tarfile14:38
juergbiit will take additional disk space but it would still work, right?14:39
juergbiassuming the tar files are compressed, it should at least not require double the space14:39
tlaterA hardlink into a tarfile?14:39
juergbino, caching extract directories14:39
tlaterOh, yeah, that works fine14:39
tlaterIt just a very long time, which is especially annoying for base images.14:40
tlaterI've been waiting for ~30 mins now...14:40
juergbioh :/14:42
tlaterIt's a lot quicker when I use native tar14:43
tlaterHmmm14:43
jonathanmawhrm, https://gitlab.com/jonathanmaw/buildstream-tests/-/jobs/24102881 is failing14:48
jonathanmawthe actual error seems to be "Error opening file /builds/jonathanmaw/buildstream-tests/buildstream-tests/dpkg-build-test/keys/gnome-sdk.gpg: No such file or directory"14:48
jonathanmawhrm, it's not visible in the commit, either...14:49
jonathanmawmystery solved.14:50
tlaterWhoo, finally found an implementation that does it in 2 minutes rather than 2 hours :)15:46
tlaterOh, nevermind, this one doesn't extract anything15:47
jonathanmawlol15:48
tlaterI think I'll have to use a native shell instead of python methods :/ Let's hope AIX and Solaris have reasonable implementations.15:49
*** ssam2 has joined #buildstream16:06
*** ssam2 has quit IRC16:18
*** ssam2 has joined #buildstream16:35
*** jonathanmaw has quit IRC16:47
*** tlater has quit IRC16:51
*** locallycompact has quit IRC17:07
*** locallycompact has joined #buildstream17:07
*** locallycompact has quit IRC17:12
*** jjardon[m] has quit IRC18:03
*** waltervargas[m] has quit IRC18:03
*** mattiasb has quit IRC18:03
*** waltervargas[m] has joined #buildstream19:31
*** ssam2 has quit IRC20:04
*** mattiasb has joined #buildstream20:22
*** jjardon[m] has joined #buildstream20:58

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!