IRC logs for #buildstream for Saturday, 2017-11-25

*** bochecha has quit IRC00:31
*** bochecha has joined #buildstream00:31
*** bochecha has quit IRC00:36
*** bochecha has joined #buildstream00:36
*** ppt has joined #buildstream01:06
pptCALL 415-349-5666 L0DE RADIO HOUR01:06
ppthttps://www.youtube.com/watch?v=DIZqYgaOchY01:07
pptJOIN #LRH EFNET TO JOIN THE DISCUSSION01:07
pptbochecha tristan saxa jude juergbi laurenceurhegyi paulsherwood nexus tlater hergertme gitlab-br-bot csoriano inigomartinez pro[m] benbrown jjardon[m] cgmcintyre[m] kailueke[m] mattiasb mrmcq2u[m] waltervargas[m] ptomato[m] persia brlogger ironfoot01:07
*** ppt has left #buildstream01:07
*** bochecha has quit IRC01:39
*** tristan has quit IRC07:06
*** tristan has joined #buildstream07:31
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 1 commit (last: setup.py: Pinning coverage at 4.4.0 instead of 4.2) https://gitlab.com/BuildStream/buildstream/commit/a6334521433a8a917b82d826f600d854604e9ed709:28
*** bochecha has joined #buildstream10:34
*** tristan has quit IRC10:35
*** valentind has joined #buildstream11:35
valentindThere was a change recently that seems to untar symbolic links into directories.11:37
valentindalsa-lib has a symlink to . as include/alsa.11:37
valentindThen unpacked it is replaced as an empty directory11:38
*** tristan has joined #buildstream11:50
valentindtristan, found a bug with symlinks in tar11:55
valentindalsa-lib has include/also to be a symlink to '.'11:56
valentindAnd when unpacked, it becomes an empty directory.11:56
gitlab-br-botbuildstream: merge request (tar-symlinks->master: Fix untar of symlinks. Only hardlinks are relative to top of archive and should be normalized.) #163 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/16312:22
gitlab-br-botbuildstream: merge request (fix-compose-delete-with-symlink-in-path->master: Remove non canonical path from manifest after integration commands in compose plugin.) #161 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/16112:27
tristanvalentind, we intentionally normalize symlinks to be relative paths; this was initially an insurance policy to ensure that while operating on files outside of a sandbox, we never accidentally touch files outside of the staging directory due to following absolute symlink paths12:51
tristanbut, that should indeed not effect symlinks to already relative paths12:52
tristanthat is done deep in the staging process, I think you are talking about a different normalization that I did recently in tar plugin, though12:53
tristanwhile fixing the unpacking of the adwaita icon theme thing12:53
tristanvalentind, I will be flying to europe early tomorrow morning, so I expect I'll be looking at stuff again on monday morning EU time12:54
tristanby the way :)12:54
valentindtristan, I verified the tarball in the origin bug, and it was not symlinks.12:55
valentindI think symlinks are always relative.12:55
tristanyes, but for python tarfile I believe the paths are stored in the same attribute for hardlinks and symlinks12:55
valentindYes, this is why in my PR I check the type.12:56
tristanthe things is, it has to work with the normalization in both cases, because we offer the feature of unpacking a subdir of a tar (not only the root)12:56
tristanI'm not saying your PR is wrong btw :)12:56
tristanI'll have to look at it bit closer too; can you also include a regression test for your issue in tests/sources/tar.py please ?12:57
valentindI can add that yes.12:57
tristanthanks :)12:57
tristanits just from the title "only hardlinks are relative to toplevel" I wonder if its the correct fix (admittedly without really looking at it)12:58
valentindMaybe I am wrong about "hardlink".12:59
valentindMaybe it is just that tar has absolute and relative links.12:59
tristanvalentind, from what I understand; a tarball can always include a symlink to an absolute path, or even a symlink to a path that is not inside the tarball12:59
tristanbut indeed, the hardlinks are going to be treated differently12:59
tristanwe may have another issue I have to fix there, I think we may need to be fixing the internal inode number; or doing the preprocessing of fixing the tarinfo objects in a stage before extraction13:00
valentindsymlinks can be absolute, but then it is to the filessytem. Not in the tarball.13:00
* tristan kind of swept that under the rug but should take the time to fix it properly13:01
tristanbecause they dont get extracted as hardlinks, they become separate files13:01
tristan(it's kindof minor, because at least until we fix #38 we still lose the significance of intentional hardlinks, because ostree doesnt care about those and blindly dedups everything)13:02
valentindBut this is less likely to be problematic. But sure a fix would be nice. But I do not think anybody would rely on it.13:02
tristannah, nobody really cares for now, but for correctness especially when rolling out bootable images for production systems13:02
tristanit will be important to retain which files simply are the same, vs which files are intentionally hardlinked13:02
valentindtristan, one of my PR got timeout in integration_unix, and then after a rebuild after rebasing, it passed. Is integration_unix known to be unstable?13:35
valentindbrb13:36
*** valentind has quit IRC13:36
*** valentind has joined #buildstream13:39
bochechavalentind: it's known to be very slow14:02
bochechaat least it was incredibly slow for all my PRs14:02
bochechaGitlab has a timeout after which it considers jobs to be failed14:03
valentindIt stopped at exactly 1 hour.14:03
valentindThe other build was 45 minutes. So it is not that much difference.14:04
bochechayeah, I think that's the gitlab timeout by default14:04
bochechaon another project I had to increase that timeout to 4 hours :P (it's not tests, it's an actual cross-arch build, it's expected to be long)14:04
tristanhmmm, I had cranked that up14:06
tristanahhh14:06
bochechait's in Settings -> CI / CD -> General Pipeline Settings14:06
tristanvalentind, because it will be in your fork repo, you can crank up the time limit in the settings14:06
tristanexact14:06
tristanand yeah it's known and integration tests are a bit disgusting for now, needs some love14:06
valentindtristan, I cannot use check_output because it tries to decode it as UTF-814:43
valentindI tried to use "call" and git a temp file as stdout. But then there is an exception thrown because I gave stdout parameter.14:44
valentindI will lift checks on stdout and stderr and I will use a temporary file.14:47
gitlab-br-botbuildstream: merge request (lzip->master: Add support for lzip in tar source) #162 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/16214:55
*** semanticdesign has joined #buildstream15:11
tristanvalentind, that works too !15:14
tristanvalentind, also, there is an API for temp files...15:14
tristanhttp://buildstream.gitlab.io/buildstream/buildstream.source.html#buildstream.source.Source.tempdir15:14
tristanwith self.tempdir() as tmpdir:15:15
tristanvalentind, that makes sure we cleanup any temp files within the context manager, in case of process termination etc15:15
valentindTemporaryFile gives a deleted file. So it is already cleanup.17:57
valentindIf I wanted a named file I would have used that self.tempdir() however.17:59
*** tristan has quit IRC18:28
*** tristan has joined #buildstream18:29
* tristan got disconnected, repaste just in case18:29
tristan<tristan> valentind, self.tempdir() gives you a directory which buildstream cleans up when it sends it's child tasks SIGTERM and forcefully _exit()'s18:29
tristan<tristan> that wont happen with python's tempdir18:29
tristan<tristan> or python's whatever thing18:29
tristanso anyway, named or not; temporary files created in child tasks *must* be managed for forceful termination; the way to do that is with Plugin.tempdir()18:32
*** semanticdesign has quit IRC19:14
valentindtristan, do you mean termination of the process?19:57
valentindWith TemporaryFile, when the fd is closed, the inode is automatically removed from the disk since it has already been unlinked.19:59
*** tristan has quit IRC20:31
gitlab-br-botbuildstream: merge request (add-accept-header->master: Replace call to legacy urllib.request.urlretrieve by urllib.request.urlopen and…) #164 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/16421:16
*** valentind has quit IRC23:03
*** bochecha has quit IRC23:46

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