[05:46] <david_0001> hey
[05:46] <david_0001> anybody work with qt ?
[07:34] <noodles775> david_0001: I don't, but I know zematynnad has been doing a bit of qt dev lately. He'll be around in 7-8hrs.
[08:02] <dpm> good morning all
[09:43] <jml> noodles775: can I interest you in reviewing https://code.launchpad.net/~jml/pkgme-service/end-to-end-pkgme/+merge/83624
[09:45] <noodles775> jml: Indeed you can :) I'll just finish my changes for another review and start in 15mins.
[09:45]  * noodles775 claims it.
[09:46] <jml> noodles775: thanks. Will probably also ask james_w to have a look over it when he turns up later today.
[10:46] <noodles775> jml: `fab test` gives me ImportError: No module named twisted.internet - that should be in the setup.py right?
[10:46] <jml> noodles775: yes.
[10:47] <jml> noodles775: well, I guess.
[10:47] <jml> it's a test dependency only
[10:47] <noodles775> Why guess?
[10:47] <noodles775> Ah, ok.
[10:47] <noodles775> Right - then test_requirements.txt
[10:47] <jml> Well, if that actually works.
[10:47] <noodles775> s/test_requirements.txt/test-dependencies.txt/ but why wouldn't it work?
[10:48] <noodles775> Ah, right, a pip install of twisted... yeah, let's see.
[10:49] <jml> noodles775: Given the many hours I spent last week wrestling with this whole easy_install/pip/virtualenv set up, and given that we have hard requirements in test-dependencies, I'm sceptical of anything working just like that.
[10:49] <jml> noodles775: maybe I'll be pleasantly surprised.
[10:51] <noodles775> jml: I'm happy to just install it locally and we can update the README to say what packages need to be installed system-wide - if it doesn't work for you.
[10:51] <jml> noodles775: cool. (incidentally, I didn't have to install locally. Wonder why.) We'll see. bootstrapping now.
[10:58] <noodles775> jml: would `PKGME_LIB_DEPS_DB_PATH = 'all-symbols.db'` work (similar for PKGME_OUTPUT_DIRECTORY)? ie. can we assume they're relative to the settings.py file? (and add bzr ignores)
[10:59] <jml> noodles775: well, they aren't going to be like that on production, probably
[10:59] <jml> noodles775: but I guess those are better wrong values than the ones I have in there.
[11:00] <noodles775> jml: sure, but on production we'll have a separate config. Yep.
[11:07] <jml> noodles775: would those paths be relative to settings.py or relative to the root directory?
[11:08] <noodles775> jml: hrm, not sure.. try it and see (probably the CWD - but you'll find out)
[11:10]  * noodles775 reads up on lifeless's fixtures package.
[11:16] <jml> it's pretty straightforward.
[11:16] <noodles775> Yep - nice.
[11:18] <noodles775> How did you go with adding twisted?
[11:19] <noodles775> I've probably not understood fixtures properly, but why are you using a fixture inside non-test code? (tasks.py)
[11:20] <jml> noodles775: I didn't add Twisted. It just worked.
[11:20] <jml> noodles775: Because fixtures aren't actually about testing. They are just most often useful there.
[11:20] <jml> noodles775: I guess they are like souped-up context managers.
[11:21] <noodles775> jml: RE fixtures - ok. Re twisted: Sure - but didn't it ust work because you *already* had it installed?
[11:21] <jml> noodles775: well, on the system, obviously.
[11:21] <jml> noodles775: tbh, I wasn't paying that much attention and there's been a lot of water under the bridge since then. Maybe I did install it in the virtualenv w/ pip.
[11:22]  * noodles775 tries adding it to the test dependencies.
[11:22] <jml> it works then
[11:23] <noodles775> Yep, `virtualenv/bin/pip install twisted` worked fine here.. great.
[11:40] <noodles775> jml: with twisted in the virtualenv, I get six errors, all coming down to this: http://paste.ubuntu.com/755918/
[11:40] <noodles775> s/coming down to/like/
[11:41] <jml> noodles775: you're using Python 2.6
[11:42] <jml> noodles775: can we not use 2.7 in production?
[11:52] <noodles775> jml: I guess we can - all our current deployment machines are lucid with py2.6, so that's what I use for my dev vm.
[11:54] <jml> well, if it's going to cause a deployment hassle, let's not do that
[11:54] <jml> easy enough to do try/finally
[11:54] <jml> (and also to update 'fab bootstrap' to use python2.6)
[11:55] <noodles775> Wow - I'd not realised python2.7 wasn't available in the lucid archive?
[11:55] <noodles775> (python3 is)
[11:56] <jml> noodles775: yeah
[11:56] <jml> I want to go taunt barry now
[11:56] <noodles775> heh
[11:56] <jml> "It's nearly 2012 and I'm writing new code in Python 2.6"
[11:56] <JackyAlcine> XD
[11:59] <jml> taunting done
[11:59] <jml> I've also asked Canonical IS whether I can use Python 2.7 without causing extra deployment hassle
[11:59] <noodles775> Cool.
[12:06]  * jml fab bootstraps again
[12:16] <jml> noodles775: now works with 2.6.
[12:17] <noodles775> Thanks jml, re-pulling.
[12:40] <jml> noodles775: how's it going?
[12:42] <noodles775> jml: sorry - looking at other bugs, but just re-bootstrapped and running tests.. (2F's)
[12:42] <noodles775> ... and the test run seems to have paused?
[12:42] <jml> one of the tests is long, but it has a two minute timeout
[12:42] <noodles775> ah
[12:43] <jml> it's wonderful how this virtualenv eliminates differences between environments, no?
[12:43] <noodles775> jml: heh, does it not? the failures I'm seeing are missing packages from the virtualenv...
[12:44] <jml> noodles775: but if I just bootstrapped and got no errors, and you bootstrapped and got failures due to missing packages, how is it actually helping?
[12:44] <noodles775> jml: not sure why I don't have a proper result for the error, but http://paste.ubuntu.com/755959/
[12:44] <noodles775> jml: the bootstrap worked fine... actually, let me check the scroll.
[12:45] <noodles775> jml: it would help if we'd ensured that all the dependencies were in the virtualenv, wouldn't it? I'm not sure what you mean, otherwise?
[12:45] <jml> huh what?
[12:46] <jml> so, if the purpose is to provide a reproducible, controlled environment and we are getting different environments running on different machines, then it's not doing its job very well
[12:46] <noodles775> I mean, virtualenv can only (try to) make the virtualenv's the same on both computers - which I *assume* (perhaps stupidly) that it's doing... but earlier you had system packages installed that I didn't etc.
[12:46] <jml> it's got --no-site-packages
[12:47] <jml> anyway, the 0755 thing is an easy fix
[12:47] <noodles775> Cool
[12:48] <noodles775> Oh, I'd not realised you were using --no-site-packages, not sure what that means for the earlier missing twisted package.
[12:48] <jml> probably that I installed it and then forgot that I installed it.
[12:49] <jml> more interestingly, I don't know what it means for the failing 'want' script
[12:49] <jml> you should have devportalbinary.binary in your PYTHONPATH
[12:49] <jml> oh, I think I know
[12:49] <jml> you need to run 'fab test' from within the virtualenv
[12:49]  * noodles775 does so
[12:53] <noodles775> jml: cool, that gave me different results... pasting now, but can you update the README about `fab test`?
[12:53] <jml> noodles775: already in the process of doing so
[12:54] <noodles775> jml: sweet - here's the paste... /me installs debuild. http://paste.ubuntu.com/755970/
[12:55] <jml> noodles775: yeah, that's just debuild. I guess there's no way of specifying a non-Python dependency other than documentation.
[12:55] <noodles775> Nope (devscripts)
[12:57] <jml> I wish apps.u.c had URLs that excluded series.
[12:59] <noodles775> it doesn't?
[12:59]  * noodles775 checks
[13:00] <jml> oh, you can URL hack to get tem
[13:00] <jml> them, rather
[13:00] <jml> but not by browsing
[13:00] <noodles775> Ah - right..., no I think you're right.
[13:00] <noodles775> It redirects you if you remove it.
[13:00] <noodles775> So you can refer to a package without the series with a url.
[13:00] <jml> to natty :)
[13:01] <noodles775> It depends on whether your browser's user-agent tells anything useful, but yes, not sure why the default is configured to be natty.
[13:01] <noodles775> (using chromium it's correctly redirecting me to oneiric)
[13:02] <jml> probably because it was natty when it was written, and because asking LP for the current stable release was too much work at the time
[13:03] <jml> (not sure if there's another reliable way to determine the current release)
[13:03] <noodles775> Yep. Anyway, it's not just devscripts, I'm now getting an error because dh isn't found... installing.
[13:03] <noodles775> Is there a meta-package I should use instead?
[13:04]  * noodles775 retries with debhelper installed.
[13:04] <jml> Don't know, sorry. There's no documentation for this in pkgme, which is where there should be such docs.
[13:04] <noodles775> Whoohoo, just the 0755 error... sweet.
[13:05] <noodles775> http://paste.ubuntu.com/755976/
[13:05] <noodles775> So it's just devscripts and debhelper (as far as we know, I didn't start with a clean VM)
[13:05] <noodles775> jml: you're around still this afternoon right?
[13:06]  * noodles775 considers heading off for lunch
[13:06] <jml> noodles775: yes.
[13:11] <jml> noodles775: a quick scan doesn't show any mutual reverse dependencies of those two packages
[13:15]  * jml goes to lunch
[13:15] <jml> which may run a little long, as I have to buy a gift for the Millbank secret santa thing.
[13:24] <jml> actually really going now
[13:53] <james_w> morning
[13:56] <noodles775> Morning james_w
[13:57] <noodles775> How was your break?
[13:57] <james_w> good thanks
[13:57] <james_w> how are you?
[13:59] <noodles775> Pretty well - not getting a lot of coding done today, but other useful stuff :)
[14:24] <dpm> hey james_w, good morning, glad to hear you had a nice break
[14:24] <james_w> hi dpm
[14:45] <jml> james_w: https://code.launchpad.net/~jml/pkgme-service/end-to-end-pkgme/+merge/83624 would benefit from your review
[14:45] <james_w> sure thing
[14:54] <noodles775> jml: is the import on 426 inline for a reason?
[15:01] <noodles775> jml: also, when you'd asked about how to test against a running server, I forgot to mention using wsgiintercept... we use something like:
[15:01] <noodles775> http://bazaar.launchpad.net/~rnr-developers/rnr-server/trunk/view/head:/src/reviewsapp/tests/helpers.py#L35
[15:01]  * noodles775 looks for an example of where it's used.
[15:02] <jml> noodles775: yes
[15:02] <jml> noodles775: it is used on line 428
[15:02] <noodles775> But I guess that would be less of an integration test then... so it may not be useful for you anyway.
[15:03] <jml> noodles775: it's in the function itself because I feel embarrassed about importing something called 'acceptance' at the top of a module.
[15:03] <noodles775> heh, sure...
[15:05] <jml> not sure how the WSGI intercept would help here
[15:05] <jml> although, that'd be more re-usable as a fixture :)
[15:06] <noodles775> Indeed - I'm keen to see how we can clean up a lot of our test helpers with fixtures.
[15:08] <jml> for me, the great thing is the way they make it easy to provide debugging info
[15:11] <noodles775> jml: does the DjangoSettings fixture also mean that I can't be running a dev server while tests run?
[15:11] <jml> noodles775: it means you can't launch one, IIUC.
[15:11] <jml> noodles775: if one is already running, won't make a difference
[15:11] <noodles775> Great.
[15:11] <jml> unless django does auto-reload on settings changes
[15:12] <jml> in which case, then it will make a difference :)
[15:12] <jml> I could try rewriting that fixture to use DJANGO_SETTINGS_MODULE
[15:18] <noodles775> Would being able to overwrite settings on the command line help?
[15:19] <noodles775> s/help/avoid the need for the DjangoSettings fixture?
[15:19] <jml> noodles775: yes, that would help
[15:19] <jml> noodles775: as long as celery got the message too
[15:22] <noodles775> jml: you could start it with the same overrides couldn't you? Anyway, if it helps,
[15:22] <noodles775> http://packages.python.org/django-configglue/walkthrough.html#command-line-integration
[15:25] <dpm> jml, james_w, I'm not sure if you've seen this question on the ML, I think you guys are the best people to answer it: https://lists.ubuntu.com/archives/ubuntu-app-devel/2011-November/000041.html
[15:27] <jml> noodles775: aiui, that command line would change the global settings in much the same way as manually editing the file, wouldn't it?
[15:27] <james_w> dpm, I'll reply, thanks for the notice
[15:27] <dpm> cool, thanks james_w!
[15:27] <jml> noodles775: i.e. it doesn't offer a way to change settings & run in the same command
[15:28] <noodles775> jml: I think it does - the example is just confusing because it's calling the settings command... but you can call the runserver command in the same way?
[15:28] <jml> I'll give it a try
[15:32] <noodles775> Although the project's not yet using configglue, so it might be a bit of setup.
[15:32] <jml> james_w: btw, we have a call scheduled now, I assume it's not on (but would be keen for some sort of voice chat today)
[15:33] <james_w> jml, I'm happy to talk now
[15:33] <jml> james_w: cool. now is good for me.
[15:33] <jml> james_w: I had a call scheduled in this slot anyway :)
[15:35] <noodles775> jml: ah, and I missed your earlier comment - no, it's just overriding the setting for the process, it's not touching the file afaik.
[15:37] <noodles775> jml, james_w: given that james_w's got twisted foo and is looking through the MP too, I might leave it there (eyes are starting to glaze over).
[15:37] <jml> noodles775: np. thanks for your feedback so far
[15:37] <jml> noodles775: I think apart from DjangoSettings I've incorporated all of it already.
[15:38] <noodles775> Yes, all tests are passing now on my lucid instance :-) Great.
[15:43] <noodles775> jml: heh, just saw your commet msg "Change the default settings to ones that are equally wrong..." - I assume you won't be using django_project/settings.py at all for a deploy, so i think they're now valid for a dev setup?
[15:44] <jml> noodles775: if there's an all-symbols.db handy in the cwd.
[15:45] <noodles775> If it helps, here's a typical config branch (for apps.ubuntu.com): https://bazaar.launchpad.net/~canonical-ca-hackers/isd-configs/uwc-config/files
[15:45] <noodles775> jml: ah - I assumed that was somehow obtained as part of the bootstrap.
[15:45] <jml> noodles775: no, maintained by a different service
[16:35] <jml> james_w: oh, I also want to bend your ear about notmuch sometime
[16:36] <james_w> sure thing
[20:04] <JoaoSantana> dpm, hi David.
[20:04] <dpm> hi JoaoSantana
[20:05] <JoaoSantana> dmp, I'm the one who is preparing a ubuntu-defaults for Brazil, remember?