*** gtristan has quit IRC | 00:01 | |
*** gtristan has joined #baserock | 00:01 | |
*** gtristan has quit IRC | 03:18 | |
*** gtristan has joined #baserock | 04:12 | |
*** gtristan has quit IRC | 06:47 | |
*** gtristan has joined #baserock | 07:15 | |
*** rdale has joined #baserock | 07:20 | |
*** ctbruce has joined #baserock | 07:28 | |
*** paulwaters_ has joined #baserock | 07:54 | |
*** toscalix has joined #baserock | 08:03 | |
*** franred_ has joined #baserock | 08:11 | |
jjardon | paulsherwood: hi, can you reopen https://github.com/devcurmudgeon/ybd/issues/218 ? Seems I can not do it myself | 08:24 |
---|---|---|
paulsherwood | done. however i have no clue how to debug it, let alone fix it, i'm afraid | 08:25 |
*** jonathanmaw has joined #baserock | 08:32 | |
paulsherwood | leeming: any chance you could take a look, please? | 08:43 |
leeming | paulsherwood, sure I can switch back over to looking at ybd | 09:27 |
paulsherwood | leeming: i was hoping you'd solve it in minutes :) | 09:30 |
*** locallycompact has joined #baserock | 09:30 | |
* leeming tries to figure out the sarcasm to expectation ratio | 09:31 | |
*** locallycompact has quit IRC | 09:32 | |
leeming | anyway, at a glance sounds like it _might_ be a funny python string thing (unicode strings) | 09:36 |
*** locallycompact has joined #baserock | 09:36 | |
paulsherwood | it was't sarcasm, it was desperate optimism. | 09:38 |
paulsherwood | yes, it's a funny python string thing. unfortunately i still don't understand that dark corner of python | 09:39 |
paulsherwood | leeming: if you're 'in the zone' on what you're doing, i can ask someone else | 09:41 |
leeming | well I was going to add some more advanced things to spec2def... I got it in a usable state (by others) yesterday | 09:43 |
franred_ | paulsherwood, I think you can escape, decode and filter unicode strings. I think morph has deal with this in the past | 09:43 |
leeming | but i havent started anything considerable yet, so i can | 09:43 |
locallycompact | python3 makes this a non-issue, I'm led to believe | 09:44 |
paulsherwood | python2 is lowest-common-denominator, so i believe(d) it's best to stick with that | 09:45 |
leeming | yes, it is a 2.7 issue | 09:45 |
leeming | part of the friction between python 2 and 3 camps :) | 09:45 |
locallycompact | lowest-common-denominator is why we can't have nice things | 09:45 |
richard_maw | python3 makes the type conversions more explicit so they fail earlier at a point where it's easier to fix, unfortunately it has incorrect opinions on what should be unicode and what should be bytes | 09:46 |
richard_maw | file paths for example | 09:47 |
richard_maw | in Linux file paths are bytes with the only restriction that you can't embed NUL bytes and / is the path component separator, unicode is much more strict | 09:48 |
richard_maw | so you can make some python3 programs fail by having non-unicode-compatible file names | 09:48 |
richard_maw | there's os.fs{en,de}code for mangling bytes into something unicode compatible, which most of the filesystem APIs de-mangle under the hood, but I'm told fsencode and fsdecode can mangle strings so badly that they embed NULs | 09:50 |
richard_maw | there's a pathlib module in python3's standard library. it is wholly incapable of handling non-unicode file paths, so should be ejected from orbit as not fit for purpose | 09:51 |
richard_maw | Rust gets it right by having file paths be a different type entirely so the appropriate conversions *can* be handled transparently | 09:51 |
rjek | It sounds like Python is designed and written by Python language lawyers, not language lawyers of the language they've implemented it in. | 09:52 |
*** ctbruce has quit IRC | 09:52 | |
richard_maw | don't get me started on time representation | 09:52 |
richard_maw | rjek: nor developers on the platform it must target. | 09:53 |
rjek | Nod | 09:53 |
* locallycompact prods richard_maw about time representation | 09:55 | |
richard_maw | locallycompact: time is represented as floating point. A double lacks sufficient precision to represent linux time stamps. The reason why this wasn't fixed was that "nobody has clocks of that precision". This is no longer true, and regardless it means that you can't accurately copy a file's metadata from python without messing about with ffi. | 10:00 |
locallycompact | oh lord | 10:01 |
*** ctbruce has joined #baserock | 10:10 | |
rjek | Fire. | 10:11 |
leeming | jjardon, can you give me instructions of replicating your error please? I think I know what is up, but just want to go through some debug testing | 10:56 |
jjardon | leeming: simply build a system | 10:57 |
jjardon | all of them are failing: https://gitlab.com/baserock/definitions/pipelines/3642995 | 10:57 |
leeming | Latest build -> https://gitlab.com/baserock/definitions/builds/2168063 | 11:08 |
leeming | In file included from ext/_yaml.c:343:0: | 11:08 |
leeming | ext/_yaml.h:6:0: warning: "PyUnicode_FromString" redefined | 11:08 |
leeming | yaml seems not to be building pre system build | 11:08 |
leeming | oops sorry that was a warning | 11:09 |
leeming | there are a few errors tho | 11:09 |
leeming | But since they are for PyUnicode*, seems to raise questions | 11:10 |
* tiagogomes learns his number of commits to definitions | 11:17 | |
leeming | how do I tell gitlab to use a different branch ? Assuming in .gitlab-ci.yml, but only examples of cloning, not using alternative branches | 11:22 |
leeming | or do I just stick in a 'git branch new/branch' line? | 11:23 |
leeming | unable to push to test.. just looking into the alternatives atm | 11:46 |
*** gtristan has quit IRC | 12:48 | |
jjardon | leeming: you can have a personal fork of the repo, then you are free to do any change you want | 13:38 |
leeming | already onto it :) | 13:42 |
leeming | I was trying to push a dev branch originally | 13:42 |
jjardon | leeming: great! :) | 13:51 |
*** cosm has joined #baserock | 14:31 | |
*** ctbruce has quit IRC | 15:22 | |
*** gtristan has joined #baserock | 16:08 | |
leeming | jjardon, is this expected? https://gitlab.com/leeming/definitions/builds/2188504 | 16:09 |
leeming | context, fixed (i think, just checking) the issue from eariler | 16:10 |
jjardon | leeming: cool! let me take a look | 16:10 |
richard_maw | "tar: ./sbin: Directory renamed before its status could be extracted | 16:10 |
richard_maw | O_O | 16:10 |
leeming | ah, looking at the main builds view, they are all deploys | 16:11 |
leeming | https://gitlab.com/leeming/definitions/builds | 16:11 |
leeming | i dont think i know the difference between build/deploy | 16:11 |
jjardon | oh, so deploying is failing | 16:12 |
jjardon | leeming: maybe you found another bug :) | 16:12 |
richard_maw | The "Directory renamed before its status could be extracted" sounds like a terrifying race condition to me. | 16:12 |
leeming | issue was to do with unicode magic... a cheap hack fixed it, but I guess the whole of ybd would have this issue :P | 16:12 |
jjardon | yeah, its definetely a problem in deployment: https://gitlab.com/leeming/definitions/pipelines/3649903 | 16:12 |
jjardon | leeming: how difficult you think would be to port it to python3? | 16:13 |
richard_maw | "16-07-05 00:16:25 [454/508/508] [initramfs-x86_64] ERROR: No install-commands, manual build-system" looks like an internal logic error. | 16:14 |
leeming | well, it went thru my mind when i was reading up on python unicode/encoding stuff | 16:14 |
richard_maw | s/thru/through/ | 16:14 |
* richard_maw ducks | 16:14 | |
leeming | richard_maw, yeah I saw that. thus 'expected' question :D | 16:14 |
* leeming quacks | 16:14 | |
leeming | jjardon, I have a set of possible suggestions... but im not sure if I want to set myself up for being responsible | 16:15 |
leeming | im going to continue to add verbose logging to ydb for personal dev/understanding. I will see what I can come up with | 16:16 |
leeming | anywho... paulsherwood want me to submit a merge request for issue 218 now, or once I've cleaned up the code a bit more | 16:27 |
leeming | e.g. proper fix vs quickpatch | 16:28 |
paulsherwood | leeming: yes please | 16:29 |
leeming | to a or b? | 16:29 |
jjardon | leeming: quick patch now, keep working in a proper fix? ci is broken atm | 16:30 |
paulsherwood | leeming: your call | 16:30 |
leeming | ok, think i will throw in the quick patch now and raise an issue as a note for further fix/reference | 16:31 |
paulsherwood | ok | 16:31 |
paulsherwood | leeming: pep8 | 16:32 |
* leeming googles pep8 | 16:32 | |
paulsherwood | leeming: never mind | 16:33 |
leeming | python 'standard' style guide... your code uses mixed camel and snake case you know ;) | 16:35 |
* leeming so does mine | 16:35 | |
* richard_maw understood the standard python style was Camel for classes and snake for variables and members | 16:37 | |
* leeming nods at richard_maw | 16:37 | |
* rjek learns that one of the big reasons PEP8 advises against bare except: apart from making the code undebuggable is that it also stops Ctrl-C working | 16:37 | |
leeming | my python is a mix of my usual camel and then remembering python likes snake case | 16:38 |
richard_maw | aye, it's a PITA when someone's bare-except causes safe killing it to fail | 16:38 |
richard_maw | leeming: too much Java programming? | 16:38 |
leeming | rjek, wait, it does? I thought python treat exception as the base, instead of catching runtime | 16:38 |
leeming | or am i mixing it with java? | 16:38 |
rjek | leeming: The difference between except Exception: and except BaseException: | 16:39 |
leeming | yes, I am a java person | 16:39 |
rjek | You'll get better | 16:39 |
leeming | rjek, yes i was going to put BaseException, but was lazy as i'd already typed exception | 16:39 |
leeming | now im confused to which exception model is in my head | 16:39 |
paulsherwood | 17:14 <+richard_maw> "16-07-05 00:16:25 [454/508/508] [initramfs-x86_64] ERROR: No install-commands, manual build-system" looks like an internal logic error. | 16:40 |
leeming | "Throwable" | 16:40 |
paulsherwood | richard_maw: does it make sense for a chunk with a manual build system to have no install-commands? how could that be useful? | 16:40 |
leeming | ah that must be java, because python aptly calls it 'raise' | 16:40 |
richard_maw | paulsherwood: initramfs-x86_64 is not a chunk | 16:41 |
richard_maw | or at least wasn't when I wrote it | 16:41 |
paulsherwood | richard_maw: oh... but if dn.get('kind', 'chunk') == 'chunk': ? | 16:41 |
richard_maw | I have no idea what's going on there, in the definitions I see: `kind: system`. | 16:43 |
paulsherwood | ok, must be me, then :) | 16:43 |
* richard_maw would guess that YBD is not loading the definition properly, | 16:45 | |
richard_maw | since to get chunk out there, it would need to not have a kind present | 16:45 |
richard_maw | that, or it's decided that you can't look up a unicode string with a byte string | 16:46 |
richard_maw | python3 will treat them differently, but in python3 you'll be asking for the unicode string, and the yaml parser will have put a unicode string in there, so that's not the problem | 16:48 |
leeming | oh | 16:49 |
leeming | maybe i need to do a proper fix then :d | 16:49 |
leeming | the patch I did was inside a function that does some file opening/saving. Unsure what it does though (no comments) - _process_list(srcdir, destdir, filelist, actionfunc) | 16:51 |
leeming | I did some unicode hackery | 16:52 |
leeming | this is python 2.7 | 16:53 |
leeming | if someone can give me a pointer to where this might slip up, i can look into it | 16:54 |
*** jonathanmaw has quit IRC | 16:54 | |
leeming | For the specific definitions used, it was some mozilia(?) certificate that had accented characters, therefore throwing the original error | 16:55 |
paulsherwood | leeming: just create a pull request, please... i'll investigate the 'No install-commands' thing | 16:56 |
paulsherwood | "Directory renamed before its status could be extracted" | 16:56 |
paulsherwood | i think this is something to do with gitlab runners... see https://github.com/meteorhacks/meteord/issues/64 | 16:57 |
leeming | ok paulsherwood 2 secs, let me figure out the github interface | 16:57 |
paulsherwood | i don't see how there can be a race condition... ybd is single threaded at that point | 16:57 |
leeming | done | 17:04 |
leeming | i guess that is my first official contribution to open source? \o/ | 17:04 |
paulsherwood | w00t! :) | 17:07 |
jjardon | leeming: nice, thanks for the patch! | 17:09 |
paulsherwood | leeming: is there some reason for this being 4 patches? | 17:09 |
leeming | is incompetence a valid answer? | 17:09 |
leeming | 4 patches? or 4 commits? | 17:09 |
paulsherwood | 4 commits | 17:09 |
leeming | ah, you prefer me to squish them? | 17:10 |
paulsherwood | not if there is a reason for them to be separate. but 'Added in utf-8 encode. no seriously did it this time' makes me think there isn't | 17:10 |
leeming | so that is a "yes please" right? | 17:10 |
paulsherwood | yup :) | 17:11 |
paulsherwood | another reason would be '4 commits looks like more work than 1' :) | 17:11 |
leeming | i will stick to my original honest answer | 17:12 |
paulsherwood | :) | 17:12 |
leeming | i've already shown my cards to the table | 17:12 |
paulsherwood | and to the whole internet. forever | 17:12 |
* leeming wonders if github has magic to do this rebase for him | 17:12 | |
leeming | probs now | 17:13 |
leeming | not* | 17:13 |
paulsherwood | leeming: could you re-run your ci that failed please? | 17:14 |
paulsherwood | oh actually, never mind | 17:14 |
paulsherwood | leeming: i have a squash already if you like... http://paste.baserock.org/zosodububi | 17:26 |
leeming | ah sorry, i had rebased it my side, then got distracted by coffee and escalated | 17:29 |
paulsherwood | if you push your rebase, i'm happy to go with it | 17:30 |
leeming | ^sorry, it is already there | 17:30 |
leeming | i was going to ping you | 17:31 |
leeming | but got distracted, sorryu | 17:31 |
paulsherwood | merged | 17:31 |
leeming | following up on something persia said... that was actually my 2nd contribution... forgot about adding some lorries to baserock :D | 17:45 |
*** locallycompact has quit IRC | 18:15 | |
*** toscalix has quit IRC | 18:19 | |
*** janderJLR has joined #baserock | 18:46 | |
*** janderJLR has quit IRC | 18:47 | |
*** janderJLR has joined #baserock | 18:48 | |
*** janderJLR has left #baserock | 18:48 | |
*** locallycompact has joined #baserock | 20:11 | |
*** rdale has quit IRC | 20:55 | |
*** locallycompact has quit IRC | 21:17 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!