/srv/irclogs.ubuntu.com/2011/12/01/#ubuntu-app-devel.txt

david_0001hey05:46
david_0001anybody work with qt ?05:46
noodles775david_0001: I don't, but I know zematynnad has been doing a bit of qt dev lately. He'll be around in 7-8hrs.07:34
dpmgood morning all08:02
jmlnoodles775: can I interest you in reviewing https://code.launchpad.net/~jml/pkgme-service/end-to-end-pkgme/+merge/8362409:43
noodles775jml: Indeed you can :) I'll just finish my changes for another review and start in 15mins.09:45
* noodles775 claims it.09:45
jmlnoodles775: thanks. Will probably also ask james_w to have a look over it when he turns up later today.09:46
noodles775jml: `fab test` gives me ImportError: No module named twisted.internet - that should be in the setup.py right?10:46
jmlnoodles775: yes.10:46
jmlnoodles775: well, I guess.10:47
jmlit's a test dependency only10:47
noodles775Why guess?10:47
noodles775Ah, ok.10:47
noodles775Right - then test_requirements.txt10:47
jmlWell, if that actually works.10:47
noodles775s/test_requirements.txt/test-dependencies.txt/ but why wouldn't it work?10:47
noodles775Ah, right, a pip install of twisted... yeah, let's see.10:48
jmlnoodles775: 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
jmlnoodles775: maybe I'll be pleasantly surprised.10:49
noodles775jml: 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
jmlnoodles775: cool. (incidentally, I didn't have to install locally. Wonder why.) We'll see. bootstrapping now.10:51
noodles775jml: 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:58
jmlnoodles775: well, they aren't going to be like that on production, probably10:59
jmlnoodles775: but I guess those are better wrong values than the ones I have in there.10:59
noodles775jml: sure, but on production we'll have a separate config. Yep.11:00
jmlnoodles775: would those paths be relative to settings.py or relative to the root directory?11:07
noodles775jml: hrm, not sure.. try it and see (probably the CWD - but you'll find out)11:08
* noodles775 reads up on lifeless's fixtures package.11:10
jmlit's pretty straightforward.11:16
noodles775Yep - nice.11:16
noodles775How did you go with adding twisted?11:18
noodles775I've probably not understood fixtures properly, but why are you using a fixture inside non-test code? (tasks.py)11:19
jmlnoodles775: I didn't add Twisted. It just worked.11:20
jmlnoodles775: Because fixtures aren't actually about testing. They are just most often useful there.11:20
jmlnoodles775: I guess they are like souped-up context managers.11:20
noodles775jml: RE fixtures - ok. Re twisted: Sure - but didn't it ust work because you *already* had it installed?11:21
jmlnoodles775: well, on the system, obviously.11:21
jmlnoodles775: 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:21
* noodles775 tries adding it to the test dependencies.11:22
jmlit works then11:22
noodles775Yep, `virtualenv/bin/pip install twisted` worked fine here.. great.11:23
noodles775jml: with twisted in the virtualenv, I get six errors, all coming down to this: http://paste.ubuntu.com/755918/11:40
noodles775s/coming down to/like/11:40
jmlnoodles775: you're using Python 2.611:41
jmlnoodles775: can we not use 2.7 in production?11:42
noodles775jml: 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:52
jmlwell, if it's going to cause a deployment hassle, let's not do that11:54
jmleasy enough to do try/finally11:54
jml(and also to update 'fab bootstrap' to use python2.6)11:54
noodles775Wow - I'd not realised python2.7 wasn't available in the lucid archive?11:55
noodles775(python3 is)11:55
jmlnoodles775: yeah11:56
jmlI want to go taunt barry now11:56
noodles775heh11:56
jml"It's nearly 2012 and I'm writing new code in Python 2.6"11:56
JackyAlcineXD11:56
jmltaunting done11:59
jmlI've also asked Canonical IS whether I can use Python 2.7 without causing extra deployment hassle11:59
noodles775Cool.11:59
* jml fab bootstraps again12:06
jmlnoodles775: now works with 2.6.12:16
noodles775Thanks jml, re-pulling.12:17
jmlnoodles775: how's it going?12:40
noodles775jml: 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
jmlone of the tests is long, but it has a two minute timeout12:42
noodles775ah12:42
jmlit's wonderful how this virtualenv eliminates differences between environments, no?12:43
noodles775jml: heh, does it not? the failures I'm seeing are missing packages from the virtualenv...12:43
jmlnoodles775: 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
noodles775jml: not sure why I don't have a proper result for the error, but http://paste.ubuntu.com/755959/12:44
noodles775jml: the bootstrap worked fine... actually, let me check the scroll.12:44
noodles775jml: 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
jmlhuh what?12:45
jmlso, 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 well12:46
noodles775I 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
jmlit's got --no-site-packages12:46
jmlanyway, the 0755 thing is an easy fix12:47
noodles775Cool12:47
noodles775Oh, I'd not realised you were using --no-site-packages, not sure what that means for the earlier missing twisted package.12:48
jmlprobably that I installed it and then forgot that I installed it.12:48
jmlmore interestingly, I don't know what it means for the failing 'want' script12:49
jmlyou should have devportalbinary.binary in your PYTHONPATH12:49
jmloh, I think I know12:49
jmlyou need to run 'fab test' from within the virtualenv12:49
* noodles775 does so12:49
noodles775jml: cool, that gave me different results... pasting now, but can you update the README about `fab test`?12:53
jmlnoodles775: already in the process of doing so12:53
noodles775jml: sweet - here's the paste... /me installs debuild. http://paste.ubuntu.com/755970/12:54
jmlnoodles775: yeah, that's just debuild. I guess there's no way of specifying a non-Python dependency other than documentation.12:55
noodles775Nope (devscripts)12:55
jmlI wish apps.u.c had URLs that excluded series.12:57
noodles775it doesn't?12:59
* noodles775 checks12:59
jmloh, you can URL hack to get tem13:00
jmlthem, rather13:00
jmlbut not by browsing13:00
noodles775Ah - right..., no I think you're right.13:00
noodles775It redirects you if you remove it.13:00
noodles775So you can refer to a package without the series with a url.13:00
jmlto natty :)13:00
noodles775It 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:01
jmlprobably because it was natty when it was written, and because asking LP for the current stable release was too much work at the time13:02
jml(not sure if there's another reliable way to determine the current release)13:03
noodles775Yep. Anyway, it's not just devscripts, I'm now getting an error because dh isn't found... installing.13:03
noodles775Is there a meta-package I should use instead?13:03
* noodles775 retries with debhelper installed.13:04
jmlDon't know, sorry. There's no documentation for this in pkgme, which is where there should be such docs.13:04
noodles775Whoohoo, just the 0755 error... sweet.13:04
noodles775http://paste.ubuntu.com/755976/13:05
noodles775So it's just devscripts and debhelper (as far as we know, I didn't start with a clean VM)13:05
noodles775jml: you're around still this afternoon right?13:05
* noodles775 considers heading off for lunch13:06
jmlnoodles775: yes.13:06
jmlnoodles775: a quick scan doesn't show any mutual reverse dependencies of those two packages13:11
* jml goes to lunch13:15
jmlwhich may run a little long, as I have to buy a gift for the Millbank secret santa thing.13:15
jmlactually really going now13:24
james_wmorning13:53
noodles775Morning james_w13:56
noodles775How was your break?13:57
james_wgood thanks13:57
james_whow are you?13:57
noodles775Pretty well - not getting a lot of coding done today, but other useful stuff :)13:59
dpmhey james_w, good morning, glad to hear you had a nice break14:24
james_whi dpm14:24
jmljames_w: https://code.launchpad.net/~jml/pkgme-service/end-to-end-pkgme/+merge/83624 would benefit from your review14:45
james_wsure thing14:45
noodles775jml: is the import on 426 inline for a reason?14:54
noodles775jml: 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
noodles775http://bazaar.launchpad.net/~rnr-developers/rnr-server/trunk/view/head:/src/reviewsapp/tests/helpers.py#L3515:01
* noodles775 looks for an example of where it's used.15:01
jmlnoodles775: yes15:02
jmlnoodles775: it is used on line 42815:02
noodles775But I guess that would be less of an integration test then... so it may not be useful for you anyway.15:02
jmlnoodles775: it's in the function itself because I feel embarrassed about importing something called 'acceptance' at the top of a module.15:03
noodles775heh, sure...15:03
jmlnot sure how the WSGI intercept would help here15:05
jmlalthough, that'd be more re-usable as a fixture :)15:05
noodles775Indeed - I'm keen to see how we can clean up a lot of our test helpers with fixtures.15:06
jmlfor me, the great thing is the way they make it easy to provide debugging info15:08
noodles775jml: does the DjangoSettings fixture also mean that I can't be running a dev server while tests run?15:11
jmlnoodles775: it means you can't launch one, IIUC.15:11
jmlnoodles775: if one is already running, won't make a difference15:11
noodles775Great.15:11
jmlunless django does auto-reload on settings changes15:11
jmlin which case, then it will make a difference :)15:12
jmlI could try rewriting that fixture to use DJANGO_SETTINGS_MODULE15:12
noodles775Would being able to overwrite settings on the command line help?15:18
noodles775s/help/avoid the need for the DjangoSettings fixture?15:19
jmlnoodles775: yes, that would help15:19
jmlnoodles775: as long as celery got the message too15:19
noodles775jml: you could start it with the same overrides couldn't you? Anyway, if it helps,15:22
noodles775http://packages.python.org/django-configglue/walkthrough.html#command-line-integration15:22
dpmjml, 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.html15:25
jmlnoodles775: 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_wdpm, I'll reply, thanks for the notice15:27
dpmcool, thanks james_w!15:27
jmlnoodles775: i.e. it doesn't offer a way to change settings & run in the same command15:27
noodles775jml: 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
jmlI'll give it a try15:28
noodles775Although the project's not yet using configglue, so it might be a bit of setup.15:32
jmljames_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:32
james_wjml, I'm happy to talk now15:33
jmljames_w: cool. now is good for me.15:33
jmljames_w: I had a call scheduled in this slot anyway :)15:33
noodles775jml: 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:35
noodles775jml, 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
jmlnoodles775: np. thanks for your feedback so far15:37
jmlnoodles775: I think apart from DjangoSettings I've incorporated all of it already.15:37
noodles775Yes, all tests are passing now on my lucid instance :-) Great.15:38
noodles775jml: 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:43
jmlnoodles775: if there's an all-symbols.db handy in the cwd.15:44
noodles775If it helps, here's a typical config branch (for apps.ubuntu.com): https://bazaar.launchpad.net/~canonical-ca-hackers/isd-configs/uwc-config/files15:45
noodles775jml: ah - I assumed that was somehow obtained as part of the bootstrap.15:45
jmlnoodles775: no, maintained by a different service15:45
jmljames_w: oh, I also want to bend your ear about notmuch sometime16:35
james_wsure thing16:36
JoaoSantanadpm, hi David.20:04
dpmhi JoaoSantana20:04
JoaoSantanadmp, I'm the one who is preparing a ubuntu-defaults for Brazil, remember?20:05
=== achuni_ is now known as achuni
=== EvilJackyAlcine is now known as [Jacky]

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!