*** SotK has quit IRC | 00:30 | |
*** SotK has joined #baserock | 00:30 | |
*** zoli__ has joined #baserock | 07:08 | |
*** jonathanmaw has joined #baserock | 07:44 | |
*** bashrc_ has joined #baserock | 08:08 | |
*** gary_perkins has joined #baserock | 08:39 | |
*** edcragg has joined #baserock | 08:50 | |
*** ssam2 has joined #baserock | 09:15 | |
*** ChanServ sets mode: +v ssam2 | 09:15 | |
straycat | mwilliams_ct, i was recently given feedback that my reviews are too indirect, that's probably the first 'direct' review i've made, i hope it didn't seem harsh | 09:22 |
---|---|---|
mwilliams_ct | straycat: not at all, very helpful feedback and *very* much appreciated. thanks for taking the time to review | 09:22 |
straycat | cool | 09:22 |
*** lachlanmackenzie has joined #baserock | 09:23 | |
richard_maw | ssam2: I'd rather morph didn't hard-code logic about binary stripping, but there's other things we could do to make the "strip the contents of DESTDIR" command readable. I'm not seriously suggesting we merge its current incarnation. | 09:25 |
richard_maw | it's currently at the optimal point for speed and size without considerations for readability beyond indentation of the clauses | 09:26 |
richard_maw | s/speed and size/speed, size and reduction of external dependencies/ | 09:27 |
ssam2 | richard_maw: ok | 09:28 |
ssam2 | I wonder if having a few well-defined functions that definitions could call would be a good idea | 09:28 |
ssam2 | so e.g. a 'find-all-elf-binaries()' function that definitions could choose to call, or not | 09:29 |
ssam2 | and then we could implement find-all-elf-binaries() in a language that isn't shell | 09:29 |
ssam2 | not something that will be done this week, I imagine, but maybe it makes sense in the long term. If we used jinja2 templating in definitions it could maybe be a jinja2 function | 09:30 |
richard_maw | a jinja2 function that expanded into a shell command‽ | 09:31 |
* richard_maw doesn't understand | 09:31 | |
ssam2 | no, a jinja2 function that called some functionality in the build tool | 09:31 |
ssam2 | and was substituted when evaluated for a list of all ELF binaries that were found | 09:31 |
ssam2 | so you could have: 'strip-commands: strip --foo --bar {{ all_elf_binaries }}' | 09:32 |
ssam2 | something like that | 09:32 |
Kinnison | I can imagine that various people would be upset if processing definitions now involved jinja2 templates | 09:32 |
ssam2 | people are always upset :) | 09:32 |
* Kinnison is not terribly pleased with the idea of the definitions not being able to be expanded until after the build | 09:33 | |
ssam2 | that's a fair point | 09:33 |
ssam2 | Kinnison: but is it more useful to know that you have 'strip-commands: find -exec foo' ? | 09:34 |
ssam2 | you don't actually know what that will do until build-time, anyway | 09:34 |
Kinnison | True, but at least you know it can *ONLY* depend on the content of the staging area | 09:34 |
Kinnison | Rather than relying on some functional implementation within the build tool | 09:35 |
ssam2 | I was imagining the hook functions would be strictly defined | 09:35 |
ssam2 | so you would know what they did | 09:35 |
ssam2 | (given the contents of the staging area) | 09:35 |
straycat | definitions already involve jinja templates? | 09:35 |
ssam2 | i also don't particularly want to have them, it just seems like in this one case, it might be nicer than the shell script richard_maw posted yesterday :) | 09:35 |
Kinnison | ssam2: If the hook functions can be defined in *definitions* then I'd be up for it | 09:35 |
ssam2 | hm... that makes sense, indeed | 09:36 |
* Kinnison wants less magic in the build tool | 09:36 | |
Kinnison | I don't mind cleverer definitions so long as the build tool is not more magical as a result | 09:36 |
ssam2 | it wouldn't be magic, it'd be well-defined stuff. but it would be a total pain in the ass to define how the function should behave. much better to just define it in code, in definitions | 09:36 |
straycat | we only added jinja template support to install-files cause it turned out it's really quite useful | 09:36 |
* richard_maw would prefer the build helpers be present in definitions in the form of chunk definitions | 09:37 | |
richard_maw | Kinnison: can you provide a link to the slpkg equivalent command? I couldn't find it with a quick google | 09:37 |
* richard_maw is interested in being able to compare approaches | 09:38 | |
Kinnison | Not easily | 09:38 |
Kinnison | the code is on my NAS at home | 09:38 |
richard_maw | oh, sl in this case stands for simtec linux, rather than slackware | 09:39 |
Kinnison | yes | 09:39 |
Kinnison | Hence Lua | 09:39 |
Kinnison | :) | 09:39 |
richard_maw | google results only came up with the latter | 09:39 |
richard_maw | slackware's tooling appears to also be python | 09:39 |
* 20WABCVSQ wonders where 20WABCVSQ came from | 09:40 | |
*** 20WABCVSQ is now known as tiagogomes | 09:40 | |
radiofree | it's probably because you're logging in with the nick "tiago" | 09:47 |
rdale | i can't seem to see how you reply to a review on gerrit and quote the message - i've done it before i'm sure | 10:17 |
radiofree | rdale: click the comment to expand it | 10:18 |
radiofree | click the arrow next to the date/time on the right hand side of the comment | 10:19 |
rdale | ah ha! thanks | 10:19 |
ssam2 | here's a weird bug: my Jetson-Mason instance is failing to get the shared artifact cache to fetch completed artifacts... because worker_connection._conn.getpeername()[0] is returning 127.0.0.2 | 10:28 |
ssam2 | worker_connection is a socket connection from localhost, to localhost, in this case | 10:28 |
ssam2 | and networking is fine otherwise, 'ip addr' shows the real IP | 10:29 |
ssam2 | i imagine restarting the distbuild services will fix it, but I wonder if anyone knows how we can stop this in future... | 10:29 |
Kinnison | find out where has 127.0.0.2 ? | 10:29 |
ssam2 | how do I do that? | 10:29 |
Kinnison | grep? | 10:30 |
ssam2 | # lsof -i|grep -c 127.0.0.2 | 10:30 |
ssam2 | 0 | 10:30 |
ssam2 | I think that the last thing I did to this box is reboot it, so I'm suspicious that the problem is distbuild services starting up before systemd-networkd has fully sorted out the network | 10:31 |
Kinnison | hmm | 10:31 |
ssam2 | not sure what to do about that though, if it is that. https://wiki.freedesktop.org/www/Software/systemd/NetworkTarget/ suggests that programs should just cope with internet coming and going underneath them | 10:31 |
ssam2 | which is sensible, but not trivial to do with the current distbuild code | 10:32 |
straycat | i guess we could handle socket errors by re-establishing the connections and resending the data | 10:40 |
ssam2 | the weird thing is that the connection that things its peername is 127.0.0.2 works fine | 10:52 |
ssam2 | the only problem comes when it says to the artifact cache, "hey, fetch an artifact from 127.0.0.2/...' | 10:52 |
Kinnison | that ought to work unless the cache tight-bound to 127.0.0.1 | 10:53 |
ssam2 | the cache is remote | 10:53 |
ssam2 | so it can't work | 10:53 |
Kinnison | aah | 10:53 |
Kinnison | erm | 10:53 |
Kinnison | buh? | 10:53 |
ssam2 | perhaps the problem is an assumption in the distbuild code that the worker *isn't* localhost | 10:54 |
ssam2 | such that it thinks whatever address its has connected to the worker on is publically accessible | 10:54 |
Kinnison | controller->worker permits localhostness for single-system deployments | 10:54 |
Kinnison | What do your controller and worker configs look like? | 10:54 |
ssam2 | the culprit is: http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/morph.git/tree/distbuild/worker_build_scheduler.py#n654 | 10:55 |
ssam2 | one sec | 10:55 |
Kinnison | aaaah | 10:55 |
Kinnison | Yes the assumption is that your cache must be able to reach your worker's IP addresses | 10:55 |
ssam2 | yeah, I guess it is | 10:56 |
Kinnison | So if you have a worker on the controller node, you must have it in the config by its externally visible address | 10:56 |
ssam2 | right. | 10:56 |
ssam2 | I have: 'worker = sam-jetson-mason' | 10:56 |
ssam2 | which is the config set up by distbuild-setup.service | 10:56 |
ssam2 | but I can't hardcode the public IP because it DHCP's | 10:57 |
Kinnison | I'm guessing that sam-jetson-mason resolves to the local IP address | 10:57 |
Kinnison | because of systemd's nss-myhostname stuff | 10:57 |
ssam2 | yeah, I guess it does that the time the distbuild services start | 10:57 |
straycat | ssam2, use the fqdn for that network | 10:57 |
ssam2 | straycat: that's an idea, I'll try that | 10:57 |
ssam2 | I created a story to track the current state of the OSTree work: <https://storyboard.baserock.org/#!/story/48>, please add more detail if you can think of any | 11:02 |
*** pacon has joined #baserock | 11:22 | |
*** pacon has quit IRC | 12:09 | |
*** pacon has joined #baserock | 12:11 | |
*** pacon has quit IRC | 12:13 | |
*** pacon has joined #baserock | 12:14 | |
ssam2 | hello, I've updated http://wiki.baserock.org/links/ with some descriptions for some of the links and a couple of the new links | 12:42 |
ssam2 | one of the links is to Yocto / OpenEmbedded so it might be a little controversial ;) I did my best to understand and explain what they are and how they differ from Baserock, though | 12:42 |
ssam2 | feedback welcome but I'll not respond til after I've eaten some lunch | 12:43 |
*** pacon has quit IRC | 13:01 | |
*** pacon has joined #baserock | 13:03 | |
jonathanmaw | hrm, I'm trying to build bits of Tizen in baserock, and I've found something that requires icu (which is already in the webtools and qt5-tools strata). Since conceivably the tizen work might be on a GENIVI Demo Platform system, qt5-tools might be on the system, but it might not | 13:11 |
jonathanmaw | and either way, I wouldn't want to depend on all of qt when I just want icu | 13:12 |
jonathanmaw | Would it be wise to move icu into core? | 13:12 |
ssam2 | better to create a separate 'icu' stratum, I think | 13:12 |
*** pacon has quit IRC | 13:12 | |
radiofree | something else uses icu as well | 13:15 |
jonathanmaw | radiofree: I see it in qt5-tools, qt4-tools and webtools | 13:16 |
radiofree | probably webtools | 13:21 |
radiofree | (what i was thinking of) | 13:21 |
pedroalvarez | can we take out the configure extensions from the system morphologies? | 13:35 |
pedroalvarez | or at least from the cache key calculation? | 13:35 |
richard_maw | pedroalvarez: I wasn't aware that they did! I'd +2 a patch to remove configuration-extensions from the cache keys of system morphologies | 13:37 |
pedroalvarez | \o/ | 13:38 |
pedroalvarez | that was easy | 13:48 |
pedroalvarez | openstack-system-x86_64 | 14:16 |
pedroalvarez | wrong paste | 14:16 |
pedroalvarez | https://gerrit.baserock.org/734 | 14:16 |
pedroalvarez | urgh, pyeclib artifact contains a pyeclib.inst folder | 14:36 |
pedroalvarez | I think everyone has that folder in / in their devel systems now | 14:37 |
* paulsher1ood doesn't :) | 14:39 | |
pedroalvarez | hmm :/ | 14:40 |
pedroalvarez | oh, I see, this is a new addition of openstack kilo | 14:42 |
richard_maw | pedroalvarez: that's annoying, but it won't be the first time that something's messed up and included DESTDIR in their paths | 14:49 |
pedroalvarez | I'll have to check the build log, but not a big deal | 14:51 |
*** gallit has joined #baserock | 15:00 | |
*** zoli__ has quit IRC | 15:11 | |
mwilliams_ct | straycat: sorry for misunderstanding, will fix | 15:23 |
straycat | mwilliams_ct, actually i think it's my fault, earlier in the week someone pointed out that a value received there might be an empty string, but any empty dictionary values in the cluster morph get set to None by the yaml parser | 15:33 |
mwilliams_ct | Yeah just seen your second comment. I'm replying now | 15:34 |
mwilliams_ct | (for those playing along at home this conversation is in ref to change 729) | 15:34 |
*** CTtpollard has quit IRC | 15:58 | |
straycat | def sanitize_environment(env): | 16:11 |
straycat | for k in env: | 16:11 |
straycat | env[k] = str(env[k]) | 16:11 |
straycat | i see | 16:11 |
*** zoli__ has joined #baserock | 16:12 | |
*** jonathanmaw has quit IRC | 16:12 | |
*** sambishop has quit IRC | 16:12 | |
Kinnison | straycat: pardon? | 16:17 |
mwilliams_ct | Kinnison: see change 729, straycat has managed to find where I was tripping up and that is the place | 16:20 |
mwilliams_ct | straycat: thanks! | 16:20 |
Kinnison | ah | 16:21 |
straycat | Kinnison, so when you specify a key "x: " in the cluster morph, the yaml parse assigns value None to key x, but then morph goes over the whole dictionary and calls str() on each value, so our value for x now contains the string 'None', I think we ought to make morph replace values with None types with empty strings, because this isn't the first time this has caused confusion | 16:23 |
straycat | but, I expect that doing that could break things | 16:23 |
Kinnison | straycat: aah, I'd have expected morph to barf on a "None" | 16:23 |
Kinnison | Certainly when we've wanted explicitly empty strings before we've done 'x: ""' | 16:23 |
Kinnison | (and by 'barf' I mean explode is a pleasant controlled manner and inform the user clearly what went on) | 16:24 |
straycat | actually, from a quick grep only swift-storage.configure does a check for a None string, so I don't think that change would break much, if anything | 16:26 |
straycat | mwilliams_ct, i suggest leaving v4 as it is and i'll send a fix for sanitize_environment | 16:28 |
mwilliams_ct | straycat: ok! thanks again for taking the time to review :) | 16:29 |
*** sambishop has joined #baserock | 16:35 | |
*** tiagogomes has quit IRC | 16:39 | |
pedroalvarez | meh, this pyeclib thing installs installs also more things, but these things ignore $PREFIX and $DESTDIR | 16:41 |
edcragg | has gcc broken on armv7? http://paste.baserock.org/udowosupis | 16:42 |
pedroalvarez | edcragg: "sed: can't create temp file 'gcc/configureA5wp9A': Read-only file system" | 16:44 |
pedroalvarez | edcragg: that doesn't look like gcc being broken :P | 16:44 |
edcragg | this system's been building, i just rebased and that happened | 16:44 |
edcragg | i meant the gcc build | 16:45 |
pedroalvarez | hm.. you are using /tmp | 16:46 |
edcragg | symlinked to /src | 16:46 |
pedroalvarez | hm.. you can configure morph instead: http://wiki.baserock.org/quick-start/#index4h2 | 16:48 |
straycat | Kinnison, https://gerrit.baserock.org/736 is a possible fix for that | 16:48 |
edcragg | pedroalvarez: ah, ok, that's handy! | 16:48 |
pedroalvarez | edcragg: not sure what's going on in your build, tbh, but it looks like a problem in your development environment, and nothing to do with gcc | 16:49 |
edcragg | probably, yes i agree... i've just been building quite a few things recently so assumed the environment was fine. thanks pedroalvarez, you calmed my nerves anyway | 16:52 |
pedroalvarez | :) | 16:53 |
*** bashrc_ has quit IRC | 17:01 | |
*** ssam2 has quit IRC | 17:03 | |
*** gary_perkins has quit IRC | 17:14 | |
*** zoli__ has quit IRC | 17:32 | |
*** gallit has quit IRC | 17:52 | |
*** edcragg has quit IRC | 18:16 | |
*** lachlanmackenzie has quit IRC | 18:30 | |
*** sambishop has quit IRC | 19:55 | |
*** zoli__ has joined #baserock | 20:46 | |
*** zoli__ has quit IRC | 21:39 | |
*** zoli__ has joined #baserock | 21:41 | |
*** zoli__ has quit IRC | 22:46 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!