*** tristan has joined #buildstream | 06:08 | |
*** ChanServ sets mode: +o tristan | 06:08 | |
*** ssam2 has joined #buildstream | 09:29 | |
*** jonathanmaw has joined #buildstream | 10:38 | |
jonathanmaw | hola tristan, I heard you needed some help | 10:39 |
---|---|---|
*** ssam2 has quit IRC | 10:43 | |
tristan | Yay ! | 10:56 |
* tristan *just* sending out the email to baserock-dev, gimme a moment | 10:56 | |
*** ssam2 has joined #buildstream | 11:01 | |
tristan | jonathanmaw, ok I obtained caffeine and I'm all yours :) | 11:07 |
tristan | So, this is going to be a ride :) | 11:07 |
tristan | this week I've been drafting emails and blog and running against time | 11:08 |
tristan | jonathanmaw, to get started, you probably want to follow the instructions to reproduce which I just sent in that email | 11:08 |
jonathanmaw | ok | 11:08 |
tristan | and get a feel for the source :) | 11:09 |
jonathanmaw | and once I've gotten to grips with what it is and how to use it, I assume I can get an idea of what needs doing via the roadmap? | 11:09 |
tristan | Well | 11:09 |
tristan | there is a *lot* on the roadmap | 11:09 |
jonathanmaw | is there a task tracker for this project? | 11:09 |
tristan | what I think is most productive right now, for the purpose of meeting the goals promised to GNOME, is to add the missing Source implementations | 11:10 |
tristan | jonathanmaw, lets use the gitlab bug tracker | 11:10 |
ironfoot | (regarding task tracking, I've heard gitlab has some things) | 11:10 |
tristan | I'm skeptical about that | 11:10 |
tristan | I really prefer bugzilla or ${any serious tracker} over gitlab, but lets give it a shot | 11:11 |
tristan | jonathanmaw, so yeah... what we really need next is Source plugins for any of the source types used by either jhbuild or flatpak-builder, starting with the ever prominent tarball source | 11:16 |
jonathanmaw | hrm, the python3 packaged with debian is 3.4. I've installed 3.5 from source, but `pip install --user -e .` is failing with "BuildStream requires Python >= 3.5" | 13:27 |
jonathanmaw | Do you know how pip finds that information? | 13:27 |
tristan | Ewwww good questions | 13:35 |
jonathanmaw | looks like that specific error was because pip was running `python setup.py egg_info`, whereas the executable I installed was python3.5 | 13:37 |
jonathanmaw | and then I had the problem that python3.5 didn't have setuptools. | 13:37 |
jonathanmaw | I think I'm going to create a debian testing chroot, so I have the support of a package manager. | 13:37 |
tristan | :-/ | 13:38 |
tristan | jonathanmaw, that will mean you will compile as root | 13:39 |
tristan | :'( | 13:39 |
tristan | so many tears | 13:39 |
tristan | not fun | 13:39 |
jonathanmaw | I'm sure I can use linux-user-chroot | 13:39 |
tristan | that would be nicer indeed | 13:39 |
tristan | but you're going to need pygobject, ostree and bubblewrap | 13:40 |
tristan | I think those can only be installed in a package manager | 13:40 |
tristan | of course, if you have debian testing (as I run), then it's not a problem | 13:40 |
ironfoot | One day I'll propose a dockerfile and instructions to run with docker | 13:42 |
tristan | ironfoot, yeah, I have no idea how to use docker at all | 13:43 |
tristan | I've heard of it before, though :) | 13:43 |
tristan | ironfoot, I hope when you do that... it will be some time before everyone has python 3.5 on their host already :D | 13:43 |
ironfoot | xD | 13:43 |
tristan | jaysus, python 3.5 is already almost 2 years old | 13:44 |
tristan | and people STILL manage to not have it | 13:44 |
ironfoot | stretch release is going to happen soon | 13:44 |
ironfoot | probably 2020 | 13:44 |
ironfoot | </badjoke> | 13:44 |
ironfoot | in any case, it some people may still like to use the docker approach to not install things in their computers | 13:45 |
tristan | yeah, I have someone on #python who showed me a 4 or 5 line shell script which sets up virtualenv | 13:47 |
tristan | good enough for rjeks | 13:47 |
tristan | but not for this case | 13:47 |
tristan | because we need some packages that are not pure python | 13:47 |
tristan | jonathanmaw, can you tell me what version of python3 you *do* have installed on your host ? | 14:35 |
tristan | jonathanmaw, you are not the first to have this lack of python 3.5 problem going on, so I wonder how much fiddling it would require to support a more widely available version | 14:36 |
tristan | it's also difficult for me to test (since I *do* have 3.5) | 14:36 |
jonathanmaw | debian jessie has python 3.4 | 14:36 |
jonathanmaw | specifically 3.4.2 | 14:37 |
tristan | jonathanmaw, want to try just modifying the setup.py test for 3.5 and see what breaks ? | 14:37 |
tristan | that could be really nice, there was some code I backed out to support < 3.3 I recall, but there's no need to bring that back | 14:38 |
tristan | but I think there are still a couple things that are 3.5 only | 14:38 |
tristan | if it's bogus, or not too much work, we should just back down to 3.4 | 14:38 |
* tristan was told that asyncio from 3.5 is more reliable, though | 14:39 | |
* tristan wonders if it's even part of the standard lib with < 3.5 | 14:40 | |
ssam2 | https://pypi.python.org/pypi/tox is useful for testing with multiple python versions | 14:40 |
ssam2 | it runs your test suite in different virtual environments | 14:40 |
jonathanmaw | tristan: I'm still running into the problem of not having ostree in jessie | 14:40 |
jonathanmaw | is that one of the ones that definitely needs to be installed via package manager? | 14:41 |
ssam2 | it's a C dependency, certainly | 14:42 |
ssam2 | you could try to build it yourself if you wanted | 14:42 |
tristan | I have ostree built myself yes | 14:44 |
tristan | I configured and installed it into /usr/local | 14:44 |
tristan | because I'm evil | 14:45 |
jonathanmaw | and/or don't want to funt your package manager? | 14:45 |
tristan | my package manager leaves me free to muck about in /usr/local, I think that's pretty standard | 14:47 |
jonathanmaw | hrm, ostree depends on e2p | 14:48 |
jonathanmaw | googling and apt-cache search don't know what that is | 14:48 |
tristan | e2p, really ? | 14:48 |
tristan | jonathanmaw, did ./configure tell you that ? | 14:48 |
jonathanmaw | autogen.sh, but yes. | 14:48 |
jonathanmaw | "dnl We're not actually linking to this, just using the header | 14:48 |
jonathanmaw | PKG_CHECK_MODULES(OT_DEP_E2P, e2p)" | 14:48 |
tristan | yeah I see it there | 14:50 |
* tristan has it but has no idea what it is | 14:50 | |
ssam2 | ostree seems to available in jessie-backports : https://packages.debian.org/source/jessie-backports/ostree | 14:50 |
tristan | that looks like better alternative | 14:51 |
* tristan thinks he has ostree installed in /usr/local not even from buildstream but from flatpak last year | 14:51 | |
*** tristan has quit IRC | 15:06 | |
jonathanmaw | got ostree installed, "python3 setup.py egg_info" now works | 15:10 |
jonathanmaw | unfortunately pip still tries to call `python`, not `python3` | 15:10 |
* jonathanmaw fiddles some symlinks | 15:10 | |
jonathanmaw | I think maybe I ought to have installed python3-pip, instead :/ | 15:12 |
ssam2 | that sounds likely | 15:14 |
jonathanmaw | I'm as far as `bst build gnome/gnome-system-image.bst now | 15:23 |
jonathanmaw | and buildstream is failing with ImportError: cannot import name _yaml | 15:23 |
jonathanmaw | are import loops a thing in python? | 15:30 |
jonathanmaw | full traceback at https://pastebin.com/tWaJBYN1 | 15:31 |
jonathanmaw | looks like _yaml imports from utils, which imports from _yaml | 15:31 |
jonathanmaw | and http://stackoverflow.com/questions/9252543/importerror-cannot-import-name-x suggests that import loops break things. | 15:32 |
*** tristan has joined #buildstream | 15:33 | |
jonathanmaw | tristan: I'm failing when running tests, traceback at https://pastebin.com/tWaJBYN1 | 15:35 |
jonathanmaw | looks like an import loop | 15:35 |
tristan | this is with python 3.4 ? | 15:36 |
tristan | jonathanmaw, ? | 15:37 |
tristan | I guess | 15:37 |
jonathanmaw | tristan: yep | 15:37 |
jonathanmaw | bst uses /usr/bin/python3, which is version Python 3.4.2 | 15:38 |
tristan | ok | 15:38 |
tristan | That should work | 15:38 |
tristan | I wonder if its a python thing | 15:38 |
jonathanmaw | looks to be related to not being python 3.5 https://docs.python.org/3/whatsnew/3.5.html#other-language-changes | 15:39 |
jonathanmaw | "Circular imports involving relative imports are now supported. (Contributed by Brett Cannon and Antoine Pitrou in bpo-17636.)" | 15:39 |
tristan | Aha | 15:40 |
tristan | Hmmm, I think its the only one and can be easily circumvented | 15:41 |
tristan | lemme see | 15:41 |
* tristan recalls thinking "eww" when he started doing that, which was fairly recent in the history | 15:42 | |
tristan | jonathanmaw, try now | 15:54 |
tristan | whether we achieve python 3.4-ness, still a good little cleanup to have done | 15:55 |
tristan | fwiw, if you've done `pip install --user -e .`, then pulling from git is really all that's needed | 15:56 |
tristan | as it'll be hardwired to that directory | 15:56 |
jonathanmaw | tristan: yep | 15:59 |
jonathanmaw | seems to be fetching a whole bunch of stuff now. | 15:59 |
tristan | sweet ! | 16:09 |
tristan | jonathanmaw, care to run the tests ? | 16:09 |
tristan | ./setup.py test | 16:09 |
* jonathanmaw aborts build and gives it a go. | 16:10 | |
tristan | jonathanmaw, then submit MR for your setup.py change, if you get to build anything... we can declare 3.4 supported, which means welcome jessie users | 16:10 |
jonathanmaw | 214 passed in 8.67 seconds | 16:10 |
tristan | jonathanmaw, whilst it builds, take a read of https://gitlab.com/BuildStream/buildstream/blob/master/HACKING.rst | 16:10 |
tristan | nice | 16:11 |
tristan | I think that pretty much means we support 3.4 | 16:11 |
tristan | but coverage is not as great as it used to be :-/ | 16:11 |
tristan | jonathanmaw, and if you get a chance, try to get a feel for how the Source plugins are implemented | 16:11 |
jonathanmaw | currently still fetching things, so I think it'll be a while before I finish a build. | 16:12 |
tristan | see buildstream/source.py, which derives from buildstream/plugin.py, and checkout the implementations in buildstream/plugins/sources | 16:12 |
tristan | It will be some hours yes | 16:12 |
tristan | I think 4 and half on my machine, which is a beast | 16:12 |
tristan | jonathanmaw, it should start building and fetching in parallel soon though | 16:13 |
jonathanmaw | this jobs list is very swish, btw | 16:13 |
tristan | heh | 16:13 |
tristan | swish ? | 16:13 |
* tristan takes it as a good thing | 16:14 | |
jonathanmaw | swish is good | 16:14 |
jonathanmaw | it suggests an effort made in presentation | 16:14 |
tristan | the status lines could be improved though, I could add an overall timer there, and also display how many builds have been done and how many remain and how many are processing | 16:15 |
tristan | :) | 16:15 |
tristan | good, I like it | 16:15 |
tristan | it's a little trick of moving the cursor up and down | 16:15 |
jonathanmaw | I think I'll leave that build running and go catch a play. See you tomorrow :) | 16:26 |
*** jonathanmaw has quit IRC | 16:29 | |
*** ssam2 has quit IRC | 17:20 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!