*** tristan has joined #buildstream | 05:44 | |
*** daitama has joined #buildstream | 06:04 | |
*** ChanServ sets mode: +o tristan | 06:09 | |
*** tlater has joined #buildstream | 07:57 | |
*** tristan has quit IRC | 08:09 | |
*** tristan has joined #buildstream | 08:16 | |
*** ChanServ sets mode: +o tristan | 08:19 | |
*** ssam2 has joined #buildstream | 08:44 | |
*** jonathanmaw has joined #buildstream | 08:50 | |
ssam2 | I get various weird test failures in the bzr source's unit tests | 09:06 |
---|---|---|
ssam2 | some of the logs show internal errors in bzr, and other madness | 09:06 |
jonathanmaw | just to check I'm not being an idiot, the correct place to put split-rules is at the root of the bst doc, right? | 09:08 |
jonathanmaw | i.e. | 09:08 |
jonathanmaw | split-rules: | 09:08 |
jonathanmaw | package1: | 09:08 |
jonathanmaw | - file1 | 09:08 |
ssam2 | these are the errors I see: https://pastebin.com/ugn7bZh2 | 09:08 |
jonathanmaw | ssam2: latest master, I take it? | 09:09 |
jonathanmaw | I'll run it and check | 09:09 |
ssam2 | yeah | 09:09 |
ssam2 | it may be something unique to Fedora 25 | 09:09 |
ssam2 | as presumably the CI would have caught it if they failed everywhere | 09:09 |
ssam2 | wait, i'm using Fedora 24, but same deal | 09:09 |
ssam2 | bzr 2.6.0 | 09:09 |
ssam2 | I can't find any docs about this, but split-rules might go under config: | 09:10 |
jonathanmaw | yeah, I'm not seeing that error with my system. | 09:11 |
jonathanmaw | it looks like it failed when shelling out to bzr | 09:13 |
jonathanmaw | around132 | 09:13 |
jonathanmaw | No module named cov_core_init | 09:13 |
ssam2 | wow, actually bzr on my OS is broken | 09:13 |
ssam2 | running `bzr` works | 09:13 |
ssam2 | but `bzr branch` gives madness | 09:13 |
ssam2 | will try `dnf reinstall` | 09:13 |
*** daitama has quit IRC | 09:15 | |
ssam2 | It would be nice if the bzr tests would be skipped if `bzr` wasn't available, rather than failing ... was that already discussed or should I do it? | 09:18 |
ssam2 | i can't see how to fix it on Fedora so i've just uninstalled it | 09:18 |
jonathanmaw | hrm, inside config didn't seem to work | 09:24 |
jonathanmaw | tristan: do you have any input on the correct way to enter splits in the .bst file? | 09:25 |
tristan | jonathanmaw, split rules are public data in the bst domain | 09:25 |
jonathanmaw | ok, so | 09:28 |
jonathanmaw | public: | 09:28 |
jonathanmaw | bst: | 09:28 |
jonathanmaw | split-rules: | 09:28 |
jonathanmaw | ... | 09:28 |
jonathanmaw | ? | 09:28 |
tristan | jonathanmaw, yep | 09:29 |
tlater | I've been using a sandbox to collect the sources and scripts for the source-bundle, but element._prepare_sandbox also stages dependencies into it - I don't want that. element.__sandbox does exactly what I want, though. Should I wrap that in a public method somehow? | 09:37 |
*** jude has joined #buildstream | 09:38 | |
tristan | tlater, I dont think that ever needs to be public no | 09:38 |
tristan | also, I have a doubt that you should be using a sandbox for this | 09:39 |
tristan | what exactly are you using it for ? | 09:39 |
tlater | It makes it easy to stage elements, because methods for that already exist. | 09:39 |
tlater | I only use it because those methods require a sandbox. | 09:40 |
tristan | You mean to stage sources ? Element.stage_sources() ? | 09:40 |
tlater | Yep | 09:40 |
tristan | Ok I see | 09:40 |
tristan | tlater, probably best to just not use Element.stage_sources() | 09:41 |
tlater | Yeah, that works. | 09:41 |
tristan | There are two options I can see, one of them is to make stage_sources() take an absolute path instead of a sandbox | 09:42 |
tristan | But I dont want that | 09:42 |
tristan | I think the API for elements is better by abstracting that away | 09:42 |
tristan | tlater, anyway all you want is that little loop that calls source._stage() | 09:42 |
tristan | tlater, also, none of this is happening outside of buildstream right ? | 09:43 |
tristan | So there is no need for exposing any public API surface for this, afaics | 09:43 |
tlater | Ah, gotcah | 09:43 |
tlater | Well, I meant more public than __ | 09:44 |
tristan | right I see what you mean yeah | 09:44 |
tristan | we only use __ on classes in buildstream which we expect to be derived | 09:44 |
tristan | especially public ones, but I think I've done it in sandbox.py too (which may be publicly derivable soon) | 09:45 |
tlater | So __ is not allowed to be used in subclasses, and _ not in other classes? | 09:45 |
tristan | tlater, double underscore is a python feature | 09:47 |
tristan | it performs some namespace mangling | 09:47 |
tristan | So Foo() has a self.__foo and Bar(Foo) has a self.__foo, but they are different foos | 09:48 |
tlater | Oh? I thought only __x__ was a python feature, and __ vs _ was convention. I'll have to read up on that. | 09:48 |
tristan | (if you want to access a __foo from outside of the code in Foo()'s class declaration, it needs to be done with __Foo_foo | 09:48 |
tristan | ) | 09:48 |
tristan | so a bar = Bar() would have both bar.__Foo_foo and bar.__Bar_foo "in real life" | 09:49 |
tristan | the __x__ things are methods which implement builtin python object behaviors yeah, that's different | 09:50 |
tristan | Single or double leading underscore is a convention for marking something as being private API, but double underscore prefix has that extra feature baked into python | 09:50 |
tristan | Aha ! | 09:52 |
tristan | I think I screwed it up, I hope so... | 09:52 |
tristan | nah, I think i didnt screw it up :'( | 09:56 |
tlater | Should I add a method to stage sources absolutely? | 09:58 |
tristan | meh, yeah ok that could help | 10:00 |
tlater | The alternative is fiddling with namespace mangling ;) | 10:00 |
tristan | tlater, create something like Element._stage_sources_at() | 10:00 |
tlater | Okay :) | 10:00 |
tristan | tlater, not afaics no it would not require that | 10:00 |
tristan | tlater, then, make sure you call Element._stage_sources_at() from the public Element.stage_sources() | 10:01 |
tlater | Looking at stage_sources it looks at self.__sources? | 10:01 |
tristan | with the absolute path resolved from the sandbox | 10:01 |
tristan | tlater, yeah that's true, but there is a generator Element.sources() | 10:01 |
tlater | Oh, I missed that, nevermind then. | 10:01 |
tristan | tlater, in any case, with an internal _stage_sources_at(), you reuse about 5 lines of code | 10:02 |
tristan | and you get the deterministic mtime and messaging for free | 10:02 |
tlater | Yeah, that looks neater | 10:02 |
tristan | Nice ! | 10:33 |
tristan | Ok I'll cleanup a patch and we will have a functional console again :) | 10:34 |
*** gitlab-br-bot has quit IRC | 10:37 | |
*** tiagogomes has quit IRC | 10:38 | |
*** tlater` has joined #buildstream | 10:38 | |
*** ssam2 has quit IRC | 10:38 | |
*** persia has quit IRC | 10:38 | |
*** juergbi has quit IRC | 10:38 | |
*** jjardon[m] has quit IRC | 10:38 | |
*** dabukalam has quit IRC | 10:38 | |
*** ironfoot has quit IRC | 10:38 | |
*** tiagogomes has joined #buildstream | 10:38 | |
*** tlater has quit IRC | 10:38 | |
*** ssam2 has joined #buildstream | 10:38 | |
*** persia has joined #buildstream | 10:38 | |
*** juergbi has joined #buildstream | 10:38 | |
*** jjardon[m] has joined #buildstream | 10:38 | |
*** dabukalam has joined #buildstream | 10:38 | |
*** ironfoot has joined #buildstream | 10:38 | |
*** irc.poop.nl sets mode: +o ironfoot | 10:38 | |
*** gitlab-br-bot has joined #buildstream | 10:39 | |
* ssam2 submits pull request for adding cross compile support \o/ | 10:46 | |
jonathanmaw | hmm, it looks like split rules won't be enough for building debian sources | 11:14 |
jonathanmaw | it looks like DEBIAN/prerm, DEBIAN/postinst, DEBIAN/control and DEBIAN/md5sums vary between packages | 11:15 |
tristan | you mean for building debian packages from built artifacts ? | 11:18 |
tristan | jonathanmaw, so I'm gonna go eat, but I think we had some plans for this | 11:19 |
tristan | the scriptlets ideally we can also get postinst into integration commands (via the same dynamic setting of public data which is TODO) | 11:20 |
tristan | jonathanmaw, and the debian/control file and suchlike, we originally intended to generate that from metadata | 11:20 |
jonathanmaw | ok | 11:21 |
*** tristan has quit IRC | 11:24 | |
*** tiagogomes has quit IRC | 11:31 | |
gitlab-br-bot | buildstream: merge request (sam/docstring-fix->master: main.py: Fix name of tool in `bst show` documentation) #32 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/32 | 11:43 |
gitlab-br-bot | buildstream: merge request (sam/test-fixes->master: Various test suite fixes) #33 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/33 | 11:43 |
gitlab-br-bot | buildstream: merge request (sam/host-and-target-arch->master: Add --host-arch and --target-arch, and 'host-arches' conditional) #34 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/34 | 11:43 |
gitlab-br-bot | buildstream: issue #40 ("Ctrl+C causes `bst shell` to exit when I don't want it to") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/40 | 11:44 |
gitlab-br-bot | push on buildstream@master (by Tristan Van Berkom): 1 commit (last: _sandboxbwrap.py: Fix job control in interactive mode) https://gitlab.com/BuildStream/buildstream/commit/a7aa1e24c96ce56b7b5bc9e1b80a08e55bee11b2 | 11:44 |
gitlab-br-bot | push on buildstream@master (by Tristan Van Berkom): 1 commit (last: main.py: Fix name of tool in `bst show` documentation) https://gitlab.com/BuildStream/buildstream/commit/df0e350fd4483a9b65084128f208aa7a156c1330 | 11:44 |
gitlab-br-bot | buildstream: merge request (sam/docstring-fix->master: main.py: Fix name of tool in `bst show` documentation) #32 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/32 | 11:45 |
*** tristan has joined #buildstream | 12:05 | |
*** ChanServ sets mode: +o tristan | 12:10 | |
*** tiagogomes has joined #buildstream | 12:22 | |
gitlab-br-bot | push on buildstream@master (by Tristan Van Berkom): 4 commits (last: tests/sources/bzr.py: Skip bzr source tests if `bzr` program isn't found) https://gitlab.com/BuildStream/buildstream/commit/dc30741e7fc9cd67d7fa48bcfcfa7c6ab40d71c4 | 12:36 |
gitlab-br-bot | buildstream: merge request (sam/test-fixes->master: Various test suite fixes) #33 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/33 | 12:36 |
ssam2 | seems the GCC native build issue I had was just from upgrading to GCC 7, nothing to do with Alpine | 13:15 |
ssam2 | needed to add --without-libmpx to the configure line as libmpx needs a target libc | 13:16 |
gitlab-br-bot | buildstream: merge request (jonathan/fix-bzr-source->master: bzr source: Make sure the stage directory exists before bzr fetching) #30 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/30 | 13:23 |
gitlab-br-bot | push on buildstream@master (by Tristan Van Berkom): 1 commit (last: source.py: Ensure 'directory' exists in _stage) https://gitlab.com/BuildStream/buildstream/commit/10cb1b90828a7184972ed47fee73ac59ecb27f73 | 13:23 |
tlater` | I'm assuming I will need to use your glibc-baserock/sam/2.25-musl-only branch? | 13:25 |
gitlab-br-bot | push on buildstream@master (by Tristan Van Berkom): 1 commit (last: compose.py: Fix possibility of referencing undefined variable) https://gitlab.com/BuildStream/buildstream/commit/ef4e57472288bc6fe47d5555038e3b81430aff50 | 13:27 |
ssam2 | tlater, ah yes | 13:27 |
gitlab-br-bot | buildstream: merge request (jonathan/fix-compose-no-integration->master: compose.py: Fix error when integration is false) #31 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/31 | 13:28 |
tlater` | Wait, why am I tlater`? | 13:29 |
jonathanmaw | tlater`: you probably had a connection hiccup that started a new session, so it went to one of your backup usernames | 13:33 |
jonathanmaw | since "tlater" was temporarily still connected | 13:33 |
jonathanmaw | /nick tlater | 13:33 |
jonathanmaw | should fix it | 13:33 |
tlater` | Strange. I haven't set any. Might be my config here, never double checked my name. | 13:34 |
*** tlater` is now known as tlater | 13:34 | |
tlater | Oooooh.... If glibc is already installed, how do I get it to ignore the current definitions? | 13:36 |
ssam2 | i don't understand the question... | 13:37 |
tlater | Hang on... | 13:37 |
tlater | I'm currently getting these errors when compiling glibc: | 13:38 |
tlater | https://paste.codethink.co.uk/?2603 | 13:38 |
ssam2 | buh | 13:38 |
tlater | The definitions set when compiling are already set in the user headers | 13:38 |
ssam2 | might be another glibc-against-musl issue | 13:39 |
tlater | Hmmm | 13:39 |
ssam2 | it might be worth going back to building a chroot with buildstream :/ | 13:39 |
ssam2 | I have fixed the build issue we were hitting | 13:39 |
tlater | Oh, right | 13:39 |
tlater | Yeah, I'll try that | 13:40 |
ssam2 | i've just pushed the fixes | 13:41 |
tlater | Ok, cool, let's see how this goes | 13:41 |
tlater | Ugh, this build will take half an hour again :/ | 13:41 |
ssam2 | yeah, that's an issue with all this kind of toolchain work | 13:42 |
ssam2 | you end up doing 3 things in parallel | 13:42 |
tristan | thats true | 13:42 |
ssam2 | anyway, it seems like your script is generally working, if it's managing to build a few bits | 13:42 |
tlater | Yeah, I'd still like to see an executable created by it, though | 13:43 |
jonathanmaw | tristan: what's the purpose of public data being split into domains? Would it be appropriate to put the dpkg metadata into a "dpkg" domain? | 13:50 |
tristan | jonathanmaw, the purpose is to avoid namespace clashing with third party plugins | 13:51 |
tristan | jonathanmaw, so yeah, we could go that way, and then nobody could add their own `dpkg` public data with a different meaning | 13:52 |
tristan | which is not necessarily a bad thing | 13:52 |
tristan | right now all the data we have in `bst` has use cases in the core | 13:53 |
tristan | I think | 13:53 |
tristan | integration commands are used by Element APIs, so are split-rules | 13:53 |
tristan | So we could use the bst domain for core related stuff and have separate domains for any plugin-specific things | 13:53 |
tristan | or we could use bst domain across the board for anything that is in the buildstream repo | 13:54 |
jonathanmaw | I'll stick with bst, then | 13:54 |
*** tristan has quit IRC | 13:57 | |
*** tristan has joined #buildstream | 14:20 | |
*** jonathanmaw has quit IRC | 16:36 | |
*** tlater has quit IRC | 16:37 | |
*** jude has quit IRC | 16:53 | |
*** ssam2 has quit IRC | 17:16 | |
*** tiagogomes has quit IRC | 18:35 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!