IRC logs for #buildstream for Wednesday, 2018-06-06

*** anjan-349 has joined #buildstream02:20
*** anjan-349 has quit IRC02:20
*** bochecha_ has joined #buildstream05:53
jennistristan, tlater, no worries, I'll reimplement with the more specific error07:58
*** Phil has joined #buildstream08:33
*** bethw has joined #buildstream08:39
gitlab-br-botbuildstream: merge request (jennis/alternative_remote_expiry->master: Expire artifacts in the remote artifact cache) #477 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/47708:42
*** jonathanmaw has joined #buildstream08:54
*** dominic has joined #buildstream09:20
*** Phil has quit IRC10:01
*** Phil has joined #buildstream10:01
*** jonathanmaw has quit IRC10:03
*** jonathanmaw has joined #buildstream10:19
*** Phil has quit IRC10:44
*** Phil has joined #buildstream10:44
laurenceNexus, is this a WIP or can it be removed? https://gitlab.com/BuildStream/buildstream/merge_requests/48211:15
Nexuserm11:15
Nexuslet me check something11:15
gitlab-br-botbuildstream: merge request (reduce_history_in_cache->master: WIP: Reduce history in cache) #482 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48211:25
Nexuskk, just fixed a couple of points that were raised on it11:25
gitlab-br-botbuildstream: merge request (reduce_history_in_cache->master: Reduce history in cache) #482 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48211:26
NexusWIP removed11:26
*** xjuan has joined #buildstream12:42
gitlab-br-botbuildstream: merge request (valentindavid/update_mirror->master: WIP: update mirror) #440 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/44012:58
valentindjonathanmaw, I have looked at your branch. I do not have comments yet.13:06
jonathanmawvalentind: okie doke13:06
valentindI think I do not like the side effect in translate_url. And this iteration on all combination of mirrors. But I understand the reason. I think there should have been a change in the plugin API.13:08
valentindI wonder what it means to have a source plugin requiring different alias prefixes. Then failing on some download and restart all download on another combination.13:09
valentindIt might end up trying downloading multiple times on a mirror that is down.13:11
jonathanmawvalentind: yep, that's a possibility. The worst case is a source that fetches from multiple aliases (e.g. something complicated with submodules) when most of the mirrors are down, at which point it tries to fetch exhaustively with a lot of combinations13:16
valentindjonathanmaw, I think it would have been nice to make plugin register some small objects that take care of downloading different resource, and return them. Objects that has an alias name, and you can call a method with the value for the alias which does the download.13:18
valentindBut that would require changes in source plugins.13:18
*** bethw has quit IRC13:21
*** bethw has joined #buildstream13:50
jonathanmawvalentind: hrm, a smaller API change which would reduce the amount of bad fetching would be to have sources able to raise an exception that contains the alias that didn't work13:54
jonathanmawpassing in the alias overrides in the `fetch` and `track` methods would be nicer than passing in the overrides at source creation time, but I think a lot of our sources are written with the assumption that the URL to fetch from is constant, and defined at configure time.14:02
valentindjonathanmaw, passing an alias override to fetch would still consider that fetch should download all resources for an alias from a same mirror.14:07
gitlab-br-botbuildstream: merge request (make->master: Add a kind for Make) #483 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48314:08
gitlab-br-botbuildstream: merge request (make->master: Add a kind for Make) #483 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48314:09
jonathanmawvalentind: ah yes, since an alias is a server, and it's possible the server is missing one repo but not all of them14:13
jonathanmaw:/14:13
jonathanmawI'd have to go back to generating combinations for each URL and passing those in as overrides14:24
valentindIn this case yes.14:26
jennisIs there a way to retrieve project.conf settings in a plugin?14:38
jonathanmawjennis: plugins have the _get_project() method14:39
jonathanmawthough how the settings are stored internally varies14:39
tlaterjennis: I thought you were looking specifically for options?14:40
tlaterarches, actually14:40
jennisyes but I assumed if you could get the project.conf you could then work your way from there14:41
tlaterProbably, but if there's specific API it would be nicer to use that :)14:42
jennisDoes anyone know if the above exists?14:43
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/48115:01
noisecellhi, when building https://gitlab.com/baserock/definitions/blob/master/elements/systems/minimal-system-image-x86_64.bst, and after mounting it, I discover that /sbin is linked to /usr/bin instead of /usr/sbin. https://paste.baserock.org/nolafigohu. is sbin and bin unified on buildstream or is this an error?15:30
*** Phil has quit IRC15:32
tlatervalentind: Do you happen to know what the appropriate fix for this would be: https://gitlab.com/BuildStream/buildstream/issues/380 ?15:34
tlaterI've heard from a couple of people that they keep running into this15:34
tlaterDespite tristan's claims that it's practically impossible ;)15:35
tlaterWould like to push a fix so I can just tell them to update to the latest version15:35
*** xjuan has quit IRC15:35
valentindtlater, easy to reproduce.15:41
valentindIt is not practically impossible.15:43
tlaterHaha, well, tristan meant that it's unlikely for anyone to actually run into15:44
tlaterBut apparently people do, so I'd like to fix it asap15:44
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/48115:47
jonathanmawjennis: fix dpkg plugin seems to have passed in CI, and looks okay to me (or okay as anything does when it has to do access _BuildElement__commands to work). Once this local test run has passed, I'll merge it.15:50
jennisOk sweet15:50
* jonathanmaw mashes the merge button15:54
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/48116:01
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/48116:01
gitlab-br-botbuildstream: merge request (make->master: Add a kind for Make) #483 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48316:23
gitlab-br-botbuildstream: merge request (edbaunton/make-element->master: Add a kind for Make) #484 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48416:28
gitlab-br-botbuildstream: merge request (make->master: Add a kind for Make) #483 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/48316:29
*** dominic has quit IRC16:30
valentindtlater, If you want to reproduce you can just run "git tag --delete $(git tag)"16:32
tlatervalentind: I know how to reproduce it, I'm just not sure what the proper fix is. What version do we want buildstream to think it is if there are no tags?16:33
valentindtlater, For me it happened because I always do "git pull" and not "git fetch". And pull does not take tags.16:33
valentindtlater, The one that is taken is fine. But we should not fail on parsing it.16:34
valentind0+untagged16:34
tlaterRight, that makes sense16:34
tlaterI'll see if I can whip up a patch for it :)16:34
valentindI wonder if there is a way to store or override the version. Because when making a source package, we lose the git history.16:35
valentindOtherwise package maintainers will get angry.16:35
tlaterI think we used to have a file that literally just specified the buildstream version16:36
tlaterThis whole versioneer thing is quite new16:36
paulsherwoodversion of what?16:46
gitlab-br-botbuildstream: merge request (valentindavid/331_include->master: WIP: Add support for include in project.conf) #471 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/47116:47
tlaterpaulsherwood: Buildstream tries to figure out its own version using git tags16:47
paulsherwoodwhy does it need that?16:47
* tlater is not sure about the details of how this works16:47
tlaterI think it's for logging? But I'm not even sure about that16:48
tlaterIn either case, it's buggy and can currently cause crashes. I'd like to fix that, because it's embarrassing as hell that an odd git clone can cause bst to crash...16:48
* paulsherwood is absolutely sure it would be a bad idea to have a file defining the version16:48
paulsherwoodFWIW ybd always reports its own version, using git describe16:49
tlaterpaulsherwood: What do you do if the .git directory is gone?16:49
paulsherwoodgood question... checking16:51
tlaterThat's what we're debating right now :) Buildstream also uses git in this way atm16:51
valentindTypically, when running "python3 setup.py sdist", we should generate the file and put it in the generated source tarball, and make sure to read it if we find it but not .git.16:51
tlaterYeah, that sounds sensible16:53
paulsherwoodtlater: ybd reports 'no tag found' i believe16:54
tlaterHm, that sounds like a packaging nightmare16:54
paulsherwood+1 for valentind's idea, then16:55
tlaterbst currently crashes if .git is missing, but will report 0+unidentified soon enough16:55
tlaterThen we can consider sdists...16:55
paulsherwoodwhy can't the .git be installed with the package, so this never breaks? :-)16:56
valentindBecause distributions do not like binary files.16:57
tlaterIt also makes little sense to keep the entire VC history in a package whose source code the end user will never touch16:57
jmacWhat's the problem with using a file for the version?16:57
*** tristan has joined #buildstream16:59
paulsherwoodjmac: just me being opinionated16:59
* paulsherwood worries that it will end up not getting updated in some situations16:59
tlaterjmac: IMO the version file should be automatically generated17:00
tlaterFor ^ reason :)17:00
tlaterBut we have sdist in place for that17:00
tristanvalentind, fwiw versioneer is basically doing exactly that17:02
tristanit'll use git where available and the version encoded into the package metadata otherwise, as I understand it17:02
tlaterAh, so the *only* case in which we have a problem is if it reports 0+untagged because the local git repository hasn't copied tags17:03
tristanthe old thing we were using pre-versioneer, had the side effect of only ever reporting the version that it was at `python3 setup.py install` time17:03
tristantlater, there is that weird case which pops up yeah17:03
* tlater wonders if we should report an encoded version in that case, instead17:04
tristantlater, there is no encoded version at that time; the user simply lacks enough info17:04
tristaneither the user gets git with the tags, or a dist tarball17:05
tlaterThat's a bit annoying... Well, I suppose at least we can make it not crash.17:05
tristanis there a reason why git repo without tag info is a case that should be supported ?17:05
tristantlater, a check in setup.py would probably be good yeah17:06
*** bethw has quit IRC17:06
tlatertristan: Well, the reason is that it's embarrassing when buildstream crashes because the user used an odd git command17:07
* tlater has also been asked why their builstream didn't work by 4 independent people who've managed to get a tag-less bst at this point17:08
*** xjuan has joined #buildstream17:08
tlaterIf we don't support it, we should at least have a reasonable error message, rather than a cryptic stacktrace ;p17:09
tristantlater, do we have a ticket for it ?17:12
tlatertristan: https://gitlab.com/BuildStream/buildstream/issues/38017:12
tristanI think valentind entered it yeah17:12
tlaterI asked because I wanted to write a patch, just wanted to check what expected behavior is first :)17:13
tristantlater, identify that that is the cause of the error, and print a user friendly error message without stack trace is perfect :)17:13
tristantlater, note depending on where this happens, raising AppError() is enough to have a clean exit with nicely formatted message17:14
tristanthis might happen before that, though17:14
valentindIf we could fail early saying you need to run "git fetch", that would be just what we need.17:19
tlaterYeah, I think that's the best solution, too17:21
gitlab-br-botbuildstream: merge request (tristan/remove-version-deadcode->master: _frontend/app.py: Remove unused variable at global scope) #485 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48517:23
*** tiago has quit IRC17:25
tlaterHm, I have no idea how to write a test case for this17:28
tlaterI suppose it's not really that important...17:29
gitlab-br-botbuildstream: merge request (328-support-for-downloading-sources-from-mirrors->master: WIP: Resolve "Support for downloading sources from mirrors") #404 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40417:32
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/48117:41
*** jonathanmaw has quit IRC17:42
gitlab-br-botbuildstream: merge request (tristan/remove-version-deadcode->master: _frontend/app.py: Remove unused variable at global scope) #485 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/48517:52
gitlab-br-botbuildstream: merge request (edbaunton/make-element->master: Add a kind for Make) #484 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48417:57
gitlab-br-botbuildstream: merge request (chandan/396-element-path-summary->master: _loader/loader.py: Report element-path in pipeline summary) #486 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48617:57
gitlab-br-botbuildstream: merge request (chandan/368-bst-from-project-subdir->master: WIP: _project.py: Allow running bst commands from subdirectories of project root) #428 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/42817:59
gitlab-br-botbuildstream: merge request (chandan/368-bst-from-project-subdir->master: WIP: _project.py: Allow running bst commands from subdirectories of project root) #428 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/42818:26
gitlab-br-botbuildstream: merge request (edbaunton/make-element->master: Add a kind for Make) #484 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/48418:28
gitlab-br-botbuildstream: merge request (chandan/368-bst-from-project-subdir->master: WIP: _project.py: Allow running bst commands from subdirectories of project root) #428 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/42818:30
gitlab-br-botbuildstream: merge request (chandan/368-bst-from-project-subdir->master: _project.py: Allow running bst commands from subdirectories of project root) #428 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/42818:30
gitlab-br-botbuildstream: merge request (chandan/368-bst-from-project-subdir->master: Allow running bst commands from subdirectories of project root) #428 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/42818:30
gitlab-br-botbuildstream: merge request (chandan/396-element-path-summary->master: _loader/loader.py: Report element-path in pipeline summary) #486 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48618:32
gitlab-br-botbuildstream: merge request (tristan/make-element->master: Post merge changes to the make element) #487 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48719:05
gitlab-br-botbuildstream: merge request (chandan/396-element-path-summary->master: _loader/loader.py: Report element-path in pipeline summary) #486 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48619:25
gitlab-br-botbuildstream: merge request (chandan/396-element-path-summary->master: _loader/loader.py: Report element-path when failing to load elements) #486 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48619:26
*** cs_shadow has joined #buildstream19:27
*** xjuan has quit IRC19:53
gitlab-br-botbuildstream: merge request (tristan/make-element->master: Post merge changes to the make element) #487 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/48720:25
gitlab-br-botbuildstream: merge request (chandan/368-bst-from-project-subdir->master: Allow running bst commands from subdirectories of project root) #428 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/42820:58
*** tristan has quit IRC21:03
*** tristan has joined #buildstream21:07
gitlab-br-botbuildstream: merge request (chandan/396-element-path-summary->master: _loader/loader.py: Report element-path when failing to load elements) #486 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/48621:27
gitlab-br-botbuildstream: issue #396 ("BuildStream is not reporting element-path in the startup summary") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/39622:10
gitlab-br-botbuildstream: merge request (chandan/396-element-path-summary->master: _loader/loader.py: Report element-path when failing to load elements) #486 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/48622:10
gitlab-br-botbuildstream: merge request (chandan/368-bst-from-project-subdir->master: Allow running bst commands from subdirectories of project root) #428 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/42822:10
*** tristan has quit IRC22:16
*** xjuan has joined #buildstream22:56
*** xjuan has quit IRC22:58
*** cs_shadow has quit IRC23:15
*** bochecha_ has quit IRC23:29
gitlab-br-botbuildstream: issue #368 ("Allow running bst commands from project sub-directories") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/36823:51
gitlab-br-botbuildstream: merge request (chandan/368-bst-from-project-subdir->master: Allow running bst commands from subdirectories of project root) #428 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/42823:51

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