*** phoenix has quit IRC | 00:14 | |
*** tristan has joined #buildstream | 03:39 | |
*** kapip has joined #buildstream | 03:57 | |
*** kapip has quit IRC | 05:19 | |
*** flatmush has quit IRC | 05:19 | |
*** tpollard has quit IRC | 05:19 | |
*** ironfoot has quit IRC | 05:19 | |
*** slaf has quit IRC | 05:19 | |
*** valentind has quit IRC | 05:19 | |
*** pro[m] has quit IRC | 05:19 | |
*** dineshdb[m] has quit IRC | 05:19 | |
*** abderrahim[m] has quit IRC | 05:19 | |
*** awacheux[m] has quit IRC | 05:19 | |
*** albfan[m] has quit IRC | 05:19 | |
*** gimpnet-irc[m] has quit IRC | 05:19 | |
*** Demos[m] has quit IRC | 05:20 | |
*** ssssam[m] has quit IRC | 05:20 | |
*** doras has quit IRC | 05:20 | |
*** waltervargas[m] has quit IRC | 05:20 | |
*** verdre[m] has quit IRC | 05:20 | |
*** jjardon has quit IRC | 05:20 | |
*** aevri has quit IRC | 05:20 | |
*** kapip has joined #buildstream | 05:20 | |
*** flatmush has joined #buildstream | 05:20 | |
*** tpollard has joined #buildstream | 05:20 | |
*** ironfoot has joined #buildstream | 05:20 | |
*** slaf has joined #buildstream | 05:20 | |
*** valentind has joined #buildstream | 05:20 | |
*** verdre[m] has joined #buildstream | 05:20 | |
*** waltervargas[m] has joined #buildstream | 05:20 | |
*** ssssam[m] has joined #buildstream | 05:20 | |
*** pro[m] has joined #buildstream | 05:20 | |
*** gimpnet-irc[m] has joined #buildstream | 05:20 | |
*** dineshdb[m] has joined #buildstream | 05:20 | |
*** doras has joined #buildstream | 05:20 | |
*** Demos[m] has joined #buildstream | 05:20 | |
*** albfan[m] has joined #buildstream | 05:20 | |
*** abderrahim[m] has joined #buildstream | 05:20 | |
*** awacheux[m] has joined #buildstream | 05:20 | |
*** jjardon has joined #buildstream | 05:20 | |
*** aevri has joined #buildstream | 05:20 | |
*** irc.poop.nl sets mode: +oo ironfoot jjardon | 05:20 | |
*** narispo has joined #buildstream | 06:02 | |
*** kapip has quit IRC | 06:16 | |
Kinnison | valentind, tristan: Is there anything particular blocking https://gitlab.com/BuildStream/buildstream/merge_requests/1146 from merging (other than needing another potentially non-trivial rebase) ? | 06:51 |
---|---|---|
*** samkirkham has joined #buildstream | 07:21 | |
*** benschubert has joined #buildstream | 08:29 | |
*** narispo has quit IRC | 08:48 | |
*** narispo has joined #buildstream | 08:49 | |
*** phil has joined #buildstream | 08:54 | |
*** jonathanmaw has joined #buildstream | 09:45 | |
tlater[m] | jennis: regarding completion of artifacts, we can't make those args strings because we use the type of the arg to figure out how to complete it | 09:52 |
tlater[m] | And we don't want *every* string to be completed as an artifact ;) | 09:53 |
jennis | Yes, just processed that | 09:53 |
tlater[m] | So yeah, small custom type that maybe does a little bit of validation and extends click.Path | 09:53 |
jennis | I agree, we could add a new Click param type here and have autocomplete for it. Then the result is that we have a list of strings which is passed into Stream | 09:53 |
laurence | tlater[m], genuine question: re #1091, do we need a separate ticket for that? Or should it not fall under #773 ? | 09:53 |
gitlab-br-bot | Issue #1091: Create a custom artifact-ref click parameter type https://gitlab.com/BuildStream/buildstream/issues/1091 | 09:53 |
gitlab-br-bot | Issue #773: The command-line should provide access to artifacts https://gitlab.com/BuildStream/buildstream/issues/773 | 09:53 |
laurence | not urgent | 09:53 |
tlater[m] | laurence: yeah, I ummed and ahd about that for a good 5 minutes | 09:54 |
tlater[m] | I ended up going with a separate ticket because gitlab made one for me, and it technically is a bug. Could probably be captured under 773 though. | 09:55 |
tlater[m] | It's very *technically* a bug, and one we can't even hit yet. | 09:57 |
laurence | ok, sure :) | 09:57 |
laurence | is there one one of the bullet points in particular we could link out to the the new issue from? | 09:58 |
laurence | i guess the one on tab completion? | 09:58 |
tlater[m] | Maybe, though the new issue is generally valid. I'd probably make it a new bullet point. | 09:58 |
laurence | ok | 09:59 |
laurence | thanks | 09:59 |
jennis | tlater[m], are you in agreement with my interpretation? <jennis> I agree, we could add a new Click param type here and have autocomplete for it. Then the result is that we have a list of strings which is passed into Stream | 09:59 |
tlater[m] | A new bullet point next to tab completion that is :) | 09:59 |
tlater[m] | jennis: yep 100% | 09:59 |
jennis | cool, alexandrufazakas ^ let us know if you're unclear :) | 10:00 |
alexandrufazakas | jennis: I'm not sure how what you suggested is different to the approach tlater[m] described in #773 | 10:01 |
jennis | I didn't suggest a different approach, just mentioned that it's already implemented and how we have implemented it | 10:01 |
jennis | We can consider the issue as two tasks (the tick boxes), the second is already done | 10:02 |
alexandrufazakas | jennis: Is it ok if I come over for a second? | 10:03 |
jennis | Sure | 10:03 |
laurence | tlater[m] Kinnison - I really have to agree with Sander wrt the committers automation | 10:16 |
laurence | should be a simple script | 10:16 |
Kinnison | ? | 10:16 |
laurence | let's focus on getting something over the line that works | 10:16 |
* Kinnison remains in the dark as to what laurence is referring to | 10:17 | |
laurence | Kinnison, i just wonder if we're letting perfect get in the way of good with the reviews there | 10:17 |
laurence | sorry for my previous lack of context | 10:17 |
laurence | just don't want things to get 'bogged down' | 10:17 |
jennis | tlater[m], I'm not sure we actually need an extra click param | 10:20 |
alexandrufazakas | Kinnison: I think laurence refers to this comment https://gitlab.com/BuildStream/buildstream/merge_requests/1505#note_198149160 | 10:21 |
*** traveltissues has joined #buildstream | 10:21 | |
tlater[m] | laurence: Yeah, I think that was the goal anyway. That MR is practically ready, not sure why we haven't landed it yet | 10:21 |
*** traveltissues has quit IRC | 10:21 | |
jennis | Having looked at cli.py's override_completions(), which calls cli.py's complete_artifacts(), this loads the context and then uses ArtifactCache.list_artifacts() | 10:21 |
tlater[m] | I think alexandrufazakas has been juggling things, so it took a little longer (: | 10:21 |
laurence | tlater[m], ok thanks that's exactly what i thought | 10:22 |
jennis | This lists artifacts by calling BaseCache._list_refs_mtimes() which uses os.path.join... | 10:22 |
jennis | So I think we'l always get the appropriate string back | 10:22 |
alexandrufazakas | I've pushed my changes fixing everything other than the whitespaces | 10:23 |
alexandrufazakas | Which I can't figure how to do for my life for some reason | 10:23 |
tlater[m] | jennis: Surely all we need to do then is link that up to the stuff that's not completed yet? | 10:23 |
tlater[m] | And combine it with something that also does bst file completion? | 10:24 |
Kinnison | alexandrufazakas: just trim those hunks from your commits? | 10:24 |
tlater[m] | alexandrufazakas: Hah, my guess is you made git ignore whitespace between when you made the commits and now, so it won't commit new changes since then. | 10:25 |
alexandrufazakas | Kinnison: sorry, it's now clear to me what you mean | 10:25 |
alexandrufazakas | What I tried is pasting *only* the text changes | 10:25 |
alexandrufazakas | And the white space ones still show up | 10:25 |
alexandrufazakas | tlater[m]: I don't think I've done any such configs at all tbh | 10:25 |
Kinnison | alexandrufazakas: want me to fix your branch? | 10:26 |
alexandrufazakas | I used the original CONTRIBUTING.rst and didn't touch these blocks and they're still there somhow :/ | 10:26 |
alexandrufazakas | Kinnison: that'd be great, yes | 10:26 |
alexandrufazakas | So at least I know how to do it myself next time this happens :/ | 10:26 |
Kinnison | The whitespace cockup is in the commit from laurence | 10:27 |
* Kinnison cleans up | 10:27 | |
alexandrufazakas | Yeah, I know haha | 10:27 |
* tlater[m] shakes a fist at laurence for delaying our merge! | 10:28 | |
jennis | tlater[m], that is what cli's complete_artifact() does, first it calls complete_target() (which handles the element) and then extends the list with ArtifactCache.list_artifacts() | 10:28 |
tlater[m] | Ahhh | 10:28 |
tlater[m] | Right, that's pretty nice then | 10:28 |
tlater[m] | Odd, I guess I didn't read the right path then. Anyway, should be easy to hook up to a custom type then. | 10:29 |
jennis | But I don't think we need the custom type? | 10:30 |
Kinnison | alexandrufazakas: I think that's done it, please check | 10:30 |
tlater[m] | click.Path will still do validation that might break artifacts | 10:30 |
* alexandrufazakas checks | 10:30 | |
tlater[m] | That's the bug we can't hit yet I'm talking about | 10:31 |
jennis | Rightly so, though? | 10:31 |
alexandrufazakas | Kinnison: looks fine now. thank you! | 10:31 |
Kinnison | np | 10:31 |
Kinnison | I'll look at the discussion points in a few minutes | 10:31 |
alexandrufazakas | What did you do to them? | 10:31 |
jennis | If someone on Windows, for example, tried `bst artifact log autotools/he` **autocomplete** then we should expect an error? | 10:31 |
tlater[m] | jennis: Um, why? Should all artifacts have names that can be stored as filenames, and is that psrt of the spec? | 10:32 |
jennis | I would have though Click.path and os.path would handle this | 10:32 |
laurence | thanks for pushing it, Kinnison, tlater[m], alexandrufazakas | 10:32 |
jennis | yes, the ref (artifact name) should always be a file in your cache (or not, if it doesn't exist) | 10:33 |
tlater[m] | My concern is that we might have an artifact key that isn't a valid path name, jennis | 10:33 |
tlater[m] | Which should currently be impossible | 10:33 |
tlater[m] | Because of that :) | 10:33 |
jennis | I.e. a path that doesn't exist? | 10:34 |
tlater[m] | But if the key contains a \, this will change the moment we get native windows support | 10:34 |
tlater[m] | Nah, not nonexistent, but different on a different OS | 10:34 |
tlater[m] | But still valid as a key | 10:34 |
jennis | Yeah ok, I think would still be handled | 10:36 |
Kinnison | alexandrufazakas: looks like it's all resolved | 10:36 |
tlater[m] | jennis: that said, what needs to be done to resolve artifact completion then? | 10:36 |
tlater[m] | Surely this means it'd been implemented before alexandrufazakas told me he was working on it? | 10:37 |
jennis | Nothing, AFAICT | 10:37 |
jennis | Yes, I think there may have been a misunderstanding | 10:37 |
alexandrufazakas | working is a big word there to be fair | 10:37 |
tlater[m] | Heh | 10:38 |
alexandrufazakas | I'm mostly trying to understand most of the bst's itnernals | 10:38 |
jennis | But, from a discussion at the last mini gathering, it was decided we'd like to introduce *more* artifact subcommands | 10:38 |
jennis | list, list contends, diff IIRC | 10:38 |
tlater[m] | alexandrufazakas you could do me a massive favor if you could test the artifact completion actually works :) | 10:38 |
tlater[m] | And then tick that mark on the issue | 10:38 |
tlater[m] | jennis: Yeah, that's also being worked on | 10:39 |
alexandrufazakas | I think jennis has just done that with me earlier on his system, but I can try sure | 10:39 |
alexandrufazakas | tlater[m] ^ | 10:39 |
tlater[m] | Becky is looking at one of those, for example | 10:39 |
jennis | tlater[m], it doesn't work for `bst artifact push/pull/checkout` because they do not support the handling of artifact refs | 10:39 |
jennis | However, it does for log and delete, and I'd expect it to be enabled for diff/list/list-contents | 10:39 |
tlater[m] | Any chance we could make it work for push/pull/checkout? | 10:40 |
jennis | We could enable autocompletetion for these very easily with s/elements/artifacts in the click.argument | 10:40 |
tlater[m] | That'd be a massive win, since 99% of the time I want to do something with an artifact it's those commands. | 10:41 |
jennis | However, until these commands actually support the handling of artifact refs, I don't see why we would do that? | 10:41 |
tlater[m] | Oh, right, they don't, nvm | 10:41 |
jennis | And these commands don't support artifact refs because we can't reconstruct the dependency graph from an artifact ref | 10:41 |
tlater[m] | Yeah | 10:42 |
tlater[m] | Dw, I misread what you said | 10:42 |
tlater[m] | Cool, I suppose we can tick that completion thing off for free then :) | 10:42 |
jennis | Ideally, I'd like a Windows user to try and autocomplete, aevri?? | 10:42 |
tlater[m] | jennis: You're being very hopeful there, haha | 10:43 |
jennis | Would have to be with a project that only contains import elements (which we have :)) | 10:43 |
tlater[m] | Well, yeah, but it'd also need to run bash | 10:44 |
jennis | oh yeah | 10:45 |
jennis | d'oh | 10:45 |
* jennis forgot about the ~/.bashrc snippet | 10:45 | |
benschubert | jennis: click has a click-completions package that would also work with powershell if that's what you are after, I would not spend time on this now though :) | 10:47 |
jennis | oh cool | 10:48 |
jennis | Could be useful sometime | 10:48 |
benschubert | iff we start supporting windows yep :) | 10:49 |
jennis | yes, that time :P | 10:49 |
tpollard | should the hello-junction.bst example be buildable in master/ | 10:58 |
tpollard | ? | 10:58 |
alexandrufazakas | Does `tests/artifactcache/expiry.py::test_never_delete_required_track ` fail sometimes? Apparently it's just failed on my MR which doesn't touch any src/ or the test itself | 11:03 |
benschubert | alexandrufazakas: sadly too often. Just rerun the pipeline :) | 11:05 |
alexandrufazakas | benschubert: Yep, I've just told gitlab to rerun that job. thanks :) | 11:05 |
jennis | tpollard, I've just built it with master | 11:19 |
* jennis wonders whether you're trying to build the junction element | 11:22 | |
*** kapip has joined #buildstream | 11:32 | |
aevri | jennis - yup win32 autocomplete will be cool, I'll look some time after we've got win32 anything landed :) | 11:36 |
*** rdale has quit IRC | 11:41 | |
Kinnison | Just be warned | 12:12 |
Kinnison | win32 users do not expect CLIs to behave like *nix users do | 12:12 |
Kinnison | We (Rustup) have a patch sat for powershell support for rustup-init because there's unresolved discussion around whether it should behave like rustup-init does everywhere else, or if it should be Windowsy instead | 12:13 |
*** tpollard has quit IRC | 12:15 | |
tlater[m] | Kinnison mind linking that patch? For future reference, whenever I inevitably need to have an opinion on aevri's patch ;) | 12:34 |
Kinnison | https://github.com/rust-lang/rustup.rs/pull/1878 | 12:35 |
benschubert | https://gitlab.com/BuildStream/buildstream/blame/master/src/buildstream/_artifact.py#L311 'artifact' can be None here, and therefore BuildStream fails. Does someone has better knowledge of why this is important and how that should be patched? | 12:35 |
gitlab-br-bot | BenjaminSchubert opened MR !1509 (bschubert/small-fixes->master: job: fix exception caught from enum translation) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/1509 | 12:50 |
*** tpollard has joined #buildstream | 12:57 | |
tpollard | 'pip3 install --user -e .' doesn't work for me anymore, --user not recognised? | 13:02 |
* Kinnison just uses pip3 install -e . | 13:02 | |
* tpollard boggles, as it still says --user is not recognised | 13:05 | |
Kinnison | alias ? | 13:05 |
Kinnison | shell function? | 13:05 |
tpollard | https://paste.gnome.org/psefdywhd | 13:06 |
Kinnison | How odd | 13:08 |
tpollard | --user without -e works for me, but then it obviously doesn't track the source changes | 13:09 |
juergbi | tpollard: I think I saw this issue as well at some point. was an issue with a particular version of pip or a dependency, iirc | 13:18 |
juergbi | are you using a venv? | 13:19 |
benschubert | tpollard: the problem is that pip never actually supported "--editable" with "--target (or --user)", and with the new PEP 517 for isolated build, they explicitely broke it when doing such builds | 13:21 |
*** phoenix has joined #buildstream | 13:22 | |
*** phoenix has quit IRC | 13:36 | |
gitlab-br-bot | BenjaminSchubert opened issue #1095 (BuildStream crashes when trying to push a non-build artifact) on buildstream https://gitlab.com/BuildStream/buildstream/issues/1095 | 13:39 |
alexandrufazakas | How do we generate the buildstream documentation? is it not `make --directory=doc/ html` and I end up with https://paste.codethink.co.uk/?6413 | 13:41 |
benschubert | alexandrufazakas: a gitlab snippet might be easier :) we don't all ahve access to codethink's pastebin. To build the docs: tox -e docs | 13:42 |
Kinnison | `tox -e docs` | 13:43 |
Kinnison | oh benschubert beat me to it | 13:43 |
alexandrufazakas | benschubert: will keep that in mind, sorry | 13:43 |
benschubert | no worries, just helps to get help from others ;) | 13:43 |
alexandrufazakas | Hmm | 13:43 |
alexandrufazakas | I wanted to replicate the way we do it on buildstream | 13:43 |
alexandrufazakas | In order to generate the documentatio for docs-website | 13:43 |
alexandrufazakas | But using tox might be a bit too much | 13:44 |
alexandrufazakas | thanks btw benschubert Kinnison | 13:44 |
gitlab-br-bot | marge-bot123 merged MR !1509 (bschubert/small-fixes->master: job: fix exception caught from enum translation) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/1509 | 14:04 |
alexandrufazakas | Can anyone help me do this https://gitlab.com/BuildStream/docs-website/merge_requests/2#note_197811567 please? I'm trying to understand sphinx/.rst but nothing works | 14:19 |
alexandrufazakas | I've created a small project using `sphinx-quickstart` but I can't add anything to its index.rst so that it's rendered in the generated html | 14:20 |
jjardon | tpollard: About what we were talking before; I think the page https://wiki.gnome.org/Projects/BuildStream/Infrastructure is up-to-date? please feel free to update it if not | 14:41 |
alexandrufazakas | laurence: Hey, regarding this https://gitlab.com/BuildStream/docs-website/merge_requests/2#note_197616156 can you please tell me exactly which versions we'd want to have up there? | 14:57 |
*** bochecha_ has joined #buildstream | 15:03 | |
laurence | my opinion is latest stable and current master | 15:04 |
laurence | but honestly don't block on it | 15:04 |
laurence | we can change that easily later | 15:04 |
*** bochecha has quit IRC | 15:04 | |
*** bochecha_ is now known as bochecha | 15:04 | |
laurence | alexandrufazakas ^ | 15:04 |
alexandrufazakas | laurence: Yeah, that's true. I'm kind of blocked on what tristan suggested tbh so I thought I could fix these in the meantime | 15:05 |
laurence | which suggestion? | 15:06 |
alexandrufazakas | Using a sphinx template to generate the files | 15:06 |
laurence | have you made my suggested wording changes? | 15:06 |
laurence | changes/ additions? | 15:06 |
alexandrufazakas | laurence: No, but I can do that too sure | 15:06 |
laurence | It would be best to have just a sphinx "from scratch" project there to generate the main index page with, rather than to use BuildStream's. | 15:08 |
laurence | what's blocking? | 15:08 |
alexandrufazakas | I don't understand sphinx or restructuredtext at all, I'm trying to follow examples but nothing works | 15:09 |
alexandrufazakas | I juts need to know how to add an index.rst from a bst artifact to the main index.rst | 15:09 |
alexandrufazakas | And everything should go alright afterwards I think | 15:09 |
laurence | right | 15:12 |
laurence | so maybe we can fix that outside of this | 15:13 |
alexandrufazakas | Sure | 15:13 |
laurence | in the meantime, what's the story with the auto committers? | 15:13 |
laurence | just needs an approval and merge? If so, tlater[m] is on a plane right now, he can do it when he lands though | 15:14 |
alexandrufazakas | laurence: Yep, everything is resolved on the MR | 15:14 |
alexandrufazakas | Another review should do | 15:14 |
alexandrufazakas | In case anyone else can have a look over it, it's about !1505 | 15:16 |
gitlab-br-bot | MR !1505: Automatically build a list of committers https://gitlab.com/BuildStream/buildstream/merge_requests/1505 | 15:16 |
benschubert | Is there any reasons we would not be able to get the logs from a workspaced build in BuildStream? | 15:18 |
benschubert | juergbi, jennis, Kinnison ^ ? | 15:18 |
benschubert | I mean a technical reason, not a bug :) | 15:18 |
juergbi | I can't think of one | 15:20 |
laurence | I reviewed it and spotted some typos, alexandrufazakas | 15:22 |
alexandrufazakas | laurence: Can you point them out to me, please? | 15:23 |
alexandrufazakas | Oh, you posted them on the Mr | 15:23 |
alexandrufazakas | even better, cheers | 15:23 |
alexandrufazakas | I'll skim through CONTRIBUTING.rst once more as well to make sure it's alright | 15:26 |
laurence | good idea | 15:26 |
benschubert | juergbi: thanks! That was my understanding too | 15:26 |
*** bochecha_ has joined #buildstream | 15:36 | |
*** bochecha has quit IRC | 15:38 | |
*** bochecha_ is now known as bochecha | 15:38 | |
*** phildawson_ has joined #buildstream | 15:41 | |
*** phil has quit IRC | 15:43 | |
*** phildawson_ has quit IRC | 16:00 | |
*** phildawson has joined #buildstream | 16:11 | |
*** bochecha has quit IRC | 16:35 | |
*** tpollard has quit IRC | 16:37 | |
*** tpollard has joined #buildstream | 16:45 | |
gitlab-br-bot | tpollard opened (was WIP) MR !1500 (tpollard/messageobject->master: Message rework) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/1500 | 16:46 |
benschubert | juergbi: Am I missing something or should https://gitlab.com/BuildStream/buildstream/commit/df50bf766070449211540d69c851aad18e868847 work ? (just to make sure I'm not forgetting something and that it is indeed a bug) | 16:46 |
*** adds68 has quit IRC | 17:01 | |
*** ikerperez has quit IRC | 17:01 | |
*** alexandrufazakas has quit IRC | 17:01 | |
*** Becky has quit IRC | 17:01 | |
*** samkirkham has quit IRC | 17:01 | |
gitlab-br-bot | marge-bot123 closed issue #1071 (Committers list should align with Gitlab users and permissions and be fully automated) on buildstream https://gitlab.com/BuildStream/buildstream/issues/1071 | 17:13 |
gitlab-br-bot | marge-bot123 merged MR !1505 (alexfazakas/fetch-committers->master: Automatically build a list of committers) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/1505 | 17:13 |
*** alexandrufazakas has joined #buildstream | 17:13 | |
gitlab-br-bot | BenjaminSchubert opened issue #1096 (BuildStream cannot show logs of a workspaced build) on buildstream https://gitlab.com/BuildStream/buildstream/issues/1096 | 17:28 |
*** phildawson has quit IRC | 17:32 | |
*** tiagogomes has quit IRC | 17:35 | |
*** tiagogomes has joined #buildstream | 17:35 | |
*** jonathanmaw has quit IRC | 18:07 | |
*** kapip has quit IRC | 18:26 | |
*** phoenix has joined #buildstream | 18:35 | |
*** flatmush has quit IRC | 18:40 | |
*** flatmush has joined #buildstream | 18:41 | |
*** flatmush has quit IRC | 18:44 | |
*** flatmush has joined #buildstream | 18:45 | |
*** bochecha has joined #buildstream | 18:59 | |
*** flatmush has quit IRC | 19:06 | |
*** flatmush has joined #buildstream | 19:07 | |
*** narispo has quit IRC | 20:00 | |
*** narispo has joined #buildstream | 20:01 | |
*** bochecha has quit IRC | 21:22 | |
*** phoenix has quit IRC | 21:59 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!