david_0001 | hey | 05:46 |
---|---|---|
david_0001 | anybody work with qt ? | 05:46 |
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. | 07:34 |
dpm | good morning all | 08:02 |
jml | noodles775: can I interest you in reviewing https://code.launchpad.net/~jml/pkgme-service/end-to-end-pkgme/+merge/83624 | 09:43 |
noodles775 | jml: Indeed you can :) I'll just finish my changes for another review and start in 15mins. | 09:45 |
* noodles775 claims it. | 09:45 | |
jml | noodles775: thanks. Will probably also ask james_w to have a look over it when he turns up later today. | 09: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:46 |
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:47 |
noodles775 | Ah, right, a pip install of twisted... yeah, let's see. | 10:48 |
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:49 |
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:51 |
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:58 |
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. | 10:59 |
noodles775 | jml: sure, but on production we'll have a separate config. Yep. | 11:00 |
jml | noodles775: would those paths be relative to settings.py or relative to the root directory? | 11:07 |
noodles775 | jml: 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 | |
jml | it's pretty straightforward. | 11:16 |
noodles775 | Yep - nice. | 11:16 |
noodles775 | How did you go with adding twisted? | 11:18 |
noodles775 | I've probably not understood fixtures properly, but why are you using a fixture inside non-test code? (tasks.py) | 11:19 |
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:20 |
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:21 |
* noodles775 tries adding it to the test dependencies. | 11:22 | |
jml | it works then | 11:22 |
noodles775 | Yep, `virtualenv/bin/pip install twisted` worked fine here.. great. | 11:23 |
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:40 |
jml | noodles775: you're using Python 2.6 | 11:41 |
jml | noodles775: can we not use 2.7 in production? | 11:42 |
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:52 |
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:54 |
noodles775 | Wow - I'd not realised python2.7 wasn't available in the lucid archive? | 11:55 |
noodles775 | (python3 is) | 11:55 |
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:56 |
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. | 11:59 |
* jml fab bootstraps again | 12:06 | |
jml | noodles775: now works with 2.6. | 12:16 |
noodles775 | Thanks jml, re-pulling. | 12:17 |
jml | noodles775: how's it going? | 12:40 |
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:42 |
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:43 |
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:44 |
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:45 |
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:46 |
jml | anyway, the 0755 thing is an easy fix | 12:47 |
noodles775 | Cool | 12:47 |
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:48 |
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:49 | |
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:53 |
noodles775 | jml: sweet - here's the paste... /me installs debuild. http://paste.ubuntu.com/755970/ | 12:54 |
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:55 |
jml | I wish apps.u.c had URLs that excluded series. | 12:57 |
noodles775 | it doesn't? | 12:59 |
* noodles775 checks | 12:59 | |
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:00 |
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:01 |
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:02 |
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:03 |
* 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:04 |
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:05 |
* noodles775 considers heading off for lunch | 13:06 | |
jml | noodles775: yes. | 13:06 |
jml | noodles775: a quick scan doesn't show any mutual reverse dependencies of those two packages | 13:11 |
* 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:15 |
jml | actually really going now | 13:24 |
james_w | morning | 13:53 |
noodles775 | Morning james_w | 13:56 |
noodles775 | How was your break? | 13:57 |
james_w | good thanks | 13:57 |
james_w | how are you? | 13:57 |
noodles775 | Pretty well - not getting a lot of coding done today, but other useful stuff :) | 13:59 |
dpm | hey james_w, good morning, glad to hear you had a nice break | 14:24 |
james_w | hi dpm | 14:24 |
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:45 |
noodles775 | jml: is the import on 426 inline for a reason? | 14:54 |
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:01 | |
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:02 |
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:03 |
jml | not sure how the WSGI intercept would help here | 15:05 |
jml | although, that'd be more re-usable as a fixture :) | 15:05 |
noodles775 | Indeed - I'm keen to see how we can clean up a lot of our test helpers with fixtures. | 15:06 |
jml | for me, the great thing is the way they make it easy to provide debugging info | 15:08 |
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:11 |
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:12 |
noodles775 | Would being able to overwrite settings on the command line help? | 15:18 |
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:19 |
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:22 |
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:25 |
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:27 |
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:28 |
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:32 |
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:33 |
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:35 |
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:37 |
noodles775 | Yes, all tests are passing now on my lucid instance :-) Great. | 15:38 |
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:43 |
jml | noodles775: if there's an all-symbols.db handy in the cwd. | 15:44 |
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 | 15:45 |
jml | james_w: oh, I also want to bend your ear about notmuch sometime | 16:35 |
james_w | sure thing | 16:36 |
JoaoSantana | dpm, hi David. | 20:04 |
dpm | hi JoaoSantana | 20:04 |
JoaoSantana | dmp, 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!