IRC logs for #buildstream for Wednesday, 2017-12-13

*** tristan has quit IRC01:16
*** Ya_ALLAH_Ya_Muhmd has joined #buildstream01:40
*** Ya_ALLAH_Ya_Muhmd has left #buildstream01:40
*** tristan has joined #buildstream02:16
*** mcatanzaro has quit IRC02:44
*** Ya_ALLAH_Ya_Muhmd has joined #buildstream03:49
*** Ya_ALLAH_Ya_Muhmd has left #buildstream03:49
*** Ya_ALLAH_Ya_Muhmd has joined #buildstream04:15
*** Ya_ALLAH_Ya_Muhmd has left #buildstream04:15
*** noisecell has joined #buildstream07:33
*** sstriker has joined #buildstream08:52
gitlab-br-botbuildstream: merge request (scripterror->master: plugins/.../script.py: fix ElementError ref) #188 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/18809:13
gitlab-br-botbuildstream: merge request (scripterror->master: plugins/.../script.py: remove check for 'commands') #188 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/18809:15
gitlab-br-botbuildstream: merge request (scripterror->master: plugins/.../script.py: remove check for 'commands') #188 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/18809:16
*** jude has joined #buildstream09:29
*** jonathanmaw has joined #buildstream09:37
gitlab-br-botbuildstream: merge request (skip-configure-tests->master: Workspaced builds only run configure commands once) #191 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/19109:43
gitlab-br-botbuildstream: merge request (finallyunregister->master: _signals: always pop handlers, and restore states) #192 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/19209:55
gitlab-br-botbuildstream: merge request (scripterror->master: plugins/.../script.py: remove check for 'commands') #188 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/18809:56
gitlab-br-botbuildstream: merge request (cache_local_element_unique_key->master: Cache the local element's unique key) #193 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/19310:14
*** ironfoot sets mode: +b *!Ya_ALLAH_Y@*10:17
*** ssam2 has joined #buildstream10:21
*** bochecha has joined #buildstream10:26
*** bethw has joined #buildstream10:27
adds68One i have built something in bst, how do i view the artifact?10:41
bochechaadds68: depends what you want to do with it10:41
adds68Like is there a way to view the built things in a list, like Docker does with images/containers?10:41
adds68bochecha, i have an sdk, which depends on a base10:41
bochechayou can open a shell in a sandbox populated with the build result: `bst shell element.bst`10:41
adds68The base is build, and i need to somehow get that base into the sdk build10:42
bochechayou can also check it out, to have a tree populated by the build result: bst checkout element.bst DIRECTORY`10:42
bochechaah10:42
bochechaare those elements in the same project?10:42
adds68bochecha, yea they are in the same project, but different directories?10:43
bochechaas in, you have a base.bst which builds the base, and an sdk.bst which builds the sdk, in the same project?10:43
bochechathen just add a dependency on base.bst in sdk.bst10:43
adds68bochecha, correct, good point, i'm not sure why it isn't configured in such a way10:43
bochecha:)10:44
adds68bochecha, currently there is base/ and sdk/ and sdk/ relies on base being built10:44
bochechaI don't see how that changes anything10:45
bochechaas long asthey are in the same project, then you can just add dependencies between elements10:45
ssam2in https://gitlab.com/freedesktop-sdk/freedesktop-sdk they are actually separate projects10:46
ssam2i'm not entirely sure why it's done that way, would need to ask valentind10:46
ssam2once the recursive-pipelines feature branch is merged in buildstream, it'll be possible to have one project depend on another anyway10:47
ssam2in the meantime `bst checkout` is what you want10:47
adds68ok thanks all :)10:48
*** jude has quit IRC11:03
valentindssam2, one project is cross-compiled, the other is not.11:05
valentindbootstrap compiles just what is needed to use with buildstream.11:05
*** valentind has left #buildstream11:07
*** jude has joined #buildstream11:14
*** noah has joined #buildstream11:41
*** noah has quit IRC11:42
tlaterjonathanmaw: After your plugin branch lands, do we still use the '<plugin-package>:<plugin>' format for an element 'kind'?11:52
jonathanmawtlater: no11:52
tlaterIt becomes just <plugin>?11:53
jonathanmawjust <plugin>, finding out where the plugin package is is done via project.conf11:53
tlaterCool, ta jonathanmaw :)11:53
gitlab-br-botbuildstream: merge request (sam/savefile-utility->master: utils.py: Add SaveFile utility class) #179 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/17911:54
gitlab-br-botbuildstream: merge request (sam/multiple-caches->master: Multiple remote cache support) #166 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/16612:39
gitlab-br-botbuildstream: merge request (cache_local_element_unique_key->master: WIP: Cache the local element's unique key) #193 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/19312:51
*** bochecha has quit IRC13:02
*** benbrown has quit IRC13:02
*** csoriano has quit IRC13:02
*** ptomato[m] has quit IRC13:02
*** persia has quit IRC13:02
nexushmm13:04
gitlab-br-botbuildstream: merge request (master->master: WIP: Documentation improvements) #183 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/18313:07
gitlab-br-botbuildstream: merge request (cache_workspace_key->master: Cache the workspace key) #189 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/18913:12
gitlab-br-botbuildstream: merge request (sam/multiple-caches->master: Multiple remote cache support) #166 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/16613:34
*** bochecha has joined #buildstream13:34
*** benbrown has joined #buildstream13:34
*** csoriano has joined #buildstream13:34
*** ptomato[m] has joined #buildstream13:34
*** persia has joined #buildstream13:34
*** csoriano has quit IRC13:34
*** csoriano has joined #buildstream13:35
gitlab-br-botbuildstream: merge request (rmtempdir->master: utils._tempdir: don't leak on exceptions) #194 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/19413:54
gitlab-br-botbuildstream: merge request (workspaces-yml-version-1->master: Add support for version 1 workspaces.yml format) #176 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/17614:00
*** jude has quit IRC14:15
gitlab-br-botbuildstream: merge request (cache_local_element_unique_key->master: Cache the local element's unique key) #193 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/19314:25
*** mcatanzaro has joined #buildstream15:15
*** jude has joined #buildstream15:44
*** noisecell has quit IRC16:12
ssam2i've profiled the startup time of `bst` a bit, and it seems by far the slowest thing we do is importing pkg_resources16:21
ssam2that's over 0.3s of the 0.5s total startup time16:21
tristanand we basically just do that... so that we can write the version in the output logs and in `bst --version` output ?16:32
ssam2we use it 3 ways16:33
ssam2one in the `bst` startup script16:33
ssam2one to get version number16:33
ssam2and one to discover plugins16:33
ssam2it's definitely feasible to do all that in other ways16:34
tristanthe heading of log files and the version and plugins16:34
tristanCertainly, but right now we have a useful thing solved with this extension we're using16:34
persiaThe version is the easy change here.  What's the strategy for plugins without pkg_resources_16:34
persias/_$/?/16:35
tlaterpersia: We currently have pre-defined directories in which we look for them16:36
tristanpersia, I think the right way to do that is have bst installed in a prefix and advertise a directory where third parties can install plugin packages at or similar, via pkg-config (i.e. bit more traditional/system approach rather than pip approach), would be better16:36
tlaterWith jonathanmaw's patch we could conditionally import pkg_resources16:37
tristanbut... anyway if pip needs what pkg_resources, it can certainly be deferred until used16:37
tristanthat said, it doesnt kill the overhead16:37
persiaOr maybe have a config option to be pip-compatible, if people are using pip, but default to being more performant?16:38
bochechassam2: just `pip install` a few more modules, and you'll see pkg_resources take **much** more time to start16:38
tristanssam2, the useful thing which we would like to preserve if possible... is what setuptools_scm does for us16:38
bochechait basically iterates over all installe dpython modules to find their entrypoints and metadata16:39
bochechathe more you have installed, the slower it gets16:39
tristanssam2, so I guess it's all related, but basically it will give us a nice *exact* version composed of the release branch + commit state16:39
gitlab-br-botbuildstream: merge request (cache_local_element_unique_key->master: Cache the local element's unique key) #193 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/19316:39
tristanssam2, *plus*, when you roll a dist tarball, that dist tarball gets the version state encoded and *that* state is used to provide the version info, where it is installed16:40
tlaterbochecha: Ouch, what happened to the 'don't do things when you're imported' pep?16:40
bochechatlater: pkg_resources has been doing this since forever, it's one of the reasons lots of people have always been avoiding setuptools16:40
bochechasetuptools/pkg_resources are pretty great for a few things... being fast is not one of them :)16:42
bochechatlater: and in any case, even if those things weren't done when you import pkg_resources, you'd still need to do them first thing when you search for the console_script entry-point for your project, so it would still take the same time16:43
tlaterYeah, I realize that, but for one, doing this only when invoked would mean we didn't have to play with conditionally importing things16:43
* tristan wonders if this pkg_resources thing might be work-aroundable with a venv16:44
tlaterAnd for two, it would be easy enough to just cache that information, especially with python's pickle class, right?16:44
ssam2tlater, it's not16:44
bochechaone thing pkg_resources does as well, is allowing to have various versions of a given module installed in parallel and loading the right one16:44
ssam2tlater, we need to allow access to the system site-packages dir in the virtualenv for pygobject to work16:44
bochechaso when you `import pkg_resources`, it looks at the "requires" of the module you're running, and checks which version of which egg to take16:45
bochechassam2: pygobject should be installable in a venv16:45
tlaterAh, alright :|16:45
bochecha(I sent the patch upstream that adds a setup.py file a while back)16:45
ssam2bochecha, ah ok. but then I have to build it from sourcve16:45
ssam2*source16:46
bochechassam2: absolutely16:46
ssam2a hacky removal of pkg_resources seems to have also sped up the test suite; the test/format tests went from 48.6 to 29.5 seconds16:46
bochecha:)16:46
bochechaI've had commands take more than 2 seconds to start just because of pkg_resources16:46
bochechasimply because those commands were used with a webapp that had lots of dependencies16:46
ssam2seems the test suite speedup was not caused by removing pkg_resources, having done a bit more testing16:47
ssam2just coincidence16:48
gitlab-br-botbuildstream: merge request (164-minimise-overlaps-by-having-overlaps-raise-exceptions-unless-configured-not-to->master: Resolve "Minimise overlaps by having overlaps raise exceptions unless configured not to") #181 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/18117:24
*** jude has quit IRC17:28
gitlab-br-botbuildstream: merge request (164-minimise-overlaps-by-having-overlaps-raise-exceptions-unless-configured-not-to->master: Resolve "Minimise overlaps by having overlaps raise exceptions unless configured not to") #181 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/18117:34
gitlab-br-botbuildstream: issue #168 ("Initialize logging early and use it in the frontend") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/16817:41
gitlab-br-botbuildstream: merge request (jjardon/out-of-tree->master: WIP: buildstream/plugins/elements/autotools.yaml: Make builds out of tree by default) #175 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/17517:43
gitlab-br-botbuildstream: merge request (tracking-changes->master: Tracking changes) #119 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/11917:44
gitlab-br-botbuildstream: issue #117 ("bst build --track doesnt allow granular selection of elements to track") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/11717:45
gitlab-br-botbuildstream: issue #113 ("Distinguish between tracking and saving in `bst build --track`") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/11317:46
*** jonathanmaw has quit IRC17:52
gitlab-br-botbuildstream: merge request (rmtempdir->master: utils._tempdir: don't leak on exceptions) #194 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/19417:54
gitlab-br-botbuildstream: merge request (finallyunregister->master: _signals: always pop handlers, and restore states) #192 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/19217:58
*** bethw has quit IRC18:06
*** ssam2 has quit IRC18:27
*** valentind has joined #buildstream19:12
*** jude has joined #buildstream20:42
*** jude has quit IRC21:08
*** jude has joined #buildstream21:11
*** jude has quit IRC21:34
*** valentind has quit IRC22:55

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