IRC logs for #baserock for Tuesday, 2014-12-02

*** benbrown_ [~benbrown@access.ducie-dc1.codethink.co.uk] has quit [Ping timeout: 240 seconds]00:08
*** benbrown_ [~benbrown@access.ducie-dc1.codethink.co.uk] has joined #baserock00:08
*** jmacs_ [~jimmacart@access.ducie-dc1.codethink.co.uk] has quit [Ping timeout: 264 seconds]00:09
*** pdar [~patrickda@access.ducie-dc1.codethink.co.uk] has quit [Ping timeout: 244 seconds]00:09
*** jmacs [~jimmacart@access.ducie-dc1.codethink.co.uk] has joined #baserock00:09
*** pdar [~patrickda@access.ducie-dc1.codethink.co.uk] has joined #baserock00:10
*** genii [~quassel@ubuntu/member/genii] has quit [Read error: Connection reset by peer]00:16
*** rdale [~quassel@host86-143-211-156.range86-143.btcentralplus.com] has quit [Ping timeout: 244 seconds]00:41
*** rdale [~quassel@host86-143-211-156.range86-143.btcentralplus.com] has joined #baserock00:42
*** rdale [~quassel@host86-143-211-156.range86-143.btcentralplus.com] has quit [Ping timeout: 272 seconds]00:50
*** jjardon [sid723@gateway/web/irccloud.com/x-kthuhjfdsxgaglys] has quit [Ping timeout: 272 seconds]00:50
*** rdale_ [~quassel@host86-143-211-156.range86-143.btcentralplus.com] has joined #baserock00:50
*** jjardon [sid723@gateway/web/irccloud.com/x-ihqtvarjqyectfjv] has joined #baserock00:52
*** zoli_ [~zoli_@linaro/zoli] has joined #baserock07:28
*** zoli_ [~zoli_@linaro/zoli] has quit [Remote host closed the connection]07:59
*** zoli_ [~zoli_@linaro/zoli] has joined #baserock08:20
*** mariaderidder [~maria@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock08:51
*** mike [~mike@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock08:54
mike is now known as Guest4036108:54
*** bashrc [~motters@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock08:57
*** tiagogomes [~tiagogome@213.15.255.100] has joined #baserock09:01
*** sambishop [~sambishop@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock09:10
paulsher1oodradiofree_: did you write up the chromebook chroot process anywhere?09:11
radiofree_paulsher1ood: in the e-mail i sent you?09:16
radiofree_i'll e-mail the list when i get in09:16
radiofree_one of the reasons for my rootfs patch was to enable that09:17
*** tiagogomes [~tiagogome@213.15.255.100] has quit [Ping timeout: 250 seconds]09:22
De|ta_ is now known as De|ta09:25
*** tiagogomes [~tiagogome@213.15.255.100] has joined #baserock09:34
jjardonpaulsher1ood: we also build in the ci reference systems that build graphical components up to Weston09:36
jjardon+GStreamer and other connectivity stuff09:36
persiaThat reminds me: is there a way we can submit systems to be built by the distbuild networks to populate the cache manually, other than adding them to CI?09:42
radiofree_if you knew the IP of the arm mason network?09:44
persiaMy understanding was that it didn't have a public IP09:45
persiaBut if I'm mistaken, then I suppose it's just a morph config, and distbuild, yes?09:45
rdale_i'm failing to build the morph chunk: SyntaxError: Non-ASCII character '\xe2' in file /morph.build/morphlib/plugins/deploy_plugin.py on line 186, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details09:45
rdale_is that a known problem?09:45
radiofree_yeah if it were public you could distbuild your branch on it to populate the cache globally09:46
persiardale_: One that hasn't been seen in quite a while.  What is your locale?09:46
pedroalvarezrdale_: I've fixed that problem in definitions.git master09:47
pedroalvarezrdale_: as you can see, mason is full of these errors: http://mason-x86-64.baserock.org/09:47
rdale_ok - i created a branch off master yesterday, but i probably should have done a pull first - i'll try rebasing09:48
pedroalvarezyes, current master works09:48
persiapedroalvarez: Oh, was that the ... patch you just applied?09:48
pedroalvarezyes09:48
persiaAh.  I thought it was the older bug.09:48
paulsher1oodradiofree_: i mean the process for setting up a baserock chroot on a chromebook...?09:49
pedroalvarezI think we have fixed all the unicode problems in morph :)09:49
persiaradiofree_: Don't I need some credentials to be able to populate a global cache?09:49
pedroalvarezthis reminds me that we should talk to petefoth about this and "how documentation changes can screw up morph" :)09:49
rdale_is it unicode in a comment?09:50
persiaIn a documentation string09:50
paulsher1oodpedroalvarez: mason still red, though?09:51
pedroalvarezpaulsher1ood: still building09:51
pedroalvarezhttp://mason-armv7lhf.baserock.org/ is showing a green already09:51
*** tiagogomes [~tiagogome@213.15.255.100] has quit [Ping timeout: 244 seconds]09:52
paulsher1oodwow... how come the arm finished first? :-)09:53
petefothpedroalvarez: sorry I broke the build!09:53
persiaARM doesn't always mean slow09:53
radiofree_paulsher1ood: build tarball, copy to chromebook, extract somewhere, echo "baserock" > /path/to/your/passrock/etc/crouton/name09:54
pedroalvarezx86 had to build more things.. not sure why09:54
paulsher1oodradiofree_: ??? 09:54
paulsher1oodradiofree_: i was hoping for something publishable on the wiki, including instructions for setting up crouton if that is required09:55
* petefoth moves the ‘Get a working baserock vm’ task to the top of his to-do list09:56
paulsher1oodpetefoth: should take 10 minutes ;)09:56
radiofree_download crouton, install with the flag i can't remember off the top of my head but am sure i wrote down somewhere, do what i said with the tarball09:56
* radiofree_ will update the wiki soon09:57
persiaI seem to remember that having `vagrant up` working at some point was demonstrated, but not maintained due to lack of infrastructure.09:57
radiofree_we need to have a tarball rootfs on the download page though09:57
persiaWith infrastructure, can that be made to work now?09:57
pedroalvarez.. we should be publishing the images that mason is building...09:58
petefothpaulsher1ood: I know - I’ve just been focussed on other stuff, amd thinking ‘Doc changes won’t break anything’. I was wrong!09:58
persiapedroalvarez: Only if they build succesfully, but yes, and then we're almost at the point of not needing releases anymore :)09:59
franredpersia, as far as I know we build the images... but we don't keep them in any part, we use them to do testing and then they are removed, so, yes, the step to have continues releases is copy to a server (at least for x86_64)10:01
rdale_the remote cache option seems to be a big improvement, my systems are building or failing to build really quite fast10:01
pedroalvarezwe don't even use them to do testing10:01
paulsher1oodradiofree_: i've started a page... http://wiki.baserock.org/guides/baserock-cb5-311/10:04
radiofree_that page is rather unfortunately titled 10:05
*** tiagogomes [~tiagogome@213.15.255.100] has joined #baserock10:05
radiofree_baserock-chromebook?10:05
radiofree_baserock-arm-chromebook?10:05
radiofree_since it will work on any arm chromebook10:05
radiofree_pedroalvarez: persia: what did we agree about the rootfs tarball yesterday/10:08
radiofree_just build the wandboard image as a tarball?10:09
radiofree_(i'll submit a patch in a moment)10:09
radiofree_the wandboard *build* image10:09
persiafranred: Why only x86_64 ?10:09
pedroalvarezradiofree_:  I'd be ok with it being the *devel* one10:11
franredpersia, Im sure that in x86_64 we are doing the mason full test cycle, which implies to build and deploy a raw image and test it building a new system10:11
pedroalvarezradiofree_: the only difference between the wandbord one and jetson one is the bsp, so it will only build the wandboard bsp10:11
persiaradiofree_: Reading backscroll, I think we got distracted by your -1 on your patch10:12
franredpersia, I don't know what the mason for arm is doing, pedroalvarez knows this better than me10:12
pedroalvarezradiofree_: can't we just build the jetson image as a tarball?10:12
persiaI thought we were doing full test cycles for all of armv7lhf, x86_32 and x86_6410:12
franredpersia, no as far as I know.10:13
pedroalvarezno no, we are not doing full test cycles in any of the architectures, sorry10:13
persiaWhy not?10:13
pedroalvarezwe can in x86, but I didn't have the time to configure it10:13
SotKr/win 1110:13
SotKbah10:13
persiaWhy can't we for !x86?10:13
radiofree_pedroalvarez: jetson image has more bsp10:14
pedroalvarezour current mason only tests in kvm or in openstack, so it deploys to any of them and performs the testing10:14
radiofree_drivers, some systemd unit10:14
radiofree_wandboard doesn't even have u-boot, very minimal10:14
persiapedroalvarez: Ah.  In that case, I'm looking forward to the installer stuff even more :)10:15
pedroalvarezso we can deploy to bare-metal? :P10:15
persiaActually, we could do KVM for now.10:16
radiofree_i'm glad i never build for x8610:16
radiofree_if the goal is bare-metal x86, i don't want to sit through the build of 8 million kernel modules to make that properly work10:17
pedroalvarezpersia: for !x86 you mean?10:17
*** ssam2 [~ssam2@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock10:17
Mode #baserock +v ssam2 by ChanServ10:17
persiapedroalvarez: Yes.10:17
persiaradiofree_: I want bare-metal ARM, so your avoidance of x86 won't help :p10:17
radiofree_we already have baremetal ARM!10:18
persiaWithout a serial cable?10:18
persiaOr human involvement?10:18
* persia didn't think we had access to any BMC-enabled ARM systems10:19
radiofree_i don't know how you can install anything on anything without human involvement10:19
persiaautomation.10:19
radiofree_i haven't sent patches to allow baserock to be installed via osmosis yet10:19
persiaFor example, if you have BMC-enabled hardware, and code that tells the BMC to initialise the system in a certain way, after downloading additional code from a certain source, you can boot to the BMC-provided data, and then do anything you like.10:20
radiofree_well you can now install baserock on a jetson with just a keypress (to put it in recovery mode)10:20
persiarichard_maw sent some BMC patches a while back, and pedroalvarez has been working on an installer (the BMC payload)10:20
radiofree_everything else (partitioning, flashing...) is automated10:21
persiaYeah, that doesn't work for CI, because there isn't any way to do the keypress.  I suppose robots could be constructed.10:21
radiofree_but you have to, the first time, press a button10:21
persiaDo you not also need a USB connection?10:21
radiofree_persia: once it has baserock on you don't need to flash it anymore10:21
radiofree_just update it over-the-air10:21
persiaThat doesn't test the flash procedure.10:21
radiofree_i wrote the flash procedure, it's best we don't rock that boat10:22
pedroalvarezhahah10:22
pedroalvarezpersia: so, tell me about kvm + !x8610:22
persiaheh.  But surely you'll appreciate informed reviews of how people break it?10:22
*** tiagogomes [~tiagogome@213.15.255.100] has quit [Ping timeout: 264 seconds]10:22
persiapedroalvarez: If you have ppc, POWER8, armv7, armv8, or aarch64, KVM and libvirt are ported and work.10:23
persiaIf you have POWER7 or armv6, there is only partial support.10:23
* persia doesn't know the state of KVM/libvirt for MIPS10:24
persiapedroalvarez: So, if you don't want to try to spin up an entire cloud, you just run libvirtd somewhere, and then talk to it over the network.10:24
pedroalvarezkvm in a jetson sould work, then?10:25
persiaYep.10:25
*** locallycompact [~lc@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock10:25
persiaI haven't tested it (my infrastructure is still mostly in boxes), but the code is published, and I've seen it demoed on similar chips.10:25
pedroalvarezsounds good10:26
paulsher1oodpedroalvarez: 3392s x86 vs 1048s armv7 ?10:32
pedroalvarezarm only had to build 9  artifacts, and x86 13910:33
persiacache differences?10:34
pedroalvarezerm.. this is odd10:35
pedroalvarezlorry and baserock-import strata depend on morph-utils. morph-util changed, that's why x86 rebuilt 139 artifacts, but this didn't happen on arm10:38
* pedroalvarez forces mason-arm to re-test, and see if it still thinks it doesn't need to rebuild anything10:40
ssam2maybe someone else is using the ARM distbuild network ?10:41
ssam2and already built the commit that was merged to master?10:41
pedroalvarezmaybe...10:42
*** locallycompact [~lc@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Ping timeout: 244 seconds]10:42
pedroalvarezbut then, why morph artifact wasn't in the cache? :P10:43
franredpedroalvarez, are they in the cache now?10:47
pedroalvarezdistbuild thinks that they are, and morph has build the system artifact, so they should be in the cache10:48
perrylhi everyone, can someone clarify if we are still using gitano as a git server or if we have/are planning to move towards gerrit? 10:50
persiaWe're still using gitano for git.baserock.org at the moment.10:51
ssam2I'm not sure if anyone is actively working on moving to Gerrit10:52
ssam2SotK might be10:52
SotKI'm not10:52
persiaI have been advocating a move to gerrit for some time, because I like pre-merge CI, and gitano doesn't have facilities to support that at the moment, but others have pointed out that gitano is trusted, whereas one can corrupt gerrit history by spoofing the database.10:52
persiaThere's a gerrit in definitions master: I don't think anyone configured it in a way to be gerrit.baserock.org or git.baserock.org, but it does produce a gerrit.10:53
pedroalvarezperryl: does your work depends on what git server we use?10:53
perrylpedroalvarez: not as of yet; it's the firehose work and it should not depend on a particular git server10:54
pedroalvarezthat's exactly what I was going to say, it shouldn't depend on any particular git server. We should move into that direction10:54
perrylhowever with the testing infrastructure Firehose can certainly make use of it10:55
persiaI believe it does depend on the git server.  Different git server implementations have different means by which one submits candidates.  Might be a candidate push, might be a pull request, might be a patch series sent to a mailing list, etc.10:55
persiaBe nice to have plugins for this, but it makes sense to prioritise the common case.10:55
persiaThe problem being that gitano doesn't have any recommended mechanism for the submission of candidates (so one ends up needing to manage one's own tree of branches for features).10:56
ssam2i'm not sure that's a problem, I don't find it hard to name branches10:57
ssam2it's a little annoying that not everyone deletes their feature branches after they have been merged to master10:57
ssam2is that something Gerrit takes care of for you ?10:57
*** locallycompact [~lc@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock10:58
persiaIn gerrit, when you push to a branch, it automatically generates a candidate branch, which is automatically deleted when merged to master.10:58
persiaOr, rather, merged to the branch to which you originally pushed.10:58
ssam2right. I guess that's handy (but then Gerrit forces you to remember to add a magic token to your commit message, if I understand correctly, so there's faff required either way)10:59
persiaRather, gerrit automatically adds a magic token, so your local commit doesn't actually match the one on the server.11:00
perrylssam2: IIRC gerrit automatically adds a SHA1 to the commit message, i don't think there's anything manually added11:00
persiaYou may add one yourself, but this is only done when yu want to override an existing candidate, rather than create a new one.11:01
SotKpersia: I thought you had to add that before pushing?11:01
richard_mawI thought you had to use their git hook to get the automatic token?11:01
SotKrichard_maw: that is what I've always had to do11:01
SotKotherwise pushing gives an error due to lack of said magic token11:01
* persia may misunderstand the implementation11:02
ssam2my understanding was v1 of your branch doesn't need a token but v2 and all subsequent versions do. But I could well be wrong.11:02
ssam2or rather, gerrit automatically adds the token to v111:03
* persia shared ssam2's understanding11:03
*** tiagogomes [~tiagogome@213.15.255.100] has joined #baserock11:03
franredall the versions need the token to be reviewed, at least when I looked into it11:03
*** rdale_ [~quassel@host86-143-211-156.range86-143.btcentralplus.com] has quit [Ping timeout: 245 seconds]11:10
*** rdale [~quassel@host86-143-211-156.range86-143.btcentralplus.com] has joined #baserock11:11
persiastraycat: Could you help me understand the difference between an identity test and an equality test?11:13
petefothHow can I determine the identity of this commiter to w.b.o - committer: admin <admin@branchable.com> ?11:22
*** tiagogomes [~tiagogome@213.15.255.100] has quit [Ping timeout: 258 seconds]11:22
petefothIhttp://wiki.baserock.org/recentchanges/ shows the name as ‘dev’ which isn’t very helpful :)11:23
Kinnisonpetefoth: It's auto-commits created during pushes11:23
persiapetefoth: You'd need to dig into the Author: entry, and cause the identity provider to share a name11:23
Kinnisonpetefoth: E.g. if you tag something with a new tag, then admin@branchable.com will commit a new tag page if there isn't one11:23
* Kinnison goes back to his holiday11:23
petefothbut this has real diffs11:24
persiaIt also happens for web edits.11:24
petefothlooking at the other commits by dev, I suspect radiofree_11:25
pedroalvarezI know who he is :)11:25
persiaI believe the current editor to be paulsher1ood, based on content, but it could be an imposter, as I have no basis for my belief other than the content and opinion of the production of that individual11:25
pedroalvarezdevcurmudgeon11:25
petefothpedroalvarez: that’ll be the man - thanks!11:26
* straycat wonders whether http://sprunge.us/JQIi11:27
straycatis more useful behaviour11:27
straycatCurrently it's quite confusing if you're an extension wanting to handle a sigint11:27
straycatI've been confused at least11:28
persiaThe counterargument is that it is the only guard against runaway extensions11:28
straycatI'm not sure I agree, I can ignore the sigterm morph sends, and morph will be forced to wait.11:29
persiaAh, hrm.11:29
richard_mawso morph should send sigkill?11:29
straycatMorph probably shouldn't be waiting11:29
straycatmorph shouldn't send anything11:29
persiaIf the process isn't stopped, I'm not sure it is ideal to close the output, but don't really understand the implications.11:29
straycator, well, maybe it should but only after a given amount of time11:30
pedroalvarezok, nothing is wrong with mason armv7. we are building the devel system in x86, and the build system in arm11:32
persiaSo, if an exception happens, and morph doesn't kill the extension, but just begins to ignore it, what sort of problems can this cause?11:32
richard_mawsounds like perhaps we should be running extensions with systemd-run, since it handles a lot of painful service stuff for you11:32
persiapedroalvarez: Ah.  Can we build the devel system everywhere?11:32
pedroalvarezyes,  I did that change and I still don't know why i decided to put the build system instead of the devel one11:33
pedroalvarezsilly me11:34
persiaVerbose commit messages are a critical component to keeping a clear mind :)11:34
*** tiagogomes [~tiagogome@213.15.255.100] has joined #baserock11:34
straycatIs my current solution acceptable or would we prefer to wait for some amount of time then send a sigkill?11:35
persiaI don't understand the best option re; morph kills vs. morph ignores, but I don't like the current solution because it closes the output and doesn't stop the process, which seems wrong to me.  If the process is continuing, should the output not be left open?11:36
straycatrichard_maw, I don't enough about systemd to comment11:36
persiaOr would morph ignore it anyway, so it doesn't matter that it is closed?11:36
straycatI'm not sure the output is relevant given it's all being captured by this asynccore loop which we've exited by the time we have an exception11:37
radiofree_ is now known as radiofree11:38
*** radiofree [radiofree@unaffiliated/radiofree] has quit [Quit: Bye]11:38
persiaAh, OK.  So safe to close then.11:38
straycatpersia, "a is b" is id(a) == id(b), so "'foo' is 'foo'" may well be True, but probably dependant on the python implementation, so it's best just to use == for comparing equality.11:41
persiaOK.  When reading about this, I had the impression that "in" also used an identity test.  Do I need to set up a list of comparisons using "=="?11:42
richard_mawAIUI "in" depends on the implmentation of the container, but for most primitive types it's an equality test, so `"foo" in ("fo" + "o", "bar")` is true11:44
persiaThe goal is to ensure that short strings contain the same sequence of characters.11:45
persiaAnd I'd prefer to construct it in a way that allows the list of comparable strings to be extended over time because some folk aren't careful about ISA backwards compatibility.11:46
*** radiofree [radiofree@unaffiliated/radiofree] has joined #baserock11:46
persiaSo is (var1 == "foo" and var2 in ("bar", "baz", "quux")) the right way to do this?11:47
*** radiofree [radiofree@unaffiliated/radiofree] has quit [Client Quit]11:47
*** radiofree [radiofree@unaffiliated/radiofree] has joined #baserock11:47
* straycat nods11:47
*** radiofree [radiofree@unaffiliated/radiofree] has quit [Client Quit]11:48
*** radiofree [radiofree@unaffiliated/radiofree] has joined #baserock11:48
straycatrichard_maw, Do you have a suggestion for an immediate solution to the above problem? I could hack my extension but I feel that can be avoided easily enough.11:49
richard_mawI'm missing context, what do you need to handle sigint for?11:50
straycatI don't think I do really, but if I did need to it would be more difficult than it needs to be right now, imo.11:52
richard_mawwell, as I recall, the point of calling .wait() was so that it would be possible to get the return code of the process, but .poll() may be more appropriate for that, and if we're terminating, then the return code isn't useful anyway11:55
richard_mawI'd be tempted to suggest we just replace .terminate with .kill11:55
straycatWhy?11:56
straycatThat doesn't allow the extension to do any cleanup?11:57
richard_mawhm, which is unfortunate since we can't tie all resource cleanup with process exit11:58
pedroalvarezpersia: I lied in the commit message this time: http://paste.baserock.org/tugacupafi12:00
* richard_maw wants to rewrite morph to use O_TMPFILE and whatever the current flavour of flink() is whenever it needs to write files12:01
richard_mawbut terminate, wait a bit then kill sounds like the most reasonable option for ensuring processes don't run away12:02
radiofreehow come the baserock paste stuff doesn't show up in the preview window in quassel?12:02
radiofreei get the ui, but no content12:03
persiapedroalvarez: heh12:03
richard_mawradiofree: sounds like too much javascript to me12:03
persiaYep.  Quassel prevew doesn't run any authentication or javascript12:04
radiofreeah12:05
pedroalvarezradiofree: can you preview this? http://paste.baserock.org/raw/tugacupafi12:05
robtayloron is vs ==, http://stackoverflow.com/questions/2988017/string-comparison-in-python-is-vs12:05
radiofreethat's even worse pedroalvarez :\12:05
radiofreejust comes up as a black square12:06
straycatrichard_maw, sounds good to me :)12:06
pedroalvarezradiofree: works in my quassel client :P12:06
robtaylorpedroalvarez: if you want to test the initial substring, use .startswith()12:06
robtayloruuk i mean12:06
robtaylorpersia: if you want to test the initial substring, use .startswith()12:06
* robtaylor notes that he's a terrible python programmer though, so my advice may not be the best..12:07
persiarobtaylor: I don't.  I just mostly develop in C and make, for which string comparisons cannot test equality, so the use of == for strings is foreign to me.12:07
*** tiagogomes [~tiagogome@213.15.255.100] has quit [Ping timeout: 240 seconds]12:07
robtaylorpersia: i use 'is' myself, it looks better ;)12:08
robtaylorand is perfectly correct for builtins12:08
* persia is now confused, having been told to change the patch and not change the patch12:09
straycat"For all built-in Python objects (like strings, lists, dicts, functions, etc.), if x is y, then x==y is also True"12:09
straycatOh okay12:09
persiaI know it works for the python implementation in the baserock devel system, but I don't want to do things that would interfere with my dream of running morph in arbitrary environments.12:09
straycatbut then "Not always. NaN is a counterexample. But usually, identity (is) implies equality (==). The converse is not true: Two distinct objects can have the same value."12:10
straycatSo, can we avoid all this confusion and just use == when testing for equality? :)12:10
robtayloroh, hangon12:12
robtaylorno i'm wrong and straycat is right (and the link i posted is wrong)12:12
straycatyes12:12
straycatthat was very confusing :p12:12
robtaylorThe operators is and is not test for object identity: x is y is true if and only if x and y are the same object. x is not y yields the inverse truth value. [7]12:13
persiaRight then.  I'm no longer confused, and just have to fight with git a bit.12:13
robtaylor:)12:14
robtaylorpersia: git commit --amend  or a git rebase -i :)12:14
persiaThe problem is not that, but that master moved, and I accidentally merged, so have to go unmerge, which is a bit more than rebase -i (but not much more).12:15
radiofreedon't forget to remove the rouge whitespaces as well persia12:16
robtaylorpersia: i think rebase -i will still do the job :)12:16
persiaradiofree: Which ones?12:16
radiofreeif (    root_arch != host_arch12:16
persiaThose aren't rogue: those are intentional to make things line up nicely.12:17
persiaI was previously told that causing python to be pleasant to read was a good thing.12:17
robtaylorpersia: that's a bit non idiomatic tbh12:17
radiofreeline up nicely how?12:17
persiaAll the conditions start from the same point, and the "and"s fall off to the left12:18
radiofreei think you've gone rouge with your coding style then12:18
radiofreeerm.. rogue...12:18
* richard_maw tends to leave the "and"s trailing at the end12:19
persiarichard_maw: The reason I don't like that is because one has to modify more lines when patching a set of conditionals, causing extra diff in patches.12:19
persiaBut I'll take guidance on morph style, as I'd prefer my code not to stand out exceptionally.12:20
persiaAre the parentheses good, or should I structure the logic to not need them?12:20
richard_mawgo for what you think is the most readable, as a rough guideline, I think shorter is more readable12:21
robtaylorradiofree: is your codeing style rouge? ;)12:21
persiashorter involves parentheses, which also helps separate things for human comprehension (long lists of multiply negated booleans annoy humans, in my experience)12:23
*** tiagogomes [~tiagogome@213.15.255.100] has joined #baserock12:23
robtaylorpersia: parenthesis for logic comprehension is certainly a good thing12:24
* richard_maw prefers parenthesis in general, since he can never remember operator precedence12:25
robtaylorpersia: this would be more idiomatic: http://ix.io/frp12:26
jmacsrichard_maw: and quite likely neither can the next person reading it.12:26
persiaIt isn't just precedence: with short-circuiting, one can construct expressions that humans don't read the way compilers read.12:26
richard_mawrobtaylor: you'd need to put paranthesis after the if when you're doing multi-line expressions12:26
jmacspersia: I'd consider calculating some of those terms into meaningfully named variables before the if.12:27
persiarobtaylor: My main issue with that is the lack of indentation between the last "and" and the "raise", which makes it hard for me to read.12:27
richard_mawthe alternative is \ continuation markers at the end of the line, which I'm generally against it's too easy to put whitespace after the \ and spoil it12:27
robtaylori think better would be if _arch_compatible(root_arch,host_arch) ;)12:28
persiajmacs: Why?  You never care about them except when root_arch != host_arch, which should be true most of the time for most users.  The only exception is folk running armv8 who are building armv7 stuff in linux32 chroots.12:28
robtaylorand put clear logic in def _arch_compatible()12:28
* persia learned make mostly to avoid adding \ in makefiles when implementing logic in shell12:29
jmacspersia: I'm quite sure the compiler/interpreter can work out that it won't need to calculate the values if root_arch != host_arch12:29
persiajmacs: Hrm?  If I set an assignment earlier, Python doesn't evaluate it until I use the assigned expression?12:29
* robtaylor notes he is bikeshedding somewhat and gets back to systemd patches12:30
* persia wonders how one is intended to trigger side effects12:30
jmacsI'm bikesheeding as well12:30
jmacsbikeshedding12:30
persiaTo a certain degree, the entire conversation could be described that way.  The patch as submitted works.  We're just trying to get the colour to match the rest of the code.12:31
robtaylorpersia: a function to tell you archs are compatible would document what's going on nicely12:32
persiaYes.  Of the suggestions, that is very appealing.12:33
* robtaylor tends to view multiline ifs like too many indents - a clue you should spin out a function12:33
persiaBut I was intrigued by the potential implications of lazy evaluation, and thought that might also be useful12:33
* persia has spent lots of time in C removing functions in favour of multiline ifs, for optimisation12:34
rjekI format C to no wider than 80 columns and 8 stop tabs because it forces to to rip stuff out12:34
paulsher1oodpetefoth: i confirm some of my web commits have been named as 'dev' - why were you chasing this?12:34
rjekstatic inline functions are cheap12:34
persiarjek: I prefer 74 characters, so you can argue about it on a mailing list12:35
rjekpersia: >:)12:35
persiastatic inline functions are cheap, but I've saved thousands of seconds in execution time by removing them :)12:35
* persia goes back to learning how to return a value from a python function12:35
rjekYour compiler is inadaquate!12:35
persiaYeah, well, gcc12:35
petefothpaulsher1ood: I look at the RSS feed of changes on w.b.o everyday - I was just wondering who had made those change. No ulterior motive :)12:35
paulsher1ood:)12:36
rjekIf a static inline has only one call site, GCC basically always inlines it, so they're free at runtime12:36
persiaIf a function is declared static inline, any compiler that doesn't inline it every time is failing to comply with the standard.  That said, the way in which it is inlined is not always optimial.12:37
rjekinline is an suggestion, IIRC.12:37
persiaIf one merges logic from several different functions, and applies boolean reduction, one can usually obtain faster execution.  This is not a useful goal in Python: it's supposed to be optimised for human comprehension.12:37
rjekAnd GCC hoists the parse tree in (at least since something like 3.4) so it's as good as copy-and-past12:38
persiaYes, which is not as good as boolean reduction12:38
rjekI think if you're expecting blazing performance, Python is probably not your first point of call.  Python's great for experimentation, high-level design, and glue though12:38
persiayes12:39
* petefoth notes that .write and .check files include copyright headers but .write.help file don’t. Is that deliberate (because they are YAML, and YAML doesn’t allow comments, or for some other reason?) or shoudl they be added 12:41
richard_mawyaml allows comments, we could put them it, we just haven't12:42
richard_mawI don't know if we should12:43
petefothrichard_maw: thanks. 12:43
petefothrichard_maw: neither do I. Nor do I know whether we should have copyright (and licence) information in the markdown files we use to populate the wiki 12:44
persiawiki content should be licensed somehow, and we should sort that.  Relicensing the wiki is a project I've seen done in a few communities, and it's best done early, so that one can reach all the authors.12:49
petefothpersia: would you go for one of the Open Source licences for the wiki, or one of the Creative Commons licences as the wiki isn’t really code?12:58
persiaI've generally seen folk use CC licenses for wiki content, with a exception that any content specifically otherwise licensed is under the specific license (and a list of acceptable licenses).12:58
persiaBecause some folk like to put code snippets in the wiki, and label them MIT, ISC, GPL, etc. (depending on the source)12:59
persiaNote that it is wise to avoid anything that prevents commercial use: at least I want to be able to use the wiki content commercially, and suspect others do as well.12:59
petefothpersia: indeed. 13:00
radiofreeif i build an arm rootfs can i upload it to baserock.org?13:01
radiofreeit's for http://wiki.baserock.org/guides/baserock-cb5-311/?updated13:01
paulsher1oodradiofree: can't the ci generate one?13:02
radiofreepedroalvarez: ?13:02
persiaThe answer will be yes, but we aren't using the CI-generated images for anything: we throw them away (as discussed a few hours back).13:02
pedroalvarezindeed13:03
persiaSo the best way to cause one to exist is to cause it to be distbuilt, and then have one of the infra team copy it to download.baserock.org13:03
radiofreewell it's probably easier for me to just build in on a jetson and upload it13:03
radiofreei can upload to download.baserock.org13:03
paulsher1oodpersia: i thought they landed at cache.baserock.org?13:05
persiaradiofree: Ah, if you have super powers, then don't let me stop you.13:05
persiapaulsher1ood: The system artifacts end up there: those are not the samoye as the download artifacts at download.baserock.org: the download artifacts are post-depl13:06
paulsher1oodradiofree: is that true? for the chromeboook, do you need a rootfs as created by build, or does yours have rfurther processing13:07
radiofreepaulsher1ood: it's nothing magic13:08
radiofreei used a jetson image deployed as a tarball13:08
radiofreei'll send another patch to add the tarball to release13:09
radiofreei want to create a file in a folder after the image has been built13:26
radiofreethis is a configuration-extension right?13:27
radiofreewhere do they live?13:27
radiofreei want to submit one to create the required file for crouton  13:28
paulsher1oodcouldn't this be just done as a morph build + deploy, then?13:30
persiaIf it is system-specific, they usually live in definitions.  If you want a generic one, it is in morph13:30
radiofreewell, in my instructions it says "download the rootfs, extract, then do "echo baserock > etc/crouton/name"13:31
persiapaulsher1ood: It depends: if you don't start with a chroot, how do you do the build+deploy?13:31
paulsher1oodok, that's easier13:31
radiofreefor crouton to work you need that file in /etc/crouton13:31
* paulsher1ood shuts up13:31
radiofreeapparently configuration-extensions are in morph13:31
radiofreethat's.... not right?13:31
persiaThere's two sets.  See gerrit.configure for an example of one in definitions.13:32
petefothwhere a write extension allows an UPGRADE parmeter, will morph deploy fail if no VM already exists at the specified location, or will it go ahead and create a new VM?13:32
radiofreeah13:32
radiofreethat's fine then13:32
radiofreei suppose ones in morph are the generic ones13:32
persiaRight.13:32
*** rdale_ [~quassel@host86-143-211-156.range86-143.btcentralplus.com] has joined #baserock13:35
*** rdale [~quassel@host86-143-211-156.range86-143.btcentralplus.com] has quit [Ping timeout: 272 seconds]13:35
radiofreerunning morph gc13:44
radiofree2014-12-02 13:44:35 Removing temp subdirectory: failed13:44
radiofreeoh wait13:44
radiofreenever mind13:45
vmesons is now known as vmeson13:45
radiofreethat's removing a temporary subdirectory called "failed", not that the "removing temp subdirectory" command has failed13:45
*** vmeson [~quassel@128.224.252.2] has quit [Quit: vmeson]13:46
persiaheh.  That is indeed a confusing message.13:47
paulsher1oodyes. i tried to get this whole thing undone. the directory should be left as staging13:49
paulsher1oodwe shouldn't be moving stuff to 'failed'13:49
richard_mawwe do that so that we know that it _could_ be removed to save space13:50
richard_mawif everything was left in the staging directories directory, you wouldn't know which ones are currently being used to build13:50
persiaCan we track that differently?  Finding "failed" has been confusing to me repeatedly (even after it was explained to me)13:51
robtayloris it just a matter of changing the message?13:52
richard_mawcouldn't we just improve the mssage to say that the directory is named failed, or call it something else?13:52
richard_maws/mssage/message/13:52
persiaimproving the message is the key thing.13:52
paulsher1oodstaging directories *can* be removed to save space anyway, richard_maw. staging is non-permanent by convention13:52
persiaI think we already changed the output message when things failed telling the user to go look in failed.13:52
persiapaulsher1ood: Yes, but removing during a build breaks things.13:52
richard_mawpaulsher1ood: yes, but we need a way to track which ones are in use, so `morph gc` doesn't just remove them during a build13:52
richard_mawthis is currently done by moving failed builds out of the way13:53
robtaylorpersia: ah, so what's causing you to look in staging?13:53
paulsher1oodwhat runs 'morph gc' besides a user?13:53
persiarobtaylor: Older messages (unless I'm wrong: I haven't worked with code that didn't compile in a while)13:53
richard_mawcycle.sh to start with13:54
robtaylorpaulsher1ood: there's nothing stopping your running morph gc while a build is happening13:54
paulsher1oodrichard_maw: which is run by ujser13:54
robtaylor(and indeed if you see you're runnig out of space during a build, that may well be a useful thing to do..)13:54
*** vmeson [~quassel@128.224.252.2] has joined #baserock13:54
paulsher1oodrobtaylor: there's nothing to stop me running rm -fr / either13:54
richard_mawyes, but it's indirect, you might be running a build for one thing and then while you're waiting, decide that you want to update the software you're running13:54
robtaylorpaulsher1ood: that isn't useful13:54
paulsher1oodrobtaylor: morph build refuses to run if there isn't enough space13:55
jjardonpetefoth:  FYI, in GNOME we recently changed all the documentation to Creative Commons license CC-BY-SA 3.0 https://wiki.gnome.org/DocumentationProject/Guide/Licensing13:55
ssam2paulsher1ood: I'm lacking context, but distbuild runs 'morph gc' before each build13:55
paulsher1oodrobtaylor: the point is 'morph gc' has to be run *before* build13:55
robtaylorpaulsher1ood: ok, so you'd need to add some sort of lockfile, but that'd work13:55
paulsher1oodssam2: i'm not surprised. i asked for mrph build to run it by default13:56
jjardon(from  GNU Free Documentation License (GFDL))13:56
robtaylorjjardon: that's good13:56
petefothjjardon: thanks13:56
ssam2paulsher1ood: that'd have performance implications, but i don't know if they'd be at all serious13:56
jjardonwell recently, when GNOME 3.0 was released13:57
paulsher1oodssam2: it only *does* stuff if it needs to. 13:57
ssam2paulsher1ood: so it does, I often forget that13:58
paulsher1oodif it's not run, build sometimes refuses to run. that's a *much* bigger perf hit13:58
* paulsher1ood despairs some times13:58
*** wdutch [~william@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Ping timeout: 255 seconds]13:59
* paulsher1ood is obviously still smarting at the 'make cycle.sh bulletproof' discussion :)13:59
*** Guest40361 [~mike@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Ping timeout: 240 seconds]14:02
persiaI don't think it needs to be bullet-proof, I just didn't want it to surprise me or make me puzzle out how much to quote.14:02
persiaAnd then, when I thought about it, I came to the conclusion that we shouldn't need an external script to do this, but that we should fix the tool so this is trivial.14:03
*** wdutch [~william@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock14:04
richard_mawperhaps we should work backwards from our ideal UI of how it should work14:04
straycatOh, so pip doesn't seem to kill any compilers it might run when it's interrupted. :/14:06
persiastraycat: Nope, which is almost as annoying as silently killing things.14:06
persiarichard_maw: I suspect you are right, and keep meaning to submit some description of that to the wiki, but never get to it14:07
richard_mawit may be that we should have it read data in /baserock to work out how it was previously deployed, and allow you to make changes, such as which system morphology, on the command-line14:11
straycatRight, so I guess it's fair to accept that if the import tool is interrupted during a python package import then compilers may be left running on the system.14:11
persiaIt would be nice if we had a way to clean up, but yeah, that should be done (or not) in pip, not the import tool.14:14
* straycat nods14:14
*** rdale_ [~quassel@host86-143-211-156.range86-143.btcentralplus.com] has quit [Ping timeout: 240 seconds]14:26
*** rdale [~quassel@host86-143-211-156.range86-143.btcentralplus.com] has joined #baserock14:26
*** mike [~mike@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock14:34
mike is now known as Guest8567814:34
radiofreearm rootfs uploaded http://download.baserock.org/baserock/build-system-armv7lhf-rootfs.tar.gz14:39
persiaWould it benefit from testing?14:40
radiofreesure14:50
* straycat tries to import persistent pineapple14:52
pedroalvarezstraycat: would you be able to import django?14:57
pedroalvarezjust saying because I'd find it really useful :)15:03
straycatOkay I'll try that15:03
pedroalvarez:D :D ;D15:03
petefothIs the RAM_SIZE parameter permitted / applicable for the OpenStack write extension?15:05
persiaradiofree: Unpacking into a chroot gives me an apparently working chroot.  Thanks!15:06
pedroalvarezpetefoth: nope15:06
petefothpedroalvarez: Thanks I’ll go and edit http://wiki.baserock.org/devel-with/#index5h2 then15:07
*** Guest85678 [~mike@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Ping timeout: 245 seconds]15:07
petefothwhat about KERNEL_ARGS?15:07
pedroalvarezpetefoth: yep15:08
straycatpedroalvarez, http://sprunge.us/ULaA was the stratum that got generated, somehow I figure we could do better than a tarball lorry of django15:08
pedroalvarezi was expecting to see loads of dependencies15:09
pedroalvarez(but I don't know how this import tool works :/ )15:10
pedroalvarezthsnks! :)15:10
petefothpedroalvarez: ooops - what about DISK_SIZE?15:10
straycatI thought it just needed python?15:10
persiaThat's what upstream claims.15:10
persia"[Django] requires Python version 2.7 or higher, but is has no dependencies on other Python libraries."15:11
straycatpersia, The python stuff has't been merged into master of the import tool yet either, so it might be a little difficult for you to use :315:12
straycats/persia/pedroalvarez/15:12
straycatsorry15:12
persiaNo worries.  I'm also interested :)15:12
pedroalvarezI was really interested because I thought that importing Django was going to be more dificult :)15:13
* straycat gets back on with persistent pineapple15:14
*** Guest85678 [~mike@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock15:20
*** flatmush1 [~flatmush@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock15:30
*** flatmush [~flatmush@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Read error: Connection reset by peer]15:31
*** zoli_ [~zoli_@linaro/zoli] has quit []15:31
paulsher1oodpedroalvarez: afaik i did django as a chunk ages ago... it was trivial15:35
pedroalvarezpaulsher1ood: why is not merged!!!15:36
pedroalvarez:)15:36
paulsher1oodpedroalvarez: because i'm petulant? :)15:36
pedroalvarezhah, I don't like petulant contributors!!15:37
paulsher1oodactually, i can't remember. i think it was a chunk on the road to something i failed to finish, therefore did not push15:37
richard_mawnow play nice everyone15:37
pedroalvarezlooks trivial, indeed. I think that it would be a nice thing to have15:38
persiaIs http://wiki.baserock.org/guides/how-to-cross-bootstrap/ up-to-date?15:39
pedroalvarezit's missing some steps before calling chroot in various places I belive15:41
pedroalvarezapart from that, i think that is up-to-date15:41
persiaOK.  Next, how would I go about causing the armv7lhf distbuild cluster to create a chroot system I can deploy?15:42
* persia is unable to compile in a hacked-up chroot, because "/ is not a mountpoint", and wants to deploy a proper baserock chroot15:43
pedroalvarezdidn't this fixed the problem? http://wiki.baserock.org/guides/build-failures/#index5h215:44
*** Guest85678 [~mike@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Quit: Leaving]15:45
*** sherm_ [~mike@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock15:45
persiaThat wasn't my error message, but I'll try that.15:47
pedroalvarezIf that didn't solve your problem I'd need more context to help you :)16:04
* persia has yet to reproduce the problem16:05
persiaThis is a good sign, enough so that I'm not tempted to go make my chroot behave the old way :)16:05
persiaMInd you, I have yet to build anything, because morph is currently apparently hanging trying to fetch a cache object, but that is unikely to be related.16:06
pedroalvarezpersia: if you can run `linux-user-chroot / /bin/sh` inside of the chroot environment, then the problme is fixed16:07
persiaOK.  I'll try that when morph exits.16:07
pedroalvarezif it does :)16:08
persiaGood point :)16:08
persiaOK.  When I run `mount --bind . .` followed by `linux32 chroot . /bin/bash`, I can get the error message mentioned on the wiki.16:11
*** bashrc [~motters@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Read error: Connection reset by peer]16:11
persiaNote that this differs from the error morph gave me.16:11
*** bashrc [~motters@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock16:11
* persia tries morph build again, in the bind-mounted chroot16:11
paulsher1oodpedroalvarez: http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/definitions.git/commit/?h=baserock/ps/add-haproxy-django&id=b31d3f1763a856a6afd48649f473379e230348e916:13
paulsher1ood(assuming http://paste.baserock.org/ogigutotat)16:13
*** zoli_ [~zoli_@cpe.ge-0-2-0-366.abnqu1.dk.customer.tdc.net] has joined #baserock16:16
*** zoli_ [~zoli_@cpe.ge-0-2-0-366.abnqu1.dk.customer.tdc.net] has quit [Changing host]16:16
*** zoli_ [~zoli_@linaro/zoli] has joined #baserock16:16
pedroalvarezpaulsher1ood: nice! thanks!16:16
persiaAnd now I get "mount: / is not mountpoint or bad option"16:26
persia(from morph)16:26
persiamount tells me /dev/disk/by-uuid/d31509a5-d56f-4ad5-9fd1-11208142ba1d on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)16:27
persia(presumably the result of having run the bind mount).  I also have /proc and /sys16:27
richard_mawat which point of running morph is it complaining?16:27
*** zoli_ [~zoli_@linaro/zoli] has quit [Remote host closed the connection]16:28
persiahttp://paste.baserock.org/osejaguyun.cs has the terminal log: I've cut out the uninteresting bit16:30
richard_mawI'd guess it's the `mount --make-rprivate /` then16:31
richard_mawthis happens now because we make a new mount namespace then mount /dev/shm16:33
persiaRunning that command indeed replicates the error16:33
richard_mawit worked previously, so it may be that linux-user-chroot is able to handle that16:35
persiaIt may also be something about my environment.16:35
persiaBut I don't know how to tell the difference.16:36
persiaDoes this require special kernel support?  I appear to be running an Ubuntu kernel on this machine.16:37
richard_mawI don't think so, are you able to run linux-user-chroot normally? I believe it uses the same syscalls16:38
richard_mawah, but that would require linux-user-chroot on the system outside the chroot, wouldn't it16:38
richard_mawif `mount --make-rprivate /` works outside the chroot then it's unlikely to be a kernel issue16:39
robtaylorcould be a syscall issue, but i hope it isn't16:39
persiaHow would I undo `mount --make-rprivate /` if I run it outside the chroot?16:39
richard_mawrun `findmnt -o TARGET,PROPAGATION` to work out what the mount propagation is currently at16:41
richard_mawthen when you want to put it back run `mount --make-$propagation $target`16:41
richard_mawthough PROPAGATION wasn't a recognised option for findmnt in my debian system, so I don't know if the version in ubuntu is recent enough for that output format16:42
richard_mawI'll check if there's another way to get that information out16:42
richard_mawhm, no, if you've got a findmnt that old, you need to get the propagation out of /proc/self/mountinfo yourself16:43
richard_mawthough the kernel I'm running is too old to report that!16:44
richard_mawif when you cat /proc/self/mountinfo you have an extra field after the mount options and before the -, then you can know what the mount options are16:45
persiafindmnt: unknown column: PROPAGATION16:45
richard_mawok, how about `awk '{print $5, $7}' /proc/self/mountinfo`16:45
persiaList of all my mountpoints, with a siyngle hyphen after each.16:47
richard_mawbah, kernel's too old to report propagation, and userland wouldn't know what to do with it even if it did!16:47
persia3.13.0-40-generic16:48
richard_mawhm, must be some kernel option not enabled then16:48
*** flatmush [~flatmush@82-70-136-246.dsl.in-addr.zen.co.uk] has joined #baserock16:48
richard_mawmount propagation defaults to shared, so you can put it back to its ideal state with `mount --make-rshared /`16:48
persiaOK16:49
*** flatmush1 [~flatmush@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Read error: Connection reset by peer]16:50
persiaNo errors from running `mount --make-rprivate /` followed by `mount --make-rshared /`16:50
persia(outside the chroot)16:50
richard_mawhm, then it must not be recognising / as a mount-point, and I'd assumed that your `mount --bind . .` would've done that16:50
richard_mawwhen running `findmnt` outside of the chroot, does it list the chroot?16:50
persiayes16:51
richard_mawI'm running out of ideas then, does `findmnt` show it when inside the chroot?16:52
persiaerr, I'm not actually running findmnt: I'm using awk on /proc/self/mountinfo16:53
richard_mawthere's no magic configure options to turn on listing propagation in /proc/self/mountinfo AFAICT, I just know it's unconditionally printed in 3.17, I'm about to check when this was added16:53
richard_mawpersia: either should be fine16:53
persiaBut, yes, inside it also shows / as a mountpoint16:53
pedroalvarezwhen I've hit this problem in the past, I solved it moving the rootfs to a different disk16:55
richard_mawI'm stumped, we've encountered similar issues with it failing in linus-user-chroot in the past for chroots16:56
* persia doesn't have enough disks for that16:56
richard_mawa loopback disk image ought to work16:56
richard_mawif it's a problem with a lack of physical hardware16:57
jmacsI'm hitting what appears to be an intermittent problem with gem16:57
persiaCreate a loopback disk, untar into that, loop-mount, and then chroot into the loop-mount?16:57
jmacsRunning "gem install coderay" on baserock gives a certificate error16:57
richard_mawpersia: that's what I'm thinking16:57
pedroalvarezjmacs: does your system have the ca-certificates chunk?16:58
jmacspedroalvarez: It *should* do, let me check16:58
pedroalvarezIf it is there, then maybe we need extra certificates for gem?16:59
jmacsYes, I have core, which should include ca-certificates17:00
jmacsWhat's odd is that I've recorded this problem occurring before, but have no solution, as though it just goes away17:00
franredmaybe the ca-certificates for the page of that gem are not in the normal certificates, I think you can add manually certificates to ca-certificates17:01
persiaYou can, and it should have the update-ca-certificates command17:01
pedroalvarezoh, intermitent problem, then that shouldn't be the problem17:01
jmacspersia: That's it17:01
jmacsupdate-ca-certificates fixed it17:02
persiaDoesn't that run in the system-integration commands?17:02
richard_mawit should do17:02
* persia got halfway through doing ca-certificates, and handed it off, and now feels guilty17:02
pedroalvarezhttp://paste.baserock.org/duwewehica.coffee17:02
pedroalvarezworked here, the first time I run gem17:03
pedroalvarezpersia: guilty? why?17:03
jmacsSo it looks to me like update-ca-certificates doesn't run sometimes17:03
richard_mawhm, update-ca-certificates is actually run as part of the install commands of the ca-certificates chunk17:03
persiapedroalvarez: Because I didn't finish, and it might be buggy17:03
richard_mawwhich means it'll only contain bundled certs17:04
persiaIt should be run at system-integration time, rather than install time.17:04
* richard_maw agrees17:04
* pedroalvarez fails to understand why17:05
richard_mawbecause you could have other chunks provide certs17:05
richard_mawtbh, we also want it to be run at staging integration time too, but we don't have that functionality17:06
richard_mawso doing it in install-commands is close enough for most purposes17:07
persiaAnd then re-run at integration time?17:07
persia(it is safe to run over and over and over again)17:07
richard_mawwe won't need to run it in install-commands if we have staging-integration-commands17:07
persiaRight, but we don't yet.17:08
richard_mawyep, because we don't have staging-integration-commands17:08
persiaWe ought fix that one day: we've been discussing the need for 10 months now :)17:09
persiaHow big do I need to make this loopback volume?  is 40G enough?17:09
jmacsI'm not sure what staging integration time and install time are exactly17:09
jmacsAre these all things that run during the deploy?17:09
richard_mawno, they run during build17:09
persiajmacs: "install time" is when the chunk install-commands are run, when the chunk is built.17:09
persia"staging integration" commands don't exist, but they would run after the staging area is constructed, but before everything becomes read-only (which needs some means of layering FS or similar).17:10
*** zoli_ [~zoli_@linaro/zoli] has joined #baserock17:10
persia"System integration" commands run when the system artifact is constructed, just after all the pieces are in place, and just before it gets bundled to stick in the cache.17:11
jmacsRight. I haven't rebuilt anything for a while, that I can remember17:11
jmacsI've just been doing lots of deploys17:11
pedroalvarezOOI: if another chunk installs a certificate, is this going to be installed under /usr/share/ca-certificates as well?17:12
persiapedroalvarez: That is where it belongs17:12
robtaylorrichard_maw: i recall us talking about some sort of thing for sysint to run things in alphanumerical ordering17:16
robtaylorrichard_maw: so you could create a 99-rebuild-ca-cache system-inetgration17:16
robtayloror similar17:16
* robtaylor is going back a long while though, start of the year i think17:17
persiaFebruary by my reckoning, but yes, some time ago17:23
* robtaylor wonders if doing that would Just Work (tm)17:24
* persia rather wishes "sysfs" was just "sys"17:24
* persia suspects the output of `morph help branch` should not reference baserock:baserock/morphs17:26
radiofreejjardon: why is systemd compiled with max-jobs: 1?17:28
jjardonradiofree: it fail in the generation of the GUdev.gir if not. I tried to fix it but without success17:29
radiofreeah, ok17:29
jjardonalso strange as I can compile systemd in my machine without problems17:29
radiofree36 minutes to build on a jetson17:30
ssam2jjardon: what filesystem was your /src hosted on when you saw that error ?17:30
ssam2I ask because I hit a problem that looked like a parallel make issue but was actually a FUSE bug17:31
jjardonssam2: ext417:31
ssam2which explained why I was only seeing it inside my Baserock system17:31
ssam2jjardon: probably not a FUSE bug then17:31
*** tiagogomes [~tiagogome@213.15.255.100] has quit [Quit: Leaving]17:31
jjardonIm using an (old) baserock chroot though17:32
persiaYou might want to update.  Experience the new bugs instead of the old ones.17:32
* persia is using a fresh rootfs downloaded today17:32
jjardonit would be good if any other can try and see if they can reproduce17:32
radiofreei'll try it now17:33
jjardonpersia: yeah, I should do it at some point17:33
persiaMounting a loop image at /mnt, and setting up a chroot there (thanks to radiofree for the tarball) allows me to run the test commands safely.  Now attempting a build.17:40
*** mariaderidder [~maria@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Quit: Ex-Chat]17:58
*** bashrc [~motters@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Quit: Lost terminal]17:59
*** genii [~quassel@ubuntu/member/genii] has joined #baserock18:01
pedroalvarezgreat18:02
*** sherm_ [~mike@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Quit: Leaving]18:10
persiaUnfortunately my test system is now cached.18:18
persiaAny suggestions on an armv7lhf system that is unlikely to be cached?18:18
jjardonWould it be possible to update the baserock images so the people that download them have network out of the box?18:18
*** locallycompact [~lc@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Ping timeout: 264 seconds]18:22
persiajjardon: Hrm?  How do you mean?18:27
* persia thought that worked18:27
persiaIn fact, that *did* work for me two weeks ago.18:27
*** ssam2 [~ssam2@82-70-136-246.dsl.in-addr.zen.co.uk] has quit [Remote host closed the connection]18:29
jjardonpersia: the images offered in baserock.org doesnt have systemd 217, so no network configuration out of the box. At least not here after running the qemu commands noted here: http://wiki.baserock.org/guides/vm-setup/#index3h218:29
persiaAh.  Yes, that should be fixed.18:29
persiaWhat does morph do when it is "deciding on task order"?  This seems the longest single step in the build process.18:31
straycatiirc build graph stuff18:33
straycatand that probably includes creating the source pool18:34
persiaHurrah.  Using a loopback causes morph to be capable of actual builds.18:36
persiastraycat: Thanks.  Hrm.  I suspect more feedback during that would be useful: it makes it feel slow.18:36
straycatIt can probably be faster too, I don't think anyone's really looked at runtime though.18:42
* straycat looks for more python packages with funny names18:43
straycatI wish programs would put their errors onto stderr, it would make it easier for me to report a useful error.18:44
persiaI thought you chose them because they were useful (e.g. a JSON config parser), rather than the names18:44
* straycat is sorry to disappoint18:46
*** zoli_ [~zoli_@linaro/zoli] has quit [Remote host closed the connection]19:08
* straycat tries out some of the more popular packages19:19
*** zoli_ [~zoli_@linaro/zoli] has joined #baserock19:42
*** zoli_ [~zoli_@linaro/zoli] has quit [Remote host closed the connection]19:43
*** genii [~quassel@ubuntu/member/genii] has quit [Read error: Connection reset by peer]22:36
*** zoli_ [~zoli_@linaro/zoli] has joined #baserock22:44
*** zoli_ [~zoli_@linaro/zoli] has quit [Ping timeout: 244 seconds]22:49
*** De|ta_ [~arc@195.242.156.171] has joined #baserock22:58
*** De|ta [~arc@195.242.156.171] has quit [Ping timeout: 252 seconds]22:59

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