*** jjardon_matrix has joined #baserock | 00:04 | |
*** gtristan has joined #baserock | 04:23 | |
*** toscalix has joined #baserock | 05:11 | |
*** toscalix has quit IRC | 07:21 | |
*** fay_ has joined #baserock | 08:00 | |
*** ctbruce has joined #baserock | 08:05 | |
*** franred has joined #baserock | 08:20 | |
*** toscalix has joined #baserock | 08:29 | |
jjardon | tiagogomes_: yeah, that's the plan | 08:40 |
---|---|---|
tiagogomes_ | ah great | 09:03 |
*** locallycompact has joined #baserock | 09:13 | |
*** toscalix has quit IRC | 09:14 | |
*** ppeter has joined #baserock | 09:47 | |
*** ppeter has quit IRC | 09:48 | |
*** CTtpollard has quit IRC | 09:53 | |
*** CTtpollard has joined #baserock | 10:08 | |
*** jjardon_matrix has quit IRC | 10:11 | |
*** jjardon_matrix has joined #baserock | 10:17 | |
locallycompact | ybd to python3 https://gitlab.com/baserock/ybd/merge_requests/247 | 10:27 |
locallycompact | no defslib integration yet | 10:27 |
leeming | oh, you managed to migrate it? | 11:01 |
locallycompact | yea | 11:02 |
leeming | looks sensible to me, but i thought there was more to 2->3 than that :\ else i would have done it a while ago | 11:03 |
locallycompact | It wasn't painless tbh | 11:04 |
leeming | noticed a "WARNING: : no matching files" at end of the CI runs | 11:06 |
leeming | wonder if it is tool related or just something in the CI | 11:06 |
jjardon | locallycompact: cool! I spin out another build to try to build a bigger system: https://gitlab.com/baserock/ybd/pipelines/4576309 | 11:21 |
locallycompact | nice | 11:21 |
locallycompact | now the horrible part of integrating V10 | 11:21 |
jjardon | tiagogomes_: btw, help welcomed with https://gerrit.baserock.org/#/c/1713/ and https://gitlab.com/baserock/definitions/commits/jjardon/usr-merge (this is currently failing here: https://gitlab.com/baserock/definitions/builds/5022689) | 11:36 |
tiagogomes_ | What's the issue, ybd needs to start looking at $stagingarea/usr/sbin/ldconfig ? | 11:52 |
paulsher1ood | do all popular distros have python3 already? eg arch, debian, fedora, aws ? | 11:54 |
SotK | debian still defaults to python 2.7 iirc, but python 3 can easily be installed | 11:56 |
SotK | I think arch defaults to python 3, but don't know for sure | 11:57 |
paulsher1ood | is it not possible to make ybd support both 2 and 3 simultaneously? | 11:58 |
SotK | it certainly should be, unless there is some limitation I'm unaware of | 11:58 |
* SotK expects locallycompact will know better | 11:58 | |
locallycompact | it is not possible to make defslib support 2 and 3 simultaneously | 11:58 |
locallycompact | and it won't be possible to make ybd support 2 and 3 simultaneously when I'm through with it | 11:59 |
locallycompact | it probably isn't right now because of the screwy import statement changes | 11:59 |
* SotK wonders what defslib uses that is incompatible | 12:00 | |
* paulsher1ood too | 12:00 | |
locallycompact | exception chaining | 12:00 |
locallycompact | key sorting | 12:00 |
locallycompact | print() | 12:00 |
locallycompact | there was one other I can't remember it's bothering me now | 12:01 |
paulsher1ood | print() should be trivial | 12:01 |
SotK | `from __future__ import print_function` solves the print() one | 12:01 |
SotK | the others are probably handled by six or nine | 12:01 |
locallycompact | ? | 12:02 |
SotK | https://pythonhosted.org/six/ | 12:02 |
SotK | https://pypi.python.org/pypi/eight | 12:02 |
SotK | https://pypi.python.org/pypi/nine | 12:02 |
locallycompact | interesting | 12:04 |
gtristan | I 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 cents | 12:06 |
gtristan | well, perhaps it's doable (same source python2 & 3), but not worth the effort, more importantly: pretending they should be the same is inviting disaster | 12:07 |
SotK | its not really much effort when using one of the things I linked | 12:08 |
locallycompact | It doesn't seem covered by what you linked to me | 12:08 |
*** CTtpollard has quit IRC | 12:11 | |
SotK | what is missing? | 12:13 |
locallycompact | exception chaining and key sorting | 12:13 |
SotK | https://pythonhosted.org/six/#six.raise_from ? | 12:15 |
locallycompact | "On Python 2, which does not support exception chaining, it is equivalent to raise exc_value." | 12:15 |
locallycompact | All this is is a way to stop the syntax checker complaining | 12:16 |
locallycompact | It doesn't provide the same behaviour in python2 | 12:16 |
gtristan | What 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 | |
locallycompact | But yes, I see no point in 2 | 12:18 |
* gtristan runs to quickly shove some food into himself | 12:19 | |
SotK | what 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 IRC | 12:24 | |
locallycompact | so, it's vital to indicate where any verification errors lie in a fully evaluated assemblage | 12:24 |
locallycompact | and the reason is | 12:24 |
locallycompact | https://gitlab.com/baserock/spec/blob/lc/010-dev/schemas/assemblage.json-schema#L25 | 12:25 |
locallycompact | when jsonschema runs through that oneOf | 12:25 |
locallycompact | it hides the actual error | 12:25 |
locallycompact | so 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 IRC | 12:27 | |
locallycompact | so all a oneOf error says is "could not validate against any of the supplied schemas" but it doesn't say why for each | 12:29 |
locallycompact | which is a good thing because it wouldn't be able to tell which it should have been anyway | 12:29 |
*** jjardon_matrix has joined #baserock | 12:33 | |
jjardon | paulsher1ood: no only that, Arch already defaults to python3 and ubuntu/fedora are planning to do so for a while as well | 12:45 |
*** toscalix has joined #baserock | 13:01 | |
*** CTtpollard has joined #baserock | 13:11 | |
*** gtristan has joined #baserock | 13:15 | |
*** CTtpollard has quit IRC | 13:33 | |
*** toscalix has quit IRC | 13:38 | |
*** CTtpollard has joined #baserock | 13:38 | |
jmacs | I'm a bit confused that Baserock uses json-schema for validation but both the schema and the morph files seem to be written in YAML | 13:54 |
jmacs | Is 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 YAML | 13:54 |
jmacs | Yes, but YAML is not JSON | 13:55 |
jmacs | So using YAML as input to json-schema will not always be valid | 13:55 |
SotK | also not all valid json is valid yaml :) | 13:55 |
locallycompact | the tools do care and it's annoying | 13:57 |
locallycompact | the setup for defslib jsonizes everything | 13:58 |
jmacs | So at the moment you have "chunk.json-schema" which is not valid JSON | 14:00 |
locallycompact | yes | 14:02 |
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 expects | 14:04 |
pedroalvarez | its input to be an actual string containing data serialised as JSON." | 14:04 |
pedroalvarez | meh, I never understood the schemas :/ | 14:05 |
jmacs | Yes, I saw that, but it's preceeded by "This is a JSON-Schema description" which is not true | 14:05 |
jmacs | Why do it in JSON, then, rather than a YAML-based schema validator like kwalify? | 14:05 |
locallycompact | It 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 validate | 14:06 |
jmacs | i.e. if you convert it to json | 14:07 |
locallycompact | no | 14:07 |
locallycompact | yaml -> python object | 14:07 |
locallycompact | the only headache is $ref doesn't resolve yaml | 14:08 |
locallycompact | which is a big headache | 14:08 |
*** jjardon_matrix has quit IRC | 14:08 | |
jmacs | At no point is it JSON then, but ok | 14:08 |
*** jjardon_matrix has joined #baserock | 14:08 | |
locallycompact | right | 14:08 |
locallycompact | but $ref will only resolve as JSON | 14:09 |
locallycompact | otherwise it throws a decode error | 14:09 |
locallycompact | so defslib has to jsonize everything anyway prior to install | 14:09 |
jmacs | For background, I'm trying to write a basic article about schema validation, and everyone seems to be doing this in a weird way | 14:09 |
locallycompact | yes | 14:09 |
locallycompact | There'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 JSON | 14:12 |
jmacs | I was only aware of JSON-schema the schema and jsonschema the command-line tool | 14:15 |
jmacs | Hence the confusion | 14:15 |
locallycompact | ah | 14:15 |
locallycompact | It's further compounded by the fact that V10 does not attempt to validate files | 14:16 |
locallycompact | it resolves morph: fields first, slurping their contents into the containing dictionary | 14:17 |
locallycompact | and then type checks the object | 14:17 |
gtristan | locallycompact, 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 that | 14:18 |
gtristan | lets not get bogged down too much if this is just a tangential discussion :) | 14:18 |
locallycompact | No nothing, we are closer for sure | 14:19 |
gtristan | indeed, 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 flexibility | 14:20 |
pedroalvarez | gtristan: was there anything after "is there anything about V9/V10 which negates that ..." ? | 14:20 |
gtristan | pedroalvarez, 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 |
gtristan | pedroalvarez, I'm referring to the ml discussion anyway | 14:23 |
locallycompact | he means you said it two lines up | 14:23 |
locallycompact | it was a full sentence | 14:24 |
gtristan | oh right here | 14:24 |
pedroalvarez | I wonder if the sentence got cut off | 14:24 |
tiagogomes_ | How do I create a pull request in gitlab? Do I need to press the "Request Access" button? | 14:24 |
gtristan | pedroalvarez, umm yeah that was a long sentence which takes up 4 lines here | 14:24 |
gtristan | I am genuinely dumbfounded and curious about what all these coeffects mean and how | 14:25 |
gtristan | they could solve the problem of stating what direct dependencies of a chunk are, but I feel like the | 14:25 |
gtristan | conversation is astronauting a bit; the primary reason I posed the question is; should we one day | 14:25 |
gtristan | recover these "lost dependencies", is there anything about V9/V10 which negates that | 14:26 |
gtristan | pedroalvarez, that was the apparently truncated sentence | 14:26 |
pedroalvarez | thanks :) | 14:26 |
* gtristan should be careful to avoid getting banned by freenode bots for flooding | 14:26 | |
gtristan | happened before, for pasting 3 lines of console output | 14:27 |
locallycompact | In 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 |
locallycompact | that's how we are currently | 14:33 |
locallycompact | But 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 |
locallycompact | the graphics stack knows all its predecessive coeffects and provides them as proof/history | 14:34 |
locallycompact | all of this can be calculated ahead of build | 14:34 |
locallycompact | that specific detail might be something as fundamental as "x86_64" or other feature | 14:36 |
locallycompact | and 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 likes | 14:37 |
locallycompact | then it passes those forward | 14:37 |
locallycompact | sometimes 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 |
locallycompact | so app can context on GTK or GTK[X11] | 14:44 |
locallycompact | meaning I want a proof GTK was actually built with X11 if I'm going to use it | 14:44 |
locallycompact | s/was/were to be/ | 14:45 |
* leeming thinks bwrap is finally working with ybd | 14:46 | |
locallycompact | \o/ | 14:46 |
leeming | im sitting out the whole build first tho before celebrating | 14:46 |
leeming | apart from errors... i wonder how i verify? | 14:46 |
leeming | and it didn't seem to be the namespace thing gtristan | 14:47 |
locallycompact | if anything beyond the first few strata is building I'd say you're good | 14:47 |
leeming | 2 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 |
leeming | other issue is sandboxlib related.. but clearly designed around/for linux-user-chroot | 14:48 |
leeming | bwrap supports a "--dev [dest]" option, and a "--dev-bind [src] [dest]" option | 14:49 |
leeming | im 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 |
leeming | i didn't notice errors in stage1/2 though, so guessing it either doesnt matter, or a previous artefact existed? | 14:51 |
leeming | tiagogomes_, previously it was just mounting it like a normal mount, i.e. --bind [src] [dest] | 14:51 |
jjardon | locallycompact: lets merge this before the ybd py3 branch? https://gerrit.baserock.org/#/c/2318/ | 15:06 |
locallycompact | yip | 15:07 |
tiagogomes_ | why is that related? | 15:07 |
locallycompact | can someone help me with this sandboxy lib | 15:11 |
locallycompact | https://gitlab.com/baserock/defslib | 15:12 |
locallycompact | clone recursive, sudo ./quick-check.sh | 15:13 |
locallycompact | it runs the configure command | 15:13 |
locallycompact | then doesn't run the build command | 15:13 |
locallycompact | or doesn't give me much to go on | 15:13 |
leeming | not following locallycompact | 15:16 |
locallycompact | try the thing it will hang at some point | 15:16 |
locallycompact | I dno why | 15:16 |
leeming | master? | 15:17 |
locallycompact | yea | 15:17 |
locallycompact | after it prints that it's running make, top is not doing anything | 15:17 |
leeming | ok 2 secs (although im building atm so mght be slow) | 15:18 |
*** jjardon_matrix has quit IRC | 15:20 | |
*** jjardon_matrix has joined #baserock | 15:21 | |
*** jjardon_matrix has quit IRC | 15:26 | |
leeming | sorry, that took forever to clone the updated master | 15:30 |
leeming | you might need a #!/bin/bash at the beginning locallycompact | 15:30 |
leeming | fails for me | 15:30 |
* leeming installes jsonschema | 15:31 | |
*** jjardon_matrix has joined #baserock | 15:38 | |
leeming | locallycompact, humm I seem to get a crash ... http://paste.baserock.org/oxebiweseb | 15:39 |
locallycompact | did you clone recursive | 15:40 |
leeming | i already had the repo... so just did a pull of master | 15:41 |
leeming | is there some other voodoo i need? | 15:41 |
locallycompact | git submodule update maybe? | 15:41 |
leeming | hmm that complains | 15:42 |
pedroalvarez | git submodule init # Initialize possible new repositories | 15:42 |
locallycompact | because of stash? | 15:43 |
pedroalvarez | and then what locallycompact said | 15:43 |
leeming | yes | 15:43 |
locallycompact | cd into spec | 15:43 |
locallycompact | git reset --hard | 15:43 |
locallycompact | back up and updte | 15:43 |
leeming | ah coo, just done that | 15:44 |
leeming | sorry never really used submodules before | 15:44 |
locallycompact | dw they will never get any less horrid | 15:44 |
pedroalvarez | they are painful, and that's why we shouldn't use them :) | 15:44 |
SotK | +1 for not using submodules ever :) | 15:45 |
leeming | http://paste.baserock.org/ixunufecey | 15:45 |
*** fay_ has quit IRC | 15:46 | |
leeming | i wonder if you should have a dummy's update script :D | 15:46 |
* leeming notices his bwrap-ybd build finished | 15:47 | |
locallycompact | No that sould have works | 15:47 |
locallycompact | reset --hard the submodule | 15:47 |
locallycompact | git submodule update | 15:47 |
leeming | i did that to spec | 15:47 |
locallycompact | oh no | 15:47 |
locallycompact | sory Iam looking at the wrong everything | 15:47 |
locallycompact | pull the latest lc/010 of definitions | 15:48 |
leeming | the sh script does that | 15:48 |
locallycompact | sec | 15:48 |
leeming | or does it? | 15:48 |
locallycompact | 61899ca6a49db675d582df70a02754c4215afde3 | 15:48 |
locallycompact | it does not | 15:49 |
locallycompact | remot eupdate and reset --hard origin/lc/010 | 15:49 |
leeming | ah, im on Mon oct3 | 15:49 |
* gtristan returns from a midnight run at the gym | 15:49 | |
leeming | is it a full moon? | 15:50 |
gtristan | locallycompact, 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 terms | 15:50 |
leeming | right, updated and.... yes looks to be.... dead | 15:51 |
leeming | oh no, it was cloning | 15:51 |
locallycompact | gtristan, I mean proof in the sense of the curry-howard correspondence | 15:52 |
leeming | hmm shouldn't it be forcing bwrap? chroot fell over in sandboxlib.. 2 secs | 15:52 |
locallycompact | I wasn't using bwrap because it wasn't finished | 15:53 |
* leeming mumbles it is now | 15:53 | |
leeming | ;) | 15:53 |
leeming | but it shouldnt be chrooting anyway? | 15:53 |
leeming | linux-user-chroot | 15:54 |
locallycompact | gtristan, it's a steep climb if you've never seen that before but it's powerful conceptual material | 15:55 |
leeming | ah, since it is not bwrap, i guess root is needed | 15:55 |
leeming | my bad | 15:55 |
locallycompact | the basic idea is to replace truth semantics (classical logic/boolean connectives) with provability semantics (intutionistic logic/heyting connectives) https://en.wikipedia.org/wiki/Intuitionistic_logic | 15:56 |
leeming | he said layman | 15:57 |
locallycompact | i.e, we always looking to construct something as evidence, not evaluate truth tables | 15:57 |
leeming | ive got a logic background, but dont know them words :) | 15:57 |
leeming | got/have | 15:57 |
leeming | blurhg | 15:57 |
locallycompact | this is very standard for logic | 15:58 |
locallycompact | let me see if I can find something more laymanny | 15:58 |
gtristan | hah | 15:59 |
gtristan | one thing I wish I had attended school for is higher maths | 15:59 |
leeming | you didn't attend school?> | 16:01 |
leeming | tbh, i only picked up some logic stuff from friends mostly. but still had like 2 courses on it at uni | 16:01 |
gtristan | nope, did not, never got into it | 16:02 |
gtristan | I do miss math, I mostly pick up trig on demand (takes about 30min to refresh), and then quickly forget it to make room | 16:02 |
gtristan | big O notation is sort of obvious after writing a lot of code | 16:03 |
gtristan | but I get confused looking at formal mathematical representations of algorithms I would understand if written in C (which is admittedly backwards) | 16:04 |
leeming | i 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 case | 16:05 |
* gtristan did spend some time reading books like Operating System Concepts in his free time | 16:05 | |
leeming | or the lim of the inputs | 16:05 |
leeming | btw locallycompact ... making.. but doesn't look to be doing much | 16:05 |
locallycompact | This is a good book: http://www.paultaylor.eu/stable/prot.pdf | 16:08 |
locallycompact | leeming, why is it not doing anything | 16:08 |
locallycompact | is the question | 16:08 |
leeming | because it is lazy | 16:12 |
leeming | i wonder why it is picking chroot over linux-user-chroot though | 16:12 |
gtristan | locallycompact, that looks interesting, I'll give it a try :) | 16:12 |
gtristan | last time I read something computerish was about 18 months ago, possibly something the uni people are familiar with: http://dickgrune.com/Books/PTAPG_1st_Edition/BookBody.pdf (Parsing Techniques) | 16:13 |
gtristan | that was a fun read actually | 16:13 |
locallycompact | I liked this guy as well, potentially a good introduction https://www.youtube.com/playlist?list=PLGCr8P_YncjXRzdGq2SjKv5F2J8HUFeqN | 16:14 |
leeming | i had a course called "understanding programming languages" | 16:15 |
leeming | the logic defining basic languages | 16:15 |
leeming | axiomatic, semantic, denotational, "abstract machine" and natural semantics | 16:16 |
locallycompact | I like the look of that parsing book | 16:19 |
locallycompact | leeming, I picked chroot because I don't know what I'm doing | 16:22 |
leeming | ah ok | 16:25 |
leeming | im just running some final tests on bwrap with sandboxlib, then will try to merge it into master anyway | 16:26 |
leeming | then, push to pypi | 16:26 |
leeming | i think there are some chroot bugs in the latest pypi version btw | 16:26 |
locallycompact | I get a different error with linux-user-chroot | 16:28 |
locallycompact | Read only file system | 16:28 |
leeming | ah ok... | 16:30 |
leeming | quick, butcher the code to use the latest sandboxlib :D | 16:30 |
leeming | im actually rebasing it now | 16:30 |
locallycompact | is it on pypi | 16:30 |
*** jjardon_matrix has quit IRC | 16:30 | |
leeming | not even on git-place yet | 16:30 |
*** jjardon_matrix has joined #baserock | 16:31 | |
locallycompact | changing writeables to 'all' made it get a bit further | 16:36 |
locallycompact | hmm that might have fixed it actually | 16:37 |
leeming | well i expect that to have 'fixed' the write error | 16:37 |
locallycompact | cpu looks more active | 16:37 |
locallycompact | that got further | 16:38 |
leeming | hmm rebasing... git doesn't seem to detect when i do a git add, then git rebase --contunie | 16:38 |
locallycompact | what do you mean detect | 16:38 |
leeming | "No changes - did you forget to use 'git add'? | 16:39 |
leeming | " | 16:39 |
locallycompact | what does git status say | 16:39 |
leeming | You are currently rebasing branch 'leeming/bwrap-rebase' on '0ba8e54'. | 16:39 |
leeming | (all conflicts fixed: run "git rebase --continue") | 16:39 |
leeming | but --continue complains :P | 16:39 |
locallycompact | ooer | 16:40 |
leeming | i assume it is safe to --skip | 16:40 |
leeming | i fixed the conflic | 16:40 |
leeming | i wonder if it is because it is a dot file? | 16:43 |
leeming | doesn't match a rule in .gitignore though | 16:43 |
leeming | ah well | 16:43 |
*** CTtpollard has quit IRC | 16:47 | |
locallycompact | whoo defslib is building things | 17:01 |
leeming | sooo muuccchhh rebaseee pain | 17:07 |
leeming | ive made too many commits, so rebasing patch by patch is getting annoying | 17:08 |
leeming | can't i just say, my file.a accept "mine" for strategy, else "theirs" ? | 17:09 |
locallycompact | not if you've both made changes to the same hunk | 17:09 |
leeming | i didn't touch him, arnie is an untouchable | 17:13 |
*** CTtpollard has joined #baserock | 17:21 | |
*** locallycompact has quit IRC | 17:26 | |
*** ctbruce has quit IRC | 20:55 | |
*** ctbruce has joined #baserock | 20:55 | |
*** jjardon_matrix has quit IRC | 21:19 | |
*** leeming has quit IRC | 21:19 | |
*** jjardon_matrix has joined #baserock | 21:20 | |
*** leeming has joined #baserock | 21:23 | |
*** ctbruce has quit IRC | 21:31 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!