[12:09] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  clean up the +bugs => +assignedbugs redirection for IPerson to use the navigation machinery, as per SteveA's suggestion (patch-2682: brad.bollenbach@canonical.com)
[01:02] <kiko> heya stub 
[01:04] <carlos> see you
[01:09] <sabdfl> moaning, stub
[01:22] <stub> Morning
[01:23] <kiko> stub, gina tests are coming along nicely
[01:23] <kiko> I'm making sure every major branch and most error conditions are tested
[01:24] <stub> Excellent. Time consuming and painful retrofitting that sort of thing, but necessary. 
[01:24] <kiko> well, mark may want to make serious changes to her shortly, so I need to ensure she's tested enough to handle them :-/
[01:24] <stub> Problem with Gina tests is you need to understand .deb packaging, so it was frustrating when I was adding code paths to Gina with no understanding of how to actually trigger them.
[01:24] <kiko> yeah
[01:25] <kiko> I've been hacking away at .tar.gz contents and Sources files for this afternoon
[01:25] <kiko> rocketfuel is going to grow by a few megs though
[01:25] <kiko> the test archive needs to grow up
[01:26] <stub> Does Gustavo have time to take on the role of chief Gina wrangler? I seem to recall he knows how to work with the packaging system.
[01:26] <kiko> not sure, in time he might, but this is pretty urgent AFAICT
[01:27] <stub> kiko: If it becomes an issue, the test could be run only by check-on-merge (or manually) and the test suite pulled from an external location somewhere. Or we could just wait for baz2 to make all our troubles go away...
[01:27] <stub> kiko: Yes. I'm more wondering about preventing the next emergency ;-)
[01:28] <stub> Depends on what cprov is doing too
[01:33] <gneuman> night
[01:35] <kiko> yep
[01:44] <sabdfl> stub: the newpackageclasses stuff landed on HEAD. could you migrate it to production please?
[01:45] <stub> sabdfl: Do you want to see it running on staging first? I think I pushed it out last night as soon as it landed.
[01:45] <sabdfl> stging is giving me bad gateways
[01:45] <sabdfl> and it needs the gina run data to be meaningful, in any event
[01:46] <stub> ok
[01:46] <kiko-afk> then let's keep it on staging untill gina runs
[01:47] <kiko-afk> no point in breaking production first, is there?
[01:47] <stub> staging is back up
[01:47] <kiko-afk> thanks stub, we missed it
[01:50] <stub> If it isn't meaningful until Gina runs, I'd prefer to merge it into the production branch along with Gina-NG
[01:50] <stub> Its in my notes already
[01:52] <kiko-afk> yes, let's do that
[01:53] <sabdfl> stub: https://staging.ubuntu.com/distros/ubuntu/+search?text=camera
[01:53] <sabdfl> i can't see the /errors/ page
[01:54] <sabdfl> ah
[01:54] <sabdfl> need to run fti.py
[01:54] <sabdfl> also, need to run update-pkgcache.py
[01:55] <sabdfl> update-pkgcache takes about an hour on the laptop
[01:55] <sabdfl> could probably be optimised
[01:55] <sabdfl> it should certinaly be much faster on the second run
[01:55] <stub> You got a load of Gina data in there?
[01:56] <sabdfl> i did have, yes, while i developed the pages
[01:57] <sabdfl> that's how i found the gina problems
[02:08] <stu1> Bah
[02:27] <Kinnison> ooooooh incoming!
[02:27] <Kinnison> (hey corey)
[02:28] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: Various fixes to queue, build etc. add zcml for queue, DB patch included. r=stevea,stub. Also fix dbschema security proxy bug (bug 1971) r=stevea (patch-2683: daniel.silverstone@canonical.com)
[02:29] <Kinnison> boyah!
[02:29] <Kinnison> My god I needed that
[02:29] <stub> You should move to Thailand ;)
[02:29] <Kinnison> don't fancy ladyboys
[02:29] <stub> Speaking of Thai food.... breakfast!
[02:33] <Kinnison> speaking of breakfast, bed!
[02:33] <Kinnison> ciao lunchpadders
[03:26] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Make Specification.specurl nullable (patch-2684: stuart.bishop@canonical.com)
[03:50] <stub> Yay. So 'cp' doesn't break hard links :-(
[03:51] <lifeless> stub: install fl-cow. uhm, grab 0.5 from sid.
[03:51] <stub> That makes absolutely no sense to me
[03:51] <stub> Well.. it makes sense. How to implement the suggestion is beyond my ken
[03:54] <lifeless> http://debian.planetmirror.com/debian/pool/main/f/fl-cow/fl-cow_0.5-1_i386.deb
[03:54] <lifeless> download that
[03:54] <lifeless> dpkg -i the file to install it
[03:54] <lifeless> read /usr/share/doc/fl-cow/*
[04:57] <lifeless> stub: ping
[04:58] <stub> lifeless: pong
[04:58] <lifeless> ready for dists testing ?
[04:59] <stub> NNope ;)
[04:59] <stub> I assume this means I need to have bzr installed or something?
[05:00] <lifeless> it will
[05:00] <lifeless> I want to walk through a cold turkey setup with you, end to end
[05:00] <stub> ok
[05:02] <lifeless> first thing is to get bzr http://bazaar.canonical.com/DownloadBzr
[05:02] <lifeless> we'll be dogfooding
[05:02] <lifeless> so you want jbaileys nightlies
[05:04] <stub> There doesn't appear to be a link on that page for that
[05:04] <lifeless> yes, just noticed
[05:05] <stub> The link to the official tgz is busted too
[05:08] <lifeless> ok
[05:08] <lifeless> nightly link up
[05:14] <lifeless> stub: ping
[05:14] <stub> ok
[05:14] <lifeless> pqm is going down for maintenance
[05:14] <lifeless> https://wiki.launchpad.canonical.com/RocketFuelSetup?action=diff
[05:24] <stub> Hmm.... synaptic has picked up bzr_0.1.1-0ubuntu1_all.deb which doesn't look like a daily snapshot
[05:25] <ajmitch> lifeless: as a note, that rocketfuel page suggests hoary.. nightlies have a dep that's not in hoary
[05:25] <ajmitch> stub: that's the breezy version
[05:25] <lifeless> stub: did you add the apt line ?
[05:25] <stub> I added the repopsitory in synaptic
[05:25] <lifeless> ajmitch: it has not been updated, we are all breezy now
[05:25] <lifeless> stub: and did a 'reload' ?
[05:28] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Add library-cut-tails.py from paste (patch-2685: stuart.bishop@canonical.com)
[05:29] <stub> bah. who put that cancel button next to the ok one?
[05:31] <stub> These nightlys don't seem to be signed so the automatic updates will be stuffed
[05:32] <lifeless> jbailey: ^^^
[05:32] <stub> They also have Rob Weir listed as the maintainer, which is wierd coming from jbailys archive
[05:32] <lifeless> he is
[05:33] <stub> oh - I probably need to add a key
[05:34] <stub> Nope - the .asc files are empty
[05:34] <lifeless> ok
[05:34] <lifeless> I've disabled dists commits, but pqm is back
[05:34] <lifeless> I've found a bug to fix.
[05:34] <lifeless> thanks for your help so far
[05:43] <stub> lifeless: You need me for a few hours?
[05:43] <lifeless> stub: I'll get by.
[05:43] <lifeless> spiv or some other victim can assist
[05:43] <stub> ok. I'm off shopping then.
[06:58] <Keybuk> # dpkg --unpack keybuk-launchpad_1.5_all.deb
[06:58] <Keybuk> # aptitude -f install
[06:59] <Keybuk> ahhh
[06:59] <Keybuk> so much easier
[07:14] <fabbione> Keybuk: what's that? all of lp or just part of it?
[07:14] <fabbione> i will need to do an LP checkout one day :)
[07:15] <Keybuk> it's the launchpad dependencies
[07:15] <Keybuk> so you still need to checkout the code and use it
[07:15] <Keybuk> but it does all the heavy lifting of installing the deps and reconfiguring postgres and stuff
[07:16] <lifeless> Keybuk: nice.
[07:16] <lifeless> https://wiki.launchpad.canonical.com/RocketFuelSetup
[07:16] <lifeless> thanks!
[07:21] <Keybuk> yeah, that's the stuff it does
[07:38] <fabbione> lifeless: do you have an amd64 build for config-manager?
[07:38] <fabbione> (https://wiki.launchpad.canonical.com/RocketFuelSetup)
[07:53] <lifeless> fabbione: not yet, no - but you only need cm.py & the python modules.
[07:55] <fabbione> lifeless: are the sources there?
[07:55] <fabbione> i don't mind building it locally
[07:55] <lifeless> fabbione: not there no, I don't know what wildfire used for the orig tarball.
[07:55] <lifeless> hes updating the package at the moment, so ..
[07:58] <lifeless> (I built from source, which is a little bit of a black art :[
[09:12] <Severian> Howdy, are there any experience Launchpad users here?  I just created an account and I have not figured out how to change one detail.
[09:15] <stub> Which detail?
[09:17] <Severian> When I created the account, it asked me for a display name.  I put my first name there.  My details page now shows my wiki page to be Ralph7 and I don't like names with random numbers like that.  I changed my display name to something that is probably unique and I would like to have the wiki page be that same name.  Do you understand what I am asking?
[09:18] <stub> You want to change your wikiname.
[09:19] <Severian> Yes, please.
[09:19] <stub> Have you found the 'edit details' page for your account?
[09:19] <stub> Mine is at https://launchpad.net/people/stub/+edit
[09:20] <Severian> I have found it.  Mine has no place to edit the wiki name.  It is https://launchpad.net/people/severian/+edit
[09:21] <stub> On your 'edit person details' page there should be a box on the right, underneath the 'actions' box, labeled 'edit'. In there is a wikiname link
[09:21] <stub> (which should lead you to https://launchpad.net/people/severian/+editwikinames)
[09:22] <Severian> I see that.  I bet that will do it.  I am loading it now.
[09:24] <Severian> That is great.  Thank you, stub.
[09:25] <stub> No probs
[09:27] <Severian> Now, I wonder if I have to give the system some time.  It says I am not allowed to edit my wiki page.  I am logged in
[09:29] <spiv> Severian: There's no delay between Launchpad and the wiki authentication.
[09:29] <spiv> Severian: Although you do need to log into the wiki seperately.
[09:30] <Severian> I bet that is it.  I had not noticed that it was on a separate domain.  Thank you.
[09:37] <Severian> OK, next question.  I don't think this one is just me.  On the wiki User Preferences page, I entered my details.  I notice the instructions refer to Password and Password repeat.  I only have one Password field.  So, when I save, I get a message that says passwords don't match.
[09:39] <dilys> Merge to rocketfuel@canonical.com/launchpad--production--1.37: Cherry picks (patch-3: stuart.bishop@canonical.com, rocketfuel@canonical.com, steve.alexander@canonical.com ...)
[09:40] <spiv> Severian: That'll be a bug in the text of the login page.
[09:40] <Severian> Is there a bugzilla or something similar where I should report it?
[09:40] <spiv> It's modified from normal moin to use launchpad as the authentication source, and to remove creating an account through the wiki.
[09:41] <spiv> Hmm, I'm not sure what the best location for wiki bugs is.
[09:41] <spiv> There'll be a place for it somewhere :)
[09:41] <spiv> I suppose http://bugzilla.ubuntu.com/enter_bug.cgi?product=Websites would be the best fit.
[09:42] <Severian> I'll look around.  I thought you might just know.  Don't worry about it.  Thank you.
[09:44] <stub> spiv: If we could file a bug against a product series that would be easy ;)
[09:44] <spiv> stub: Hehe
[09:45] <stub> I think it was originally YAGNI, but now we see all these use cases..
[09:45] <spiv> Severian: Actually, it's easy to fix...
[09:46] <spiv> Hmm, or not.
[09:46] <spiv> "Immutable page"
[09:46] <Severian> I thought about editing it until I saw the Immutable bit, too.
[09:46] <spiv> A wiki admin ought to be able to change that text simply by editing the page.
[09:46] <stub> FIle it against Launchpad and we can retarget it when we have created a suitable product (?)
[09:47] <Severian> OK
[09:47] <lifeless> spiv: are you logged in ?
[09:47] <spiv> stub: It's either that or http://bugzilla.ubuntu.com/enter_bug.cgi?product=Websites
[09:47] <spiv> lifeless: Yes.  It's a special page.
[09:47] <lifeless> spiv: ah. spethial.
[09:47] <stub> oh. 
[09:47] <spiv> lifeless: See the comments at https://wiki.ubuntu.com/UserPreferences?action=raw
[09:48] <spiv> stub: I'm not sure which one will be more effective, though.  Probably filing against Launchpad :)
[09:55] <Severian> Bug 2016 sounds just like my problem, but it is resolved.  It appears I can reopen it, but is that the accepted procedure here?
[09:55] <Ubugtu> Error: I cannot access this bug
[09:55] <Severian> See http://bugzilla.ubuntu.com/show_bug.cgi?id=2016
[09:55] <Ubugtu> Websites bug #2016: Ubuntu Wiki UserPreferences page requires user to enter password twice contrary to statement on page Product: Websites, Component: Other web sites, Severity: normal, Assigned to: lu@canonical.com, Status: RESOLVED, Resolution: FIXED http://bugzilla.ubuntu.com/show_bug.cgi?id=2016
[09:56] <spiv> Severian: That's a different bug, as it happens :)
[09:56] <Severian> I am guessing that Ubugtu is some sort of bot.
[09:56] <spiv> Severian: So in this case, file a new one.
[09:56] <Severian> OK
[10:00] <SteveA> morning
[10:05] <SteveA> hi spiv 
[10:05] <SteveA> can we talk about the librarian / rosetta issues?
[10:05] <SteveA> i'm interested in how the "forensic" investigation into it went
[10:06] <SteveA> stub: have you tried the "relink revlib" stuff?
[10:06] <stub> SteveA: nope
[10:07] <SteveA> stub: i ran it yesterday on a pretty large revlib
[10:07] <stub> SteveA: oh... yes sorry.
[10:07] <SteveA> baz got much faster for switch and merge
[10:07] <stub> I thought you ment a baz command ;)
[10:36] <Severian> Have a good day?  Thanks for your help and I did enter the bug.  I hope I did it right.  Bye
[10:37] <jordi> sabdfl: great!
[10:38] <sabdfl> jordi: you're most welcome. i think Ubuntu translations should be in that mode immediately
[10:38] <sabdfl> as soon as its live, tuesday
[10:38] <jordi> sabdfl: nod. Is there a way to mass switch them?
[10:39] <sabdfl> jordi: if you mean ALL of them, stub could run a query for you
[10:39] <jordi> sabdfl: all ubuntu translations, I mean
[10:39] <sabdfl> UPDATE product SET translationpermission=20 WHERE translationpermission=100;
[10:39] <sabdfl> jordi: you only have to do it on the distro
[10:39] <sabdfl> not on each pofile/potemplate
[10:39] <jordi> sabdfl: aha
[10:40] <sabdfl> UPDATE distribution SET...
[10:40] <sabdfl> as above
[10:40] <sabdfl> but... lets just do it for Ubuntu, and mail the list telling people they can do it for their upstream products
[10:40] <sabdfl>  /+changetranslator
[10:40] <jordi> sabdfl: the Spanish guys said they would like that the Spanish Code of Conduct is sanctioned official
[10:41] <jordi> I personally can't see why, but anyway
[10:46] <sivang> Morning all
[10:49] <sabdfl> jordi: ok, done, but for now they'll have to get it manually accepted, until we can update the system to know about other language CoC's
[10:49] <sabdfl> this is a very cool little extension to the CoC system, btw,
[10:49] <sabdfl> thanks for speccing it
[10:53] <sivang> sabdfl: maybe we can add a link from the spec page to your wiki instructions? or better, embed them somewhere in a "spec process" box on the spec tracker's main page right/left area? seems nice to me to have the instructions there so people can read just before they start registering.
[10:53] <jordi> sabdfl: I specced it?!
[11:06] <sivang> sabdfl: I don't see fields in the spec tracker for Lead, Second, contributors etc.. are there any plans to add those or are they not visible yet?
[11:07] <sabdfl> sivang: drafter, approver, assignee
[11:11] <sivang> sabdfl: ok, so drafter = created by, asignee = lead?
[11:14] <Keybuk> stuuuuuub
[11:14] <Keybuk> how do I change the postgresql socket location?
[11:14] <Keybuk> it's decided to use /tmp rather than /var/run/postgresql
[11:17] <stub> Hmm...
[11:17] <stub> Keybuk: unix_socket_directory = '/var/run/postgresql'  (in postgresql.conf)
[11:18] <Keybuk> is that another breezy change?
[11:18] <stub> Did you initdb? 
[11:18] <stub> I didn't notice an issue after upgrading to breezy, but I've still only got 7.4 installed here
[11:18] <Keybuk> I only have 7.4 too
[11:20] <stub> Have a look at your /var/lib/postgresql/7.4/main directory (or wherever your PGDATA is). Are postgresql.conf and friends in there, symlinked to the locations in /etc you expect to find them?
[11:23] <sivang> sabdfl: what's the difference between https://launchpad.net/distros/ubuntu/+spec/ and https://launchpad.net/products/ubuntu/+specs ?
[11:24] <SteveA> sivang: here's how it should work
[11:24] <sivang> sabdfl: err, the first one is also +specs
[11:24] <SteveA>  .../+spec/specname is how you get to a specification
[11:24] <Diablo-D3> http://linux.blogweb.de/archives/111-What-is-Launchpad.html
[11:24] <Diablo-D3> fabbione ftw
[11:24] <SteveA>  and .../+specs is a page to search specs / view all specs
[11:24] <ajmitch> yay, drive-by url spamming
[11:25] <SteveA> and .../+spec  should redirct to .../+specs
[11:25] <ajmitch> looks like I'm the first one to have a real spec against the ubuntu distro?
[11:25] <sivang> ajmitch: I was first, against the "Ubuntu" product :) trying to understand the difference between /distros/.../spec(s) and /product/../spec(s) :-)
[11:26] <ajmitch> sivang: right :)
[11:26] <SteveA> i think there should not be an ubuntu product
[11:26] <SteveA> stub: should there be an ubuntu product?
[11:26] <Kinnison> SteveA: I'm gonna have a big review for you to do soon
[11:27] <SteveA> Kinnison: i'd better get a large cup of tea then
[11:27] <stub> It is hidden. Wherever it can be seen is a bug.
[11:27] <SteveA> how soon is soon?
[11:27] <Kinnison> SteveA: Probably 30m to 60m
[11:27] <SteveA> stub: there's a URL to it
[11:27] <SteveA> sivang: can you move your spec to the distro please?
[11:27] <stub> It should be 404ing I suspect.
[11:27] <Kinnison> ca. 01:30
[11:28] <SteveA> stub: okay.  there's an error there.
[11:28] <sivang> SteveA: ok, now what's the reason behind having both "Ubuntu" and "Ubuntu Linux" respetively matching products/ubuntu/+spec(s) and /distros/ubuntu/+spec(s) ?
[11:28] <SteveA> there are three bugs registered on ubuntu
[11:28] <SteveA> the product
[11:29] <SteveA> stub: is it easy to move them over in the database?
[11:29] <stub> I think there is a bug open on that. They are easy to move, which will hide the bug from view but not fix it ;)
[11:29] <SteveA> sivang: i don't understand what you're asking
[11:29] <SteveA> stub: so, the bug is the the ubuntu product is still visible
[11:30] <stub> Yes. And what we should do to the bugs when this happens (I can move them manually, but I'm not sure if or how launchpad should handle this gracefully)
[11:30] <stub> Probably same with specs etc. Maybe we shouldn't be able to hide them, but instead we need product merge similar to people merge?
[11:31] <SteveA> product -> distro merge?
[11:31] <SteveA> i don't think that will be a common requirement
[11:31] <stub> Erm... that is true ;)
[11:31] <SteveA> can't we just like nuke the ubuntu product?
[11:31] <sivang> SteveA: 's ok, I was talking about the bug you are just discussing with stub :)
[11:31] <stub> So what we have now won't be the common case (for some value of common)
[11:31] <stub> We can nuke the Ubuntu product once nothing references it.
[11:32] <SteveA> so, what references it?  5 bugs...
[11:32] <stub> But we should really just be able to hide it
[11:32] <SteveA> a product series
[11:32] <SteveA> sivan's spec
[11:33] <SteveA> not a great deal
[11:33] <stub> Might be some other odds and sods. I can do it manually, but it still doesn't solve the underlying issues of hidden products not being hidden. Leaving it in there and hidden brings the issues to our attention
[11:33] <sivang> I just alwasy happen to fall in the pitfalls :)
[11:34] <SteveA> stub: create a "harmless" hidden product instead perhaps? ;)
[11:34] <stub> Indeed. Perhaps being nice to the users is better than leaving a speedhump around to trip people up
[11:34] <stub> SteveA: Nobody will notice ;)
[11:41] <sivang> SteveA: ok, I'll see if I can move my spec to be registered agains the "Ubuntu Linux" product, I'll check if it's accessible under /product/..
[11:41] <SteveA> um
[11:41] <SteveA> no
[11:41] <SteveA> the other way around
[11:41] <SteveA> your spec should be registered under the ubuntu distro
[11:41] <SteveA> not the product
[11:41] <SteveA> we want to get rid of the product
[11:42] <sivang> SteveA: and leave it for the distros, ok
[11:42] <SteveA> actually, i can just change the name of the product
[11:43] <sivang> SteveA: you can drop one, and change the other's name. I can re-enter my spec so there no real need for merging.
[11:43] <SteveA> stub: i've changed the title / displayname to "Do not use this product"
[11:43] <SteveA> so, if you can move any old crap across, i think we'll be sorted
[11:44] <SteveA> sivang: so, you have the spec registered in both places?
[11:44] <ajmitch> it should be possible to move specs from one product to another (or to a distro), imho
[11:44] <stub> SteveA: Ok. I'll properly nuke it (but not now - busy trying to land)
[11:44] <SteveA> stub: okay, cool
[11:44] <SteveA> stub: i'll have a bugfix cherrypick for you a little later
[11:44] <SteveA> when i unconflict its tree
[11:44] <stub> ok
[11:45] <sivang> SteveA: no
[11:49] <sivang> SteveA: only in /product/..
[11:50] <sabdfl> sivang: whoa, don't register anything against the Ubuntu product
[11:50] <sabdfl> that product is bad news
[11:50] <sabdfl> distro specs should be registered against the distro
[11:51] <SteveA> sabdfl: i have marked the product as "Do not use"
[11:51] <SteveA> it should be hidden, and unavailble through the web
[11:51] <SteveA> so, there's a bug in product hiding there
[11:52] <sivang> what is it purpose?
[11:52] <SteveA> it was a mistake
[11:53] <sivang> k
[11:53] <SteveA> sivang: i have changed that specification to "do not use" text
[11:53] <SteveA> you can re-add it to the distro
[11:54] <SteveA> note that michael vogt reviewed it
[11:55] <ajmitch> we can get mvo to add his comments again
[11:55] <sivang> SteveA: where do I see his comments?
[11:55] <SteveA> i just pasted it to you
[11:56] <SteveA> it was in a box on the right, under the menu items
[11:56] <SteveA> called 'review requests'
[11:56] <SteveA> ah... UI problem
[11:56] <SteveA> i interpreted that box as being "michael vogt's reply to the review request"
[11:57] <sivang> yes, probably worth another bug report ?
[11:58] <SteveA> bug 2254
[11:58] <Ubugtu> Malone bug #2254: 0.9 Beta 3, Install Error on Plone 2.1 Fix req. for: quills (upstream), Severity: Normal, Assigned to: Nobody, Status: New http://launchpad.net/malone/bugs/2254
[11:58] <SteveA> um
[11:58] <SteveA> bug 3354
[11:58] <Ubugtu> Malone bug #3354: confusing spec comments UI Fix req. for: launchpad (upstream), Severity: Normal, Assigned to: Matthew Paul Thomas, Status: New http://launchpad.net/malone/bugs/3354
[11:59] <sivang> the other one being the misleading error message for a spec's name that needs be lowered case with dashes
[11:59] <SteveA> bug 3354
[11:59] <Ubugtu> Malone bug #3354: confusing spec review requests UI Fix req. for: launchpad (upstream), Severity: Normal, Assigned to: Matthew Paul Thomas, Status: New http://launchpad.net/malone/bugs/3354
[11:59] <sivang> ah :)
[11:59] <sivang> anyway, I need to get lunch. See you in about ~30 minutes.
[12:09] <carlos> morning
[12:09] <cprov> carlos: morning 
[12:09] <SteveA> hello carlos
[12:09] <SteveA> hi cprov 
[12:09] <SteveA> a bit early isn't it celso?
[12:10] <cprov> SteveA: hi, yes ... lot of code to write ;)
[12:10] <SteveA> cprov: got any reviews for me to do today?
[12:11] <cprov> SteveA:  yes, more one buildd-scoring, includes builddepends-aware scoring algorithm implementation, could you handle this ?
[12:11] <SteveA> sure.
[12:12] <SteveA> right now, i'm landing some important launchpad bugfixes for stu to cherrypick
[12:12] <SteveA> then i have a review for Kinnison
[12:12] <SteveA> but i have time to review your stuff after that
[12:12] <cprov> SteveA: thank you
[12:14] <Kinnison> SteveA: mirroring
[12:18] <SteveA> gnirorrim
[12:19] <Kinnison> done
[12:19] <Kinnison> that patch is sent
[12:20] <Kinnison> The one that really needs reviewing is -18
[12:20] <Kinnison> -15 -16 and -17 are mostly little support bits
[12:20] <Kinnison> -17 has some code which you might want to review
[12:21] <Kinnison> so you could do get-changeset and show-changeset --diffs
[12:21] <Kinnison> to do the review
[12:23] <SteveA> ok
[12:23] <TMM> hi all!
[12:23] <Kinnison> hi TMM
[12:23] <TMM> can someone tell me what the relation between rosetta and the build process is?\
[12:24] <TMM> I am trying to deam up a way to get the universe .desktop files in rosetta
[12:26] <mahangu> anyone here in SA who can get me a shot of a freedom toaster in operation?
[12:26] <mahangu> im doing an article
[12:26] <Keybuk> ya know, just for once, I'd like launchpad "make check" to actually pass for me
[12:26] <mahangu> sorry, i know this is offtopic - but i'm kinda at the end of my tether here :)
[12:26] <Kinnison> Keybuk: boo hiss
[12:26] <Keybuk> today I have huge numbers of  NameError: name 'cur' is not defined
[12:26] <Keybuk> any clues?
[12:26] <TMM> not a good question?
[12:26] <Kinnison> Keybuk: have you updated all the ancilliary branches?
[12:27] <Kinnison> TMM: Carlos and Jordi do rosetta stuff
[12:27] <Keybuk> Kinnison: it's a fresh shiny checkout
[12:27] <Kinnison> Keybuk: oddness then
[12:27] <SteveA> for a long time, when i was small, i thought 'ancilliary' meant 'to do with cleaning things'
[12:27] <Keybuk> fresh checkout on a fresh install
[12:27] <Keybuk> and make check doesn't pass
[12:27] <Keybuk> this is pretty normal from my experience :-/
[12:27] <SteveA> because the teachers at school refered to the cleaners as 'ancilliary staff'
[12:27] <TMM> I heard that launchpad isn't opensource, is that right?
[12:27] <carlos> TMM, if the source package generates the .pot file on build time, the .pot file will be automatically imported into Rosetta
[12:28] <carlos> TMM, we import all packages not only main, but the language packs are only for main
[12:28] <carlos> TMM, https://wiki.ubuntu.com/RosettaFAQ 
[12:28] <TMM> carlos, but, for .desktop files it is different, right? because right now I think that all the universe packages just include their own
[12:28] <carlos> TMM, there you have the answer for Rosetta but same applies to the rest of launchpad
[12:29] <SteveA> Kinnison: hmm... trying to review the changeset from get-changeset is confusing for me.  it's okay when there are only patches, but i'm getting too distracted by new files and all that
[12:29] <carlos> TMM, it's the same, most packages include the .desktop translations inside the .pot file and on build time the translations are added to those .desktop files again
[12:30] <Kinnison> SteveA: oh right
[12:30] <Kinnison> SteveA: sorry
[12:30] <TMM> carlos, ok, one more problem: a lot of the packages in universe don't have .desktop files at all 
[12:30] <Kinnison> SteveA: it's only four patches if you get a clean rf and merge it
[12:30] <SteveA> Kinnison: okay
[12:30] <TMM> carlos, so they have to be made by the packager, how to add that to rosetta later?
[12:31] <TMM> carlos, I want to at least make a wiki page for packagers on how to do that, and perhaps some dh_ and/or cdbs scripts to make it easy so it'll actually happen
[12:31] <carlos> TMM, if you add it including them inside the standard .pot generation, Rosetta will get it automatically
[12:32] <carlos> TMM, the best way to do that is using intltool
[12:32] <carlos> like GNOME packages do
[12:32] <carlos> TMM, if it's a KDE package, I think they have their own way to do that
[12:32] <TMM> and that is probably where it'll all fall apart then :)
[12:33] <carlos> TMM, the thing is that Rosetta only accept .pot / .po files to handle translations
[12:33] <stub> mahangu: freedom toaster is hbd.com or an associate. You might want to try emailing info@hbd.com -- there might be press kits and who knows what
[12:33] <mahangu> stub, thank you
[12:34] <carlos> TMM, we don't care about what do you use as long as the input and output are .po files
[12:34] <TMM> carlos, so... if I add some dh_ scripts to generate seperate .pot files for only the .desktop entries, and some transitional scripts... that would work?
[12:35] <TMM> carlos, I think it needs to be general enough that people will actually use it, when they have to add their own .desktop files that is
[12:35] <carlos> TMM, yeah, the maintainer needs to get back the .po files manually to get the translations
[12:35] <TMM> or fix an upstream .desktop if it's not translateable
[12:35] <carlos> and that will work
[12:35] <stub> mahangu: Or http://www.freedomtoaster.co.za/ might be a better resource
[12:35] <mahangu> stub, i found the link
[12:36] <mahangu> no pictures in operation
[12:36] <carlos> TMM, I only know intltool, it needs perl and it's easy to use
[12:36] <TMM> carlos, ah, so there is no automated way to fetch rosetta translated po files into the build system?
[12:36] <TMM> carlos, that is fine then, it doesn't matter too much really, as long as there is ONE way to add translateable .desktop files to packages. 
[12:37] <carlos> TMM, right
[12:37] <TMM> carlos, otherwise, it's never going to happen I am afraid
[12:37] <stub> mahangu: But there is a direct contact there on the contacts page (jason@)
[12:37] <TMM> carlos, is there a sandbox style thingy for rosetta so I can test?
[12:38] <carlos> TMM,  we will fix the .desktop problem for dapper so you would use the same infrastructure that language packs use
[12:38] <TMM> carlos, ow, you are already working on that?
[12:38] <carlos> TMM, not yet, but we started planning that for Breezy 
[12:39] <carlos> but ran out of time
[12:39] <TMM> K, I was planning on doing some work in that area
[12:39] <TMM> but, if someone else does it, even better :)
[12:39] <TMM> ;)
[12:39] <carlos> TMM, same here, if someone else does it.. ;-)
[12:40] <TMM> well, if I can somehow get some way to test my changes without having to have upload rights for universe, I think I can get something together
[12:40] <TMM> I've got some ideas on how to do it now
[12:45] <Kinnison> How do you do a presence/absence thing in python's optparse ?
[12:47] <Kinnison> I.E. I simply want to know if '-N' is among the arguments
[12:47] <Kinnison> a flag if you will
[12:47] <stub> action='store_true', default=False
[12:48] <Kinnison> ta
[12:48] <stub> Kinnison: gina.py for an example (--dry-run)
[12:48] <SteveA> stub: i'm mirroring my fixes now.  steve.alexander@canonical.com/launchpad--trivial--1--patch-9 is what it will be
[12:49] <stub> ok
[12:50] <Kinnison> stub: amusingly enough I'm adding a --dry-run to my code :-)
[12:50] <stub> Me or someone else needs to find time to optimize our test suite - this is ridiculous :-/
[12:51] <SteveA> it will be the next big slow-down after bzr takes us away from baz
[12:51] <carlos> TMM, well, you don't need to test the final import into Rosetta
[12:51] <carlos> TMM, the build will generate a tarball with translations, if you get there the new .pot file you generate, that's enough
[01:02] <mpt> Goooood morning
[01:04] <SteveA> hi mpt 
[01:05] <ajmitch> morning mpt 
[01:06] <SteveA> https://chinstrap.ubuntu.com/~dsilvers/paste/fileHa3D6g.html
[01:06] <SteveA> mpt: all occuRences of 'occured' in zope 3 today
[01:06] <SteveA> in upstream
[01:06] <SteveA> so, perhaps we should fix these upstream
[01:08] <mpt> SteveA: ok, so I should make the test pass, then when we next get zope/ from upstream the test will fail immediately so it won't be forgotten
[01:09] <TMM> carlos, care to explain that please? I don't think I fully understand that yet
[01:09] <SteveA> mpt: okay
[01:09] <carlos> TMM, the way we do the rosetta imports is that the build process generates a tarball with the .pot and .po files
[01:10] <TMM> carlos, dpkg-buildpackage should do that then?
[01:10] <carlos> TMM, you can build the package and check that tarball
[01:10] <carlos> TMM, I'm not sure the exact rule, ask pitti for more details
[01:10] <SteveA> bug 3137
[01:10] <Ubugtu> Error: I cannot access this bug
[01:11] <TMM> carlos, I'll just look at some packages :)
[01:11] <TMM> carlos, thanks 
[01:11] <carlos> np
[01:11] <SteveA> mpt: damn... those buttons *do* look like text areas when they're on a coloured background
[01:11] <SteveA> Kinnison: any reason bug 3137 needs to be private?
[01:11] <Ubugtu> Error: I cannot access this bug
[01:12] <Kinnison> not really
[01:12] <Kinnison> I guess I filed all the uploader ones private to begin with
[01:15] <SteveA> mpt: so... we have the terms 'secrecy' and 'confidential' in malone now.  not 'privacy' any more
[01:15] <SteveA> can we use just one term for headings, like either 'secret' or 'confidential' ?
[01:17] <mpt> sure, "confidential" seems fine
[01:18] <mpt> (which avoids both the idea of secrecy == unreported, and the redundancy of "Secrecy: secret")
[01:19] <SteveA> well
[01:19] <SteveA> then the menu item would be 'bug confidentiality'
[01:19] <SteveA> which is weird
[01:19] <SteveA> i'm asking for consistency more than anything
[01:19] <mpt> hummm
[01:19] <SteveA> as, when i read that page, i'm left asking myself whether 'keeping it confidential' means 'keep it secret'
[01:19] <SteveA> is there a difference
[01:19] <mpt> Disclaimer: It shouldn't be a menu item in the first place, it should be radiobuttons
[01:20] <SteveA> am i 'keeping' is a particular way, or 'making' it a particular way?
[01:20] <SteveA> right now, it isn't very clear, i think.
[01:20] <mpt> ok, I'll tweak it
[01:20] <mpt> not sure in what direction yet
[01:22] <niemeyer> Good morning!
[01:23] <SteveA> hi gustavo
[01:29] <salgado> stub, https://launchpad.net/errors/showEntry.html?id=1129721290.580.173785945853
[01:31] <stub> salgado: That query is pretty much instantaneous. There are no scripts running at the moment so I can't see what would be locking the table, causing the query to timeout.
[01:32] <salgado> stub, that's pretty weird. that query is issued when accessing person.preferredemail, which is used in a lot of other places
[01:33] <salgado> is staging down or I don't know its address?
[01:36] <stub> down. I forgot to restart it after rebuilding it.
[01:37] <Kinnison> stub: remind me, where do I find the encoding guesser?
[01:37] <Kinnison> stub: is it canonical.encoding.guess ?
[01:38] <carlos> did anyone touch the IPerson.inTeam method recently?
[01:38] <carlos> it's broken here
[01:39] <mpt> What's wrong with staging?
[01:39] <salgado> carlos, what do you mean by broken? tests failing or it doesn't work as expected?
[01:39] <mpt> oh
[01:40] <carlos> salgado, I get a RuntimeError: maximum recursion depth exceeded
[01:41] <carlos> salgado, https://chinstrap.ubuntu.com/~dsilvers/paste/fileqJrMSS.html
[01:41] <carlos> that's the code I have
[01:42] <salgado> carlos, did you add any sampledata in this branch you're getting this error?
[01:42] <salgado> (or changed something related to team ownership)
[01:42] <carlos> salgado, I changed sampledata yes, but not related with ownership
[01:43] <salgado> carlos, can I see your sampledata changes?
[01:45] <stub> Kinnison: think so, yes
[01:46] <carlos> salgado, ok, found the problem I fixed incorrectly another problem I had
[01:46] <salgado> carlos, what was it?
[01:46] <carlos> salgado, I changed "if tp is not None or self.id == team.teamownerID:" with "if tp is not None or self.id == team.teamowner:"
[01:46] <Kinnison> stub: coolio, ta
[01:46] <carlos> salgado, and it should be team.teamowner.id
[01:47] <carlos> salgado, anyway, I don't think we have a test there....
[01:47] <carlos> or I don't understand why team.teamownerID was not detected
[01:48] <stub> staging seems dead - more timeout exceptions on the front page (yet the queries can be run manually instantaneously)
[01:48] <salgado> carlos, I had a reason for using team.teamownerID. wait a second before commiting this change
[01:49] <salgado> carlos, why do you changed it? wasn't it working as expected?
[01:49] <carlos> salgado, I got AttributeError
[01:49] <carlos> hmmm
[01:49] <carlos> ok, I see that the problem is that 'team' is an ITranslator
[01:50] <carlos> so that attribute is not valid anyway
[01:51] <CFynn> Rosetta prefs page tells me:  No languages currently registered as spoken in Bhutan. Please contact the Rosetta Admins on #launchpad to make sure we correct this
[01:52] <CFynn> National language of Bhutan is Dzongkha (dz)
[01:52] <carlos> CFynn, hi
[01:52] <CFynn> hi
[01:52] <carlos> please send that by email to rosetta@launchpad.net and I will add it later today
[01:52] <carlos> thanks for the info!
[01:53] <CFynn> Thanks Carlos
[01:53] <salgado> carlos, I'm not following you. what was the attribute that raised AttributeError?
[01:53] <carlos> salgado, forget the problem, it's a bug in mark's patch
[01:54] <carlos> salgado, instead of using an IPerson/ITeam as an argument, we used an ITranslator
[01:54] <carlos> salgado, sorry for the noise
[01:54] <salgado> I see
[01:54] <salgado> carlos, no worries
[01:57] <carlos> salgado, yeah, that was the problem. My fault
[02:06] <salgado> stub, would you replay --reverse rocketfuel@canonical.com/launchpad--devel--0--patch-2617 on staging? (people merge used to work before this change, I think)
[02:07] <SteveA> Kinnison: https://chinstrap.ubuntu.com/~dsilvers/paste/file16qOsh.html
[02:07] <SteveA> Kinnison: present for you.  use this, and you'll reduce your LOC count and answer half of my review points
[02:08] <jbailey> stub, lifeless: I'm not putting my key into a script for automatic signing of nightlies.
[02:08] <SteveA> Kinnison: add it to lib/canonical/cachedproperty.py
[02:08] <mpt> woohoo, unable to fork for diff
[02:08] <jbailey> And even if I did, there's nothing saying that you should trust debs from my key anyone.  Your machine doesn't have a trust relationship with me.
[02:09] <Kinnison> SteveA: oooh cute
[02:09] <SteveA> i like cute
[02:09] <Kinnison> SteveA: I'll do that in a sec
[02:10] <Kinnison> SteveA: do your review on the assumption that I'll use cachedproperty
[02:10] <SteveA> ok
[02:10] <SteveA> well, i'll leave the comments in there
[02:10] <SteveA> so that other reviewers see
[02:10] <Kinnison> yep
[02:10] <kiko> morning
[02:11] <Kinnison> SteveA: for you, I'll even add the copyright and module docstring
[02:12] <SteveA> ta
[02:12] <SteveA> you should also hook it into the testing stuff
[02:12] <SteveA> so that it gets tested
[02:12] <Kinnison> it won't get picked up automatically?
[02:12] <SteveA> in canonical/tests/test_cachedproperty.py
[02:13] <SteveA> you need to import doctest, make its def test_suite(): return doctest.DocTestSuite('canonical.cachedproperty')
[02:13] <Kinnison> right
[02:13] <SteveA> or something similar
[02:13] <Kinnison> I've copied test_encoding
[02:13] <mpt> kiko: Can you give mpt@canonical.com/launchpad--design-fascism--0 a once-over, please?
[02:14] <kiko> mpt, I'm kinda fucked with gina today
[02:14] <kiko> I don't know what to say
[02:14] <mpt> ok
[02:14] <mpt> SteveA?
[02:15] <SteveA> mpt: yes, after Kinnison's code review and some lunch
[02:15] <mpt> thanks
[02:15] <SteveA> stub: that cherrypick is totally mirrored, btw
[02:15] <mpt> I'll send my reply to sabdfl's review
[02:23] <SteveA> bug 3138
[02:23] <Ubugtu> Error: I cannot access this bug
[02:24] <lifeless> bug ger me
[02:24] <SteveA> Kinnison: can that bug be made public?
[02:24] <Kinnison> yes
[02:29] <ddaa> niemeyer: you didn't forget about the BranchDiffStats spec I asked your to prepare for UBZ, did you?
[02:30] <niemeyer> ddaa: No, I didn't..
[02:30] <ddaa> Cool, just noticed it was not in launchpad yet, though it might have slipped through the cracks in all we talked about yesterday.
[02:46] <SteveA> bug 3160
[02:46] <SteveA> bug 3161
[02:47] <salgado> stub, apparently, for every query issued, we get an extra "select count(*) from tablequeried where <whereclauseused>"
[02:47] <Ubugtu> Error: I cannot access this bug
[02:47] <salgado> stub, and this is why we have that count(*) being issued by the frontpage
[02:47] <stub> salgado: That didn't used to happen. Hmm...
[02:48] <Ubugtu> Error: I cannot access this bug
[02:48] <Nafallo> hehe
[02:48] <Nafallo> what's up with the bot? :-P
[02:48] <lifeless> pqm is going down, any urgent stuff queued to land ?
[02:48] <salgado> stub, I'm trying to find what's causing that
[02:51] <SteveA> Kinnison: can bugs 3160 and 3161 be made public please?
[02:54] <SteveA> bug 3158
[02:54] <Ubugtu> Error: I cannot access this bug
[02:57] <SteveA> bug 3135
[02:58] <Ubugtu> Error: I cannot access this bug
[02:59] <SteveA> stub, jamesh, spiv, lifeless, bjornt, kiko, salgado.  reviewers meeting.
[03:06] <Keybuk> so, I'm confused about how permissions work
[03:06] <Keybuk> if I grant permission on a table, do I get permission for any views?
[03:06] <Keybuk> likewise, if I grant permission on a view, does that give me permission for the underlying tables?
[03:12] <sabdfl> Keybuk: they are separate
[03:13] <sabdfl> this is a god hting
[03:13] <sabdfl> sorry
[03:13] <sabdfl> good thing
[03:13] <Keybuk> so if I grant on a view, can I actually use that view?
[03:13] <SteveA> Kinnison: hi
[03:13] <Keybuk> if I don't have permission for the underlying tables?
[03:13] <sabdfl> i wold like the security stuff to be able to populate the SecurePackagePublishingHistory tables, for example
[03:13] <sabdfl> then Launchpad could not even SEE those tables
[03:13] <sabdfl> but it could see the view, which has just the non-embargoed records
[03:14] <sabdfl> this way a separate process could handle the security stuff
[03:14] <SteveA> Kinnison: i have 500 lines of your review left to look through.  but i want to get some lunch now.  do you want the review so far, so you can work on it?
[03:14] <sabdfl> we cant do that now, because the current plan has the security approvals done through the web, so LP needs to read/write those tables
[03:14] <Kinnison> SteveA: please
[03:15] <SteveA> ok
[03:15] <sabdfl> but with a good xmlrpc interface, we could have a separate tool that just does security management, and populates the publishing tables, and launchpad would be guaranteed never to leak details of embargoed products
[03:15] <sabdfl> make sense?
[03:15] <Kinnison> sabdfl: yes that makes sense
[03:17] <SteveA> Kinnison: sent
[03:17] <Kinnison> SteveA: thanks, have good lunch
[03:19] <stub> Keybuk: Yes. This is how you give people access to only a subset of table rows (create a view and give them access to the view rather than the table)
[03:19] <Keybuk> stub: ahh, ok
[03:20] <Keybuk> this has been confusing me for age
[03:20] <Keybuk> +s
[03:22] <lifeless> carlos: your patch has been removed, 
[03:22] <lifeless> carlos: pqm is down
[03:23] <sabdfl> stub: newpackageclasses made it all the way yet?
[03:23] <sabdfl> aka. <small voice>are we there yet?</small voice>
[03:23] <carlos> lifeless, ok, should I submit it again?
[03:23] <mpt> bradb_: ping
[03:24] <bradb> mpt: pong
[03:24] <lifeless> carlos: not yet
[03:24] <carlos> ok
[03:24] <lifeless> carlos: I'll just delete it again
[03:24] <carlos> will do it after lunch
[03:24] <mpt> bradb: Why aren't the advanced search controls part of the bugtask_search_form macro?
[03:24] <lifeless> salgado: same for you
[03:25] <mpt> bradb: You caused me a full-file conflict, you @#$%! :-)
[03:25] <mpt> (two of them, actually)
[03:25] <bradb> mpt: because it's not called the bugtask_advanced_search_form macro, I guess.
[03:26] <bradb> I'm not religious about it either way. Feel free to change it.
[03:26] <stub> 06:44:42) Mark Shuttleworth: stub: the newpackageclasses stuff landed on HEAD. could you migrate it to production please?
[03:26] <stub> (06:45:12) stub: sabdfl: Do you want to see it running on staging first? I think I pushed it out last night as soon as it landed.
[03:26] <stub> (06:45:27) ***stub checks 
[03:26] <stub> (06:45:30) Mark Shuttleworth: stging is giving me bad gateways
[03:26] <stub> (06:45:42) Mark Shuttleworth: and it needs the gina run data to be meaningful, in any event
[03:26] <stub> (06:46:02) lamont left the room (quit: Remote closed the connection).
[03:26] <stub> (06:46:21) stub: ok
[03:26] <stub> (06:46:40) kiko-afk: then let's keep it on staging untill gina runs
[03:26] <stub> (06:47:11) kiko-afk: no point in breaking production first, is there?
[03:26] <stub> (06:47:17) stub: staging is back up
[03:26] <stub> (06:47:26) kiko-afk: thanks stub, we missed it
[03:26] <stub> lamont [n=lamont@15.238.7.121]  entered the room.
[03:26] <stub> stub: If it isn't meaningful until Gina runs, I'd prefer to merge it into the production branch along with Gina-NG
[03:26] <stub> stub: Its in my notes already
[03:26] <stub> kiko-afk: yes, let's do that
[03:26] <stub> Mark Shuttleworth: stub: https://staging.ubuntu.com/distros/ubuntu/+search?text=camera
[03:26] <mpt> bradb: Did you try the advanced search after your changes?
[03:27] <mpt> It looks to me like it won't work, because all the controls are outside the <form>
[03:27] <stub> Which is probably a good thing, as there appears to be a nasty regression on staging that salgado is currently chasing.
[03:27] <lifeless> salgado: ping
[03:27] <salgado> lifeless, pong
[03:27] <lifeless> salgado: please stop submitting merges. pqm is down for upgrades
[03:28] <bradb> mpt: No, I didn't try doing an advanced search after the sortwidget addition. You might be right about the side-effect on the advanced search form.
[03:28] <salgado> lifeless, oh, sorry. I thought I was supposed to re-submit mine
[03:29] <salgado> stub, did you see my message asking you to rever patch-2617 on staging?
[03:29] <mpt> bradb, you've broken the advanced search
[03:29] <bradb> In the meantime, forms will continue to break.
[03:29] <mpt> do not pass go
[03:29] <mpt> go directly to jail
[03:29] <stub> salgado: nope
[03:29] <salgado> stub, would you replay --reverse rocketfuel@canonical.com/launchpad--devel--0--patch-2617 on staging? (people merge used to work before this change, I think)
[03:29] <mpt> the button, she does nothing
[03:31] <bradb> mpt: That kind of breakage will continue to happen until we can (reasonably, practically, without spending half a day crafting the tests by hand) test forms with a form mechanizer type framework.
[03:31] <stub> salgado: done
[03:31] <mpt> bradb: Do you think that breakage is deserving of backing out the changes?
[03:31] <bradb> The other kind of breakage that will continue to happen fairly often until we have some mechanizer machinery is links pointing at pages that no longer exist.
[03:32] <bradb> mpt: heck no :)
[03:32] <bradb> It's a bug. I'll fix it.
[03:32] <mpt> Because I have six bugfixes here, which are horribly conflicted with yours
[03:32] <mpt> and yours is broken
[03:32] <mpt> I'm tempted to baz smash :-
[03:32] <mpt> :-)
[03:32] <bradb> mpt: You probably broke something too. These things happen :)
[03:34] <salgado> stub, that was the culprit for people merge not working; although it has nothing to do with the query that was timing out
[03:37] <lifeless> Keybuk: pqm is down, please merge later
[03:37] <Keybuk> lifeless: define "later"
[03:37] <lifeless> when I turn it on again ?
[03:38] <Keybuk> when are you going to do that?
[03:38] <lifeless> before I go to bed, either a rollback, or an enable
[03:44] <Kinnison> SteveA: I've read through your review and will start dealing with responses to it as soon as I've got this bug ironed out :-)
[03:47] <sivang> mpt: thanks for you comment on the bug I filed.
[03:47] <sivang> mpt: I really felt it would be natural to have the wiki name be the lp name as well
[03:47] <bradb> mpt: The solution is just to move the <form> tag outside of the macro and into the (two, IIRC) callsites that use-macro that search form, making sure that the </form> goes under the advanced search form, of course. I could have already submitted the merge request but 1. pqm is down anyway and 2. it would probably just conflict with you.
[03:48] <bradb> But if you want me to do it, no problem.
[03:50] <mpt> bradb: Did you break mass milestone assignment too?
[03:51] <bradb> I believe so. It's all part of the same form.
[03:51] <mpt> crap
[03:51] <mpt> ok
[03:52] <mpt> the advanced search controls should be in bugtask_search_form
[03:52] <mpt> "all part of the same form" seems wrong
[03:52] <mpt> but I guess having them as separate forms would have meant nested forms before
[03:52] <mpt> hrmmmmmmmmmmm
[03:53] <bradb> mpt: you can keep your life really easy here and just pull the form tag out of the macro on this merge, unless you want to do all the extra shuffling around of ZPT too, of course.
[03:53] <mpt> bradb, I need to reshuffle everything anyway just to resolve the conflicts
[03:54] <mpt> yay, an error message I don't understand
[03:55] <bradb> mpt: Can you just skip resolving the conflicts and take my copy of the file and manually add in your changes?
[03:55] <bradb> after all, the main conflicts may be because of the re-indent caused by things having shifted around on that form
[03:55] <bradb> s/form/page/
[03:56] <mpt> No, my changes were pretty major
[04:00] <mpt>  __traceback_info__: (<zope.app.pagetemplate.simpleviewclass.SimpleViewClass from /home/mpt/ubuntu/launchpad/lib/canonical/launchpad/templates/bugtask-macros-listview.pt object at 0xb570844c>, 'bugtask_search_form', [] )    Module zope.app.pagetemplate.simpleviewclass, line 42, in __getitem__
[04:00] <mpt>     return self.index.macros[name]   TypeError: unsubscriptable object
[04:02] <bradb> mpt: in bugtask-search-listing.pt, what do all lines that contain the word "bugtask_search_form" look like?
[04:02] <bradb> e.g. I have <table metal:use-macro="context/@@+bugtask-macros-listview/bugtask_search_form" />
[04:02] <Keybuk> is creating specs not karmic?  boo!  hiss!
[04:02] <mpt> bradb: yep, that's what I have too
[04:02] <bradb> Keybuk: just learn a few words of japanese and use rosetta to boost your karma
[04:03] <bradb> mpt: ok, quick test:
[04:03] <Keybuk> heh, I've been considering Mandarin for a while
[04:03] <Keybuk> such pretty letters
[04:03] <mpt> bradb: This is after moving the advanced search controls into the macro
[04:03] <bradb> ah
[04:03] <mpt> I'm getting the feeling the error message could be slightly more helpful
[04:04] <bradb> Zope 3 error messages would need a lot of work to be considered "horrible"
[04:04] <mpt> bradb: ok, it's probably tripping up on tal:attributes="for view/assignee_widget/name"
[04:04] <bradb> hm, it shouldn't though
[04:04] <mpt> since that's the first TAL thingy in the advanced search controls
[04:04] <bradb> it feels to me like it's a mismatched tag somewhere
[04:05] <bradb> i'd start by 1. commenting out everything you added to the macro, 2. verifying that the works and finally 3. uncommenting it a bit at a time to see where it blows up.
[04:05] <bradb> s/the works/that works/
[04:06] <mpt> ok, we have liftoff
[04:06] <mpt> two sets of batch navigation, but that's a minor detail
[04:08] <mpt> assignee widgets work ...
[04:09] <bradb> stub: maybe the addition of library-cut-tails.py means we can remove utilities/shrink-library?
[04:10] <stub> Maybe. I'd ask someone who understands all that better ;)
[04:11] <bradb> mpt: the one other page on which you should need to add the form tags outside the use-macro callsite is distributionsourcepackage-bug.pt (LONG NAME HEH HEH)
[04:11] <bradb> salgado: do you care if i remove that shrink-library script? i think you added it, but now library-cut-tails.py seems to be much more useful.
[04:12] <bradb> mpt: er, s/bug.pt/bugs.pt/
[04:13] <salgado> bradb, sure, no problem.
[04:13] <salgado> bradb, btw, what's this library-cut-tails.py?
[04:13] <bradb> salgado: it removes everything but the head of each branch in your revlib
[04:14] <bradb> a seemingly healthy dose of Just Worksism
[04:14] <mpt> bradb: I'm not going to fix the mass_edit bug now
[04:15] <mpt> just the advanced-search-doesn't-work bug
[04:15] <mpt> because mass_edit not working should be done with a separate <form></form>, not the same one, I think
[04:15] <bradb> mpt: ok
[04:15] <mpt> If you check a few checkboxes, then change your mind and search for something else, nothing should happen to the bugs you checked
[04:15] <salgado> stub, so, I found what causes that count(*) to be issued. are you going to sleep soon?
[04:22] <lifeless> stub: ping
[04:24] <lifeless> ok
[04:24] <mpt> bradb: you were right, it was a syntax error lurking in the macro
[04:24] <lifeless> dists is now committed to via pqm.
[04:24] <lifeless> and bzr
[04:24] <lifeless> testing that other trees can still be committed to.
[04:25] <lifeless> I need a guinea pig
[04:25] <lifeless> Keybuk/carlos/salgao
[04:26] <lifeless> one you please send in a merge request
[04:26] <Keybuk> it'll take baz at least a metric week to switch back to that branch now
[04:27] <lifeless> Keybuk: you don't need to switch to it
[04:27] <lifeless> Keybuk: just send the merge command :)
[04:27] <Keybuk> meh
[04:27] <Keybuk> that's like hard
[04:27] <bradb> i can send one
[04:27] <lifeless> bradb: please do
[04:28] <bradb> ok, i'm sending it
[04:29] <lifeless> thanks scott
[04:29] <bradb> doh. well, mine's on the way too :)
[04:29] <lifeless> thats good
[04:29] <lifeless> cause keybuks fell down go boom
[04:29] <Keybuk> oh?
[04:30] <stub> lifeless: pong
[04:31] <lifeless> nm, I got victims
[04:31] <Keybuk> you can get a cream for those
[04:32] <lifeless> though, if you could check out sftp://chinstrap.ubuntu.com/home/warthogs/archives/rocketfuel/dists/devel and cm.py build configs/canonical.com/launchpad/development
[04:32] <lifeless> that would be great
[04:34] <bradb> hm, i don't think i have the disk space to do another build config easily
[04:35] <salgado> BjornT, I'm going to review your PreDefinedBugReports branch, but it has 4 conflicts. can you fix them before I revie?
[04:36] <sabdfl> Keybuk: good point... karma needed for specs and for tickets too!
[04:37] <sabdfl> Kinnison: how's dapper doin'?
[04:37] <BjornT> salgado: yeah, i'm fixing them now
[04:37] <lifeless> ok
[04:38] <lifeless> that seems to be running now
[04:38] <lifeless> I'll babysit to be sure
[04:38] <lifeless> and then -> sleep
[04:40] <sivang> bradb: that's something related to mozilla, or launchpad ? :-)
[04:40] <lifeless> stub - ping
[04:41] <lifeless> can you please change your +upstream to 'sftp://chinstrap.ubuntu.com/home/warthogs/archives/rocketfuel@canonical.com/launchpad--devel--0'
[04:41] <bradb> sivang: launchpad. :) a little framework for allowing us to present useful feedback/error messages
[04:42] <lifeless> bah
[04:42] <mpt> noooo
[04:42] <lifeless> bradb: can you please do that
[04:42] <lifeless> bradb: and resend
[04:42] <bradb> ok
[04:43] <carlos> lifeless, could I send the merge request now?
[04:43] <Keybuk> heeeelp!
[04:43] <Keybuk> need a db guru
[04:43] <lifeless> carlos: not just yet 
[04:43] <lifeless> carlos: teething 
[04:43] <carlos> ok
[04:44] <Kinnison> sabdfl: Dunno, ask kiko
[04:44] <Keybuk> test_disconnects.txt explodes with "OperationalError: server closed the connection unexpectedly"
[04:44] <Kinnison> sabdfl: From my PoV the uploader has now had a huge diagnostic run courtesy of elmo
[04:44] <hno73> FYI: On Thursday 20.10.05 at about 8.00 GMT the server running the Ubuntu and  Launchpad wikis will be taken off line for a hardware upgrade. Expected  downtimeis15minutes. 
[04:44] <mpt> bradb: Offhand, do you have any idea why Malone might say "1 -> 3 of 3 results" when it's showing 5 results?
[04:44] <Kinnison> sabdfl: and the queue processor is almost done
[04:44] <Kinnison> sabdfl: I have a review to respond to from stevea on the uploader
[04:44] <hno73> (should I post that on an LP mailing list too?)
[04:44] <Kinnison> sabdfl: and a bizarre bug in the buildd upload context which I'm sure I'll crack in the next 5 minutes
[04:45] <salgado> SteveA, ping
[04:45] <bradb> mpt: hm, never seen that one. i'll take a fast look.
[04:45] <mpt> bradb: http://localhost:8086/products/firefox/+bugs
[04:45] <bradb> lifeless: is that what you wanted, btw?
[04:45] <sabdfl> hno73: good idea, lp list
[04:46] <hno73> sabdfl: ok, I'll do that
[04:46] <bradb> mpt: the counts appear fine to me
[04:47] <mpt> bradb: you're getting 1 -> 5?
[04:47] <bradb> no, 1 -> 3
[04:47] <bradb> then i add a bug and get 4
[04:47] <mpt> but there's 5 bugs
[04:47] <bradb> there's only 3 for me
[04:47] <bradb> (now 4, because i added one)
[04:47] <mpt> that's ... odd
[04:48] <mpt> that will cause me pagetest failures, undoubtedly
[04:49] <lifeless> wand waved
[04:49] <bradb> mpt: how many "All bugs ever reported are there" for you?
[04:49] <lifeless> bradb: change your upstream back please :)
[04:49] <bradb> er, move that quote a little to the left
[04:49] <bradb> lifeless: 
[04:49] <bradb> ok
[04:50] <mpt> bradb: the portlet says 3, the batch navigation says 3, but there are 5 in the list
[04:50] <mpt> oh, wait
[04:50] <mpt> there are six in the list
[04:50] <mpt> muahaha
[04:50] <mpt> each is listed twice
[04:50] <bradb> ah hah
[04:50] <bradb> there's the rub
[04:50] <bradb> perhaps you've left an extra use-macro in there
[04:50] <bradb> during conflict res.
[04:50] <lifeless> bradb: ok, you can submit again with the original doohickey.
[04:51] <bradb> fark
[04:51] <lifeless> bradb: signature error
[04:51] <bradb> yeah
[04:51] <bradb> i resent
[04:51] <lifeless> ok, building config
[04:53] <bradb> mpt: in particular, this table:
[04:53] <bradb>     <table>
[04:53] <bradb>       <tr tal:repeat="task task_batch_navigator/batch">
[04:53] <bradb>         <td tal:condition="view/mass_edit_allowed">
[04:53] <bradb>           <input type="checkbox" name="task" tal:attributes="value task/id" />
[04:53] <bradb>         </td>
[04:53] <bradb>         <metal:taskrow use-macro="task/@@+bugtask-macros-listview/item" />
[04:53] <bradb>       </tr>
[04:53] <bradb>     </table>
[04:55] <lifeless> ode to jakob ?
[04:55] <lifeless> ladies and gentlemen, I think we have a winner
[04:55] <bradb> ongoing usability fixes (jakob == jakob nielsen) :P
[04:56] <lifeless> its doing the merge, which means it found the branch from the config
[04:56] <salgado> lifeless, that means pqm is back up?
[04:56] <lifeless> salgado: hopefully :)
[04:56] <lifeless> geez you guys are keen
[04:57] <mpt> bradb: yes, I already nuked it
[04:57] <mpt> we are light years away from jakob-ness
[04:57] <bradb> indeed
[04:58] <bradb> mpt: ok, are you saying you still see 6 bugs or that it's fixed?
[04:58] <mpt> I mean that it's fixed
[04:58] <bradb> ok
[04:58] <mpt> Of Jakob's "Top Ten Web Design Mistakes of 2005", Launchpad perpetrates six of them
[05:00] <lifeless> bradb: I need the failure log from you please
[05:00] <lifeless> bradb: UNLESS it was a simple 'conflicts in merge'
[05:00] <bradb> lifeless: 
[05:00] <bradb> An error was encountered:
[05:00] <bradb> Traceback (most recent call last):
[05:00] <bradb>   File "arch-pqm/bin/arch-pqm", line 294, in do_read_mode
[05:00] <bradb>     sigid,siguid = verify_sig(sender, msg, sig, 1, logger)
[05:00] <bradb>   File "/home/pqm/arch-pqm/arch_pqm/__init__.py", line 221, in verify_sig
[05:00] <bradb>     raise PQMException(sender, "Failed to verify signature: %s" % e._value)
[05:00] <bradb> PQMException: 'Failed to verify signature: gpgv exited with error code 2'
[05:00] <lifeless> bradb: no, the next one
[05:01] <bradb> lifeless: make: *** No rule to make target `check_merge'.  Stop
[05:01] <Kinnison> Gah
[05:01] <Kinnison> gah gah gah gah gah
[05:01] <lifeless> bradb: ah
[05:01] <lifeless> bradb: wrong cwd that sounds like
[05:01] <Kinnison> message_from_string isn't failing if it decides it has no headers, it's just putting the entire message into the body
[05:01] <Kinnison> how fucked up is that?
[05:02] <bradb> lifeless: not a problem on my end though, right?
[05:03] <lifeless> bradb: nope
[05:03] <bradb> ok
[05:03] <lifeless> more untested code
[05:10] <mpt> crud
[05:11] <mpt> bradb: How do I make http://localhost:8086/distros/debian/+source/mozilla-firefox/+bugs understand 'view/advanced'?
[05:12] <mpt> like http://localhost:8086/distros/debian/+bugs and http://localhost:8086/products/firefox/+bugs already do
[05:12] <bradb> mpt: I wouldn't recommend making that change right now if you want to land something this week :)
[05:12] <mpt> it's not just a copy and paste?
[05:12] <bradb> that page wasn't even supposed to have a search box on it, according to the sab. i only snuck it in there because it was easier to put in than leave out.
[05:13] <mpt> ok, I'll take it out
[05:13] <bradb> but we need the sorting
[05:13] <mpt> craaaaap
[05:14] <bradb> mpt: no worries dude, just make it never show the advanced search
[05:14] <lifeless> salgado: your patch is the next test
[05:14] <bradb> mpt: use a condition like "view/advanced|nothing", which you probably want to assign to a variable and then check through the macro
[05:15] <bradb> s/through/throughout/
[05:15] <salgado> lifeless, pqm.ubuntu.com is down?
[05:15] <mpt> bradb: what does condition="foo/bar|hum" mean, anyway?
[05:15] <mpt> the TAL docs I've read don't mention it
[05:15] <lifeless> salgado: yes
[05:15] <ddaa> Is there an emacs minor mode for pagetests?
[05:16] <ddaa> (or major)
[05:16] <bradb> the "|" is like a crazy or
[05:16] <Kinnison> SteveA: Do you know of any way to debug email.message_from_string ?
[05:16] <bradb> mpt: crazy because "view/aldjsfads|nothing" will evaluate to a false value in a condition. this turns out to be somewhat useful in ZPT code.
[05:17] <ddaa> ddaa: yes, "M-x doctest-mode"
[05:17] <mpt> bradb: well, <tal:advanced condition="view/advanced|nothing"> doesn't make the badness go away
[05:17] <ddaa> ddaa: woo, that rocks dude!
[05:18] <bradb> mpt: why not? what's the "badness", exactly?
[05:18] <mpt> Expression: <PathExpr standard:'view/advanced'>
[05:18] <mpt> KeyError: 'advanced'
[05:18] <bradb> mpt: did you change all the view/advanced's?
[05:19] <mpt> condition="not:view/advanced|nothing"
[05:19] <bradb> to view/advanced|nothing? (it's better to just assign this value once to a variable in your ZPT and then use it throughout)
[05:19] <mpt> aha
[05:19] <mpt> I missed the "not:..." one
[05:20] <mpt> thanks
[05:20] <bradb> no prob
[05:24] <lifeless> salgado: you'll need to resend the one that just failed
[05:24] <lifeless> salgado: karma is the next test
[05:25] <salgado> lifeless, no failure message?
[05:25] <lifeless> none
[05:26] <kiko> lifeless, salgado: what happened?
[05:26] <bradb> lifeless: does that mean it's working now?
[05:28] <lifeless> kiko: I'm upgrading pqm
[05:30] <kiko> h
[05:30] <kiko> a
[05:34] <lifeless> ok, precommit hook running now
[05:34] <lifeless> as long as salgados tests pass, it should be ok
[05:47] <poningru> hi I had a question
[05:48] <poningru> https://launchpad.net/products/bazaar
[05:48] <poningru> who maintains that website?
[05:48] <poningru> its out of date
[05:48] <poningru> can someone fix it?
[05:48] <kiko-fud> poningru, mostly lifeless 
[05:48] <kiko-fud> hopefully -- what's broken?
[05:49] <poningru> The Linux Kernel uses a proprietary distribution revision control system, this project aim to produce a free software tool that is...
[05:49] <poningru> dont they use git now?
[05:49] <Lathiat> heh
[05:50] <poningru> I believe they started using it june 2005
[05:50] <poningru> so understandable since its only been 4 months
[05:51] <kiko-fud> poningru, fixed
[05:53] <poningru> awesome thanks
[05:56] <kiko-fud> I have no idea who wrote that text, but he certainly didn't future-proof it :)
[05:56] <kiko-fud> time for some lunch
[05:57] <poningru> so do we have offtopic discussions here aswell?
[05:59] <Kinnison> poningru: We try our best to stay on-topic
[06:00] <Kinnison> poningru: In particular, the launchpad developers hang out here and discuss development
[06:00] <Kinnison> poningru: and have meetings and the like
[06:00] <poningru> cool
[06:00] <poningru> and assuming loco teams have discussions here as well
[06:00] <poningru> l18n
[06:01] <Kinnison> I think the loco/l18n teams do stuff on other channels
[06:01] <poningru> hmm ic
[06:01] <Kinnison> this channel is primarily for launchpad-specifics
[06:01] <poningru> gotcha I just saw rosetta on the topic and assumed...
[06:01] <Kinnison> rosetta is part of launchpad :-)
[06:01] <poningru> but yeah makes sense
[06:01] <Kinnison> SteveA: I'm settling in to deal with responding to your review now
[06:02] <lifeless> WOOOO
[06:02] <Kinnison> lifeless: success?
[06:02] <lifeless> pqm is now running fully successfully with 'dists' in bzr format.
[06:02] <lifeless> doco shmoco.
[06:03] <Kinnison> heh
[06:03] <lifeless> Keybuk: can I ask a favour?
[06:03] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: Recalculate the karma cache upon merging of accounts and some other fixes. r=BjornT (patch-2686: guilherme.salgado@canonical.com)
[06:04] <Keybuk> lifeless: perhaps
[06:04] <lifeless> Keybuk: check my changes to https://wiki.launchpad.canonical.com/RocketFuelSetup
[06:05] <lifeless> bear in mind that for the next day or so, its my branch from source that is needed, not martins.
[06:06] <Keybuk> ok, give me a moment, need to finish typing something up
[06:06] <ddaa> kiko-fud: How can I test for something raising an psycopg.IntegrityError in a doctest? If I do it naively, that breaks the transaction and I cannot access the DB at all afterwards.
[06:07] <lifeless> ddaa: start a new transaction ?
[06:07] <lifeless> Keybuk: thanks. I'm -> sleep. mail me feedback, or touch it up.
[06:07] <lifeless> Keybuk: I have a script here, I'll upload that first
[06:08] <salgado> ddaa, AIUI, you shouldn't have something that raises IntegrityError. you should catch the error condition before and fail gracefully
[06:08] <lifeless> that goes -> PQMSetup
[06:08] <Keybuk> lifeless: does pqm work again now?
[06:08] <lifeless> yes
[06:09] <ddaa> well... that much for doc/branch.txt... "RevisionAuthor.name should be unique, but I'm not allowed to test for that here."
[06:10] <salgado> SteveA, ping?
[06:11] <bradb> ddaa: don't let it raise an IntegrityError in the first place. That's what I got told. :)
[06:11] <bradb> I had the exact same problem, and have currently left that database-level exception tested at the very bottom of the test, with an XXX.
[06:11] <lifeless> ddaa: here, what are you trying to test? that the schema is right, or the code is right ?
[06:11] <ddaa> lifeless: schema
[06:11] <lifeless> ddaa: or that postgres enforces the schema ?
[06:12] <lifeless> ddaa: to test the schema, write some sql that queries the schema.
[06:12] <ddaa> I'm trying to test that I cannot create RevisionAuthor SQLObjects with duplicate names.
[06:12] <lifeless> no. you are testing that the database catches that.
[06:13] <ddaa> Well... if that's the way of testing it...
[06:13] <lifeless> which is inappropiate for this layer.
[06:13] <lifeless> I think you should decide what you want to happen when someone *tries* to do this.
[06:13] <lifeless> then, test that that action occurs.
[06:13] <ddaa> I want to stab them in the eye.
[06:13] <bradb> we prefer to slap DontRepeatYourself in the face, and maintain constraints in both the schema and at the Python-level
[06:14] <ddaa> Because anyway, only taxi or some sibling of it should be creating RevisionAuthor records.
[06:14] <lifeless> ok
[06:14] <lifeless> night all
[06:16] <ddaa> bradb: okay... so I guess I should create RevisionAuthor from some sort of factory, right?
[06:16] <lifeless> ddaa: dude. take a step back here.
[06:16] <lifeless> ddaa: you are unit testing *the code you write*
[06:17] <lifeless> ddaa: which, is not sqlobject.
[06:17] <ddaa> Actually, I'm writing "doc/branch.txt"
[06:17] <lifeless> ddaa: sqlobject already enforces this constraint via the db
[06:17] <ddaa> well... until I tried to demonstrate the constraint was missing, I thought it was missing...
[06:17] <lifeless> you only need a test 'can only create one', if you are writing the code to limit it to one.
[06:18] <bradb> ddaa: I would write a validator in Python code that checks that you can't create a RevisionAuthor with a name that already exists
[06:18] <lifeless> night night night
[06:18] <ddaa> bradb: yes, my question is how should this factory method be named? MyDatabaseClass.new ?
[06:18] <lifeless> ddaa: thats not what bradb means.
[06:19] <lifeless> bradb: ddaa's code here is content class only.
[06:19] <lifeless> ddaa: good choice, chat with me tomorrow, or stevea, I think.
[06:20] <ddaa> lifeless: don't think chatting will help, I just need to try and get a feel about what I'm supposed to test in doc/ in pagetests/ etc.
[06:20] <ddaa> I feel like I'm sort of lacking guidelines here.
[06:20] <ddaa> But I also have the impression the guidelines do not really exist in any explicit form anywhere.
[06:21] <bradb> ddaa: doc/ is for programmer documentation. You have to write enough in doc/*.txt to allow someone like me to programmer to your APIs.
[06:21] <bradb> pagetests/ is for end-user documentation (though the "end-user" bit of that is more-or-less purely theoretical :)
[06:22] <ddaa> bradb: for example, some doc/ tests checks that db objects verify their interface, other don't
[06:22] <ddaa> arguably, that's not something that needs spelling out in developer documentation.
[06:22] <bradb> ddaa: Yeah, mostly due to laziness, unfortunately :)
[06:23] <ddaa> my problem here is not laziness... it's lack of directions...
[06:23] <bradb> doc/foo.txt should document the IFoo API.
[06:23] <ddaa> Isn't that what docstrings are for?
[06:23] <bradb> (and possibly closely-related APIs, if it makes sense to do so.)
[06:23] <bradb> ddaa: doctests in docstrings are really hard to read for humans.
[06:23] <bradb> and very de-centralized.
[06:24] <ddaa> m'kay
[06:24] <bradb> s/-//
[06:24] <BjornT> ddaa: if you haven't read it yet, read https://wiki.launchpad.canonical.com/BasicTestCoverage. at least it gives some minimal guidelines.
[06:24] <ddaa> I guess that "document and the interface and related interfaces" would be a good working guideline.
[06:25] <ddaa> BjornT: thanks
[06:26] <bradb> ddaa: another common reason you see some really small doc/*.txt files was because I found a bug in something and then saw, crap, there's NO doctests at all for this API, so I just created a new doctest and tested the minimal bit I needed to, to ensure that a given bug was fixed.
[06:26] <mpt> wow, this branch is determined not to land
[06:26] <Lathiat> heh
[06:27] <niemeyer> ddaa: Where's jobsFromDB (importd/util.py) being used?
[06:27] <SteveA> salgado: hi, i'm back
[06:27] <ddaa> niemeyer: botmaster/master.cfg
[06:27] <mpt> this time, the sftp server dropped my connection
[06:27] <SteveA> Kinnison: i'm back
[06:28] <ddaa> niemeyer: that's where ends meet...
[06:28] <niemeyer> ddaa: Nice
[06:28] <niemeyer> ddaa: What branch is it in?
[06:28] <ddaa> botmaster :)
[06:28] <ddaa> you know, the one you need to run buildbot
[06:28] <Kinnison> SteveA: I'm about 25% through your review
[06:29] <kiko-fud> SteveA, ping?
[06:29] <SteveA> Kinnison: great
[06:29] <SteveA> hi kiko-fud 
[06:29] <SteveA> kiko-fud: i have some stuff to do with security and some python libraries i need to talk about with pitti
[06:29] <ddaa> niemeyer: david.allouche@canonical.com--2004/configs--buildbot--1 is the test botmaster
[06:29] <ddaa> niemeyer: roomba and hoover each have a different one
[06:30] <niemeyer> ddaa: Ahh, that's meaningful. :-)
[06:30] <kiko> SteveA, I have an issue that salgado raised in zope page templates that I'd like to discuss with you.
[06:30] <ddaa> niemeyer: are you being ironic in a deadpan sort of way?
[06:30] <SteveA> kiko: sure, 15 mins?
[06:30] <kiko> SteveA, in 15m? sure.
[06:31] <niemeyer> ddaa: Not at all
[06:31] <salgado> SteveA, that's what I wanted to talk with you
[06:31] <niemeyer> ddaa: I was getting in chinstrap to find the buildbot branch.. but stopped when you've sent the whole string.
[06:32] <ddaa> niemeyer: anyway,buildbot is not on chinstrap
[06:32] <ddaa> it's on macquarie (and a number of single-purpose systems)
[06:32] <niemeyer> ddaa: The branch is not on chinstrap?
[06:32] <ddaa> well, yes it's on chinstrap, but "botmaster" would not have helped you find it.
[06:32] <ddaa> As it's not even in the branch name.
[06:33] <niemeyer> ddaa: You're evil..
 ddaa: What branch is it in?
 botmaster :)
[06:33] <ddaa> it's all lifeless' fault
[06:33] <niemeyer> :-)
[06:33] <ddaa> and Tom Lord's too, for forbidding branch renaming
[06:35] <niemeyer> ddaa: I've noticed that archive_mirror_dir is not in Job's definition, and is introduced later by dynamically creating the attribute. Is that a minor glitch, or is it by design?
[06:36] <ddaa> well... I'd say it's by overall lack of design
[06:36] <ddaa> here's another task for you :)
[06:36] <ddaa> make importd pychecker clean
[06:36] <ddaa> no, just kidding
[06:37] <kiko> broken by design
[06:40] <niemeyer> ddaa: Is there anything about "configs" in the configs--buildbot branch?
[06:41] <ddaa> not configs in the Arch sense
[06:41] <niemeyer> ddaa: I thought I'd find something to "baz build-config"... yeah, what you say
[06:42] <kiko> what you say
[06:43] <eruin> Kind of related to this channel: gpgv: keyblock resource `/home/eruin/.gnupg/trustedkeys.gpg': general error
[06:43] <eruin> has anyone who signed the code of conduct mentioned/come across this?
[06:43] <kiko> hmmm. not me
[06:44] <eruin> the error makes apt-get update puke among other things... Just had another rosetta user on the ubuntu-no list complain about it
[06:44] <eruin> obviously it's our fault but nobody seems to know what it means ;-)
[06:44] <SteveA> niemeyer: do you have anything to do with docutils?
[06:44] <kiko> eruin, we're corrupting the users' trustedsigs?
[06:45] <niemeyer> ddaa: master.cfg is a python file.. you're evil :-)
[06:45] <niemeyer> SteveA: Nope.. I've started creating a man page target for it, but have not even finished it.
[06:45] <ddaa> niemeyer: it's not me, it's the guy who wrote buildbot.
[06:45] <eruin> kiko, well, I don't know... but I do know that the problem arises after using ubuntus keyserver
[06:46] <ddaa> You can complain in #twisted if you wish :)
[06:47] <niemeyer> ddaa: Me? Are you kidding.. they'll kill me with deferreds..
[06:48] <kiko> eruin, does signing the CoC involve using the end-user using the ubuntu keyserver?
[06:48] <eruin> afaik, unless I completely misunderstood the process of doing so
[06:49] <eruin> (which btw could use a bit of clarifying documentation for users unfamiliar with gpg like myself)
[06:51] <Nafallo> ehm, it doesn't. you just run what it says on a commandline as your user.
[06:51] <kiko> that's what I thought too
[06:52] <Nafallo> i.e. gpg --clearsign on the downloaded .txt
[06:52] <niemeyer> ddaa: Ok, so basically we have to add a line with imported_branches_url to config.py in botmaster, and pass it to the job, which will then be used by Taxi. How do you want the change, considering that both branches will have to be changed at once to avoid braking code?
[06:52] <SteveA> kiko: do we have a meeting in 10 mins?
[06:52] <niemeyer> breaking even
[06:53] <ddaa> niemeyer: don't worry about that, botmaster is not covered by pqm
[06:53] <ddaa> niemeyer: it's one of the reasons why we need preprod testing.
[06:54] <niemeyer> ddaa: Ack
[06:54] <Keybuk> SteveA: http://www.netsplit.com/blog/work/canonical/parallel_peer_programming.html
[06:54] <SteveA> Keybuk: cool, thanks
[06:55] <eruin> Nafallo, so --send-key without specifying a server would be enough?
[06:55] <kiko> SteveA, now even :)
[06:56] <Nafallo> eruin: ehm, what has --send-key to do with the signing?
[06:56] <eruin> Nafallo, I meant the key upload process
[06:56] <SteveA> kiko: i meant the boring meeting ;-)
[06:57] <Nafallo> eruin: IIRC --send-key should be enough since the default should already be subkeys.pgp.net :-)
[06:57] <eruin> Nafallo, I know how to sign things, but the process of importing my key to LP had my head in a wild spin
[06:57] <BjornT> bradb: just so you know, advanced search is broken, and i'm fixing it now (don't want us to have conflicts if you decided to fix it as well)
[06:57] <kiko> SteveA, ah, that's true :-/
[06:57] <SteveA> but i see no silbs
[06:57] <kiko> me neither
[06:58] <kiko> SteveA, so salgado found an issue in our page templates
[06:58] <kiko> I'd like to hear your opinion on this
[06:58] <SteveA> "it is crackful"
[06:58] <kiko> salgado?
[06:58] <SteveA> want another opinion once i've heard the issue?
[06:58] <kiko> okay
[06:58] <kiko> yes
[06:58] <Nafallo> eruin: so first send the key to subkeys and the --fingerprint of the key in the box at launchpad :-)
[06:59] <kiko> well, the problem is that every time you access an iteratable in a page template, SteveA, zope appears to do a list() on it.
[06:59] <SteveA> aha
[06:59] <kiko> SteveA, this leads SQLObject to issuing a count() query
[06:59] <SteveA> right, it will do
[06:59] <SteveA> right, it will do
[06:59] <eruin> Nafallo, funny how that can possibly be a daunting process, isn't it? :-)
[06:59] <kiko> which is potentially a performance buster, isn't it SteveA?
[06:59] <kiko> in particular for places that do limit
[06:59] <salgado> I think the problem is in sqlobject
[06:59] <SteveA> yes
[06:59] <SteveA> well...
[07:00] <kiko> salgado?
[07:00] <salgado> if you do list(Foo.select()) you get an extra count(*) for free
[07:00] <Nafallo> eruin: :-)
[07:00] <salgado> but if you do iter(Foo.select()) you won't
[07:00] <SteveA> so, page templates *ought* to do a list() on it only when you access those features of page template iteration that need it
[07:00] <kiko> SteveA, such as count:len?
[07:00] <SteveA> no
[07:00] <SteveA> that's not page template iteration
[07:00] <kiko> magical things!
[07:00] <SteveA> do you have a test case that demonstrates this?
[07:01] <SteveA> i know that list(Foo.select()) does a __len__
[07:01] <SteveA> we can make sqlobject not do that, but we should never do list(...) anyway
[07:01] <SteveA> we should do shortlist()
[07:01] <SteveA> and we can make shortlist() not do the __len__ thing
[07:01] <SteveA> and this is all because of an "optimisation" in python!
[07:01] <SteveA> (that used to swallow all exceptions...)
[07:02] <kiko> heh
[07:02] <eruin> 71.2% untranslated... bah. coders produce too many strings I say!
[07:03] <salgado> SteveA, but the page templates does the list() for us
[07:03] <Nafallo> eruin: :-)
[07:04] <SteveA> salgado: can you get me a test case?  i'm sure i can make a fix for it...
[07:04] <kiko> thanks SteveA 
[07:04] <kiko> you rock and roll
[07:04] <Nafallo> eruin: I think I saw a program with each person in the credits name translatable ;-)
[07:06] <eruin> the ubuntu faq? :P
[07:07] <SteveA> kiko, salgado: is this causing an immediate problem
[07:07] <SteveA> ?
[07:08] <Nafallo> eruin: nope. I forgot what, but it was atleast 100 strings :-P
[07:09] <kiko> we think it's causing timeouts, SteveA, because exceptions are being triggered when running it
[07:09] <SteveA> okay
[07:09] <eruin> Nafallo, that's crazy
[07:09] <SteveA> that's a decent enough reason
[07:09] <eruin> *sniff* I'm only listed in the next rhythmbox credits
[07:10] <eruin> maybe I'll have to track down this app of yours :)
[07:11] <Nafallo> eruin: hehe :-)
[07:11] <kiko> SteveA, did you end up doing the fixes you said you were going to do related to broken traversal in the weekly report?
[07:11] <eruin> err, could this be a bug?    	msgid: There are no folders in folder '%s'. my msgstr; Mappen '%s' inneholder ingen andre mapper.  -->  Error in Translation:  number of format specifications in 'msgid' and 'msgstr' does not match
[07:12] <SteveA> kiko: they should be in production now
[07:12] <SteveA> if stu managed to do the cherrypick
[07:12] <Nafallo> eruin: shouldn't that be "%s" in norweigan as in swedish? :-)
[07:13] <salgado> SteveA, sorry. was on the phone. I'll try and write a test for it
[07:13] <SteveA> thanks salgado 
[07:13] <ddaa> niemeyer: diff_adds and diff_deletes should be allowed to be NUL
[07:13] <bradb> BjornT: i discussed the advanced search breakage a few hours ago with mpt, and told him how to fix it (so that he doesn't get yet more conflicts)
[07:13] <eruin> Nafallo, that's indeed true
[07:13] <Nafallo> (though that's hardly the problem) ;-)
[07:13] <SteveA> salgado: even if the test says "put print statements here and here in sqlobject" that'll be fine
[07:13] <niemeyer> ddaa: Not sure if it makes sense.. why are they there at all?
[07:14] <SteveA> salgado: i'll work out how to test it properly once i have the solution.  but i just want this so that i have something concrete to work with.
[07:14] <mpt> BjornT: I have a fix for advanced search in PQM
[07:14] <eruin> Nafallo, no, and this error probably explains why gphoto2 has been left completely untranslated :-)
[07:14] <ddaa> niemeyer: the reason is we want to be able to display revision and branch statistics
[07:14] <mpt> BjornT: assuming PQM isn't dropping things on the floor a.t.m.
[07:14] <ddaa> niemeyer: and compute all sorts of fancy things out of them, like branch activity, etc
[07:14] <niemeyer> ddaa: Yes, but as we discussed yesterday, they may not be adequate for a bzr branch, for instance.
[07:15] <salgado> SteveA, great. that'll make my life a lot easier
[07:15] <Nafallo> eruin: you could always file a bug against rosetta and add the complete URL (offset and stuff) :-)
[07:15] <ddaa> niemeyer: the model is wrong, but i was telling you "why they are here"
[07:15] <eruin> Nafallo, half a step ahead of you ;-)
[07:15] <Nafallo> :-)
[07:15] <ddaa> niemeyer: NULL is the adequate value for "unknown".
[07:15] <BjornT> bradb, mpt: ok
[07:16] <mpt> lifeless: How's PQM?
[07:16] <niemeyer> ddaa: I understand, but I was wondering if instead of changing the schema to allowing NULL, it wouldn't be better to change the schema to drop them.
[07:16] <ddaa> niemeyer: fixing the DB schema involves going through sabdfl at least
[07:16] <BjornT> mpt: is it bug-listings-love you're trying to merge?
[07:17] <ddaa> niemeyer: I'd be happy to have them deleted now.
[07:17] <sabdfl> NULL is like None in Python
[07:17] <kiko> except worse
[07:17] <kiko> :)
[07:18] <ddaa> sabdfl: the issue is that diff_adds and diff_deletes are attributes of Revision, but that does not match the Bazaar2 model.
[07:18] <mpt> BjornT: yes
[07:19] <ddaa> sabdfl: typically, if you do a big merge from my branch, and I pull you, then the merge revision will have many changes in your history, and may have none in mine.
[07:19] <sabdfl> ddaa: ok, what's a better way in bzr?
[07:19] <mpt> BjornT: bradb also broke mass editing, so if you want to fix that you could branch off bug-listings-love
[07:20] <mpt> because he kinda broke it in a way that needed doing
[07:20] <ddaa> sabdfl: not sure, I asked niemeyer to create a spec. My first guess would be yet-another-table, maybe RevisionDelta, that's uniquely associated to two distinct revisions.
[07:21] <ddaa> niemeyer: what I said is that the schema on our branch should allow you to set them to NULL already.
[07:21] <ddaa> at least, what I meant.
[07:23] <niemeyer> ddaa: Ok, will set them to NULL.
[07:23] <BjornT> mpt: cool, that branch will cause conflicts for me anyway. i already fixed mass editing in my branch.
[07:23] <mpt> BjornT: mass editing should be a separate <form></form> from the searching
[07:24] <BjornT> salgado: i've resolved the conflicts, but mpt's landing will cause more conflicts, i'll ping you when i've fixed those as well.
[07:25] <niemeyer> ddaa: I thought they were constrained to not null, but they just have no default.
[07:26] <ddaa> nice to hear there's not a bug somewhere else preventing you from setting them to NULL
[07:29] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  add proper sample data for hct (patch-2687: scott@canonical.com)
[07:30] <ddaa> mpt: you gotta teach me this trick
[07:30] <niemeyer> ddaa: OTOH, the name mangling is needed.
[07:31] <ddaa> ATM, yes
[07:31] <niemeyer> ddaa: OTOH, we break the branch name validation..
[07:31] <ddaa> yes
[07:31] <ddaa> just don't use branch names to guess the arch name
[07:31] <niemeyer> ddaa: I'm already doing that, but you mentioned yesterday that name mangling was wrong..
[07:32] <ddaa> Mh... sorry
[07:32] <niemeyer> np
[07:32] <ddaa> I guess I got carried away.
[07:32] <niemeyer> ddaa: Totally expected, given the extensive talks we had..
[07:33] <eruin> hmm. could contributing translators be listed by their amount of submitted translations for each package?
[07:34] <eruin> hmm, nah. that'd probably just lead to elitist translators ala forum post numbers :p
[07:35] <bradb> is there a pqm queue to be viewed anywhere now?
[07:37] <Kinnison> SteveA: ping?
[07:37] <SteveA> Kinnison: pong
[07:37] <Kinnison> SteveA: you mention that in the argument lists i had which were vile and horrible I should use local variables
[07:37] <SteveA> yes
[07:37] <Kinnison> could I instead use a dict which I then do **blah to unpack into the arg list
[07:37] <Kinnison> or do you hate that?
[07:38] <SteveA> um
[07:38] <SteveA> you could try it and see how it looks
[07:38] <Kinnison> I just dislike the blah=foo\nthing=bar\n only to later have to do blah=blah,\nthing=thing\n in the arg list
[07:38] <Kinnison> I'll have a play
[07:39] <kiko> **blah is evil
[07:39] <SteveA>   callme(**locals()) ;-)
[07:40] <SteveA> just don't actually do it
[07:40] <Kinnison> I think the dict constructor is as much of a mess anyway
[07:41] <mpt> oh, lifeless left 1.5 hours ago
[07:41] <mpt> I guess PQM's going to be down the rest of the day
[07:41] <kiko> is pqm really down?
[07:41] <bradb> mpt: why do you think it's down?
[07:41] <bradb> a patch just landed
[07:41] <SteveA> hmm
[07:41] <SteveA> its web gateway is down
[07:42] <bradb> yeah
[07:43] <Simira> any known troubles with launchpad/gpg?
[07:43] <kiko> Simira, it doesn't accept keys without encryption subkeys.
[07:44] <kiko> salgado, I think these bugs are already dupes of bugs matsubara is working on.
[07:44] <Simira> so that might result in something like this: Hit http://no.archive.ubuntu.com hoary-updates/restricted Sources
[07:44] <Simira> Fetched 2B in 1s (1B/s)
[07:44] <Simira> Reading package lists... Done
[07:44] <Simira> WaterSevenUb: GPG error: http://no.archive.ubuntu.com hoary-updates Release: Unknown
[07:44] <Simira> error executing gpgv 
[07:44] <Simira> ?
[07:45] <bradb> Kinnison will be interested in that, I think
[07:45] <kiko> Simira, that's not using launchpad to the limit of my knowledge
[07:46] <salgado> kiko, these ones are because we don't have any constraing checking before sending stuff to the db. he said he's working on something else
[07:46] <mpt> bradb: your advanced search breakage isn't in production, is it?
[07:46] <mpt> so the breakage I'm seeing is something else
[07:47] <Kinnison> Simira: launchpad is not making the archives yet
[07:47] <Simira> bradb: talking to me?
[07:47] <Simira> ah
[07:47] <Simira> ok
[07:47] <kiko> salgado, uhm, are you sure?
[07:47] <bradb> mpt: it's only slept one night in rf, so no, it shouldn't be in prod.
[07:48] <salgado> kiko, I'm sure about the bugs I reported, because I'm seeing the tracebacks. not sure about what is he working on
[07:48] <kiko> salgado, well, okay, but gneuman already has his hands full and matsubara is working on exactly that -- product series
[07:49] <salgado> okay. I though about gneuman because this is just porting one of the existing *NameField to these fields
[07:50] <ddaa> kiko: I want to do something in a doctest that only the importd user has the permissions to do
[07:50] <ddaa> kiko: what's the trick?
[07:51] <kiko> ddaa, hmmm, I think there's a LaunchpadHackingFAQ for that, otherwise SteveA knows
[07:51] <ddaa> kiko: sorry, you told me to ask any question I had :)
[07:51] <SteveA> Kinnison: recently added a test that did things as a particular db user
[07:51] <ddaa> RTFAQ is a valid answer
[07:52] <kiko> ddaa, you can always ask, I'm happy to direct you to the FAQ
[07:52] <kiko> I am unsure it contains such a test but I pray it does
[07:52] <SteveA> you need to look in test_system_documentation.py
[07:52] <SteveA> in launchpad/ftests/
[07:52] <SteveA> there is one test in there in HEAD that uses a particular dbuser
[07:52] <SteveA> it has a particular functional setup and teardown that it uses
[07:53] <SteveA> and registers in the 'special' dict
[07:55] <ddaa> Mh... I guess that means I cannot use different users in different parts of the same doctest
[07:55] <SteveA> for dbusers, not without some effort
[07:57] <Ubugtu> Malone bug #3372: Oops from advanced search Fix req. for: malone (upstream), Severity: Normal, Assigned to: Nobody, Status: New http://launchpad.net/malone/bugs/3372
[07:58] <bradb> It looks ok in a movie theatre
[07:59] <kiko> mpt, if you told me how to wrap the URL I could try
[07:59] <kiko> or abbreviate it
[07:59] <kiko> my original solution, linking to the hostname, you didn't like
[07:59] <mpt> That's because it's not just about URLs, kiko
[07:59] <mpt> I keep telling you that
[07:59] <SteveA> kiko: make the font of the url smaller for every extra character in it
[07:59] <mpt> asdfwqeriuaisefjsadlfhas8dfaskfuasoidfuakfjasleifjalsidfjarutyaslfdjaeoutyaslfiuawfuelifasd9f8akefjejsfhsafqwhgads would cause the same problem
[07:59] <kiko> URLs are the main culprit
[08:00] <SteveA> mpt: not if it was in a 1pt font!
[08:00] <kiko> mpt, yeah, except that's not a practical problem
[08:00] <mpt> Then you'd just have to fix the same bug twice, kiko
[08:00] <kiko> no
[08:00] <kiko> I'd mitigate the latter problem for a year
[08:00] <SteveA> and then, people would learn to write shorter words
[08:00] <kiko> which is the essence of softare development, in case you haven't realized.
[08:00] <SteveA> because SHORTER words would be BIGGER
[08:00] <mpt> SteveA: usually it's malicious, not accidental
[08:00] <kiko> so stop waving your hands in the air
[08:00] <SteveA> we can apply this to the whole of launchpad
[08:00] <mpt> Someday soon someone's going to put a word like that into bug 1
[08:01] <kiko> and tell me how to reduce URLs, mpt 
[08:01] <Ubugtu> Malone bug #1: Microsoft has a majority market share Fix req. for: Ubuntu, Severity: Critical, Assigned to: Mark Shuttleworth, Status: Accepted http://launchpad.net/malone/bugs/1
[08:01] <SteveA> MPT would be bigger than STEVEA
[08:01] <kiko> not IRL
[08:01] <SteveA> but on launchpad
[08:01] <SteveA> where it counts
[08:01] <kiko> SteveA, since mpt doesn't feel like being practically helpful, perhaps you have a suggestion?
[08:02] <bradb> why not just shorten them?
[08:02] <SteveA> i was kinda serious about trying the 'make the font size of urls smaller the longer they get'
[08:02] <bradb> "asdlfjasdfasdfasdfsad..."
[08:02] <mpt> http://en.wikipedia.org/wiki/Page_widening#Page_widening_by_trolls
[08:02] <kiko> if nobody has a suggestion I'll probably use something that combines the hostname with an ellipsized tail
[08:02] <kiko> mpt, we're not wikipedia, mpt.
[08:02] <mpt> kiko: Break words at n characters
[08:02] <mpt> where n ~= 40
[08:02] <mpt> That article's not about Wikipedia, kiko.
[08:02] <kiko> that I think is utter crack
[08:03] <mpt> I think going off on tangents about URLs is utter crack.
[08:03] <kiko> you really don't concede that URLs are special?
[08:04] <SteveA> kiko: simplest thing that can possibly work
[08:04] <SteveA> break at 40 chars
[08:04] <SteveA> and then see what happens in practice
[08:04] <mpt> kiko, where is the hostname in lib/canonical/launchpad/pagetests/distro-bugprivacy/20-private-distro-bug-not-visible-to-anonymous.txt ?
[08:05] <SteveA> we can refine it later to break at 40chrs or /
[08:05] <kiko> or the method for that matter
[08:05] <SteveA> for example
[08:05] <mpt> The only thing this has to do with URLs is, calculate where you're going to break before linkifying, but linkify before breaking.
[08:06] <mpt> I'm an interface designer, Jim
[08:07] <salgado> kiko, do you know how to run launchpad in db-debugging mode, so it prints all queries?
[08:07] <kiko> salgado, no -- where does it print them? to stdout?
[08:08] <SteveA> salgado: hack it... add a print statement in database/adapter.py
[08:08] <BjornT> salgado: https://wiki.launchpad.canonical.com/DatabaseSetup
[08:08] <bradb> salgado: why not just uncomment this line: #log_statement = true in your postgresql.conf?
[08:09] <Kinnison> SteveA: do securityproxies magically override the instance information?
[08:09] <SteveA> Kinnison: what is 'the instance information' ?
[08:09] <kiko> yes, that's a good question
[08:09] <Kinnison> if I do isinstance(bar, Foo) on a securityproxied Foo, will it return True ?
[08:09] <kiko> oh
[08:09] <SteveA> no
[08:09] <kiko> you mean type
[08:09] <SteveA> Kinnison: generally, don't use isinstance
[08:10] <Kinnison> is type(proxied_foo) == Foo ?
[08:10] <SteveA> Kinnison: because it means you have a bad design
[08:10] <SteveA> never use type()
[08:10] <Kinnison> SteveA: tell this to dbschema then
[08:10] <SteveA> if you're working with content objects
[08:10] <Kinnison> which does blah.__class__ == Item
[08:10] <Kinnison> which fails with proxied items
[08:10] <SteveA> use IFoo.providedBy(...)
[08:10] <Kinnison> it seems
[08:10] <SteveA> blak.__class__ == Item should work
[08:10] <SteveA> with proxied items
[08:10] <SteveA> that's why it is like that
[08:10] <Kinnison> hmm
[08:10] <Kinnison> TypeError: Not a DBSchema Item: <Item MEDIUM (2) from <class 'canonical.lp.dbschema.SourcePackageUrgency'>>
[08:11] <SteveA> there is a special zope_isinstance you can use
[08:11] <SteveA> that takes account of proxies
[08:11] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  use callbacks and errbacks for pickling and error passing (patch-2688: scott@canonical.com)
[08:11] <SteveA> eg in ./launchpad/mailnotification.py
[08:12] <Kinnison> right
[08:12] <SteveA> but, it is very very odd if x.__class__ == Item fails to work properly
[08:13] <Kinnison> nope, that didn't fix it
[08:15] <SteveA> then, i'll need to see it
[08:15] <SteveA> i need a branch id from you
[08:15] <Kinnison> one sec
[08:15] <Kinnison> I'll commit what I've got and mirror
[08:15] <salgado> SteveA, so, check if this is a reasonable starting point: apply this https://chinstrap.ubuntu.com/~dsilvers/paste/filebnZOIq.html and then access http://localhost:8086/+portlet-foaf
[08:16] <Kinnison> SteveA: You'll find it hard to reproduce the error though
[08:16] <Kinnison> SteveA: since I'm getting it when running across my half-gig test set
[08:17] <SteveA> Kinnison: can you pastebin me a full traceback?
[08:17] <Kinnison> yep
[08:17] <Kinnison> one sec
[08:17] <SteveA> salgado: can you mail me what to do?  i cannot look at it today.
[08:17] <bradb> I think the issue is that you can't assign a security-wrapped dbschema item to a dbschema attribute
[08:17] <Kinnison> https://chinstrap.ubuntu.com/~dsilvers/paste/file10kK6N.html
[08:18] <Kinnison> bradb: I fixed one of those bugs earlier in the branch
[08:18] <salgado> SteveA, sure
[08:18] <bradb> Kinnison: this exception is being raised on a line doing an assignment though, right?
[08:18] <Kinnison> SteveA: daniel.silverstone@canonical.com--desktop/launchpad--upload-and-queue--2--patch-21
[08:19] <Kinnison> bradb: well, on a construction
[08:19] <bradb> right
[08:20] <mpt> wow, kiko, that local mirror sure is faster
[08:20] <Kinnison> SteveA: any thoughts?
[08:20] <kiko> mpt, not all my suggestions are crack
[08:20] <bradb> Kinnison: My guess is that if you unwrapped the security proxy from that object with zope.security.proxy.removeSecurityProxy, your code would work
[08:20] <kiko> it's just that most are
[08:21] <bradb> Kinnison: OTOH, don't leave that in prod code, but for testing purposes to find the problem, I bet that would be it.
[08:21] <mpt> kiko: Yes, I'm not at all biased by the person making them :-)
[08:21] <kiko> Kinnison, do you know what
[08:21] <kiko>     if importer_handler.preimport_sourcecheck(source_data):
[08:21] <kiko> Kinnison, intends to do?
[08:21] <Kinnison> kiko: without the surrounding code, no
[08:21] <Kinnison> what does the docstring on preimport_sourcecheck say?
[08:23] <kiko> Kinnison, it basically checks to see if the SPR already exists
[08:24] <kiko> it seems to only exist to avoid processing the source package pool files 
[08:24] <kiko> as an optimization
[08:24] <kiko> no clue why
[08:24] <Kinnison> probably because extracting source etc takes ages
[08:24] <Kinnison> so if we can skip 'em, it's worthwhile
[08:25] <kiko> ok
[08:27] <niemeyer> ddaa: I've just pushed to chinstrap the changes implementing what was discussed.
[08:29] <SteveA> bradb: it was a different issue.  enumcol was being set a tuple as a value
[08:30] <SteveA> and the error reporting in dbschema had a bug that made it not show the tuple-ness of it
[08:31] <bradb> ah
[08:32] <bradb> The error message is God. Unless the error message is incorrect. :/
[08:32] <bradb> sounds like that would have been tricky to find though.
[08:34] <Keybuk> mpt: sorry, lifeless took pqm down all afternoon while I was busy getting things ready to land
[08:34] <Keybuk> pqm will be a while :p
[08:36] <bradb> pqm is like U.S. customs, without the fingerprinting (yet.)
[08:36] <sivang> can someone please remove the "don't use" spec I added against distros/ubuntu ? I used that for adding a bug report and it can go now
[08:38] <mpt> darnit
[08:40] <Keybuk> actually, I think it just has one more
[08:40] <Keybuk> there were only three
[08:43] <SteveA> salgado: the pagetemplates / sql thing looks fine.  i'll look tomorrow
[08:43] <salgado> SteveA, great. thanks
[08:44] <bradb> SteveA: When are we planning on upgrading Zope so that we can get rolling with decent mechanized form testing?
[08:45] <bradb> (If, indeed, a new Zope brings that additional functionality.)
[08:45] <SteveA> bradb: after urgent stuff here, it is next on my hitlist
[08:45] <bradb> ok
[08:45] <mpt> Keybuk: one more what?
[08:45] <SteveA> bradb: but helping gina land and dapper open are higher priorities just this week
[08:46] <bradb> sure, i understand
[08:47] <Keybuk> mpt: merge
[08:50] <mpt> thanks Keybuk
[08:59] <bradb> kiko, bjornt (not here): !
[08:59] <bradb> I found a couple of Gary Fischer Excaliburs
[08:59] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  fix bugs in Mark's late-night implementation of DevelopmentManifest (patch-2689: scott@canonical.com)
[08:59] <bradb> a 17.5 inch and a 19-20 inch
[08:59] <bradb> they'll even put pedals on
[09:07] <kiko> wow
[09:08] <kiko> bradb, a question: are there easily-accessible trails from where we will be staying in montreal?
[09:08] <bradb> kiko: urban jungle, maybe ;)
[09:09] <kiko> bradb, maybe a road bike will be more appropriate!
[09:09] <bradb> other than that, i don't know of any dirt around that area
[09:09] <kiko> I wonder if it's the Xcalibre or Excalibur
[09:09] <bradb> no idea. spelled it like i heard it.
[09:10] <kiko> the excalibur is an 80s grame
[09:10] <kiko> frame
[09:10] <kiko> the first that gary fisher made professionally, IIRC
[09:11] <sivang> sabdfl: we should have a link on the spec trackers start page, to your wiki page with instructions probably, what do you think?
[09:15] <SteveA> Kinnison: replied to your review comments. you're approved!
[09:15] <Kinnison> SteveA: thanks dude
[09:15] <Kinnison> (yes, I've not eaten. I got sent away again
[09:15] <Kinnison> "the chilli isn't ready, sod off")
[09:15] <Kinnison> gotta love the mother-out-law
[09:17] <SteveA> cprov: i'm going to go home.  i'll do your buildd-scoring review tomorrow.
[09:17] <cprov> SteveA: no probs
[09:18] <SteveA> i don't understand the 'overhead' comment about selectoneby
[09:19] <SteveA> cprov: and in the table of times, use constants for HOUR and MINUTE
[09:19] <SteveA> so you can say 5 * MINUTE and HOUR etc.
[09:20] <cprov> SteveA: it's because the result of that query is already unique by the table constraints
[09:20] <SteveA> let's have these in interfaces/launchpad.py, class TimeConstants: SECOND = 1; MINUTE = 60 * SECOND ; HOUR = 60 * MINUTE
[09:20] <cprov> SteveA: ok, will repair this, but don't forget to mention this in your review ... 
[09:20] <SteveA> Kinnison: then you can use that too
[09:22] <kiko> cprov, SteveA: should we be using datetime instead?
[09:22] <SteveA> nah
[09:22] <SteveA> there are various times we want to specify a number of seconds
[09:23] <SteveA> i don't think there's a point abstracting that away from a number of seconds
[09:23] <kiko> ok
[09:23] <SteveA> even in timedeltas
[09:23] <SteveA> you still have to specify seconds
[09:23] <SteveA> days and seconds
[09:23] <kiko> yeah, but there it's like seconds=13
[09:23] <SteveA> seconds=3613
[09:23] <SteveA> seconds=HOUR+13*SECOND
[09:24] <SteveA> it's just more self-documenting
[09:24] <kiko> hours=1, seconds=13?
[09:24] <kiko> somehow I don't find that less self-documenting :)
[09:25] <SteveA> you can't do that with a timedelta, can you?
[09:26] <ddaa> niemeyer: you mean RevisionDelta?
[09:26] <kiko> >>> timedelta(seconds=13, days=1)
[09:26] <kiko> datetime.timedelta(1, 13)
[09:26] <kiko> SteveA, why can't you?
[09:26] <kiko> >>> timedelta(seconds=13, hours=1)
[09:26] <SteveA> >>> timedelta(hours=2)
[09:26] <kiko> datetime.timedelta(0, 3613)
[09:26] <SteveA> datetime.timedelta(0, 7200)
[09:26] <SteveA> 
[09:26] <kiko> I mean
[09:26] <SteveA> okay
[09:26] <SteveA> so you can
[09:26] <niemeyer> ddaa: No, I mean the new taxi+tests..
[09:26] <kiko> they put together a module that was actually useful
[09:27] <kiko> not just lint to clutter up the standard library
[09:27] <SteveA> anyway, there are still things in the code where you just don't need timedelta.  it is just dealing with seconds at a lower level.
[09:27] <SteveA> maybe using datetime would help
[09:27] <SteveA> but i'm sceptical ;-)
[09:27] <kiko> it would probably avoid lots of errors, actually :)
[09:27] <SteveA> maybe so
[09:27] <ddaa> niemeyer: thanks, I'd like to focus on catching up on the launchpad stuff tomorrow and review your branch monday.
[09:28] <ddaa> Hu
[09:28] <ddaa> Two more days in this week.
[09:28] <SteveA> mail me stuff to look at in the morning, whoever you are
[09:28] <niemeyer> ddaa: Sure.. I'm trying to understand how to put a builder to work now.
[09:29] <kiko> aha!
[09:29] <kiko> rock!
[09:29] <kiko> my tree is now FUCKED
[09:29] <ddaa> niemeyer: btw, useful diagnostic tools is "make log-master" and "make log-slave" to tail -f the log files of the botmaster and slave.
[09:29] <kiko> I can't merge without getting 11 conflicts
[09:29] <kiko> the fun part is that the last commit was a merge from RF
[09:30] <ddaa> niemeyer: ask me if you get blocked.
[09:31] <niemeyer> ddaa: Define "blocked".. :-) I don't know yet how to make the buildbot work, so I'm kind of blocked alraedy.
[09:31] <ddaa> blocked as in no clue what to do next
[09:32] <ddaa> your starting point should be "make start-master" and "make log-master" in another shell
[09:32] <ddaa> then "make start-slave" and "make log-slave"
[09:33] <ddaa> and fix stuff until it works
[09:33] <ddaa> you'll probably need to tweak the config.py and the makefile to match your system
[09:33] <ddaa> s/probably/definitely/
[09:33] <niemeyer> ddaa: I have no clue what to do next.. I'm just looking here and there to try to find my way.
[09:34] <ddaa> Read the config.py, read the makefile, tweak to taste, start a master, monitor the master log file, start a slave monitor the slave log file
[09:35] <ddaa> point a browser at localhost:8000/status
[09:35] <niemeyer> ddaa: I already have the master running, if "a master running" is equivalent to "make start" working.
[09:36] <cprov> kiko: will test the datetime usage later and see if it helps
[09:36] <kiko> okay, cool cprov 
[09:36] <niemeyer> ddaa: I'm looking at colorful boxes.. and clicking all around.
[09:36] <ddaa> create a productseries with the xcursor details (you can find them in launchpad.net), reload master (there's a "Reload" link)
[09:37] <ddaa> mh... maybe need to "enable for import" or something in the $series/+sourceadmin
[09:37] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  remove the shrink-library script, which is now replaced by library-cut-tails.py (patch-2690: brad.bollenbach@canonical.com)
[09:38] <ddaa> once you get the productseries visible in the status page, click on the job name (product-productseries)
[09:38] <ddaa> press "force build" button
[09:38] <ddaa> go to waterfall page
[09:38] <ddaa> reload from time to time
[09:38] <ddaa> click on the "log" link in the runJob box
[09:38] <ddaa> niemeyer: that should keep you going until I come back
[09:39] <niemeyer> ddaa: I've tried something like this with the already available gnome-evaluation-main..
[09:39] <ddaa> probably not the best choice for a test import :)
[09:39] <niemeyer> ddaa: It breaks on arch..
[09:39] <niemeyer> Or, in bzr..
[09:39] <ddaa> probably missing arch details, fix that in the +sourceadmin page for the series
[09:40] <ddaa> but better try with a52dec
[09:40] <ddaa> evolution is a fat bitch
[09:40] <ddaa> I have to leave now.
[09:40] <niemeyer> ddaa: Ok, see ya
[10:00] <eruin> could someone deprecate the "no" set in rosetta?
[10:00] <eruin> or is there some specific reason to keep it around?
[10:01] <eruin> no is now divided into the nb and nn sets
[10:02] <kiko> eruin, I think it's been deprecated, but still appears when translations existed for it already
[10:03] <eruin> yeah, I've seen some translators (including myself early on) concentrate on that
[10:03] <eruin> which is pretty much a waste of effort ;>
[10:42] <kiko> Kinnison, why don't we store uploaders in gina?
[10:42] <kiko> and where should I store then?
[10:48] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Display the recipient's email address in the list of shipit requests. (patch-2691: guilherme.salgado@canonical.com)
[11:22] <bradb> kiko: check this out: http://69.70.209.33:8086/products/firefox/+bugs (smarter navigation. disclaimer: i've only prototyped it for products. it *will* do unexpected things distro-side at the moment. :)
[11:23] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  remove the shrink-library script, which is now replaced by library-cut-tails.py (patch-2692)
[11:24] <bradb> i can add counts to that list too, but IBugTarget doesn't yet have an open_bugs method, so I have to fix that first
[11:25] <bradb> The idea is though that you build your own navigation just by using Malone.
[11:25] <kiko> well
[11:26] <kiko> firefox shouldn't show up, should it?
[11:26] <kiko> I mean, the current context
[11:26] <kiko> or should it, hmm
[11:26] <bradb> i dunno. easy to remove one way or the other.
[11:26] <bradb> it does say "recently visited" though, which is accurate, IMHO
[11:26] <kiko> sweet!
[11:27] <kiko> wow that is awesomely cool as pie
[11:27] <bradb> :)
[11:27] <kiko> add it to all templates!
[11:27] <kiko> :0
[11:27] <kiko> dude
[11:27] <kiko> that is perhaps the first really "neat" convenience feature I've seen implemented in malone
[11:28] <bradb> i got sick of how hard it is to move between contexts, so i built a teleportlet
[11:28] <kiko> I implemented a few but they were crap near this one
[11:28] <kiko> sweet!
[11:28] <kiko> bradb, where do you store that information?
[11:28] <bradb> glad you like. I've only spent about an hour and a half on it so far, so i'll get it working distro-side tomorrow.
[11:28] <bradb> kiko: the session
[11:29] <kiko> bradb, problem is session is nuked quite often isn't it?
[11:30] <bradb> yeah, it's less than ideal but 1. it does say "Recently visited:" which buys some comprehension, I hope, 2. there's still always the text box and 3. if we can move this into the db, great, please let me do it
[11:30] <bradb> but i'd have to ask SteveA about that
[11:31] <kiko> we'd do well to stop throwing away session information
[11:32] <kiko> I definitely support the feature and think I'd love it
[11:32] <bradb> indeed. we can do all kinds of cool things with it
[11:32] <kiko> this is the sort of thing portlets exist for
[11:32] <kiko> not hanging crap on pages
[11:32] <bradb> exactly
[11:34] <bradb> I should note that it's possible that it's doing something in the db already that I'm not aware of. Not sure. Either way, I'd have to sort out the finer points with SteveA.
[11:36] <kiko> how?
[11:38] <bradb> dunno! I'm still assimilating the session zen. :P
[11:59] <mdz> how do I create a new spec in launchpad?
[12:00] <zyga> carlos: ping
[12:00] <zyga> anyone :-)
[12:00] <zyga> someone wants to translate stuff into his language 
[12:00] <zyga> but that language is very rare and thus not present in rosetta
[12:00] <zyga> any hints/ideas?
[12:01] <carlos> zyga, we fixed that problem recently. It will be on production next week
[12:01] <sivang> zyga: you need carlos :)
[12:01] <zyga> carlos: ah :)
[12:02] <zyga> carlos: you did read that email? :)
[12:02] <carlos> zyga, if we don't have a team, anyone can translate
[12:02] <carlos> zyga, which email?
[12:02] <zyga> I've just got my server up and running and had no network since morning
[12:03] <zyga> carlos: http://lists.ubuntu.com/archives/ubuntu-translators/2005-October/000316.html
[12:03] <zyga> carlos: do you manage the mailing lists?
[12:03] <zyga> http://lists.ubuntu.com/mailman/listinfo/
[12:03] <zyga> there is a typo in ubuntu-pl
[12:03] <moyogo> hey i'm the guy who requested teams for congolese languages (lingala, kikongo, swahili and tshiluba)
[12:03] <carlos> zyga, it was done yesterday
[12:04] <zyga> or rather -- iso-8859-2 insead of utf-8
[12:04] <moyogo> could it be possible to have 1 team instead of 4 ?
[12:04] <zyga> (in the list description)
[12:04] <carlos> zyga, no, I'm not the mailman admin