[01:43] <Lord_Athur> hi all, I've got a doubt, how do i earn karma?
[01:56] <abhay> karma is a system that is built into launchpad such that doing things that are favored increases your karma. add a suggestion, your karma goes up. if your suggestion is approved, your karma goes up
[01:57] <abhay> etc.
[01:58] <abhay> you can see your karma log by going to your userpage and adding +karma/ to your url
[02:04] <kalosaurusrex> how do I have my team join another team?
[02:07] <kalosaurusrex> oh nm
[02:07] <kalosaurusrex> got it
[02:07] <kalosaurusrex> (Members)
[02:07] <kalosaurusrex> add
[02:07] <kalosaurusrex> blah night!
[02:08] <Lord_Athur> abhay, If Imake and edit some wikis, if I work on forums, does karma go up?
[02:17] <abhay> Lord_Athur: I don't believe the wiki is linked to launchpad that way. i know that things in launchpad will increase karma but some one else may be able to clarify.
[02:25] <Lord_Athur> ok, thanks
[02:34] <lifeless> spiv: can you please review jamesh/launchpad/dyson-urllib - should be trivial
[02:37] <spiv> lifeless: ok
[03:03] <lifeless> spiv: also, hack day at jdubs
[03:04] <spiv> Today?
[03:04] <lifeless> yah
[03:04] <lifeless> wed nes day
[03:05] <jamesh> make sure you don't leak any proprietary company secrets to him
[03:05] <radix> he's shifty
[03:05] <lifeless> jamesh: oops
[03:06] <lifeless> jamesh: too late
[03:07] <jamesh> spiv: after turning off the select result randomisation for distinct and set op queries, it looks like I'm only getting legitimate test failures
[03:08] <jamesh> spiv: things don't look too bad, but there are a few in rosetta, archive publisher, calendar and a few others
[03:08] <lifeless> wicked
[03:09] <lifeless> the power of the shiny thing
[03:27] <jamesh> sounds like it is nice and warm in London
[03:27] <jamesh> not too hot though
[04:30] <mpt_> Gooooooooooooood afternoon Launchpadders!
[05:51] <carthik> I am not getting the (encrypted) email Launchpad is supposed to send me to verify my gpg keys. Is this a known problem?
[07:32] <jamesh> spiv: I suspect that some of the test failures with the select result randomisation is that subsequent index operations into a SelectResults can give different answers (as opposed to iterating over the full result set)
[07:33] <spiv> jamesh: hmm
[07:35] <spiv> jamesh: how about instead of random, we use something more deterministic.
[07:35] <spiv> jamesh: like md5 of the row id concatenated with the transaction id?
[07:35] <jamesh> ideally it should be deterministic within a single run
[07:35] <jamesh> yeah
[07:38] <spiv> jamesh: I wonder how much mileage we'd get out of even a simple "id DESC"?
[07:38] <jamesh> good question
[07:39] <spiv> I guess you need to do "%s.id DESC" % self.sourceClass
[07:39] <jamesh> or pick one of a number of different deterministic orders based on $PID
[07:39] <spiv> Or in fact, "%s.%s DESC" % (self.sourceClass._table, self.sourceClass._idName)
[07:40] <jamesh> test run completed that time with 8 failures
[07:41] <spiv> Wow, maybe we aren't totally broken after all. ;)
[07:41] <jamesh> it timed out when running under test_on_merge.py and got killed
[07:42] <jamesh> this does slow things down a bit, since postgres has to sort pretty much every result set
[07:42] <jamesh> which means computing each result set fully even if only a fraction is accessed
[07:43] <spiv> Right.
[07:43] <spiv> So probably not an option to have activated for every test run, but still good to have.
[07:45] <jamesh> maybe we could activate it if random.random() < 0.25 :)
[07:46] <jamesh> actually, the problem with that is that it potentially means one person fixing bugs introduced by 3 others
[07:46] <jamesh> on average
[07:47] <spiv> "if os.getlogin() == 'pqm'" ;)
[07:48] <jamesh> I doubt it is a significant burden if you are only running a subset of the test suite
[07:49] <jamesh> Are there many developers who regularly do full test suite runs locally?
[07:49] <stub> Only when I'm doing test suite work, which is slow and sucky :-P
[07:50] <spiv> I don't think so; running the full suite is generally only something you do if you're making a change with a really broad potential impact (or hacking on the test infrastructure).
[07:51] <spiv> So I expect most people do it occasionally, but I'd hope that no-one needs to do it regularly.
[07:53] <jamesh> stub: do you have any comments about this proposed patch, DBA wise?
[07:55] <BjornT> i do run the canonical.launchpad test suite time from time, but it's getting harder and harder to find time to do it, since the test suite gets slower and slower...
[07:55] <jamesh> BjornT: we should definitely measure how much impact the change has -- I might have just been unlucky with the timeouts
[07:56] <BjornT> if it gets a lot slower it'd be nice to have an easy way of turning the feature on/off
[07:56] <jamesh> it is controlled by a launchpad.conf setting in my branch
[07:59] <BjornT> if it was possible to override only a few specific config values in launchpad.conf, that would be an easy way of turning it on/off.
[07:59] <jamesh> perhaps an environment variable would be better
[08:20] <spiv> jamesh: fwiw, randomising with the md5 of the connection id + id column seems to be giving about the same results as you're reporting.
[08:23] <spiv> The comment at the top of zzz-soyuz-set-of-uploads.txt is out of date, surely?
[08:27] <jamesh> doc dir tests are run separately, iirc
[08:27] <jamesh> so yeah, the comment does seem inaccurate
[08:49] <spiv> jamesh: I got 9 failures in total
[08:49] <jamesh> spiv: I fixed one or two before that test run
[08:50] <jamesh> spiv: also, it is possible that not all failures will show in one run
[08:50] <spiv> jamesh: indeed.
[08:51] <spiv> jamesh: I used this patch on your sqlobject changes for my randomising: https://chinstrap.ubuntu.com/~dsilvers/paste/fileX6TVQe.html
[08:55] <carlos> morning
[08:55] <carlos> danilos: hi, around?
[09:01] <lucas> hi
[09:01] <jamesh> spiv: it's difficult deciding how to fix some of the tests: do you constrain the ordering further, or make the tests less dependent on the sorting?
[09:02] <jamesh> I've changed the translation import queue failure to order by id, which probably makes sense
[09:04] <spiv> Yeah, I guess it depends on if it's a bug in the test or in the code, and it can be hard to tell which is which.
[09:07] <spiv> For some things the order doesn't matter, so long as it's reliable so things like batching work sensibly.  I guess in those cases order by id is ok, but if there's a date or a name or something that makes more sense, that might be better.
[09:07] <jamesh> for the translation import queue it was being ordered by status and dateimported
[09:07] <lucas> is there some doc somewhere about bazaar branches owner by teams ?
[09:07] <lucas> I only found http://ddaa.net/blog/launchpad/bzr-hosting
[09:07] <jamesh> lucas: I'm meant to be writing an article about it
[09:08] <spiv> jamesh: falling back to id after status and dateimported sounds ok to me then.
[09:08] <lucas> it would really be great, because I would use an alioth svn repos if you don't :-)
[09:08] <jamesh> lucas: the short answer is push your branch to sftp://bazaar.launchpad.net/~team/product/branchname and you have a team owned, hosted branch
[09:08] <lucas> ok
[09:09] <lucas> I'll try that and come back if I fail
[09:09] <spiv> lucas: see also https://launchpad.net/bazaar, although it doesn't say much atm.
[09:09] <jamesh> spiv: I'd expect a fair number of the queue entries to have dateimported=NULL though, so it was giving even less order than you might first think
[09:10] <spiv> lucas: but it does at least officially document that you can use a team name ;)
[09:10] <jamesh> actually, I tell a lie.  that column is not-null
[09:10] <spiv> jamesh: I was about to say...
[09:11] <spiv> But I can imagine that if multiple queue entries are made in one transaction, they'd all get the same timestamp.
[09:12] <jamesh> however, the pagetest creates multiple queue entries in a single transaction, which is probably the problem
[09:12] <spiv> Right.
[09:12] <spiv> That certainly explains it.
[09:16] <danilos> carlos: hi
[09:20] <sivang> morning
[09:20] <danilos> sivang: g'morning
[09:21] <sivang> hey danilos :) changing nicks again?
[09:21] <danilos> sivang: nah, waiting for "danilo" to become free :)
[09:21] <sivang> hehe
[09:23] <lucas> how do bzr pull/push handle conflits ?
[09:23] <lucas> conflicts I mean
[09:24] <carlos> lucas: I think push doesn't handle conflicts, once you diverge, you have two different branches so you cannot push the second copy 
[09:25] <lucas> so this makes it difficult to use this for sharing a branch between users, right ,
[09:25] <lucas> ?
[09:25] <carlos> lucas: to do that, you need to do a bzr merge of the other branches
[09:26] <carlos> so you have the main branch 'A' and you have your local branch 'B' and Joe User has his local branch 'C'
[09:26] <spiv> You can use bzr SVN-style.
[09:26] <lucas> so, we need to always bzr merge before bzr push. but it sucks if somebody else bzr push between our bzr merge and the bzr push
[09:26] <spiv> Where everyone has a 'checkout' that tracks the main branch.
[09:26] <carlos> lucas: you would need to do bzr merge 'B' or bzr merge 'C'
[09:26] <spiv> And you use 'bzr update' to update your checkout against the main branch.
[09:26] <carlos> from the branch 'A'
[09:26] <carlos> lucas: I guess spiv's suggestion is better for your requirements
[09:27] <spiv> And 'bzr commit' automatically commits to the shared branch.
[09:27] <carlos> but I also guess you lose some of the bzr magic
[09:27] <spiv> (But you can still do local-only commits if you're offline)
[09:27] <carlos> spiv: oh really?
[09:27] <spiv> #bzr can tell you more
[09:27] <lucas> ok, perfect
[09:27] <lucas> I didn't notice bzr checkout
[09:29] <jamesh> "bzr commit --local" on a bound branch (what you get from bzr checkout) won't do the auto-push
[09:30] <jamesh> when you do a commit without --local, it will push to sftp provided that the version on the server hasn't diverged
[09:30] <jamesh> (in which case you need to do a merge)
[09:31] <lifeless> jamesh: 'update' rather than merge :)
[09:31] <lifeless> jamesh: with checkouts, use standard CVS workflow
[09:31] <jamesh> lifeless: so that'll leave you tree with a pending merge for the local changes?
[09:32] <lucas> so I'd do bzr commit --local, wait until I'm online, then bzr update, and bzr commit ?
[09:34] <lucas> ok
[09:34] <lucas> just tested
[09:34] <lucas> it works fine
[09:34] <lifeless> jamesh: yes
[09:34] <jamesh> lifeless: cool.
[09:34] <lifeless> jamesh: :)
[09:35] <jamesh> that's the bit I hadn't got round to testing with checkouts
[09:36] <fabbione> hey guys
[09:36] <fabbione> i am looking for somebody with python/zope/C++ experience to do 2 packages for me
[09:36] <fabbione> i am pretty sure i can find somebody with the first 2 here
[09:37] <fabbione> and that would be a good start
[09:37] <lifeless> 'do 2 packages' ?
[09:37] <jamesh> are you also after packaging experience then?
[09:38] <lucas> jamesh: any progress on the "HTTP version of the branches get updated only once a day" issue ?
[09:39] <jamesh> lucas: not yet.  We should probably look at making the pull logic a bit smarter: make use of the failure count stats we collect plus the date of the head revision to pick a better update interval
[09:39] <lucas> ok
[09:40] <jamesh> lucas: actually, spiv did make a change to always mirror hosted branches when the branch puller gets run, so if it is still updating once a day that would indicate that the puller is only running once a day
[09:41] <jamesh> are you still only seeing the branches updated once a day?
[09:41] <lucas> I dunno, I just created my branch
[09:42] <jamesh> there is still a delay
[09:44] <fabbione> lifeless: yeah it's about pkging 2 sources
[09:44] <fabbione> jamesh: yeps
[09:45] <lucas> ok, I see my branch quite up-to-date (rev 3 is missing) on https://launchpad.net/people/dct/+branch/dct/main/
[09:45] <lucas> but it doesn't show up on http://bazaar.launchpad.net/~dct/dct/main
[09:46] <lucas> revno 2 was commited timestamp: Wed 2006-07-19 09:28:29 +0200
[09:46] <lucas> revno 3 :timestamp: Wed 2006-07-19 09:33:46 +0200
[10:11] <jamesh> lucas: "bzr log http://bazaar.launchpad.net/~dct/dct/main/" shows four revisions here.
[10:12] <jamesh> lucas: all the bzr metadata is in http://bazaar.launchpad.net/~dct/dct/main/.bzr/ (which is where bzr looks)
[10:12] <lucas> yup, I got a 404 error when I told you it didn't show up
[10:12] <lucas> so it was updated in the meantime
[10:13] <lucas> however I still don't see 4 revs on https://launchpad.net/people/dct/+branch/dct/main/
[10:13] <jamesh> the stats shown on https://launchpad.net/ are collected by a different batch job
[10:14] <lucas> ok
[10:14] <lucas> what does "subscribing to branches" do ? you receive mails about commits ?
[10:15] <jamesh> which we should be able to run a lot more frequently now -- it only scans branches the puller script says changed
[10:17] <jamesh> lucas: at the moment I think they just show up at e.g. https://launchpad.net/people/lucas/+subscribedbranches
[10:17] <lucas> ok
[11:06] <ddaa> jamesh: before increasing the frequency too much, I would like to reduce the level of error spam it sends.
[11:07] <ddaa> BTW, according to the recent spam, the new branch scanner completes quite quickly now.
[11:07] <ddaa> The issue is apparently that it repeatedly tries to scan branches which are _not_ mirrored successfully
[11:08] <ddaa> causing a lot of BranchNotFound errors for every run
[11:08] <ddaa> Mh
[11:08] <ddaa> actually...
[11:09] <ddaa> I can just remove the "-v" flag, and increase the frequency now.
[11:10] <mpathy> Hi there.. I got a problem without a solution ;) I made this launchpad entry out of it: https://launchpad.net/bounties/compilation-options-checker -> 1. why is it displayed so ugly without line wrap? 2. are there a better place for sth. like that?
[11:14] <ddaa> mh
[11:14] <ddaa> it's already -q
[11:18] <jamesh> ddaa: I guess it should do "last_mirrored_id IS NOT NULL AND (last_scanned_id IS NULL OR last_mirrored_id <> last_scanned_id)"
[11:20] <jamesh> ddaa: given that mirrored empty branches have last_mirrored_id = "null:", that should still get successfully mirrored empty branches
[11:21] <ddaa> jamesh: feel like making a quick patch with a test?
[11:21] <jamesh> ddaa: sure.
[11:21] <ddaa> mh
[11:21] <ddaa> I think the issue here is different than "empty branches"
[11:22] <ddaa> it's about "things that are not branches"
[11:22] <ddaa> but then I'd expect they have last_mirrored_id = NULL
[11:23] <ddaa> ho
[11:23] <ddaa> gotcha
[11:31] <simira> ahoy there
[11:33] <jamesh> ddaa: yeah.  If a branch becomes empty but wasn't previously, we want to rescan.  We can tell the difference between this condition and an unmirrored branch because last_mirrored_id is "null:" in one case and NULL in the other
[11:39] <ddaa> oh
[11:39] <ddaa> then what if a previously valid branch becomes invalid?
[11:39] <jamesh> then the puller won't be able to update it
[11:39] <ddaa> then the last_mirrored_id does not change, ok
[11:39] <ddaa> where are permission definitions hidden in launchpad?
[11:39] <jamesh> the zcml says what permissions are needed to do various things with an object, but most of the code that says if you have the permission is in canonical/launchpad/security.py
[11:39] <ddaa> security.py was what I was looking for
[12:17] <ddaa> where can I learn about permission declarations in zcml?
[12:39] <ddaa> For some reason that I cannot figure, it looks like "EditSeriesSourceByVCSImports" (in security.py) is never executed...
[12:39] <ddaa> Then when a vcs-imports member tries to assign ProductSeries.targetarcharchive, it gets its launchpad.Edit permission denied.
[12:51] <jamesh> ddaa: possibly because the objects implementing IProductSeriesSource also implement IProductSeries
[12:51] <jamesh> and there is another adapter for (IProductSeries, launchpad.Edit)
[12:53] <ddaa> jamesh: I do not understand how this stuff is supposed to work, so I can only believe you
[12:54] <ddaa> maybe there's a way to say "don't try being smart, try to adapt that object for IProductSeriesSource now!"
[12:56] <ddaa> I think I should try to maintain a document "All the good reason why VcsImports should be a separate table, and a few bad ones as well"
[01:02] <jamesh> ddaa: okay.  So you've got a ZCML definition for database.ProductSeries that says that if the user has launchpad.Edit permission, they can set attributes covered by the IProductSeriesSource schema
[01:03] <ddaa> I read it like that as well
[01:03] <jamesh> so if you try to set one of those attributes, it asks the question by saying "does the user have launchpad.Edit permission on this object"
[01:03] <ddaa> mh
[01:03] <jamesh> it does that by looking for an adapter for some interface the object implements and the permission name
[01:03] <ddaa> the stuff in security.py?
[01:03] <jamesh> it doesn't try to match a particular interface the object provides
[01:04] <jamesh> yeah
[01:04] <jamesh> there are adapters for (IProductSeries, launchpad.Edit) and (IProductSeriesSource, launchpad.Edit)
[01:04] <ddaa> so, in the face of ambiguity, it picks some random one :( ?
[01:04] <jamesh> I guess
[01:05] <ddaa> I'll try throwing some chicken bones and try disambiguating then.
[01:05] <lifeless> jamesh: does it look for an interface *that* attribute is on ?
[01:06] <lifeless> jamesh: or an arbitrary interface ?
[01:06] <ddaa> mh... undefined permission id...
[01:06] <jamesh> lifeless: it doesn't match based on the schema whose attribute you are trying to set
[01:06] <jamesh> ddaa: the permissions are defined in permissions.zcml
[01:07] <ddaa> found it
[01:07] <lifeless> but is the object in question an implementation of IProductSeries ?
[01:08] <jamesh> lifeless: yeah.  ProductSeries implements IProductSeries, IProductSeriesSource and IProductSeriesSourceAdmin
[01:08] <lifeless> garh
[01:08] <lifeless> jamesh: can we write a linter for permissions,zcml ?
[01:08] <ddaa> bingo!
[01:09] <jamesh> there are zcml <require> statements granting launchpad.Edit for IProductSeries and IProductSeriesSource on ProductSeries
[01:10] <lifeless> by linter, I mean a program which will use the various registries we have, and the permissions adapter ruleset, to tell us when a single permission may get conflicting rules for an object ?
[01:10] <lifeless> jamesh: or perhaps a runtime check, to make tests fail when this occurs ?
[01:10] <jamesh> lifeless: I suppose.  We'd need to look at all the adapters and for each pair of adapters ($interface1, $perm) and ($interface2, $perm), check to see if all implementors of $interface1 also implement $interfac2 and vice versa
[01:11] <lifeless> jamesh: well, $any of not $all of ?
[01:12] <jamesh> lifeless: maybe that would be better.  I only read up on this bit of the security code last week, which is why I could answer ddaa
[01:12] <lifeless> BjornT: the 200 is fine. The description in the test wasn't ;)
[01:12] <lifeless> gotta run, tchau tchau
[01:14] <stub> Anyone seen an exception like "_csv.Error: delimiter must be quoted or escaped" when using the csv writer from the Python standard library?
[02:01] <stub> Launchpad will be going down in 15 minutes for some brief unscheduled maintenance. Downtime will be approx five minutes.
[02:16] <carlos> see you later
[02:28] <matsubara> hmm https://launchpad.net/ is directing me to the blueprint front page
[02:28] <matsubara> stub ^^
[02:34] <stub> matsubara: sorted.
[02:35] <matsubara> stub: the blueprint.launchpad.net is opening the LP's front page. 
[02:35] <stub> matsubara: It has always done that on production
[02:36] <stub> matsubara: The fault we just had happened because we were turning some infrastructure on to support the vhosting of blueprint.launchpad.ne
[02:36] <matsubara> stub: I see. 
[02:45] <ddaa> Hello, I need a quick review for a critical bugfix (+souceadmin permissions)
[02:46] <ddaa> matsubara: can you help?
[02:47] <matsubara> ddaa: review? I think salgado would be better. I had a hard time with those +source and +sourceadmin permissions
[02:47] <ddaa> Whoever modified it last indeed had a hard time
[02:47] <ddaa> since the permission setting was non-functional
[02:47] <ddaa> salgado: ping!
[02:48] <matsubara> ddaa: Indeed, last week I realized that security.py wasn't even being checked for the vcs celebrity
[02:48] <ddaa> TBH, there's a tension between unreliable zope stuff, and bad db design (per sabdfl veto).
[02:50] <ddaa> I think I have not ranted about lack of permission testing for a good two hours. So add lack of test coverage to the mix.
[02:53] <Enverex> Is it possible to become a "moderator" for a project? I.e. to be able to go around and clean up garbage/malicious/spam entries from a launchpad project?
[02:54] <ddaa> Enverex: one way of doing that is to assign ownership of the project to a team and be a member of the team.
[02:55] <Enverex> hmm, makes sense. It's just I was reading through some bugs and such seeing if there was anything I could help with and saw quite a few stupid posts (thinks telling people to rm -rf or whatever) and other utterly pointless posts (not spam but no reason to even exist anyway) etc
[02:55] <ddaa> Mh, I do not think it's possible to delete bug comments yet.
[02:56] <ddaa> Enverex: the guy to ask about that is bradb (he's not around now), he's the bug tracking man.
[02:56] <Enverex> Ah, ok
[02:56] <Enverex> I'm not too good with coding and such (don't have the time to dedicate to learning more new things) but at least I could try and help this way
[02:57] <ddaa> Here comes the man
[02:58] <ddaa> bradb: This is Enverex, he wants to help weed off spam/useless bug comments.
[02:58] <ddaa> Enverex: This is bradb, the Malone Man.
[02:58] <Enverex> Ah, hi
[02:58] <bradb> Enverex: hi, how can i help you?
[02:58] <Enverex> ddaa just said, heh
[02:59] <Enverex> Although the scope of the entire of Launchpad may be a bit much, so I could start with Ubuntu's pad (which is what I'm currently using and making packages for) and possibly others if I have the time or use them
[02:59] <jordi> carlos: the kashubian team is ready to be added
[03:00] <bradb> Enverex: bug 1734 might interest you
[03:00] <Ubugtu> Malone bug 1734 in malone "Need ability to mark bug comments as obsolete" [Wishlist,Unconfirmed]  http://launchpad.net/bugs/1734
[03:00] <Enverex> lol, "unconfirmed"
[03:01] <Enverex> Got to love the wording sometimes
[03:03] <bradb> Enverex: There's a fine line to walk between making it harder to add comments and pissing people off which, I guess, is why that bug hasn't yet been confirmed.
[03:04] <Enverex> I can't really see a reason why anyone would want to keep spam/pointless posts like "lol, hi I'm new" (when the person is nothing to do with any of the responses or the bug) or posts trying to get someone to do something stupid
[03:05] <bradb> Enverex: It's perhaps hard to argue with /keeping/ them. I was thinking more of prevention.
[03:06] <Enverex> Oh, that I understand, I was just offering to clean up the ones that have been posted. I can see prevention would be a pain as there aren't really any failsafe methods and most techniques, as you said can be really annoying
[03:06] <ddaa> Enverex++
[03:07] <bradb> Enverex: I marked bug 1734 confirmed, in any case. :)
[03:07] <Ubugtu> Malone bug 1734 in malone "Need ability to mark bug comments as obsolete" [Wishlist,Confirmed]  http://launchpad.net/bugs/1734
[03:08] <Enverex> Anyway, when the possability comes up I'm offering to help de-cruft. Username on there is Ben Hodgetts (or shortname enverex)
[03:09] <bradb> Enverex: cool, thanks. if you subscribe to that bug, you'll be notified when it's fixed.
[03:09] <Enverex> Ah, good point
[03:14] <carlos> jordi: ok
[03:22] <ddaa> salgado: reping!
[03:24] <mdke_> does anyone know if there is a plan to make bug history a bit more visible? At the moment, some of the comments lack a lot of context because they are not accompanied by details of the change made to the bug status
[03:26] <salgado> hey ddaa
[03:26] <ddaa> salgado: https://chinstrap.ubuntu.com/~dsilvers/paste/fileYxXwS9.html
[03:26] <ddaa> please review ASAP
[03:27] <salgado> that may be tomorrow. is that okay?
[03:27] <Enverex> lol, "Certificate belongs to *.canonical.com"
[03:27] <BjornT> mdke_: yes, there is a plan for interleaving the bug activity with the comments. i can't give you an eta, though, at the moment we have quite a lot of other things to implement.
[03:27] <Enverex> Someone forgot to fix the cert
[03:28] <ddaa> Enverex: it's private anyway
[03:28] <mdke_> BjornT: cool, look forward to that
[03:45] <SteveA> BjornT: nice handling of the mechanize bug with benji jim and tres
[03:49] <ddaa> hi cprov
[03:50] <cprov> ddaa: hi dude, how is it going ?
[03:50] <ddaa> came back from seaside vacation with a nice tan, fixing bugs like crazy
[03:53] <cprov> ddaa: ehe, good luck ! any news about the importd slave plan ?
[03:53] <ddaa> mh
[03:54] <ddaa> I put my work as a work-in-progress branch
[03:54] <ddaa> https://chinstrap.ubuntu.com/~jamesh/pending-reviews/david/launchpad/importd-ng/full-diff
[03:54] <ddaa> talked about it with lifeless, who suggested implementing a transition by using the new reporting tables with buildbot, and _then_ replacing the back-end.
[03:55] <cprov> ddaa: nice, we can discuss more during the implementation time (I suppose it's just the DB patch)
[03:55] <ddaa> yup
[03:55] <cprov> ddaa: it makes sense.
[03:55] <ddaa> I plan to focus on it once I got bzr-native out the door
[03:55] <ddaa> but I have a hell of a time even making enough room to do progress on that
[03:56] <ddaa> Luckily, jamesh and spiv are working hard on implementing all the actual features and improvements on the bazaar stuff
[03:57] <salgado> stub, ping
[03:57] <stub> salgado: pong
[03:58] <salgado> stub, how did you fix bug 53435 (the one about non-escaped newline characters)?
[03:59] <stub> I updated the export script to normalize all whitespace to ' '
[03:59] <stub> (fix has landed - feel free to revert it if you have a better approach)
[04:00] <cprov> stub: we have another patch to production DB (ETA 5 min), please, don't leave before apply it ;)
[04:01] <salgado> stub, has it landed on chinstrap? I ask because I'm writing a test for it
[04:02] <stub> yes - r3803
[04:02] <stub> Might not be in rocketfuel-built yet
[04:02] <salgado> ah, I see
[04:07] <bradb> BjornT: ping
[04:07] <BjornT> hi bradb 
[04:07] <bradb> BjornT: hi. i moved pagetitles.py to browser, and i'm getting a strange circular import issue.
[04:09] <bradb> BjornT: https://chinstrap.ubuntu.com/~dsilvers/paste/file0tSMt7.html
[04:09] <bradb> test failure output
[04:09] <bradb> BjornT: the strange thing is that i don't get that circular import when i start the app
[04:10] <bradb> it's caused from tests calling scripts, like:
[04:10] <bradb> >>> process = subprocess.Popen(
[04:10] <bradb> ...     [sys.executable, script, '-u', url] , stdin=subprocess.PIPE,
[04:10] <bradb> ...     stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
[04:10] <bradb> ...     )
[04:10] <bradb> >>> (output, empty) = process.communicate()
[04:10] <bradb> >>> print output
[04:11] <bradb> any idea why i see that issue around that type of doctest code, but not when starting the app?
[04:11] <bradb> (i see several tests failing in a similar way)
[04:13] <cprov> stub: email sent
[04:14] <BjornT> bradb: no, no idea as to why it's not happening when you start the app.
[04:15] <bradb> hm
[04:16] <stub> cprov: done
[04:16] <cprov> stub: good, thank you 
[04:17] <bradb> BjornT: btw, did you see the discussion about the CreateBugParams object? I'm curious to get your opinion on having a parameter object for that. (The idea being that now instead of maintaining those params in nine different places, they're maintained in one place.)
[04:18] <stub> bradb: confirm the app you think the test is running is actually the same as the app you are testing. There should be no difference between invoking the script from the command line and via subprocess apart from environment differences, and that shouldn't cause import weirdness unless you have a screwed PYTHONPATH
[04:26] <bradb> stub: I hypothesize it's because, somehow, pagetitles gets imported /before/ DurationFormatterAPI when running the app with "make run", but hasn't yet been imported when importing DurationFormatterAPI in the test.
[04:28] <bradb> stub: Because I can import pagetitles /first/ interactively, but if I try to import DurationFormatterAPI before pagetitles is imported, i get the circular import issue
[04:28] <stub> make run runs the Launchpad app server. That test is running a script. 
[04:30] <stub> Sounds 'icky anyway. 
[04:30] <bradb> yeah. that seems to explain it then. pagetitles gets imported first when running the app, but not at all when running scripts (until it's too late and hits the circular import issue)
[04:32] <bradb> it makes sense that it wouldn't. the weirdness of the error becomes less weird now that i understand that.
[04:43] <BjornT> bradb: yeah, i saw the disussion. i'll reply to the mail.
[04:43] <bradb> BjornT: thanks
[04:49] <lucas> hi
[04:49] <lucas> is there a way to send mail to all members of a LP team ?
[04:51] <salgado> lucas, no, it's not possible
[04:52] <bradb> lucas: bug 44545
[04:52] <Ubugtu> Malone bug 44545 in launchpad "FOAF Request: make all Teams into email-aliases/mailing-lists" [Medium,Unconfirmed]  http://launchpad.net/bugs/44545
[04:52] <lucas> ok
[05:53] <ddaa> salgado: can you review that patch, please?
[05:53] <ddaa> https://chinstrap.ubuntu.com/~jamesh/pending-reviews/david/launchpad/importd-ng/full-diff
[05:53] <ddaa> oops
[05:53] <ddaa> I mean that one: https://chinstrap.ubuntu.com/~dsilvers/paste/fileYxXwS9.html
[05:53] <salgado> ddaa, I probably won't be able to review it today, as I said already
[05:54] <ddaa> Sorry, did not notice your reply.
[05:54] <ddaa> BjornT: can you review it?
[05:55] <ddaa> that's a fix for the +sourceadmin bug, that's preventing me from doing vcs-imports work. I need it out in production ASAP.
[05:58] <BjornT> ddaa: sure, i'll review it soon.
[06:01] <flacoste> is there something to wrap a dbschema.Enum into a IVocabulary?
[06:03] <BjornT> flacoste: look in vocabularies/dbschema.py
[06:04] <flacoste> BjornT: exactly what I was looking for, thanks!
[06:16] <BjornT> ddaa: r=me. i can't think of a better way of solving the XXX you added, without rewriting the security system.
[06:17] <ddaa> BjornT: should I put up a meeting agenda "rewriting the security system"?
[06:19] <BjornT> ddaa: that won't be necessary, steve has been planning to do that for quite a while now.... what you could do, is to send a mail to the list about the issue you have here to remind him. maybe he knows of a better workaround even.
[06:19] <ddaa> m'kay, I'll try to get a round tuit
[06:30] <elmo> jamesh: ping?
[06:30] <elmo> BjornT: or you maybe - do you know what mail aliases demo.lp.net needs?
[06:36] <BjornT> elmo: *@bugs.demo.lp.net should be enough for now. i'll mail the list to see if we need any other aliases, i'm not sure exactly what the plans are.
[06:38] <elmo> BjornT: ok, thanks
[06:39] <glatzor> hi elmo.
[06:40] <glatzor> I am currently working on the software-properties, the sources.list editor. So I have got a question related to the server/mirror layout.
[06:41] <glatzor> elmo: is there a difference between security.ubuntu.com and the archive.ubuntu.com repo?
[06:42] <glatzor> elmo: I would like to provide a combobox to choose a server for all used ubuntu repos. Should I skip security.ubuntu.com?
[06:42] <elmo> glatzor: everyone should point at security.ubuntu.com by default
[06:42] <elmo> glatzor: so that they get the security updates as fast as possible
[06:42] <elmo> glatzor: so yes, it'd be good to skip that in any kind of option box, IMHO
[06:43] <elmo> glatzor: but err, this is offtopic here, we should take it to #ubuntu-devel
[06:43] <glatzor> elmo: good. I have seen many custom sources.list appended to bug reports in which the dapper-security repo of the mirrors was used.
[08:05] <flacoste> how should I specify the default value for a Set?
[08:06] <flacoste> I have:
[08:06] <flacoste>     status = Set(title=_('Status:'), required=False,
[08:06] <flacoste>                  value_type=Choice(vocabulary='TicketStatus'),
[08:06] <flacoste>                 default=set((TicketStatus.OPEN, TicketStatus.ANSWERED)))
[08:06] <flacoste> and I get the following error:
[08:06] <flacoste>     ConfigurationError: ('Invalid value for', 'class', "([<Item OPEN (10) from <class 'canonical.lp.dbschema.TicketStatus'>>, <Item ANSWERED (20) from <class 'canonical.lp.dbschema.TicketStatus'>>] , <class 'sets.Set'>)")
[08:14] <flacoste> I found the solution: use sets.Set instead of set
[08:15] <bradb> interesting
[08:15] <bradb> flacoste: might be worth filing a bug in the zope collector on that, if there isn't one already
[08:17] <BjornT> bradb, flacoste: the Set field in upstream zope accepts set as a valid type already.
[08:17] <bradb> cool
[08:17] <flacoste> BjornT: thanks for the info, I won't file a bug then
[09:56] <bradb> Anyone know of an equivalent to DistroRelease.releasestatus on the product side?
[10:04] <flacoste> am I only one noticing the flicker introduce by the dynamic menu and the set-up of collapsible fieldset?
[10:55] <jordi> why are specs linking to launchpad.canonical.com when it isn't public
[10:55] <jordi> shouldn't specs be public?
[10:56] <jordi> or not launchpad specs?
[11:18] <teolemon> hi
[11:20] <teolemon> is it possible to do an exception for the clamwin po files that are queued for review in rosetta : the project is a bit dead atm , and I'd like to give the main devs a little motivation by speeding up the translation process.
[11:48] <dwf> can anyone tell me how to get off the bloody "also notified" list on a bug?
[11:52] <dwf> this is fucking infuriating
[11:58] <dwf> okay, I had to look through every bug marked duplicate and find the one I was actually subscribed to
[11:58] <dwf> That's ridiculous
[11:59] <dwf> Guess that's one reason to never submit a bug report again.
[12:01] <bradb> darn, missed him