IRC logs for #baserock for Wednesday, 2016-10-12

*** jjardon_matrix has joined #baserock00:04
*** gtristan has joined #baserock04:23
*** toscalix has joined #baserock05:11
*** toscalix has quit IRC07:21
*** fay_ has joined #baserock08:00
*** ctbruce has joined #baserock08:05
*** franred has joined #baserock08:20
*** toscalix has joined #baserock08:29
jjardontiagogomes_: yeah, that's the plan08:40
tiagogomes_ah great09:03
*** locallycompact has joined #baserock09:13
*** toscalix has quit IRC09:14
*** ppeter has joined #baserock09:47
*** ppeter has quit IRC09:48
*** CTtpollard has quit IRC09:53
*** CTtpollard has joined #baserock10:08
*** jjardon_matrix has quit IRC10:11
*** jjardon_matrix has joined #baserock10:17
locallycompactybd to python3
locallycompactno defslib integration yet10:27
leemingoh, you managed to migrate it?11:01
leeminglooks sensible to me, but i thought there was more to 2->3 than that :\ else i would have done it a while ago11:03
locallycompactIt wasn't painless tbh11:04
leemingnoticed a "WARNING: : no matching files" at end of the CI runs11:06
leemingwonder if it is tool related or just something in the CI11:06
jjardonlocallycompact: cool! I spin out another build to try to build a bigger system:
locallycompactnow the horrible part of integrating V1011:21
jjardontiagogomes_: btw, help welcomed with and (this is currently failing here:
tiagogomes_What's the issue, ybd needs to start looking at $stagingarea/usr/sbin/ldconfig ?11:52
paulsher1ooddo all popular distros have python3 already? eg arch, debian, fedora, aws ?11:54
SotKdebian still defaults to python 2.7 iirc, but python 3 can easily be installed11:56
SotKI think arch defaults to python 3, but don't know for sure11:57
paulsher1oodis it not possible to make ybd support both 2 and 3 simultaneously?11:58
SotKit certainly should be, unless there is some limitation I'm unaware of11:58
* SotK expects locallycompact will know better11:58
locallycompactit is not possible to make defslib support 2 and 3 simultaneously11:58
locallycompactand it won't be possible to make ybd support 2 and 3 simultaneously when I'm through with it11:59
locallycompactit probably isn't right now because of the screwy import statement changes11:59
* SotK wonders what defslib uses that is incompatible12:00
* paulsher1ood too12:00
locallycompactexception chaining12:00
locallycompactkey sorting12:00
locallycompactthere was one other I can't remember it's bothering me now12:01
paulsher1oodprint() should be trivial12:01
SotK`from __future__ import print_function` solves the print() one12:01
SotKthe others are probably handled by six or nine12:01
gtristanI dont think it wise to try to support both python2 and python3 from the same sources, and I think python3 is quite widely available enough at this point to depend on it, just my 2 cents12:06
gtristanwell, perhaps it's doable (same source python2 & 3), but not worth the effort, more importantly: pretending they should be the same is inviting disaster12:07
SotKits not really much effort when using one of the things I linked12:08
locallycompactIt doesn't seem covered by what you linked to me12:08
*** CTtpollard has quit IRC12:11
SotKwhat is missing?12:13
locallycompactexception chaining and key sorting12:13
SotK ?12:15
locallycompact"On Python 2, which does not support exception chaining, it is equivalent to raise exc_value."12:15
locallycompactAll this is is a way to stop the syntax checker complaining12:16
locallycompactIt doesn't provide the same behaviour in python212:16
gtristanWhat is the value of trying to make it work with Python 2 ? Are we afraid of the future viability of Python 3 and if it will be available on peoples OS in 10 years ?12:17
* locallycompact is afraid of the present viability of python anything.12:18
locallycompactBut yes, I see no point in 212:18
* gtristan runs to quickly shove some food into himself12:19
SotKwhat benefit is the one instance of exception chaining I can see in defslib providing ooi?12:23
SotK(I don't actually care enough about supporting python2 to complain further, just interested)12:23
*** gtristan has quit IRC12:24
locallycompactso, it's vital to indicate where any verification errors lie in a fully evaluated assemblage12:24
locallycompactand the reason is12:24
locallycompactwhen jsonschema runs through that oneOf12:25
locallycompactit hides the actual error12:25
locallycompactso validate_assemblage needs to chain up and up and up to say "this in this in this in this"12:26
*** jjardon_matrix has quit IRC12:27
locallycompactso all a oneOf error says is "could not validate against any of the supplied schemas" but it doesn't say why for each12:29
locallycompactwhich is a good thing because it wouldn't be able to tell which it should have been anyway12:29
*** jjardon_matrix has joined #baserock12:33
jjardonpaulsher1ood: no only that, Arch already defaults to python3 and ubuntu/fedora are planning to do so for a while as well12:45
*** toscalix has joined #baserock13:01
*** CTtpollard has joined #baserock13:11
*** gtristan has joined #baserock13:15
*** CTtpollard has quit IRC13:33
*** toscalix has quit IRC13:38
*** CTtpollard has joined #baserock13:38
jmacsI'm a bit confused that Baserock uses json-schema for validation but both the schema and the morph files seem to be written in YAML13:54
jmacsIs it YAML that's sufficiently close to JSON that the tools don't care?13:54
tiagogomes_YAML is a superset of JSON. So any json is valid YAML13:54
jmacsYes, but YAML is not JSON13:55
jmacsSo using YAML as input to json-schema will not always be valid13:55
SotKalso not all valid json is valid yaml :)13:55
locallycompactthe tools do care and it's annoying13:57
locallycompactthe setup for defslib jsonizes everything13:58
jmacsSo at the moment you have "chunk.json-schema" which is not valid JSON14:00
pedroalvarez"  This schema is represented as YAML, so that it can be edited more easily.14:04
pedroalvarez  You may need to convert to JSON if using a JSON-Schema tool that expects14:04
pedroalvarez  its input to be an actual string containing data serialised as JSON."14:04
pedroalvarezmeh, I never understood the schemas :/14:05
jmacsYes, I saw that, but it's preceeded by "This is a JSON-Schema description" which is not true14:05
jmacsWhy do it in JSON, then, rather than a YAML-based schema validator like kwalify?14:05
locallycompactIt is a JSON-Schema description if you load that in as a python object and put it through the schema for json-schema it will validate14:06
jmacsi.e. if you convert it to json14:07
locallycompactyaml -> python object14:07
locallycompactthe only headache is $ref doesn't resolve yaml14:08
locallycompactwhich is a big headache14:08
*** jjardon_matrix has quit IRC14:08
jmacsAt no point is it JSON then, but ok14:08
*** jjardon_matrix has joined #baserock14:08
locallycompactbut $ref will only resolve as JSON14:09
locallycompactotherwise it throws a decode error14:09
locallycompactso defslib has to jsonize everything anyway prior to install14:09
jmacsFor background, I'm trying to write a basic article about schema validation, and everyone seems to be doing this in a weird way14:09
locallycompactThere's JSON-schema the schema and jsonschema the python library and jsonschema the python library validates python objects against a resolver that loads $refs in as JSON14:12
jmacsI was only aware of JSON-schema the schema and jsonschema the command-line tool14:15
jmacsHence the confusion14:15
locallycompactIt's further compounded by the fact that V10 does not attempt to validate files14:16
locallycompactit resolves morph: fields first, slurping their contents into the containing dictionary14:17
locallycompactand then type checks the object14:17
gtristanlocallycompact, I am genuinely dumbfounded and curious about what all these coeffects mean and how they could solve the problem of stating what direct dependencies of a chunk are, but I feel like the conversation is astronauting a bit; the primary reason I posed the question is; should we one day recover these "lost dependencies", is there anything about V9/V10 which negates that14:18
gtristanlets not get bogged down too much if this is just a tangential discussion :)14:18
locallycompactNo nothing, we are closer for sure14:19
gtristanindeed, I thought that stating from the system level "which what" should be used (by pushing the stratum build depends to the system level) already offers more flexibility14:20
pedroalvarezgtristan: was there anything after "is there anything about V9/V10 which negates that ..." ?14:20
gtristanpedroalvarez, not sure where I said that exact sentence but I dont find it on the mailing list (although I do recall saying it)14:23
gtristanpedroalvarez, I'm referring to the ml discussion anyway14:23
locallycompacthe means you said it two lines up14:23
locallycompactit was a full sentence14:24
gtristanoh right here14:24
pedroalvarezI wonder if the sentence got cut off14:24
tiagogomes_How do I create a pull request in gitlab? Do I need to press the "Request Access" button?14:24
gtristanpedroalvarez, umm yeah that was a long sentence which takes up 4 lines here14:24
gtristanI am genuinely dumbfounded and curious about what all these coeffects mean and how14:25
gtristanthey could solve the problem of stating what direct dependencies of a chunk are, but I feel like the14:25
gtristanconversation is astronauting a bit; the primary reason I posed the question is; should we one day14:25
gtristanrecover these "lost dependencies", is there anything about V9/V10 which negates that14:26
gtristanpedroalvarez, that was the apparently truncated sentence14:26
pedroalvarezthanks :)14:26
* gtristan should be careful to avoid getting banned by freenode bots for flooding14:26
gtristanhappened before, for pasting 3 lines of console output14:27
locallycompactIn essence explicit build-depend by name are coeffects that have zero expressive power. i.e every chunk provides statements that say "I provide NAME", "I require NAME".14:32
locallycompactthat's how we are currently14:33
locallycompactBut something might say "I require GRAPHICS STACK by way of SPECIFIC DETAIL"14:33
locallycompact"otherwise I don't want it, I want something else"14:33
locallycompactthe graphics stack knows all its predecessive coeffects and provides them as proof/history14:34
locallycompactall of this can be calculated ahead of build14:34
locallycompactthat specific detail might be something as fundamental as "x86_64" or other feature14:36
locallycompactand because they don't need to be explicitly evaluated when they're provided, the app can backwards cause all of the coeffectual specific details until it hits a solution or many solutions it likes14:37
locallycompactthen it passes those forward14:37
locallycompactsometimes it may genuinely not matter (like the GTK, X11), but it shouldn't be left up to GTK to decide that for the entire stack, it just says "I am GTK by way of X11"14:44
locallycompactso app can context on GTK or GTK[X11]14:44
locallycompactmeaning I want a proof GTK was actually built with X11 if I'm going to use it14:44
locallycompacts/was/were to be/14:45
* leeming thinks bwrap is finally working with ybd14:46
leemingim sitting out the whole build first tho before celebrating14:46
leemingapart from errors... i wonder how i verify?14:46
leemingand it didn't seem to be the namespace thing gtristan14:47
locallycompactif anything beyond the first few strata is building I'd say you're good14:47
leeming2 issues, main one being there was a bug in my code that did not mount /dev properly... dev mount needs special permissions? instead of a normal 'mount' ?14:48
leemingother issue is sandboxlib related.. but clearly designed around/for linux-user-chroot14:48
leemingbwrap supports a "--dev [dest]" option, and a "--dev-bind [src] [dest]" option14:49
leemingim currently using the latter.. but i assume for bootstrap, the former should be used (it seems to imply --dev [dest] is the same as host)14:50
tiagogomes_How are you mounting /dev?14:50
leemingi didn't notice errors in stage1/2 though, so guessing it either doesnt matter, or a previous artefact existed?14:51
leemingtiagogomes_, previously it was just mounting it like a normal mount, i.e. --bind [src] [dest]14:51
jjardonlocallycompact: lets merge this before the ybd py3 branch?
tiagogomes_why is that related?15:07
locallycompactcan someone help me with this sandboxy lib15:11
locallycompactclone recursive, sudo ./quick-check.sh15:13
locallycompactit runs the configure command15:13
locallycompactthen doesn't run the build command15:13
locallycompactor doesn't give me much to go on15:13
leemingnot following locallycompact15:16
locallycompacttry the thing it will hang at some point15:16
locallycompactI dno why15:16
locallycompactafter it prints that it's running make, top is not doing anything15:17
leemingok 2 secs (although im building atm so mght be slow)15:18
*** jjardon_matrix has quit IRC15:20
*** jjardon_matrix has joined #baserock15:21
*** jjardon_matrix has quit IRC15:26
leemingsorry, that took forever to clone the updated master15:30
leemingyou might need a #!/bin/bash at the beginning locallycompact15:30
leemingfails for me15:30
* leeming installes jsonschema15:31
*** jjardon_matrix has joined #baserock15:38
leeminglocallycompact, humm I seem to get a crash ...
locallycompactdid you clone recursive15:40
leemingi already had the repo... so just did a pull of master15:41
leemingis there some other voodoo i need?15:41
locallycompactgit submodule update maybe?15:41
leeminghmm that complains15:42
pedroalvarezgit submodule init     # Initialize possible new repositories15:42
locallycompactbecause of stash?15:43
pedroalvarezand then what locallycompact said15:43
locallycompactcd into spec15:43
locallycompactgit reset --hard15:43
locallycompactback up and updte15:43
leemingah coo, just done that15:44
leemingsorry never really used submodules before15:44
locallycompactdw they will never get any less horrid15:44
pedroalvarezthey are painful, and that's why we shouldn't use them :)15:44
SotK+1 for not using submodules ever :)15:45
*** fay_ has quit IRC15:46
leemingi wonder if you should have a dummy's update script :D15:46
* leeming notices his bwrap-ybd build finished15:47
locallycompactNo that sould have works15:47
locallycompactreset --hard the submodule15:47
locallycompactgit submodule update15:47
leemingi did that to spec15:47
locallycompactoh no15:47
locallycompactsory Iam looking at the wrong everything15:47
locallycompactpull the latest lc/010 of definitions15:48
leemingthe sh script does that15:48
leemingor does it?15:48
locallycompactit does not15:49
locallycompactremot eupdate and reset --hard origin/lc/01015:49
leemingah, im on Mon oct315:49
* gtristan returns from a midnight run at the gym15:49
leemingis it a full moon?15:50
gtristanlocallycompact, thanks for your explanation; I think I'm having a hard time grasping how you are applying the terms "proof" and "history" mostly, I needed more layman terms15:50
leemingright, updated and.... yes looks to be.... dead15:51
leemingoh no, it was cloning15:51
locallycompactgtristan, I mean proof in the sense of the curry-howard correspondence15:52
leeminghmm shouldn't it be forcing bwrap? chroot fell over in sandboxlib.. 2 secs15:52
locallycompactI wasn't using bwrap because it wasn't finished15:53
* leeming mumbles it is now15:53
leemingbut it shouldnt be chrooting anyway?15:53
locallycompactgtristan, it's a steep climb if you've never seen that before but it's powerful conceptual material15:55
leemingah, since it is not bwrap, i guess root is needed15:55
leemingmy bad15:55
locallycompactthe basic idea is to replace truth semantics (classical logic/boolean connectives) with provability semantics (intutionistic logic/heyting connectives)
leeminghe said layman15:57
locallycompacti.e, we always looking to construct something as evidence, not evaluate truth tables15:57
leemingive got a logic background, but dont know them words :)15:57
locallycompactthis is very standard for logic15:58
locallycompactlet me see if I can find something more laymanny15:58
gtristanone thing I wish I had attended school for is higher maths15:59
leemingyou didn't attend school?>16:01
leemingtbh, i only picked up some logic stuff from friends mostly. but still had like 2 courses on it at uni16:01
gtristannope, did not, never got into it16:02
gtristanI do miss math, I mostly pick up trig on demand (takes about 30min to refresh), and then quickly forget it to make room16:02
gtristanbig O notation is sort of obvious after writing a lot of code16:03
gtristanbut I get confused looking at formal mathematical representations of algorithms I would understand if written in C (which is admittedly backwards)16:04
leemingi never quite liked big O notation... probs because it was taught to me as bible... no matter how many times i asked about the avg case16:05
* gtristan did spend some time reading books like Operating System Concepts in his free time16:05
leemingor the lim of the inputs16:05
leemingbtw locallycompact ... making.. but doesn't look to be doing much16:05
locallycompactThis is a good book:
locallycompactleeming, why is it not doing anything16:08
locallycompactis the question16:08
leemingbecause it is lazy16:12
leemingi wonder why it is picking chroot over linux-user-chroot though16:12
gtristanlocallycompact, that looks interesting, I'll give it a try :)16:12
gtristanlast time I read something computerish was about 18 months ago, possibly something the uni people are familiar with: (Parsing Techniques)16:13
gtristanthat was a fun read actually16:13
locallycompactI liked this guy as well, potentially a good introduction
leemingi had a course called "understanding programming languages"16:15
leemingthe logic defining basic languages16:15
leemingaxiomatic, semantic, denotational, "abstract machine" and natural semantics16:16
locallycompactI like the look of that parsing book16:19
locallycompactleeming, I picked chroot because I don't know what I'm doing16:22
leemingah ok16:25
leemingim just running some final tests on bwrap with sandboxlib, then will try to merge it into master anyway16:26
leemingthen, push to pypi16:26
leemingi think there are some chroot bugs in the latest pypi version btw16:26
locallycompactI get a different error with linux-user-chroot16:28
locallycompactRead only file system16:28
leemingah ok...16:30
leemingquick, butcher the code to use the latest sandboxlib :D16:30
leemingim actually rebasing it now16:30
locallycompactis it on pypi16:30
*** jjardon_matrix has quit IRC16:30
leemingnot even on git-place yet16:30
*** jjardon_matrix has joined #baserock16:31
locallycompactchanging writeables to 'all' made it get a bit further16:36
locallycompacthmm that might have fixed it actually16:37
leemingwell i expect that to have 'fixed' the write error16:37
locallycompactcpu looks more active16:37
locallycompactthat got further16:38
leeminghmm rebasing... git doesn't seem to detect when i do a git add, then git rebase --contunie16:38
locallycompactwhat do you mean detect16:38
leeming"No changes - did you forget to use 'git add'?16:39
locallycompactwhat does git status say16:39
leemingYou are currently rebasing branch 'leeming/bwrap-rebase' on '0ba8e54'.16:39
leeming  (all conflicts fixed: run "git rebase --continue")16:39
leemingbut --continue complains :P16:39
leemingi assume it is safe to --skip16:40
leemingi fixed the conflic16:40
leemingi wonder if it is because it is a dot file?16:43
leemingdoesn't match a rule in .gitignore though16:43
leemingah well16:43
*** CTtpollard has quit IRC16:47
locallycompactwhoo defslib is building things17:01
leemingsooo muuccchhh rebaseee pain17:07
leemingive made too many commits, so rebasing patch by patch is getting annoying17:08
leemingcan't i just say, my file.a accept "mine" for strategy, else "theirs" ?17:09
locallycompactnot if you've both made changes to the same hunk17:09
leemingi didn't touch him, arnie is an untouchable17:13
*** CTtpollard has joined #baserock17:21
*** locallycompact has quit IRC17:26
*** ctbruce has quit IRC20:55
*** ctbruce has joined #baserock20:55
*** jjardon_matrix has quit IRC21:19
*** leeming has quit IRC21:19
*** jjardon_matrix has joined #baserock21:20
*** leeming has joined #baserock21:23
*** ctbruce has quit IRC21:31

Generated by 2.14.0 by Marius Gedminas - find it at!