[00:05] <spiv> Does the branchscanner run on qastaging?
[00:06] <wgrant> Not regularly, AFAIK.
[00:08] <spiv> That's going to make QA'ing bug 813349 inconvenient :/
[00:08] <_mup_> Bug #813349: hard to get from mp to per-revision diffs <qa-needstesting> <Launchpad itself:Fix Committed by spiv> < https://launchpad.net/bugs/813349 >
[00:09] <StevenK> spiv: You can request it to be run manually
[00:17] <wgrant> Anyone feel like reviewing https://code.launchpad.net/~wgrant/launchpad/retarget-bugtask-model/+merge/68761?
[00:31] <StevenK> wgrant: r=me
[00:32] <wgrant> Thanks.
[00:32]  * StevenK prods wallyworld about OCR
[00:33] <wallyworld> StevenK: sorry, i was caught up finishing a branch
[00:34] <wgrant> lifeless: How is HA-librarian going?
[00:39] <lifeless> wgrant: rt something or other
[01:03] <LPCIBot> Yippie, build fixed!
[01:03] <LPCIBot> Project devel build #909: FIXED in 5 hr 43 min: https://lpci.wedontsleep.org/job/devel/909/
[01:22] <wgrant> lifeless: Hah, subtle.
[01:23] <poolie> destroy beta testers?
[01:23] <poolie> life imitates glados
[01:23] <wgrant> Heh
[01:26] <lifeless> wgrant: ?
[01:26] <wgrant> lifeless: The progress bar.
[01:26] <lifeless> wgrant: heh yes
[01:49] <wallyworld> jtv: you around? want to mentor https://code.launchpad.net/~gary/launchpad/bug812335/+merge/68762 ?
[01:50] <jtv> wallyworld: no, I'm not here.  It's almost 4 AM here.
[01:50] <wallyworld> jtv: oh, sorry! you still in europe then i assume
[01:50] <jtv> Yup
[01:51] <wallyworld> when are you back?
[03:05] <nigelb> wallyworld: It seems the intersection of my freetime + your available hours don't collide, so I wonder if I can take it to email? :)
[03:09] <wallyworld> nigelb: otp, talk soon
[03:12] <wallyworld> nigelb: you can email me. or ping me on irc. i'm normally lurking in my evening and will respond to any queires
[03:25] <nigelb> wallyworld: I finally landed something I had pending yesterday, so I can work on linkfying + titling bugs with XHR.
[03:25] <wallyworld> nigelb: excellent, well done.
[03:26] <nigelb> where is it that I should start looking? :)
[03:26] <nigelb> lib/lp/bugs/javascript?
[03:26] <wallyworld> ok, there's 2 places - the javascript which makes the xhr call and the python code which runs serverdide
[03:27] <wallyworld> serverside
[03:27] <wallyworld> justa moment, i'll grab the file names
[03:28] <wallyworld> the javascript file is lp/lp/app/javascript/lp-links.js - this harvests potential links when the page loads and makes a single xhr call to have those processed
[03:29] <wallyworld> lp/app/browser/linkchecker.py is the python code which receives the xhr call, does the work, and returns the results as a json data structure. the js code above then processes the result and pokes the dom to update the page
[03:30] <nigelb> so, I need to update the python code to return title and process that extra information in the js.
[03:30] <wallyworld> the bit which wires it up is the +checklinks browser:page section in lp/app/browser/configure.zcml
[03:31] <wallyworld> yes, that is correct
[03:31] <wallyworld> you can add extra fields to the json dict returned by the xhr call
[03:31] <wallyworld> and then update things like the title attribute of the anchor or whatever in the js
[03:32] <wallyworld> make sense?
[03:32] <nigelb> Yes
[03:32] <nigelb> Does this already check if the bug exists?
[03:33] <wallyworld> looking at the code, it only handles branch links so far, but it does check that the branch exists
[03:33] <wallyworld> so you would need to extend it to support harvesting and processing bug links
[03:33] <nigelb> ah
[03:34] <wallyworld> you could make the xhr call send a dict with a branches and a bugs list
[03:34] <nigelb> The current linkyfing seems to be server-side. Is that the right wway?
[03:35] <wallyworld> yes, the serverside is the place to check the validity or permission to access info about the bug/branch
[03:36] <wallyworld> what is it you want to do exactly?
[03:38] <nigelb> I'd like to look for "bug 1234" type links, check if they exist, get the title, add the title attribute if it exists and remove the linkification if the bug doesn't exist.
[03:38] <_mup_> Bug #1234: Gina is an unmaintainable mess of command line options, environment variables and shell scripts <lp-foundations> <Launchpad itself:Fix Released by debonzi> < https://launchpad.net/bugs/1234 >
[03:39] <wallyworld> are these would appear in text fields like comments, merge proposal descriptions and the like?
[03:40] <nigelb> Yeah, the same
[03:42] <wallyworld> there's a file lp/app/browser/stringformatter.py with a method linkify_bug_numbers() which parses the text and does the initial linkification
[03:42] <wallyworld> this is done when the view is rendered
[03:42] <nigelb> so, does this make sense.
[03:42] <nigelb> add a css class for all the bugs, fetch all of the links with that class, send xhr request, modify dom.
[03:44] <wallyworld> yes. the comment on the code which does the initial linkification says:
[03:44] <wallyworld>         # Don't look up the bug or display anything about the bug, just
[03:44] <wallyworld>         # linkify to the general bug url.
[03:44] <wallyworld> so the work you are proposing would be post-processing in effect to add the extras
[03:44] <nigelb> yeah, it wwas removed for performance.
[03:44] <wallyworld> like for the branches, make invalid (or invisible due to privacy) links grey etc
[03:45] <nigelb> yep!
[03:45] <wallyworld> so using a css class to mark the bug links is good because that's how the current code for branch link processing works
[03:46] <wallyworld> all the plumbing is there, you just need to extend the js and python ti support another different type of link processing
[03:47] <nigelb> oh cool! I'll try tonight to start step by step. I'll update you by email since your times don't match very well.
[03:48] <wallyworld> ok. but feel free to try and ping me on irc if you want. i may have a glass of red in hand but should be coherent enough to type :-)
[03:48] <nigelb> haha
[03:48] <nigelb> ok :)
[03:48] <wallyworld> i have soccer first too, so it will be late evening before i am in front of the laptop again
[03:49] <nigelb> the problem is your late is still early enough for me that I'd be at work.
[03:50] <wallyworld> what time is it now where you are?
[03:50] <nigelb> 9:20 AM
[03:50] <wallyworld> so you ate 4.5 hours behind me
[03:50] <wallyworld> are
[03:51] <wallyworld> so except for fridays when i have soccer, i am normally pingable at a time which would be close to EOD for you
[03:53] <nigelb> ah, I'll note that :)
[03:54] <wallyworld> or even at start of your day, it's only afternoon for me :-)
[03:54] <wallyworld> so we do have a fair bit of overlap
[03:54] <nigelb> heh, start of the day is often problematic. I tend to sleep late and wake up fairly late :)
[03:55] <wallyworld> np. i used to do that before kids :-(
[03:57] <nigelb> heh, off to work. Laters!
[05:07] <StevenK> wgrant, lifeless: Do either of you want to mentor wallyworld's review of https://code.launchpad.net/~stevenk/launchpad/dsp-vocab-issues/+merge/68763 ?
[05:24] <wgrant> StevenK: Done.
[05:25] <StevenK> wgrant: Thanks!
[05:35] <wgrant> wallyworld: Around?
[05:37] <wgrant> We have yet another form picker regression.
[05:37] <wgrant> They don't populate the textbox.
[05:37] <wgrant> Works OK on lpnet.
[05:37] <wgrant> But there are no picker changes since then.
[05:37] <wgrant> So WTF?
[05:43] <wallyworld> wgrant: yo
[05:44] <wgrant> wallyworld: See #launchpad-ops.
[05:44] <wgrant> qastaging ninja-updated.
[05:44] <wgrant> So there was in fact a relevant rev: r13485
[05:44] <wgrant> Reverting now.
[05:44] <StevenK> That makes you fairly distracted if it takes 50 minutes to update and you didn't notice :-P
[05:45] <wgrant> It was mostly updated when I started looking at it, and crucially when I loaded the deployment report :)
[05:46] <wgrant> I think jcsackett may have failed at conflict resolution with wallyworld's work.
[05:46] <wgrant> The extra arg to create() is missing.
[05:46] <wgrant> So it never gets hooked up to anything.
[05:46] <wgrant> Anyway, reverting.
[07:06] <jtv> Hi wallyworld :)
[07:07] <wallyworld> jtv: hello
[07:09] <jtv> wgrant: I don't think I touched the archivecruftchecker as such.
[07:10] <wgrant> $ bzr diff -c13478 lib/lp/soyuz/scripts/tests/test_archivecruftchecker.py | diffstat test_archivecruftchecker.py |   19 ++++++++-----------
[07:10] <wgrant> Oh.
[07:10] <wgrant> That's tests.
[07:11] <wgrant> Ahem
[07:11]  * jtv stands back and admires wgrant's genius :)
[07:11] <jtv> But
[07:11] <wgrant> Hm.
[07:11] <wgrant> But that could be it.
[07:11] <jtv> I did change something in the test.
[07:11] <wgrant> It is those tests that are spewing crap to stderr.
[07:11] <jtv> Yes.  It's because publish-distro is now a LaunchpadCronScript.
[07:11] <wgrant> It previously redirected stdout/stderr to null pipes.
[07:11] <jtv> Where that test instantiates the object, it should inject a DevNullLogger.
[07:12] <wgrant> But now runs PublishDistro directly.
[07:12] <wgrant> Yeah.
[07:12] <jtv> I can do that.
[07:12] <wgrant> Thanks.
[07:13] <stub> I wanna QA my db update script, which will make qastaging die for a few seconds.
[07:13] <wgrant> Feel free.
[07:13] <wgrant> We are bad and a while away from buildbot completion.
[07:14]  * wallyworld goes out to buy food
[07:26] <lifeless> stub: \o/
[07:27] <lifeless> stub: we need a catchup call too
[07:27] <lifeless> I couldn't last night - family thing, and am eating now; can we make a time later today?
[07:32] <stub> lifeless: sure
[07:33] <stub> I might grab some fud too
[07:42] <lifeless> shall we say in one hours time then ?
[07:44] <stub> k
[07:49] <adeuring> good morning
[08:04] <mrevell> Howdy
[08:06] <bigjools> morning everyone
[08:06] <poolie> hi bigjools, mrevell
[08:06] <poolie> lifeless: still here?
[08:06] <bigjools> o/
[08:06] <lifeless> kindof :>
[08:06] <poolie> the U3011 is amazing
[08:06] <poolie> you should totally get one
[08:06] <poolie> imax-mode
[08:08] <lifeless> \o/
[08:11] <bigjools> woo!
[08:13] <lifeless> poolie: photo ?
[08:15] <poolie> lifeless: https://plus.google.com/112646476239496153808/posts/ApTZ7GyWAdo
[08:15] <poolie> looks like a big glowing thing
[08:15] <poolie> heh, that laptop looks like a netbook
[08:35] <lifeless> stub: now ok ?
[08:40] <bigjools> jtv: Contents is not updated yet it seems
[08:40] <jtv> oh
[08:40] <bigjools> http://archive.ubuntu.com/ubuntu/dists/oneiric/ for example
[08:41] <bigjools> jtv: http://launchpadlibrarian.net/75734346/2TgWVd4UTg0dWE5ieBiCMVPmNBE.txt
[08:41] <jtv> grrr
[08:41] <bigjools> jtv: need to set up script monitoring for this :)
[08:41] <jtv> We don't have that?
[08:42] <bigjools> jtv: you need to tell losas to do so
[08:42] <bigjools> and this is a new LPS
[08:42] <lifeless> LPS? [not LaunchpadProductionStatus I assume]
[08:42] <jtv> Local Processor Status?
[08:42] <jtv> Hi lifeless :)
[08:42] <lifeless> hola jtv
[08:43] <StevenK> LaunchpadScript
[08:43] <StevenK> I guess
[08:43] <jtv> Ah yes :)
[08:47] <stub> lifeless: I'm going to try skype on my desktop again
[08:48] <lifeless> ok
[08:48] <bigjools> ARGH
[08:48] <lifeless> call me  :)
[08:48] <bigjools> FeatureFixture cancels all other feature flags.  I've been burned.
[09:22] <jtv> bigjools: generate-contents-files cron fix has deployed, so we'll see.
[09:22] <bigjools> jtv: oh, cowboy?
[09:22] <jtv> cron change — no code change.
[09:22] <bigjools> ah cron, sorry
[09:29] <jtv> bigjools: another thing: we should be able to scratch steps 12 & 14 off https://wiki.ubuntu.com/NewReleaseCycleProcess now, shouldn't we?
[09:30] <bigjools> yup
[09:31] <jtv> cjwatson: I realize we discussed this already, but I'd like to check up: if we do ^^^ then step 13 could go as well because you watch these files like a hawk anyway, right?
[09:35] <stub> Anyone running Aurora ?
[11:24] <henninge> adeuring: hey!
[11:24] <henninge> adeuring: Moin ;)
[11:24] <henninge> adeuring: Wenn du so nett wärst ...
[11:24] <henninge> bitte
[11:24] <henninge> ;)
[11:24] <henninge> file:///home/henning/canonical/lp-branches/devel-work/lib/lp/code/javascript/tests/test_branchdiff.html
[11:24] <henninge> crap
[11:24] <henninge> mist
[11:24] <henninge> adeuring: https://code.launchpad.net/~henninge/launchpad/bug-813627-preview-diff-overlay/+merge/68820
[11:42] <adeuring> henninge: sure, I'll look
[11:47] <henninge> adeuring: thank you!
[11:52] <jml> I'm writing a launchpadlib script, running it against staging for now.
[11:52] <jml> am using login_with,
[11:52] <jml> get this error: http://paste.ubuntu.com/649908/
[11:52] <jml> what am I supposed to do with that?
[11:54] <jml> why am I unauthorized? how do I become authorized? do my users need to know about access tokens?
[11:55]  * jml ducking out to get some food. please don't let that stop you answering in the mean time.
[11:56] <bigjools> jml: I wonder if it's anything to do with the cache bug I filed the other day
[12:02] <adeuring> henninge: r=me
[12:03] <henninge> adeuring: thanks again ;-)
[12:09] <jml> bigjools: which one is that?
[12:10] <bigjools> jml: mine was to do with cached wadl not updating but I wonder if the auth tokens sometimes get the same problem
[12:10] <StevenK> I seem to recall something like that.
[12:10] <StevenK> It usually happens when we blow up the session database.
[12:11] <jml> bigjools: https://bugs.launchpad.net/launchpadlib/+bug/812799 ?
[12:11] <_mup_> Bug #812799: Local cache not updated when it should be <launchpadlib :Triaged> < https://launchpad.net/bugs/812799 >
[12:11] <bigjools> well I've always usually been directed to re-auth
[12:11] <bigjools> jml: yes
[12:17] <jml> bigjools: I moved .launchpadlib out of the way and still get the same problem
[12:18] <jml> which is consistent with my discoveries from strace.
[12:18] <bigjools> jml: it should offer to re-auth :/
[12:20] <jml> bigjools: I guess it's using some kind of system keyring
[12:21] <bigjools> yeah it throws the token in the password storage that your desktop uses
[12:22] <jml> I can't find it in Passwords & Encryption Keys
[12:27] <james_w> it's called something odd IIRC
[12:33] <jml> james_w: the code says it's called 'launchpadlib'
[12:33] <jml> at least, that's what is passed to keyring.get_password
[12:34] <james_w> hmm, ok
[12:34] <jml> but that doesn't exist in Passwords & Encryption Keys
[12:34] <jml> so I'm trying to figure out where the hell it's looking
[12:34]  * jml busts out set_trace, since google is failing.
[12:34] <bigjools> woo ajaxy mid-review diffs working
[12:35] <bigjools> the link should be green though
[12:35] <james_w> it's called "network password" here
[12:35] <james_w> jml, ^
[12:36] <LPCIBot> Project devel build #911: FAILURE in 5 hr 44 min: https://lpci.wedontsleep.org/job/devel/911/
[12:36] <jml> harumph
[12:36] <jml> ahh...
[12:36] <jml> 'launchpadlib' is the domain. or something.
[12:37] <jml> which doesn't show up in P&EK
[12:45] <jml> https://bugs.launchpad.net/launchpadlib/+bug/814595
[12:45] <_mup_> Bug #814595: Unrecoverable error when authorization fails <launchpadlib :New> < https://launchpad.net/bugs/814595 >
[12:47] <jml> sorry if it's a little grumpy. it's a pretty serious bug & I lost a fair bit of time to it.
[12:47] <jml> james_w: how did you figure out that it was called "network password"?
[12:48] <james_w> jml, just by looking at everything that didn't have a clear non-launchpad purpose
[12:48] <jml> james_w: heh, ok. thanks.
[12:49] <benji> unfortunately the string "network password" isn't under our control; the Gnome keyring calls that class of entries "network password"
[12:52] <bac> wow, adeuring, no backlog
[12:52] <jml> benji: that is a shame.
[12:53] <adeuring> bac: well, I did only two reviews this morning.
[12:53] <bac> two more than me today!
[12:53] <adeuring> seems that people are in holidays
[12:54] <jml> benji: luckily, the bug can be fixed without that, since the ideal is never to be compelled to look for keys in the keyring
[12:54] <benji> jml: indeed; in fact, I /thought/ that invalid auth tokens were silently thrown away
[12:56] <jml> :\
[12:59] <james_w> http://shnatsel.blogspot.com/2011/07/weve-just-revolutionized-alpha-testing.html <- a Launchpad success story
[13:08] <jml> nice
[13:11] <jml> today is obviously a 'file lots of bugs' day
[13:12] <jml> almost makes me want to file bugs on Launchpad about improving my person-oriented bugs views.
[13:14] <spiv> jml: in happy news my inline diffs on merge proposals patch landed on production (for ~launchpad)
[13:14]  * spiv -> bed
[13:16] <henninge> dpm: ping
[13:28] <dpm> henninge, pong
[13:32] <deryck> henninge, ping for standup
[13:33] <henninge> deryck: argh, already
[13:34] <jml> can I delete a PPA over the API?
[13:35] <bigjools> no
[13:36] <jml> bigjools: why not?
[13:36] <henninge> deryck: mumble dead, try again
[13:36] <bigjools> jml: because nobody write the code to do it
[13:36] <deryck> henninge, ah ok
[13:36] <bigjools> wrote*
[13:36] <jml> bigjools: fair enough.
[13:36] <bigjools> jml: are you grumpy today? :)
[13:37] <jml> bigjools: not really. just while debugging the login error.
[13:47] <StevenK> Should be fairly easy to add, just the decorator.
[13:47] <wgrant> We should perhaps not do it until PPA deletion does something useful.
[13:47] <wgrant> Which is also very easy.
[13:48] <bigjools> wgrant: you criticise with no suggestion of what would be useful.  Many people already find it useful.
[13:48] <StevenK> Right
[13:48] <wgrant> bigjools: It doesn't free up the name or disappear.
[13:48] <wgrant> It is useful for the purpose for which it was implemented.
[13:49] <bigjools> there's a bug about those IIRC
[13:49] <wgrant> But an API for that purpose is not particularly useful.
[13:49] <wgrant> I don't think.
[13:49] <bigjools> make it disappear was rather hard
[13:49] <wgrant> Yeah.
[13:49] <wgrant> Rename it is one line of code plus tests :)
[13:49] <wgrant> And it fixes most issues that I know of.
[13:49] <StevenK> Clean up job that removes the row from Archive after a day?
[13:49] <bigjools> one line?
[13:50] <StevenK> But that then means you need to delete the publications too
[13:50] <bigjools> StevenK: that would be the naive approach :)
[13:50] <wgrant> StevenK: With all the BPRs and SPRs that have been copied into other archives?
[13:50] <StevenK> Tis messy
[13:55] <jml> why not delete in real-time?
[13:56] <wgrant> We cannot remove the DB stuff.
[13:56] <wgrant> And there is stuff on disk to be removed.
[13:57] <jml> ok, so that just means we use long poll, right?
[13:57] <wgrant> Hah
[14:00] <bigjools> we'll work on deploying long poll when Red goes to maintenance
[14:02] <jml> oh, interesting.
[14:03] <bigjools> wgrant, StevenK: BTW, I am very concerned about never being able to derive from distros with a) active builds b) items in the queue
[14:03] <jml> well, it's not like deleting PPAs is going to be attempted before then.
[14:03] <bigjools> I think relaxing b) is easy
[14:03] <bigjools> I am not sure of ramifications for a)
[14:03] <wgrant> It is pretty messy.
[14:03] <wgrant> This goes back into the copying partial subsets of binaries thing.
[14:03] <bigjools> indeed
[14:04] <wgrant> Another dupe of which was filed yesterday.
[14:05] <StevenK> That we should allow copying binaries only?
[14:05] <wgrant> That if something built in karmic, you can only copy it from karmic, not anything later.
[14:07] <jtv> Do we have a way for tests to query the log level that LaunchpadScript sets?  Apparently it gets set on a handler, not the logger, but I'm not seeing the handler.
[14:14] <bac> hi sinzui
[14:17] <stub> jtv: You would have to poke the internals. Why would it matter what level the script sets?
[14:18] <jtv> stub: for some reason LaunchpadScript setup changes log levels.
[14:18] <stub> You probably have to invoke a script and look for DEBUG, INFO etc.
[14:19] <jtv> That'd be very costly.  :(
[14:19] <stub> It adds log levels, and configures the various handlers to what level they emit by default.
[14:20] <stub> logging.DEBUG isn't changes to a new number or anything like that.
[14:20] <jtv> We have several cases where scripts instantiate and run other script objects, which seems to change the log level no matter what you do (and never change it back)
[14:20] <stub> c/changes/changed
[14:20] <jtv> Well no, that'd be very weird.
[14:20] <stub> Yer, have no idea what happens if you try to do that.
[14:21] <jtv> Point is, logger.getEffectiveLevel returns NOTSET.
[14:21] <stub> LaunchpadScript seems pretty difficult to invoke except as a standalone script.
[14:22] <bigjools> awesome, ec2 sent me an email saying "Test Runner FAILED"
[14:23] <stub> logging.getLogger('').getEffectiveLevel() you mean?
[14:23] <stub> (the root logger?)
[14:23] <jtv> Would that work?
[14:23] <jtv> I just tried getEffectiveLevel on the logger that LaunchpadScript created.
[14:24] <stub> NOTSET just means inherit from somewhere I think
[14:24] <jtv> Although it does seem to do something global, because when script A instantiates script B, that's enough to change A's logging as well.
[14:24] <stub> so the logger the script just uses its parents or something like that.
[14:25] <jtv> So suddenly from the moment B is instantiated, A continues without the log level you specified on the command line.
[14:25] <stub> There are a number of loggers, and we only want to bother maintaining one, so we just configure that stuff on the root logger IIRC.
[14:25] <jtv> That would explain.
[14:26] <stub> Yer. Cause we can't force scripts to use the logger instantiated just for them, or we could, but legacy code would need to be waded through.
[14:27] <stub> (and we would have to pass it around everywhere and use it whenever some code elsewhere wanted to log a message)
[14:27] <stub> So yeah, it is global state and LaunchpadScript or somewhere in that mess sets it up so we see the messages per -v, -q etc. with the nice formatting and timestamps.
[14:28] <stub> Maybe some flag is needed to create a LaunchpadScript without doing that setup?
[14:28] <jtv> I was thinking maybe we should skip it if test_flags is given.
[14:28] <stub> That sounds sane
[14:28] <jtv> Except it makes for damned ugly tests.
[14:28] <jtv> Because how do you test this without passing test_args?
[14:29] <stub> I think you have to pass test_flags in, or it will use argv anyway, and make the test runner explode.
[14:29] <jtv> Exactly.
[14:29] <stub> yer.
[14:29] <stub> so new flag.
[14:29] <jtv> Or maybe one test could just sabotage options parsing.
[14:30] <jtv> No, no, I don't think it'd help much.  :(
[14:30] <stub> if you like monkey patches over explicit arguments and the probability of you forgetting to unsabotage it leak your breakage to later tests...
[14:30] <jtv> Ah yes, the joy of global variables.
[14:31] <bigjools> wgrant: were you talking about bug 813749 ?
[14:31] <_mup_> Bug #813749: copying package that have been copied from another series doesn't work if you do not use the "original" package <Launchpad itself:Incomplete> < https://launchpad.net/bugs/813749 >
[14:31] <stub> Feel free to refactor the entire LaunchpadScript API. It it horrible and difficult to extend.
[14:31] <jtv> Anyway, I think it's probably reasonable to skip the logger setup if test_args is given.  The script simply own't have -v and -q.
[14:31] <danilos> whoa, I just learned about https://launchpad.net/launchpad/+documentation ;)
[14:31] <jtv> *won't
[14:32] <bigjools> wgrant: and what is the dupe?
[14:32] <bigjools> can't find it
[14:32] <wgrant> bigjools: Oh, apparently I saw it and forgot to triage it.
[14:32] <wgrant> Probably because I couldn't find the dupe.
[14:32] <bigjools> heh
[14:32] <stub> jtv: It might break some tests, but I think it unlikely enough to give it a go.
[14:32] <wgrant> It was like 6am, so meh.
[14:32] <jtv> stub: right ho, I'll try that.
[14:32] <wgrant> But you know the general idea of the bug, right?
[14:33] <bigjools> wgrant: vaguely
[14:33] <bigjools> 2nd copy copies already copied binaries or something
[14:33] <wgrant> karmic has lpia, while >= lucid don't.
[14:33] <wgrant> So if you copy something from karmic to lucid, lucid only gets two of the three binaries.
[14:33] <wgrant> So you can't copy from, say, lucid to maverick.
[14:33] <wgrant> Because the copy doesn't have a superset of the archive's binaries.
[14:34] <bigjools> wgrant: I think we can alter the +initseries job so that it checks the packages you're copying to see if any of them are building
[14:35] <bigjools> rather than a blanket "something is building, argh"
[14:35] <wgrant> Even that is probably too strict.
[14:35] <bigjools> even if copying with binaries?
[14:35] <wgrant> But making it more lenient than that is more than probably extremely painful and difficult.
[14:36] <bigjools> wgrant: actually I'm still struggling to understand this issue
[14:36] <bigjools> it's been a long week and my brain was shredded the last 2 days by derived distros problems
[14:38] <bigjools> wgrant: I guess the problem is, why do we check the superset
[14:38] <bigjools> or is that the bug?
[14:38] <gary_poster> bac, https://code.launchpad.net/~gary/launchpad/bug812335/+merge/68762 when you have a mo
[14:38] <wgrant> bigjools: See line 399 onwards in packagecopier.py
[14:39]  * bigjools looks
[14:39] <wgrant> bigjools: I'm not sure the rationale remains valid, but we need something like that.
[14:39] <bac> gary_poster: will do it now
[14:39] <gary_poster> ty
[14:39] <bigjools> wgrant: I don;t undserstand the rationale
[14:39] <bigjools> my typing has gone to hell
[14:40] <wgrant> bigjools: The rationale doesn't explain the superset check.
[14:40] <bigjools> and what is the problem it's trying to check
[14:40] <bigjools> right :)
[14:40] <wgrant> It's simply providing reasoning that all BPRs have unique files.
[14:41] <bigjools> unique across what set?
[14:41] <wgrant> All their files have different contents, that is.
[14:41] <wgrant> Ah.
[14:42] <wgrant> The superset check is, I suspect, to prevent different sets of builds being copied in together.
[14:42]  * bigjools tries to find the original bug
[14:42] <wgrant> eg. if I have an i386 binary for that source already in this archive, and I try to copy a different i386 one in.
[14:42] <wgrant> Then the source will have two different i386 binaries.
[14:42] <wgrant> In one archive.
[14:43] <wgrant> Or something.
[14:43] <bigjools> bug #387613
[14:43] <_mup_> Bug #387613: CheckALL - CopyALL approach does not work well for multiple copies <api> <lp-soyuz> <ppa> <Launchpad itself:Fix Released by cprov> < https://launchpad.net/bugs/387613 >
[14:44] <wgrant> Where'd you get that? Annotate?
[14:44] <bigjools> "conflicting versions to be copied in the same batch"
[14:44] <bigjools> annotate, then bzr log
[14:47] <bigjools> it's classic Portuglish in the bug description
[14:51] <bac> gary_poster: what is happening at line 134 of the main diff?
[14:51] <bac> gary_poster: er, nm
[14:51] <gary_poster> bac, cool
[14:53] <bac> gary_poster: any reason not to used named values and do it in a single interpolation?
[14:53] <gary_poster> bac, sqlvalues is what I was thinking
[15:05] <bac> gary_poster: done
[15:05] <gary_poster> thank you bac
[15:24] <jtv> cjwatson: archive index generation should (knock on wood) work normally again on the next run.  It's a big change though, so needs watching.
[15:30] <jcsackett> bac: could i add https://code.launchpad.net/~jcsackett/launchpad/form-picker-macros-also-irritate-me/+merge/68862 to your queue?
[15:30] <bac> jcsackett: sure
[15:44] <mtaylor> why is my launchpadlib script asking this question:
[15:44] <mtaylor> Please set a password for your new keyring
[15:44] <bac> benji: ^^
[15:44] <mtaylor> is there a magic flag I can pass which tells somehting I'm trying to run a script which is not going to be run interactively for most of it's life?
[15:45] <bac> jcsackett: is the only difference between this MP and the previously approved one the unrolling of the bad merge conflicts?
[15:45] <jcsackett> bac: yup, it just undoes the rollback and fixes the one bit of bad conflict resolution.
[15:46] <benji> mtaylor: there is a mechanism for non-interactive authentication; I'll have to remember what it is.  The basics are that you authenticate once interactively and then refer to that authentication token after that
[15:46] <bac> jcsackett: ok
[15:46] <mtaylor> benji: ok. I'll look in to it...
[15:46] <mtaylor> thanks
[15:47] <bac> jcsackett: did the test suite catch the bad merge issues?
[15:51] <benji> mtaylor: take a look at the credentials_file argument to login_with
[15:53] <sinzui> bac: no. That could have been caught by windmill if it ever worked
[15:54] <sinzui> bac: yui-app tests could be written to verify that the ajax widget was activated for the field.
[15:54] <sinzui> bac: The popup widget is from 2005. It never had ajax tests
[15:56] <mtaylor> bac: hey there! you don't have the powers to remove unused users, do you?
[15:56] <sinzui> mtaylor, we can rename unused users. Admins can merge users for other users
[15:57] <mtaylor> sinzui: so, https://launchpad.net/~keystone seems to be a ghost person
[15:57] <mtaylor> and it's in the way of me making a team to manage https://launchpad.net/keystone (well, someone made https://launchpad.net/~keystone-tem - but that doesn't match the rest of our naming scheme, and I'm anal)
[15:58] <sinzui> No, he is real, but has not done anything substantial
[15:58] <mtaylor> well poo
[15:58] <sinzui> He did not choose his user name, which is what I think you care about
[15:59] <mtaylor> yes. I don't mind that he's a real person - I'm sure he's lovely :)
[16:00] <sinzui> I can change hi Lp-id since Lp decided it. He has never done anything in lp to related his Lp-Id to his name
[16:02] <cr3> hi folks, I'd appreciate advice about handling anonymous information in a launchpad'esque way even though I realize that anonymous is mostly frowned upon in launchpad: I'm handling submissions in the launchpad hwdb and some don't have an owner, so if I'm linking the results in a testrun table for example, should the person_id be allowed to be null for anonymous submissions or should I have an anonymous placeholder person entry and its corresponding celebrity
[16:03] <jcsackett> bac: sorry, didn't catch your earlier comment, but sinzui is right.
[16:04] <sinzui> mtaylor, ~keystone was created by shipit. He is on the list of people to remove from Lp.
[16:06] <mtaylor> whee!
[16:07] <mtaylor> shipit is the thing that created a bunch of user accounts back in the day, yeah?
[16:13] <sinzui> bunch is an understatement. we have 2.5 million shipit accounts. only a small percent used Lp.
[16:14] <sinzui> mtaylor, ~keystone is free
[16:14] <mtaylor> sinzui: thank you!
[16:32] <jml> is there an API to get a launchpadlib archive object given a string like 'ppa:person/ppa_name'?
[16:36] <maxb> I think lp.people['person'].getPPAByName(name='ppa_name') is the best you'll get
[16:36] <maxb> The other syntax is private to "dput" AFAIK
[16:37] <bigjools> what he said
[16:41] <jml> ok. so I'll parse it myself
[16:41] <jml> well, it's not private to dput per se, because apt-add-repository uses it
[16:41] <jml> thanks maxb & bigjools
[17:31] <jml> g'night all
[18:35] <LPCIBot> Project devel build #912: STILL FAILING in 5 hr 59 min: https://lpci.wedontsleep.org/job/devel/912/
[19:38] <cr3> are products and product serieses accessed controlled, ie is there any product for which I couldn't access /name/+series in the web interface?