[10:00] <cjwatson> tomwardill: Have you had any further thoughts on https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/378828 ?
[10:00] <cjwatson> (tour-git)
[10:01] <tomwardill> looking
[10:02] <tomwardill> cjwatson: also can't think of an alternaitve, so have a +1 :)
[10:23] <cjwatson> heh, thanks
[12:47] <pappacena> tomwardill, is the python3 port for turnip done? I saw we have a card for that on Trello, and you have a branch for it with some commits. Do you think I can continue from your branch?
[12:47] <tomwardill> pappacena: it's not done, feel free to pick it up from my branch!
[12:48] <tomwardill> I was hoping to get to it after OCI, but then that took longer than expected, so grab it :)
[12:52] <pappacena> :-) I'll try to work a bit on that. Thanks!
[14:58] <tomwardill> one day, I will work on something twisted based without just randomly sticking defer.inlineCallbacks on everything
[14:58] <tomwardill> today is not that day
[15:00]  * SpecialK|Canon defers tomwardill 
[15:00]  * tomwardill defernestrates
[15:10] <tomwardill> cjwatson: https://code.launchpad.net/~twom/launchpad/+git/launchpad/+merge/379201 ready for round... I've lost count... of reviews :)
[16:13] <tomwardill> "last edit was 14 years ago"
[16:13] <tomwardill> well.
[16:19] <SpecialK|Canon> heh what?
[16:19] <pappacena> But it seems like yesterday...
[16:23] <tomwardill> login.py is old, apparently
[16:24] <tomwardill> also, thanks python-openid for burying/wrapping a certificate error 4 layers deep, that was a fun one to find
[16:24] <tomwardill> (why I can't login in the buildtheworld launchpad)
[16:45] <tomwardill> hopefully a relatively straightforward review to allow apache configs to be installed from not the development directory: https://code.launchpad.net/~twom/launchpad/+git/launchpad/+merge/379644
[16:48] <cjwatson> tomwardill: How about doing copy-certificates too?
[16:48] <cjwatson> Hm, well, I guess there isn't necessarily a launchpad.{crt,key} anywhere else
[16:48] <cjwatson> Ignore me
[16:48] <tomwardill> well, there will be
[16:48] <tomwardill> so that's not a bad idea
[16:48] <cjwatson> tomwardill: r=me
[16:48] <cjwatson> (either way)
[16:50] <pappacena> cjwatson, do you have time for a quick 4 lines review? It might fix a bug on turnip: https://code.launchpad.net/~pappacena/turnip/+git/turnip/+merge/379645
[16:50] <pappacena> (btw, thanks for the review on the HTTPS thing. I totally forgot about interface tests for Brody's changes...)
[16:53] <cjwatson> pappacena: It's very unlikely to make a difference to too-many-open-files bugs; I'm fairly sure TurnipConfig is only instantiated a few times at startup at most, except in the test suite.  But that's fine anyway, r=me
[16:54] <pappacena> It's actually instantiated at BaseApi's __init__...
[16:54] <cjwatson> pappacena: Oh, I guess that is instantiated per-request, fair enough
[16:55] <cjwatson> Should probably make that a singleton at some point too
[16:55] <cjwatson> Could just be "from turnip.config import config" or similar
[16:56] <pappacena> We do not need "on the fly" configuration changes in any way, right? I'll add the singleton to this MP, then...
[16:56] <cjwatson> We don't
[16:57] <SpecialK|Canon> nice
[16:57] <tomwardill> ooh, I can login!
[16:57] <cjwatson> The charm restarts the service when it applies config changes
[16:58] <pappacena> Great! I'll push a change in few minutes
[16:59] <cjwatson> Could anyone look at https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379618 for that GDPR handling thing I mentioned in the standup?
[16:59] <pappacena> I can take a look. Give me 10 minutes
[17:00] <SpecialK|Canon> r=me
[17:01] <SpecialK|Canon> cjwatson: ^ (sorry pappacena didn't see your message!)
[17:02] <pappacena> Pushed the TurnipConfig singleton implementation, cjwatson. Another round of review, pls? :)
[17:03] <cjwatson> pappacena: There are a bunch of other instantiations found by git grep
[17:03] <cjwatson> *.tac
[17:03] <cjwatson> doita
[17:03] <cjwatson> err
[17:03] <cjwatson> SpecialK|Canon: ta
[17:04] <pappacena> Ha. Maybe my IDE is not searching the whole project. Let me double check.
[17:04] <SpecialK|Canon> cjwatson: heh sorry
[17:04] <tomwardill> vscode doesn't see .tac as a code file by default
[17:04] <pappacena> yep... neither pycharm :-(
[17:05] <cjwatson> You lot and your IDEs ;-)
[17:05] <tomwardill> heh
[17:05] <pappacena> hahahah
[17:06] <cjwatson> "git config --global alias.cp cherry-pick" is one of the better things I ever did
[17:07]  * doismellburning lurks for tab-completion porpoises
[17:07] <cjwatson> heh
[17:09] <SpecialK|Canon> cjwatson: I don't know how I feel about that alias...do you `git mv`?? ;P
[17:10] <SpecialK|Canon> I guess it is quite like a cp
[17:10] <cjwatson> I do.  OTOH ... yes, that
[17:10] <cjwatson> And I'm doing it a lot at the moment
[17:11] <cjwatson> But that's the great thing about local aliases, nobody else has to like them
[17:11] <SpecialK|Canon> Hah absolutely!
[17:11] <pappacena> Now the singleton thing should be fine...
[17:12] <cjwatson> LGTM, thanks
[17:12] <pappacena> Thank you!
[17:14] <pappacena> Ah, I don't have permission to top-approve on turnip. If you can do it, or give me permission...
[17:17] <cjwatson> SpecialK|Canon: ^- how come pappacena isn't in ~ols ?
[17:17] <pappacena> ¯\_(ツ)_/¯
[17:17] <cjwatson> I've also changed that reviewer team to ~launchpad-reviewers (which won't help with this MP, but will with the next one)
[17:17] <cjwatson> pappacena: I've top-approved that now
[17:18] <pappacena> Thanks!
[17:18] <SpecialK|Canon> cjwatson: pappacena: process bug, sorry, fixing
[17:18] <SpecialK|Canon> actually hm where _is_ that process
[17:19] <cjwatson> Yeah I figured it was a missing checklist item somewhere
[17:19] <SpecialK|Canon> I think we don't actually have an explicit checklist for this because rate of change is probably a bit higher than rate of hiring
[17:19] <cjwatson> Point
[17:20] <pappacena> It makes sense...
[17:20] <tomwardill> tehre was some element of it in the snapstore onboarding trello
[17:20] <tomwardill> I think there was a card along the lines of 'check you have the right permissions'
[17:20] <SpecialK|Canon> tomwardill: that rings a bell, yes!
[17:20] <tomwardill> I remember checking my list against glower's list
[17:20] <SpecialK|Canon> tomwardill: I didn't give that to pappacena because it's 99% Store/Snap
[17:20] <tomwardill> yeah
[17:28] <cjwatson> Python 3 reviews for today: https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379509 https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379648 https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379650 https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379654 ...
[17:28] <cjwatson> ... https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379657
[17:31] <cjwatson> If anyone's interested, my strategy here at the moment is that I have a very very rebasey branch with a bunch of smallish hacks to make it possible to build a py3 virtualenv at all, and then I'm repeatedly running "make", seeing the next error, identifying a common theme to fix across the codebase in a single logical commit (where feasible), committing that cold (since I can't run more than ...
[17:31] <cjwatson> ... trivial tests yet), and doing that several times over; then, separately, cherry-pick individual commits from that onto branches off master, test them, and file MPs
[17:32] <cjwatson> This makes it sort of vaguely practical to make progress
[17:32] <SpecialK|Canon> Nice
[17:32] <cjwatson> Several of the hacks are fundamentally unlandable at the moment because they're of the form of "rip out $dependency in the full knowledge that this breaks some subsystem"
[17:33] <SpecialK|Canon> Can you...right that
[17:33] <cjwatson> But doing it this way means that those hacks don't completely block doing other stuff
[17:33] <SpecialK|Canon> Yup yup makes sense
[17:33] <cjwatson> When it gets a bit more reasonable I'll probably push it as a py3-wip branch or something
[17:34] <SpecialK|Canon> I'm going to stop even half-typing questions for a bit here as I keep getting pre-empted ;P
[17:34] <SpecialK|Canon> Sounds great :)
[17:34] <SpecialK|Canon> ooi what are the main bits of hackery?
[17:35] <cjwatson> https://people.canonical.com/~cjwatson/tmp/py3-tig.png
[17:35] <cjwatson> Gives you an idea
[17:35] <SpecialK|Canon> Can we drop CVS codeimport functionality?
[17:36] <SpecialK|Canon> Better question, sorry
[17:36] <SpecialK|Canon> Do we have any feels/data as to the value of CVS codeimport functionality?
[17:36] <cjwatson> https://code.launchpad.net/+code-imports/?field.review_status=&field.review_status-empty-marker=1&field.rcs_type=CVS&field.rcs_type-empty-marker=1&field.target_rcs_type=BZR&field.target_rcs_type-empty-marker=1&submit=Submit+Query
[17:36] <cjwatson> Quite a lot of failed but there are some that are still used
[17:37] <cjwatson> It's an option
[17:37] <cjwatson> Main constituency that still inexplicably hasn't moved is some of the BSDs
[17:38] <cjwatson> So there's things like https://code.launchpad.net/~vcs-imports/pmake/main
[17:38] <cjwatson> https://code.launchpad.net/+code-imports/+index?field.review_status=REVIEWED&field.review_status-empty-marker=1&field.rcs_type=CVS&field.rcs_type-empty-marker=1&field.target_rcs_type=BZR&field.target_rcs_type-empty-marker=1&submit=Submit+Query is a more reasonable query, so not that many still working
[17:39] <cjwatson> https://code.launchpad.net/~mirabilos/mksh/MAIN is another one that's active
[17:39] <cjwatson> The other option there is that we probably want to separate codeimport anyway
[17:40] <cjwatson> So it doesn't have to block the rest of LP
[17:41] <SpecialK|Canon> Right, yup
[17:43] <cjwatson> Anyway, I've been making like 500% faster progress since adopting this sort of approach.  I totally recommend it for anything where starting the project is kinda blocked on some dependencies but in fact if you temporarily rip stuff out you can find a lot of things behind it
[17:50] <cjwatson> Right.  Coffee, finish reviewing Tom's stuff, and then probably weekend
[17:50]  * tomwardill is arguing with apache and ssl certificates, then weekend :)
[17:50] <tomwardill> turns out shouting 'but it's RIGHT THERE' at apache isn't all that effective
[17:53] <SpecialK|Canon> effective for getting results? sure
[17:53] <SpecialK|Canon> effective as an outlet for frustration? I bet it is...
[17:54] <SpecialK|Canon> er, make that first one a "not effective" sigh
[17:54] <cjwatson> When Kirsten was a TA she used to respond to the school computers producing "cannot access printer" errors by shouting "*I* CAN ACCESS PRINTER" at them
[17:54] <tomwardill> that seems entirely reasonable tbh
[17:54] <tomwardill> especially when printers are involved
[18:02] <tomwardill> aah, libxml2, we meet again
[18:02] <tomwardill> that's why my initial make takes forever
[18:24] <cjwatson> All right, EOW I think.  Have a good weekend
[18:27] <pappacena> Have a good weekend!