IRC logs for #buildstream for Friday, 2017-06-30

*** tristan has quit IRC03:35
*** tristan has joined #buildstream04:06
*** ChanServ sets mode: +o tristan04:36
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 1 commit (last: utils.py: Improved glob() function) https://gitlab.com/BuildStream/buildstream/commit/f2d890e7494e06fd835b6f63a5c1e3a2dc1018bd07:08
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 3 commits (last: utils.py: Use proper reStructuredText notes in API docs) https://gitlab.com/BuildStream/buildstream/commit/be7db99e767a66b02e87686874ffcc1c678efaa607:26
*** jonathanmaw has joined #buildstream07:42
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 1 commit (last: Change the default behaviour of `bst track` to --deps=none) https://gitlab.com/BuildStream/buildstream/commit/e6441c354d8972775795e333ab1211c6ec1ff97007:43
gitlab-br-botbuildstream: merge request (sam/track-default-none->master: Change the default behaviour of `bst track` to --deps=none) #44 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/4407:44
gitlab-br-botbuildstream: issue #43 ("Enhancement: `bst track --deps=none` should be default behaviour") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/4307:45
*** tlater has joined #buildstream08:12
tristantlater, so I've merged the initial buildstream-tests stuff...08:21
tristantlater, it would be good to have a single shell script which tests can source to do stuff like assert permissions of files in a checkout, or whatever kind of code sharing can be done with those shell scripts08:21
tristantlater, also, I would like buildstream-tests *itself* to also have a .gitlab-ci.yml, doing the sort of backwards of what the buildstream one will do08:22
tristanso for instance, every time we add some test or modify some test, we can have that push automatically run against buildstream master08:22
tlaterAlright, should add CI on the buildstream-tests repo before I finish the MR for the buildstream repo CI?08:24
tristantlater, either way is fine08:25
tristantlater, note though, today I have finally changed over the split rules to be globs08:25
tlaterI've kept tests that work with split rules outside my MR so far, because I couldn't get them to work.08:26
tristanthe supported syntax is basic glob plus bash's 'globstar', it's documented here: https://buildstream.gitlab.io/buildstream/buildstream.utils.html#buildstream.utils.glob08:26
tristanOk08:26
tlaterOh, so this doesn't require the .* anymore?08:27
gitlab-br-botbuildstream: merge request (tristan/test_tests->master: WIP: Add integration tests) #40 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/4008:27
tristantlater, correct, they are no longer regex08:28
tristan(although internally they become regex, I just feel that regex is not a user friendly API for split rules)08:28
tlaterHmm. I was a bit afraid of this. The tests seem to take very long :/08:35
tristanYeah, they might do that08:35
tristantlater, ok so, there is something else08:36
tristantlater, I think that we should change our general approach to the scripts08:36
tlaterOk08:36
tristanBut I wonder how much we can get done dynamically in .gitlab-ci.yml :)08:37
tristanthat can be fun08:37
tlaterSo you want to run the individual tests from inside the gitlab-ci file?08:37
tristantlater, so basically the yaml lets us define some stages and a bunch of tests which need to be run in a given stage08:37
tristanyeah08:37
tristanthat will get us a better fail-early experience08:38
tristanand also complete faster I think08:38
tlaterI guess that can work. We can quite easily source shell scripts from inside that.08:38
tlaterAnd just build a generic library which makes this go down to a few commands.08:38
tlaterPerhaps there's already something out there that does this, too.08:38
tristanWe can easily source shell scripts, but... can we use data in the repo to compose the structure of the tests ?08:38
tristanI guess it's just a minor issue but it would be nice if we can08:39
tlaterWhat do you mean?08:39
tristantlater, basically, I would like to see a CI pipeline where say, we run ./setup.py test first, and then we run every integration test in parallel08:39
tlaterAnd the integration tests boil down to .bst definitions?08:39
tristanBut... ideally at least; I dont want the definitions for each test to be hard coded into the .gitlab-ci.yml08:40
tristantlater, not because I want something so ultra fancy, but because it would be nice to maintain this in one place (in buildstream-tests), instead of having to duplicate that also in the buildstream .gitlab-ci.yml08:41
tristani.e. it just boils down to "where does the list of tests go ?"08:41
tlaterYeah, that's definitely possible. I can write tests that just need .bst elements to be defined in some directory in the test repo.08:41
tlaterOh, wait, but how would these be run in parallel then?08:43
tristantlater, ok look at this for example: https://gitlab.com/baserock/ybd/pipelines/916850308:43
tristanthere is a nice CI pipeline08:43
tristanthe Build "stage"... does 5 builds in parallel08:43
tristanlooking at this sample: https://gitlab.com/baserock/ybd/blob/master/.gitlab-ci.yml08:44
tristanthe different pipeline parts (left to right) are defined as "stages"08:44
tristanline 1108:44
tlaterYeah, but the individual tests in build need to be defined individually.08:44
tristantlater, that's what I'm wondering if we can do dynamically :D08:45
tlaterI'll read into gitlab's documentation, but I kind of doubt it.08:45
gitlab-br-botbuildstream: merge request (artifact-storage->master: WIP: Artifact storage enhancements) #45 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/4508:48
tristantlater, yeah I'm asking in #gitlab right now, but also doubt it08:49
juergbitristan: i'm not sure about what metadata to store / in what format. i've implemented it as storing the dict that is also used to generate the cache key (as yaml file) for now. you might have had something else in mind, though08:51
tristanjuergbi, that sounds perfect; yes everything in yaml; the most important afaics is the public data; but lets record also at least the cache key08:52
tristanit will be interesting in the next phase, because we will want to store both cache keys in there08:52
tristanAlso, I guess any interesting provenance information can be fine08:52
tristanbut not required really08:53
juergbitristan: it looks like this at the moment: https://pastebin.com/ssyAte4e08:53
tristanjuergbi, so I dont think the dict that is get_unique_key() is really correct, if we're using it directly08:54
tristanbecause we will want to read into that; binding the two together makes a very strange implied requirement on get_unique_key()08:55
juergbithe public data part would actually have to be guaranteed stable08:57
juergbido we need/want stability for all metadata we save or only selected parts?08:57
tristangood point08:57
tristanjuergbi, in which case, we should also record the major/minor buildstream version08:58
tristanjust in case08:58
juergbiright08:58
tristanSo there could be an informative part meant only for humans to observe08:59
tristanbut lets not care about that immediately08:59
tristanlets assume that everything that goes in there is something that buildstream is going to read back08:59
juergbiright now we don't use the element's own public data in the cache key at all (only public data of dependencies). however, if we store the element's own public data in the artifact cache, we also need to use it for cache key generation (to ensure we trigger rebuild if it changes)08:59
juergbiok, so we write only what we really need right now08:59
tristanI have been thinking of that yeah, actually we very selectively use only parts of the public data of dependencies09:00
tristandepending on the element type09:00
tristanSo anyway regarding cache key calculations, the fact that artifact builds can modify public data changes things significantly09:01
tlaterOh, wait, gitlab CI supports caching?09:01
tristantlater, I have no idea :)09:01
tlaterI'll have to try this09:01
juergbi tristan the cache key would be calculated based on statically declarred public data. dynamic public data should not matter for the cache key09:02
tristantlater, I think it helps a lot though yes, for instance you can have your sources already cached at least09:02
tlaterYeah, that's pretty big09:02
tristanjuergbi, that is a fair point, although it means that the pipeline/engine has to see these as two separate things09:02
juergbiyes, but we can't get around that09:03
juergbiif the element is not built/cached yet, it's impossible to calculate cache key using dynamic public data09:03
tristanhmmm09:03
tristanfair point09:03
juergbieither we can somehow make sure that cache key is always generated before we read back dynamic public data09:04
juergbior we store them both at the same time, aware of the differences09:04
tristancache keys are generated along the way, only in the case of TrackQueue being enabled09:04
tristanit's nice to know them before building09:04
tristanalthough it *can* technically be delayed further, would rather not09:05
tristanI guess that is fine09:05
juergbiit would change the whole pipeline approach09:05
tlaterNothing in the gitlab documentation suggests we can push jobs from within the shell, unfortunately.09:06
tristanyeah I really dont want that... I mean "I guess that is fine, that cache keys are calculated based only on static data"09:06
tristanjuergbi, maybe we can simplify the plugin facing API by stating that: "Whenever you read public data, you get only statically defined public data, except during the assemble() methods, when you get the effective public data" ?09:07
tristanSo the two exist, but plugins dont really have to care09:07
tristanWhen they do get_unique_key(), they get static data; when they are doing a build, they get the effective data09:07
juergbihm, same method returning different values depending on from where / when it's called?09:08
tristanhehehe09:08
tristanyes I did just suggest that09:08
juergbidoesn't sound very intuitive09:08
tristanI'm throwing it out there, not sure it's a great idea09:08
tristanbut having the two concepts separate is also undesirable09:09
juergbihm, do plugins actually need the static data of dependencies?09:10
juergbiisn't it only Element._get_cache_key() that needs it?09:10
tristanok so09:13
tristanThe BuildElement wants to know if any of it's dependencies have changed integration-commands, a build element will do something different if they have changed, so cache key is different09:14
tristanbut if a BuildElement's *own* integration commands change, it does not effect the build... *HOWEVER*, this changes now09:15
tristaninteresting09:15
*** ssam2 has joined #buildstream09:15
juergbiwell, an element's dynamic public data should never change as long as its cache key stays the same09:15
juergbias the same sources / static data should generate the same dynamic public data09:15
tristanjuergbi, Also... a compose element wants to know about the split rules that are effective when composing/splitting, the rationale there is that if glibc changes split-rules, only that compose element at the end of the pipeline needs to be rebuilt09:16
juergbiisn't this also handled properly by just using the cache key (with static public data included)?09:16
tristanI dont think so... here is a case that I'm worried about09:17
tristanUser A builds glibc09:17
tristanglibc then changes the split-rules, which does not effect it's own cache key09:18
tristanUser B downloads the older, cached artifact of glibc09:18
tristanUser B composes a system, but now has outdated public data they loaded from the downloaded artifact09:18
tristanwhich they use to split and compose the system ?09:19
juergbisplit-rules would be in static public data of glibc, wouldn't it?09:19
juergbior do you mean dynamic split rules?09:19
tristanI mean the dynamic one09:19
juergbiok, in that case, they can only change if glibc sources or commands change, right?09:19
tristanbecause it's sensible that an element should only ever rely on the dynamic one at assemble() time09:19
tristanMaybe we bite the bullet and just say that all static public data is included in an artifact cache key09:20
juergbididin't i already mention this?09:20
tristanjuergbi, also because; especially if we are going to upload it to an artifact share, we want the recorded metadata to effect what was uploaded09:21
juergbistatic public data needs to be included09:21
tristanit currently is not09:21
tristanjuergbi, however it means that we lose that optimization09:21
tristanof being able to modify split rules in the lower stack without rebuilding09:21
juergbiright, we would lose that09:22
juergbii don't see this as something extremely frequent, though09:22
juergbii.e., rather less frequent than source updates09:22
tristanOkay.09:22
tristanLets do that then09:22
tristantlater, so people in #gitlab have confirmed that no such beast exists09:25
tlaterAww09:26
tristanso dont worry about it, we'll just have to live with it09:26
tristanthey did point out this feature: https://docs.gitlab.com/ee/ci/yaml/#anchors09:26
tristanwhich might be helpful to make more brief yaml, but doesnt really do anything dynamic09:26
tlaterYeah. I'd like to stay away from defining every test inside the CI, there are just too many for this.09:27
tristanthat usage of a '<<' key in a dict is interesting though09:27
tristanit's inspiring that we might be able to use that for doing tricky stuff in our own yaml dict compositing09:27
tristan(like explicitly clearing out values)09:28
tlaterI managed to wrongly check for git's unshared permissions in the script... I'll have to figure out what exactly it keeps before I can complete the MR for the CI.09:30
tlaterSo it turns out any files in the gitlab runner have permissions set to 77710:09
tlaterThe only way to handle this sensibly is to completely stop checking permissions10:09
jonathanmawtristan: hmm, I'm getting an error when trying to search for an element during configure. Am I right in thinking that information's not available at that point?10:13
jonathanmawfor that matter, it also seems like self.info doesn't work in configure. Is there a kind of logging that is available during that stage?10:14
ssam2tlater, that sounds weird, a filesystem shouldn't just lose all permissions10:16
ssam2tlater, unless it's FAT or something10:16
tlaterNo, it's git. Git doesn't preserve permissions.10:16
tlaterI thought it preserved at least the executable bit, but it doesn't seem to.10:17
ssam2it should store exec bit10:17
tlaterUnless it actually is FAT10:17
ssam2but yeah I guess it doesn't store others10:17
tlaterI suppose we'll have to live with just checking diffs10:18
tristangit certainly does store permissions10:25
tristantlater, are you using the docker image with the fresh ostree ?10:25
tristanjonathanmaw, try launching with `bst --debug` ?10:26
tlaterI'm using ssam2's docker image10:26
tristanjonathanmaw, I think we have messages disabled during that stage though10:26
tlaterThe problem isn't bst10:27
tristanjonathanmaw, and no I dont expect the pipeline to be searchable at that stage10:27
tristanhmm10:27
jonathanmawtristan: yep, --debug made the messages show10:27
tristangit certainly stores permissions though, your recent MRs were changing 0644 -> 0755 if you remember10:27
tlaterOh, nvm10:27
tristanjonathanmaw, so yeah thats a bit... I dont know what to do with that10:28
tlaterYeah, that's true. Strangely it doesn't propagate into the container/image.10:28
tristanjonathanmaw, we could allow it, but it will mess with the status of loading the pipeline10:28
tlaterIt can't be FAT either because otherwise I wouldn't get permission issues10:28
tlaterThey'd just all be ignored10:28
tristanjonathanmaw, maybe better to just indicate that in the documentation for Plugin.configure() ?10:29
jonathanmawtristan: I'm fine with it not showing up unless you're using --debug, so documenting it seems the best approach.10:30
* jonathanmaw goes to lunch10:32
jonathanmawI'll submit a merge request to document Plugin.configure() when I get back.10:33
tlaterssam2: Is there a way we can set up the cache to be inside the checkout directory?10:36
tlaterGitLab CI allows creating a cache as long as it's in the checkout dir10:36
ssam2i'm not sure10:36
ssam2jjardon[m] might know10:37
tristantlater, so you know you can easily set the sources directory with the config file right ?10:43
tristantlater, for BuildStream, just in case you were wondering about that10:44
tlaterOh, right10:44
tlaterThat's definitely better10:44
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 4 commits (last: utils.py: Rewording some docstrings for new glob() api) https://gitlab.com/BuildStream/buildstream/commit/499bacc276497fa12b71a778cdaf15d83e8efdd210:45
tlaterAh, no, the issue was that that caused the out of space issue ssam2 had earlier, didn't it?10:46
tristantlater, alternatively, note that everything defaults to XDG_CACHE_HOME https://buildstream.gitlab.io/buildstream/config.html#config10:47
tristantlater, the issue before was that it was building on an undesirable partition, indeed10:47
tristanI suspect it was a tmpfs or smth10:47
tlaterBut the project directory should not be in that partition10:48
tlaterI'll have to test this...10:48
tristanI dont know where the project directory or what should be where :)10:48
tlaterI might be able to speed up the tests to like 4x the speed x)10:49
tristanok some docs improvements appeared: https://buildstream.gitlab.io/buildstream/10:55
tristantlater, notice "Public Data" section10:55
tristanwhich is there to cover any core public data types in the "bst" domain10:56
tristanI think plugins which have their own special data, and no core APIs, should probably use different domains10:56
tristannot sure10:56
tlaterWhere is the public data section?10:59
tristanin the first area11:00
tristanafter "The BuildStream Format"11:00
* tristan adds a link to utils.glob() as that should be useful from split-rules description11:01
ssam2i find the docs a bit hard to navigate at times. I think the issue is that none of the links under "Using BuildStream" end up in the table of contents11:01
tlaterAh, sorry, I had the page cached...11:02
ssam2there's lots of useful info in the "Installing BuildStream", "Invoking BuildStream" etc. pages, but they can only be reached by scrolling halfway down the front page11:02
tlaterIt's hard to get back to the front page, too.11:03
tlaterGreat, that explains split rules. I think I attempted this format at some point, so that may actually be a bug, but I'll have to check.11:04
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 1 commit (last: Enhanced documentation for split-rules public data) https://gitlab.com/BuildStream/buildstream/commit/426bbcbc744be8097a8324d7ca111336e842780111:08
tristantlater, right but we changed from regex to glob now, so that *might* have been the issue11:08
tristanit could of course be a bug :)11:08
tristanssam2, maybe I have a taller browser than you do as I see that at first, but we should probably have a page dedicated to being an introduction and reduce the top part to just a short paragraph11:09
ssam2yeah that would help11:10
tristanthere is supposed to be something on the left you can navigate with, but it was difficult to get it to work with sphinx11:12
tristanI ended up giving up trying to enhance that11:12
tlaterI can't get the tests to succeed on the ci server. The build environments are completely different for no clear reason :(11:12
tristansecond time now I got this error: https://bpaste.net/show/d4e3bd8922b411:19
tristangonna be tricky11:20
tristanBut doesnt make sense to me11:20
tristanit's very rare that it happens, and we unmount by sending SIGTERM to a child process that runs fuse in the foreground11:21
tristanthat process is in this loop: https://github.com/libfuse/libfuse/blob/master/lib/helper.c#L25711:22
tristandoing fuse_loop() with signal handlers installed, which cleanly exit the loop and unmount on SIGTERM :-S11:23
* tlater Goes for lunch while waiting for a build11:23
tristanso even, when we wait/join that subprocess, the mount should be synchronously unmounted11:23
tristanI think maybe my problem is that I've been using fork() without execve()11:31
tristan(multiprocessing)11:31
tristanBut its annoying to call out through the shell to start a process with... just a python function again11:31
tristanah, it could be a bug in the FuseOperations itself ! if it crashes, this might happen11:36
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 1 commit (last: _fuse/mount.py: Check exit status of fuse mount process) https://gitlab.com/BuildStream/buildstream/commit/c5101a06fdc49d358924245b0ad4da1ec94da26d11:54
gitlab-br-botbuildstream: merge request (tristan/test_tests->master: WIP: Add integration tests) #40 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/4011:54
tlaterThe cache seems to be working :)12:21
gitlab-br-botbuildstream: merge request (jonathan/plugin-doc->master: plugin.py: Document that logging is normally suppressed during configure) #46 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/4612:28
*** tristan has quit IRC12:29
gitlab-br-botbuildstream: merge request (tristan/test_tests->master: WIP: Add integration tests) #40 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/4013:30
tlaterI'll create a MR with all passing tests for now, just so that the CI can be up and running soon.13:38
tlaterCaching/weird failures still need debugging...13:38
gitlab-br-botbuildstream: merge request (tristan/test_tests->master: WIP: Add integration tests) #40 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/4013:40
jonathanmawhrm, it seems that the problem might not have been that I was searching for depends in configure13:51
jonathanmawsince it's failing in assemble, too13:52
ssam2it seems that an element gets rebuild if there's a change to one of its runtime dependencies13:52
ssam2which is illogical in theory, because the build should turn out exactly the same13:52
ssam2but I guess changing runtime dependencies changes the cache key13:52
juergbissam2: that shouldn't be the case14:04
juergbicache key is generated based on build dependencies14:04
ssam2hmm14:05
ssam2i could be wrong, but will keep an eye on it14:05
juergbidependencies = [e._get_cache_key() for e in self._direct_deps(Scope.BUILD)]14:05
ssam2that seems pretty conclusive14:06
*** violeta has joined #buildstream14:06
juergbithere could be bugs in dependency calculation but i would have expected this to work properly14:06
ssam2i just removed a runtime dependency from an element, rebuilt it, and it is being rebuilt from scratch14:07
ssam2so maybe there is a bug14:07
ssam2yes, the cache key is different14:08
juergbiand it was only a direct runtime dependency that was removed, no other changes?14:10
ssam2yeah14:11
juergbie.g., removing a runtime dependency of a build dependency will trigger a cache key change14:11
ssam2I have buildstream.bst which builds BuildStream14:11
ssam2and then it as Git as a runtime dependency14:11
ssam2*it has Git14:11
ssam2removing Git as a runtime dependency changes the cache key14:11
juergbissam2: what kind of element is buildstream.bst?14:12
ssam2distutils14:12
ssam2might be nice having a `bst show --format '%{cache-key-unencoded}'` or something to investigate cases like this14:13
juergbiok, i don't see why this happened right away14:13
juergbiagreed14:14
*** hergertme has quit IRC14:15
*** hergertme has joined #buildstream14:17
*** violeta has quit IRC14:21
jonathanmawhrm, after rebasing against the latest master, my dpkg-build elements aren't working14:34
jonathanmawbecause rst2man is now a broken symlink14:35
jonathanmaw"/usr/bin/rst2man: broken symbolic link to ../../../../../../../../../home/jonathanmaw/.cache/buildstream/build/debian-python-ea2ze8p8/root/etc/alternatives/rst2man"14:35
jonathanmawI'm also unable to track down why my dpkg-deploy elements no longer have any Scope.BUILD dependencies14:38
jonathanmawbut I think that's a separate matter14:39
ssam2oh dear, has it been a while since you rebased?14:39
ssam2could be the symlink patches that we've put in the past couple of weeks14:39
jonathanmawssam2: I think so, yes14:39
ssam2i haven't had a chance to dig into that yet, apparently it also broke deployments14:40
ssam2might be best to revert the symlink patches for now if its blocking you14:40
ssam2ah, I think the issue might be the 'integration' entry of the cache key14:43
ssam2(for my rebuilds issue)14:43
jonathanmawssam2: can confirm, rebasing my changes onto an earlier commit removed the symlink problem14:44
ssam2ok14:44
ssam2juergbi: https://pastebin.com/Hn8C1ekr14:44
ssam2juergbi: seems that it includes the name of every dependency in the 'integration' section, which probably doesn't make sense14:44
juergbissam2: that should only cover build dependencies and their runtime dependencies, though, not direct runtime dependencies14:45
ssam2ah ok14:45
ssam2you're right14:45
ssam2let me try a proper diff then14:46
ssam2seems the difference is in the 'dependencies' element14:46
ssam2looks like each runtime dependency is included in that list14:47
juergbithat's odd14:47
ssam2looks like that's hope element._direct_deps() is intended to work14:48
ssam2*how14:48
ssam2no wait14:48
juergbiscope should be limited to build deps14:48
ssam2yeah, it should be14:48
ssam2https://gitlab.com/BuildStream/buildstream/blob/master/buildstream/element.py#L58414:50
ssam2surely that should be: `elif scope == Scope.BUILD` ??14:50
juergbieh, yes, most likely14:50
ssam2i think we got it then :-)14:50
juergbi:) good catch14:50
juergbiit's correct for dependencies() which includes indirect deps, but wrong in _direct_deps()14:51
gitlab-br-botpush on buildstream@master (by Sam Thursfield): 1 commit (last: element.py: Fix behaviour of Element._direct_deps(Scope.BUILD)) https://gitlab.com/BuildStream/buildstream/commit/b194179d422b65ce8eaa599901b0362840584adb14:58
gitlab-br-botbuildstream: merge request (jonathan/plugin-doc->master: plugin.py: Document that logging is normally suppressed during configure) #46 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/4615:00
*** jonathanmaw has quit IRC15:02
ssam2going to have to start looking at cleaning up the BuildStream artifact cache before long15:13
ssam2hmm, actually I have to rebuild anyway because I just changed how cache keys work15:13
ssam2for now I will cheat and just delete the whole thing :-)15:13
tlater^ That solves a lot of issues ;P15:17
*** tristan has joined #buildstream15:27
*** ChanServ sets mode: +o tristan15:27
tristanssam2, reading the logs, yeah that really should not be happening15:31
* tristan reads more logs and sees there is some kind of conclusion...15:31
tristanah, good [pc]atch :)15:32
ssam2:-)15:47
ssam2tlater, I think I've figured out the glibc issue you were having in the source bundle16:49
tlaterOh, what was it?16:49
ssam2somehow /dev/null ends up in the source bundle, but it's not a real /dev/null16:49
ssam2so mounting a proper devtmpfs at /dev should fix16:49
ssam2just testing that out now (but setting up nohup to run it so that I can go home :-)16:49
tlaterWhy does /dev/null end up in the bundle? x)16:50
ssam2not sure16:50
tlaterPerhaps fhs-dirs?16:50
ssam2the contents are the output of `mkdir --version`16:50
ssam2so I guess something is doing `mkdir --version > /dev/null` for whatever reason16:50
tlaterYeah, makes sense16:50
tlaterProbably testing whether it runs, since that should return 016:51
ssam2yeah16:51
ssam2definitely something a bit weird going on, but I'll try ignoring it for now16:51
tlaterThe permissions were a gitlab issue btw16:51
ssam2aha16:51
ssam2hmm actually it's not the bundle that contains /dev/null, it's the stage2 sysroot16:53
ssam2so something weird happens during bootstrap16:53
ssam2which shouldn't happen, as bst should be mounting device nodes in the staging area...16:53
ssam2anyway, glibc is compiling now, let's see what breaks over the weekend :-)16:53
tlaterProbably the very next package ;)16:54
ssam2ha, you were right :-(17:05
ssam2got as far as zlib17:06
tlater:(17:06
ssam2oh well, lots to do on monday17:06
ssam2have a good weekend17:06
tlaterYou too :)17:06
*** ssam2 has quit IRC17:06
*** tlater has quit IRC17:08
*** tiagogomes has quit IRC17:56

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