IRC logs for #buildstream for Tuesday, 2017-06-27

*** tiagogomes has quit IRC01:42
*** tristan has quit IRC04:34
*** tristan has joined #buildstream04:59
*** tristan has quit IRC06:14
*** jonathanmaw has joined #buildstream08:17
*** tlater has joined #buildstream08:23
*** tiagogomes has joined #buildstream08:56
*** tristan has joined #buildstream09:12
*** ChanServ sets mode: +o tristan09:12
gitlab-br-botbuildstream: merge request (jonathan/dpkg-build->master: WIP: Jonathan/dpkg build) #37 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/3709:14
jonathanmawmorning tristan, I found a slightly easier solution to my problem of pulling in default split-rules09:16
jonathanmawwhich was to add a use_default_splits member to Element which decides whether to merge default splits and element splits at all09:16
tristanjonathanmaw, I'm skeptical about that approach, because it's a special case for split rules09:17
tristanI see this as a more general problem in our dictionary compositing logic09:17
tristanIf for example, you can express an empty dictionary in YAML, then the core could recognize an explicitly empty dict as an indication, when compositing, that the entire dict should be wiped09:18
tristanthat might be a better approach, and provide a semantic for any such case which arises09:18
jonathanmawtristan: I had to deal with the problem that I needed to know which split-rules were part of the defaults to override them with empty dicts in the first place. And if I knew that, I'd be able to exclude them when I was using the split-rules as a list of packages, in the first place.09:19
gitlab-br-botbuildstream: merge request (artifact-share->master: Artifact Cache Sharing) #38 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/3809:20
tristanjonathanmaw, I think this problem does not really apply to your use case, because you will be using an Element.set_public() API anyway09:21
tristanso you will have the final say, and can programatically decide09:21
tristanjonathanmaw, but in the general sense, for trying to remove existing stuff just via YAML expressions, I think a more appropriate solution might be to handle empty dicts, or explicitly set None values09:21
tristansomewhere around here: https://gitlab.com/BuildStream/buildstream/blob/master/buildstream/_yaml.py#L44809:22
*** ssam2 has joined #buildstream09:26
jonathanmawtristan: ok. for my use case, I'll revert the use_default_splits when the public data changes have landed and rework to use set_public().09:26
*** ssam2 has quit IRC09:34
*** ssam2 has joined #buildstream09:34
gitlab-br-botbuildstream: merge request (sam/docker->master: contrib: Add Docker image for running BuildStream) #39 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/3910:11
gitlab-br-botbuildstream: merge request (sam/docker->master: Update Dockerfile to add latest OSTreee) #39 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/3910:13
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 19 commits (last: element.py: Allow forceful reinterrogation of cached state) https://gitlab.com/BuildStream/buildstream/commit/36a26fbfcfb0184597aef86436cd1c22b86e15e310:20
gitlab-br-botbuildstream: merge request (artifact-share->master: Artifact Cache Sharing) #38 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/3810:20
gitlab-br-botbuildstream: merge request (sam/docker->master: Update Dockerfile to add latest OSTree) #39 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/3910:43
tlaterWhat commands are available to a sandbox element? `mkdir -p` returns 1, for example.11:17
ssam2it depends what is in the sandbox11:17
tlater*script element11:17
ssam2the script runs in the sandbox, so it depends entirely on what stuff is pulled in by dependencies11:18
tlaterDo I need to build basic linux commands before I can test it then?11:18
ssam2yes11:18
ssam2or pull host tools from somewhere11:18
tlaterAlright, that should work.11:18
*** tiagogomes has quit IRC11:33
*** tiagogomes has joined #buildstream11:34
*** jude has joined #buildstream12:25
tlater"Only build type dependencies supported by script elements"12:28
tlaterThat seems a bit odd considering we need a base system to run them.12:29
ssam2build & run semantics are a bit complex12:30
ssam2but 'script' elements only run at build time12:30
ssam2runtime dependencies are what an element needs after the build completes, e.g. GIMP runtime-depends on GTK12:31
tlaterCan I not run a script element immediately after importing just a base platform?12:33
tlater*"build"12:33
ssam2yeah12:34
ssam2but that's still counted as "build time"12:35
ssam2if it happens inside BuildStream, it's "build time"12:35
tlaterWell, that's what gives me the error. "Building" a script element after only having a base system fails.12:35
ssam2ah, OK12:35
ssam2i think that should work12:35
ssam2i certainly have script elements with only 'build' dependencies that go fine12:36
tlaterHm. Do I *need* to specify a layout? Or should a command like "echo 'test' > /test" just run?12:36
ssam2if you don't specify a layout I think everything gets installed in /12:36
ssam2do you have PATH set anywhere ?12:37
tlaterNo, but it fails before the script ever runs12:37
tlaterError loading pipeline: script element at script-test.bst [line 1 column 0]: Only build type dependencies supported by script elements12:37
ssam2oh, right12:37
ssam2let me come and have a look12:37
*** xjuan has joined #buildstream13:20
gitlab-br-botbuildstream: merge request (script-documentation->master: script.py: Add detail to script element documentation) #41 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/4114:18
gitlab-br-botbuildstream: merge request (script-documentation->master: script.py: Add detail to script element documentation) #41 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/4114:22
*** tlater has quit IRC14:52
*** tlater has joined #buildstream14:56
tlaterAre there any examples of using a tarball source? The one in the documentation doesn't work.16:05
tlaterOr has this not been implemented yet?16:05
ssam2i've successfully used a tarball sourcve16:05
ssam2*source16:05
ssam2what problem are you having ?16:05
tlaterNo Source type registered for kind 'tarball'16:06
tlaterWhen trying to build amhello16:06
tlaterfor a simple autotools test16:06
ssam2ah, it's called 'tar' not 'tarball'16:07
ssam2so I guess whatever example you're following is wrong16:07
tlaterHeh, the documentation says tarball16:07
ssam2another docs issue :-)16:07
tlaterThere's no way to get a relative url to this dir, is there?16:08
tlaterHmm...16:08
ssam2no, i think you have to use a full file:/// URL16:09
ssam2maybe you could do some clever trick with variable substitution if it makes things neater16:09
tlaterI think I'll have to just sed16:10
tlaterBecause I really don't know from where people will be running these tests.16:10
tlaterWould it be better to have a main script that can run individual tests or individual tests that can either be run from sub-directories or a main script that runs all of them?16:17
ssam2we'll want to be able to run all tests (for full testing), or a single test (for debugging test failures)16:19
tlaterBoth ways allow that.16:19
ssam2then I have no preference :-)16:19
ssam2you could perhaps use http://testanything.org/ and something like https://pypi.python.org/pypi/tap.py ... but that might well be overkill for now16:20
ssam2oh https://pypi.python.org/pypi/tap.py is not the thing at all16:21
tlaterI guess I should prioritize getting a lot of tests down. Otherwise we wouldn't be rolling our own test scripts.16:21
tlaterWhich means I should keep things as they are for now.16:21
tlaterx)16:22
ssam2yeah, for now as long as it works, I think it's fine16:22
ssam2https://avocado-framework.github.io/ looks pretty nice, for when we want to get cleverer with this16:22
tlaterThis might eventually be necessary. I'm copying a lot of bash scripts here... After some more refactoring it might be better, but probably still not ideal.16:23
tlaterIt's also hard to catch errors unrelated to the tests atm, because the scripts use exit codes for certain things.16:24
tlaterSo `set -e` doesn't work.16:24
tlaterOh, darn, I have to go. Got my exam results today, so a dinner with friends who are graduating :D16:29
tlatero/16:30
ssam2fair play. Enjoy the dinner!16:30
*** tlater has quit IRC16:30
*** jude has quit IRC16:57
*** jonathanmaw has quit IRC17:16
*** ssam2 has quit IRC18:01
*** jude has joined #buildstream18:23
*** xjuan has quit IRC19:20
*** xjuan has joined #buildstream19:29
*** jude has quit IRC19:53
*** jude has joined #buildstream20:08
*** xjuan has quit IRC23:19

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