[00:34] I wonder [00:34] are implicitly created accounts subject to the name blacklist ? [00:42] How long does qastaging take to update after a buildbot run finishes? [00:42] 40ish minutes [00:42] Let's see how it's going. [00:43] Bah [00:43] buildbot poller missed it. [00:43] So it won't start for another 5 minutes. [00:44] And it will take 30 minutes to update. [00:44] OK, I can probably get some QA done tonight then [00:45] What do you have that's QAable on qastaging? [00:45] It's pretty much all dogfood, but it's easier to wait for qastaging so that the deployment report is up to date ... [00:46] Heh [00:46] That's what I thought. [00:46] gmb: https://bugs.launchpad.net/launchpad/+bug/484712 [00:46] <_mup_> Bug #484712: Potential synchronisation of comments between Launchpad bugs via remote bug trackers < https://launchpad.net/bugs/484712 > [00:46] gmb: would like feedback/status update (if only to unassign yourself and say that it hasn't been tested...) [00:48] wgrant: Speaking of which; can I commandeer mawson in a bit, after I'm done with a couple of chores? You seem to be the only other person logged in. [00:48] cjwatson: Sure, I'm just abusing its database. [00:48] Nothing that should affect you. [00:49] That won't get clobbered by a code update? [00:49] No. [00:49] Oh, of course, NDT means obviously not [01:04] Query count test failures are a little painful now... [01:04] They include full tracebacks :) [01:25] heh, bad linkificaition on https://bugs.launchpad.net/launchpad/+bug/499438 [01:26] <_mup_> Bug #499438: Better handling of fatal upload errors < https://launchpad.net/bugs/499438 > [01:27] cjwatson: what do you think the reaction would be to disabling anonymous ftp uploads ? [01:29] Hard to say [01:30] from a quick look at cocoplum:~lp_queue/ubuntu-queue/, it looks as though the bulk of our uploads are FTP right now [01:30] yes, I would expect that [01:30] lp_archive@cocoplum:~$ grep --count upload-ftp /srv/launchpad.net/production-logs/lp_queue/process-upload.log [01:30] 68268 [01:30] ^- unscientific check [01:30] lp_archive@cocoplum:~$ grep --count upload-sftp /srv/launchpad.net/production-logs/lp_queue/process-upload.log [01:30] the reason to suggest this is that a lot of the UI poorness around uploads is coupled to depending on good package metadata (including signatures) for error notifications [01:30] 4789 [01:31] perhaps we should find out why most people aren't using sftp uploads first [01:31] if we knew that 'user foo' did the upload, we could always notify use foo, regardless of the package metadata status [01:31] SFTP provides no progress information. [01:31] And client support in Ubuntu is recent. [01:31] our current dput.cf defaults to FTP [01:31] I don't think it's reasonable to disable it in LP until and unless that's changed, at the very least, including in stable releases [01:31] I think we should simplify our upload processing code for SFTP [01:32] and then get Ubuntu to change (or try changing) to SFTP [01:32] wgrant: in principle SFTP supports progress information [01:32] wgrant: what makes you say that? [01:33] cjwatson: The current client does not. [01:33] YM dput? [01:33] The vast majority of current uploads, both PPA and Ubuntu, are FTP [01:33] Yes. [01:34] I'm not sure the default dput.cf even has an SFTP PPA section. [01:34] Because it requires configuration. [01:34] (we rely on username matching, not just key) [01:36] oh, and Debian's dput doesn't have SFTP support yet [01:36] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505173 [01:36] does that matter particularly? [01:37] it's another data point, and I'm sure it affects some percentage of users [01:37] It would be pretty unpleasant to make it impossible to upload to PPAs except from Ubuntu. [01:37] People do use Debian, you know :) [01:38] wgrant: it wouldn't be impossible: lftp etc can do it, and folk can apply the patch [01:38] https://bugs.launchpad.net/launchpad/+bug/499438 is what sparked these questions [01:38] <_mup_> Bug #499438: Better handling of fatal upload errors < https://launchpad.net/bugs/499438 > [01:39] cjwatson: whats the right way forward to get Ubuntu to promote SFTP for uploads - I'm primarily concerned with new PPA users, the set of folk most likely to make packaging fubars anyhow [01:39] I doubt I'm capable of thinking of a problem that complex at 1:40 [01:39] am [01:39] fair enough [01:40] I will probably raise it again [01:40] lifeless: Initial config is the difficult bit. [01:40] right [01:40] We can't provide a default config, so we have to tell people to edit their dput.cf [01:40] Like we did 4 years ago :/ [01:40] or get credentials from lptools, which we use for a bunch of other things too [01:40] unless we're very careful, all we achieve is rearranging the deckchairs on the UI. [01:41] lifeless: lptools? [01:41] lptools, which ~nobody has installed [01:41] bzr launchpad-login ? [01:41] Exactly. [01:41] Nobody uses lptools.; [01:41] cjwatson: thats true, OTOH deckchairs the user can see are easier to examine than ones they cannot :) [01:41] didn't a bunch of ubuntu-dev-tools get shuffled over to lptools ? [01:41] I was fairly sure they did, during the last cycle [01:42] ubuntu-dev-tools declares no package relationships on lptools [01:42] so if they did, it was shuffled out of sight [01:42] lifeless: All I can see that is doing is having more people ask "Why can't I just upload using dput?" [01:42] yeah, I can see [01:42] could use ubuntu-dev-tools [01:42] Other sites seem to rely on uniqueness of SSH keys. [01:42] StevenK: a) experienced folk can, b) new folk follow docs on the wiki, and *then* also mess up [01:43] It's true that a few tools were moved, but they were the sorts of things only pretty LP-aware people used anyway [01:43] lp-get-branches, lp-grab-attachments, lp-project-upload, lp-list-bugs, lp-set-dup, lp-shell [01:43] you didn't want to reason about this at 1:40am [01:43] so don't :) [01:43] you asked me to come up with a solution :) [01:43] picking holes is easier ;) [01:44] heh [01:44] cjwatson: qastaging update finished 4 minutes ago, btw. [01:44] thanks. upgrading mawson [01:44] so, as long as we never need to go spelunking on germanium again to determine what went wrong, I will accept nearly any hole you care to poke [01:44] I think pushing it back onto the users machine where they can locally diagnose and get up-front errors is a good thing [01:45] I wonder if there's any way to push errors over the FTP session [01:45] There is. [01:45] We do it already. [01:45] Which we don't do for SFTP [01:45] But lifeless knows that well, so I assume he a reason to ignore it. [01:45] +has [01:45] it has limits, and we will happily email the wrong person if the package is a plain copy from e.g. Debian [01:46] one of the limits is that core twisted tries very hard to turn such events into OOPSes [01:46] (oh no something went wrong, must alert the admin) [01:46] thats probably fixable, but even then we still can't notify *anyone else* that the problem occured. [01:47] e.g. via upload subscriptions [01:47] I agree in principle that SFTP is a good thing to use; the road to making it mandatory probably isn't short though. [01:47] I guess that's all I'm really saying [01:47] making it the default for new users would go a long way [01:47] Yes [01:47] we could just say 'try over sftp' to any experienced user with an undiagnosable problem [01:47] e.g. deprecate but not disable ftp [01:48] Or if we can't figure out the user's LP login, fall back to FTP [01:48] The experienced users aren't going to have trouble :) [01:48] You'd still win if we reduced the incidence of spelunking significantly [01:48] Just not as much [01:48] mmm, I'd like something more aggressive than 'if we can't figure it out' [01:48] e.g. opt-in to ftp [01:48] "What's your LP login? Type 'lifeless' to use FTP" [01:49] (remember too that we have folk dealing with private packages etc, so the default really wants to be non plaintext [01:49] cjwatson: :) [01:49] cjwatson: put that in for april 1st please [01:49] I have a better April 1st way ahead of that, which I've been failing to implement for five years :) [01:50] Actually, seriously, interactivity wouldn't be awful [01:50] poor andi [01:50] still confused by LP's UI. [01:50] Again? [01:50] just have /usr/share/dput/sftp.py ask you and save the answer somewhere [01:50] 3 imports one project [01:50] cjwatson: +1 [01:50] enhancement: figure it out automatically without asking. but that's nice-to-have. [01:51] (I'm assuming sftp.py gets a terminal.) [01:51] And then have sftp.py fall back internally to FTP on abject failure. [01:51] (With loud warnings.) [01:51] mwhudson was talking about anonymous-ssh, so we could utilise that too ... [01:51] StevenK: not useful here [01:51] Let me not attempt to figure out the confidentiality properties of anonymous SSH [01:52] StevenK: the point is knowing the user so we can notify sensibly [01:52] cjwatson: Or fall back to trying $USER ? [01:52] StevenK: fixes a raft of corner cases that we have today, anonymous-ssh wouldn't do that [01:52] StevenK: *handwave* that kind of thing [01:52] I wonder what the performance difference is for large uploads over SFTP vs. FTP [01:53] lifeless: SFTP for uploads still doesn't solve notifications for syncs ... [01:53] cjwatson: SFTP should be faster (tcp window already open) [01:53] Syncs will all be API soon enough, so you'll at least have a username [01:53] lifeless: haha my bugmail disagreed last I checked [01:53] indeed, and *I'm not talking about syncs* :P [01:54] failing to fix problem B doesn't make a solution to problem A better or worse [01:54] having a single solution to A and B is nice, of course. [01:54] (the HPN people talk about FTP as a comparator for their none-cipher work) [01:55] but you need to demonstrate a link between them for it to be worth considering - whats the link between syncs, where we know all the package data is intact, and uploads, where its all arbitrary [01:55] comparand. blah. I keep getting that wrong. [01:55] cjwatson: interesting [01:55] Ur, help. What does http://paste.ubuntu.com/792323/ mean when upgrading dogfood? [01:55] you keep both pieces? [01:56] the dogfood config has old and deleted config keys [01:56] Haha [01:56] Ah, yes, let me fix that. [01:56] Yeah, wgrant broke it [01:57] I don't think it's the DF config that's broken. It's just that the prod configs are out of date. [01:58] cjwatson: Should be fixed. [02:01] wgrant: Thanks; should I carry on with the build or did you do that? [02:02] cjwatson: I didn't touch it. [02:02] Come on, do you think it can build that quickly? :) [02:02] Heh [02:04] inferring username from ssh key is technically easy i guess [02:04] and that UNIQUE constraint on sshkey would have been interesting a few years back :-) [02:04] Now that there's more than just a few keys, yeah... [02:05] I thought that's why we added the UNIQUE constraint [02:05] There isn't one, AFAIK. [02:05] Indeed not. [02:06] Adding one might not be a terrible idea. [02:07] There is one key with 19 links, another with 20... [02:07] 650ish with 2 links, 40 with more than 2 [02:10] :-( [02:10] That doesn't block lifeless' project though; we have the username to work with, not just the key [02:10] Yeah [02:13] lifeless: also, about owners and notifications, some people want to be owners to just administer and not have rights [02:14] micahg: yes, thats why we have separate roles, though wgrant is campaiging that this doesn't make sense [02:14] lifeless: No. [02:15] lifeless: I'm campaigning that the owner special case doesn't make sense. [02:15] I am campaigning that admin+membership should be separated. [02:15] Currently you have a list of members, and a list of admins who are members, and a single not-quite-admin-but-not-member. [02:16] When a list of members and a list of admins who may also be members would work fine. [02:16] with the recent change to admins promoting admins, hmm [02:16] perhaps [02:18] that would solve the DMB use case as well [02:18] Yup. [02:20] Morning jtv. [02:20] hi there wgrant, happy 2012 [02:21] Likewise. [02:21] thank you === jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jtv | Firefighting: - | Critical bugtasks: 3*10^2 [02:27] lifeless: So, how do you propose to find transitive dependencies without a resolver? :) [02:29] wgrant: I thought you meant something different apparently [02:36] jtv: https://bugs.launchpad.net/launchpad/+bug/506497 - is that more done now? [02:36] <_mup_> Bug #506497: import-queue-gardener gives file path a higher priority than a manually assigned template < https://launchpad.net/bugs/506497 > [02:36] jtv: also would like your input on https://bugs.launchpad.net/launchpad/+bug/506516 [02:36] <_mup_> Bug #506516: Failed migration of ubuntu kdeaddons to message-sharing < https://launchpad.net/bugs/506516 > [02:37] lifeless: probably not done, but I'm not even sure those tools still work. [02:37] jtv: should I invalid it? or incomplete? [02:39] lifeless: incomplete. [02:41] lifeless: what would you think of marking bug 529957 invalid since we build translation packages out of the Firefox/Thunderbird sources now? [02:41] <_mup_> Bug #529957: XPIPO file uploads should be disabled < https://launchpad.net/bugs/529957 > [02:42] micahg: have we ditched the XPIPO support? [02:42] micahg: should we drop it? [02:43] micahg: (also does that mean thunderbird is not translatable in Ubuntu using LP?) [02:43] lifeless: I should check with chrisccoulson first, but I think so, at least once the Firefox migration in lucid/maverick is complete which should be some time this month [02:43] lifeless: thunderbird actually never was IIRC [02:43] so I don't think we should invalidate the bug while we have the code it talks about around [02:43] but we could change it to be 'this code can be deleted' [02:45] well, I guess one day if we ever get a way to push translations back upstream, we could import from the source uploads and push changes upstream, but I guess in that scenario, we don't need the xpipo code either [02:54] * StevenK stabs the screwed up security model SPRBs use. [03:06] jtv: so, thoughts on bug https://bugs.launchpad.net/launchpad/+bug/509109 and https://bugs.launchpad.net/launchpad/+bug/506516 ? [03:06] <_mup_> Bug #509109: Deadlock in message-sharing-merge while migrating brasero < https://launchpad.net/bugs/509109 > [03:06] <_mup_> Bug #506516: Failed migration of ubuntu kdeaddons to message-sharing < https://launchpad.net/bugs/506516 > [03:07] “If they're really a problem, they'll come back.” [03:07] jtv: they were both migration stuff; thats done, right ? [03:08] Yes, though the code may still be in use. [03:08] ah [03:08] the question is, should the maintenance squad sit down and work on them ? [03:10] Not based on these reports, no. I'd just close them. [03:11] Too much has changed since those bugs were reported. If they're really a problem, they'll come back. [03:12] thanks, done. [03:13] hmm, something is seriously odd with multi-project -importance bug sort order [03:18] * StevenK stabs diff generation and/or longpoll [03:20] I wonder that noone has hacked https://bugs.launchpad.net/launchpad-buildd/+bug/516208 into the thing already [03:20] <_mup_> Bug #516208: disable Automake's silent rules < https://launchpad.net/bugs/516208 > [03:26] Right, mawson is all ... whoever-cares' again. [03:27] cjwatson: Did you QA mvo's rev, or is that his to do? [03:28] Launchpad encountered an error during the following operation: generating the diff for a merge proposal. The source branch has no revisions. [03:28] Blink [03:28] StevenK: I did his [03:28] So it's just jelmer's recipe format thing left [03:28] Indeed. Thanks. [03:47] jtv: O hai. I'd like a review, but the branch scanner has de-pramed its toys while scanning my branch. The diff is at http://pastebin.ubuntu.com/792375/ [03:47] StevenK: working on a long one right now, but you'll be next. [03:47] StevenK: Make it rescan? [03:48] wgrant: By pushing agai [03:48] n? [03:48] Yes. [03:48] You may have to push -r-2 then push again, I forget. [03:48] I thought we worked out that -r-2 doesn't work? [03:48] It can't not. [03:49] % bzr push -r-2 [03:49] Using saved push location: lp:~stevenk/launchpad/hide-forbidden-sprbs [03:49] No new revisions to push. [03:49] --overwrite [03:49] And then bzr push quickly? [03:50] No need to be quick. [03:50] But if you want. [03:51] The branch scanner should log branch.unique_name [03:51] Yes. [03:55] Bleh, job logging is complete crap [03:55] You can't get at the logger in the actual job's run() method. [03:58] wgrant: Looks like the scanner choked on it again [03:58] Yay [04:00] StevenK: its not on an attribute? Also why would you need to, thats not the logging API [04:03] - return '%s (ID %d)' % (class_name, ijob_id) [04:03] + return '%s (ID %d) %s' % (class_name, ijob_id, repr(job)) [04:03] I think that will help [04:08] StevenK: wgrant: is https://bugs.launchpad.net/launchpad/+bug/525749 part of disclosure, do you think ? [04:08] <_mup_> Bug #525749: A Branch's visibility setting page contain the word 'visibility' < https://launchpad.net/bugs/525749 > [04:10] lifeless: Probably, yes. [04:10] Although the summary seems to be inverted. [04:10] indeed [04:12] will you fix? [04:13] wgrant: is https://bugs.launchpad.net/launchpad/+bug/527550 still ? [04:13] <_mup_> Bug #527550: CopyChecker._checkArchiveConflicts erroneously permits copies of sources with failed and unpublished builds < https://launchpad.net/bugs/527550 > [04:13] That hasn't been touched recently. [04:13] So yes. [04:14] lifeless: So to answer your question, it is not on a attribute. And it would be very useful for say, IDSJ. [04:26] StevenK: but why? logger = logging.getLogger('lp.jobs.foo') [04:26] done [04:26] wgrant: and https://bugs.launchpad.net/launchpad/+bug/527551? [04:26] <_mup_> Bug #527551: Intra-archive copying of a source with a failed build may leave that source uncopyable < https://launchpad.net/bugs/527551 > [04:29] lifeless: Still there. [04:30] wgrant: and https://bugs.launchpad.net/launchpad/+bug/528459 ? [04:30] <_mup_> Bug #528459: PPA does not delete old packages after new build < https://launchpad.net/bugs/528459 > [04:30] lifeless: Likewise. [04:30] NBS [04:30] lifeless: Because I prefer it was in the same log as the job runner uses [04:31] StevenK: and? thats orthogonal [04:31] StevenK: logger objects are not intended to be passed around willynilly [04:45] StevenK: fixtures.FakeLogger may help you [04:46] jtv: Still dealing with the large review? [04:46] Yes [04:46] But the first container of coffee has arrived, which should speed things up. [04:47] We're slightly hung over (in the non-imbibed sense) from an all-night drive during the holidays. [04:47] (“The holidays” for us being January 2 & 3) [04:51] the lpia PPA queue does not seem to be dispatching to the buildd [04:53] webops: please stab gold and restart buildd-manager [04:53] * wgrant throws some builders at lpia. [04:53] this is terrible. I can nearly do this from memory. [04:54] wgrant: I would just give it one, no one should be using lpia anyways [04:56] wgrant: so this bug - https://bugs.launchpad.net/launchpad-buildd/+bug/533583 [04:56] <_mup_> Bug #533583: build fails where no error is present < https://launchpad.net/bugs/533583 > [04:57] what is the defect/problem ? [04:57] micahg: Since there seem to be about 30 Mozilla builds on the virt builders at the moment, sounds like a good plan. [04:58] it's that time of day :) [04:58] lifeless: sistpoty disagrees with Ubuntu policy. [04:58] Needs to be argued with lamont. [04:59] ISTR another bug to make that not fatal [05:00] * micahg thinks it's a lack of scrolling to the bottom :) [05:04] * lifeless tosses oil on the fire [05:05] lifeless: you didn't have to toss wgrant in as well :) [05:05] he is the oil ? [05:06] nah, I think he was holding it :) [05:16] didn't poolie do this? https://bugs.launchpad.net/launchpad/+bug/547036 [05:16] <_mup_> Bug #547036: The buildd code should be removed from the Launchpad tree < https://launchpad.net/bugs/547036 > [05:17] jtv: Just how big is this branch? :-P [05:17] wgrant: btw, that ppa et al reset is done and done [05:17] spm: Thanks. [05:51] wgrant: Since jtv appears to be AWOL, would you mind reviewing the diff at http://pastebin.ubuntu.com/792375/ [05:53] wgrant: StevenK: opinions on bug 547036 ? [05:53] <_mup_> Bug #547036: The buildd code should be removed from the Launchpad tree < https://launchpad.net/bugs/547036 > [05:54] lifeless: poolie fixed it months ago? [05:54] StevenK: He might be back now :) [05:54] wgrant: thats what I thought, was seeking confirmation [05:57] StevenK: see bug https://bugs.launchpad.net/launchpad/+bug/551414 [05:57] <_mup_> Bug #551414: log messages in jobs are discarded < https://launchpad.net/bugs/551414 > [06:00] jtv1: Still fighting with the large branch? How large is it? [06:00] StevenK: it's not the branch, it's the interruptions [06:02] boo! [06:12] * StevenK nails wgrant to IRC. [06:14] * wgrant kicks Optus in the face :) [06:15] I love that those of us in the 3rd world have better internets. [06:15] * nigelb waves to jtv1 [06:15] Hi nigelb [06:15] Happy new year etc! No time to chat further right now, sorry :) [06:15] heh [06:22] nigelb: What do you call an Indian cricketer with a century next to their name? [06:23] nigelb: A bowler. [06:24] jtv1: what is 'pottery' ? [06:25] We do not speak its name. [06:25] lifeless: it's the code for generating POTemplates from branches. Runs in the build farm. [06:25] thanks [06:25] wgrant: yes we do. I just did. Robert just did. === jtv1 is now known as jtv [06:28] Bah [06:33] LaunchpadTimeoutError: Statement: 'UPDATE Project SET max_bug_heat=(SELECT COALESCE(MAX(heat), 0) FROM [06:33] Yes :) [06:33] staaaaaaaaab [06:33] I've been saying that for well over 18 months now. [06:48] is there a better way? [06:48] https://bugs.launchpad.net/launchpad/+bug/582805https://bugs.launchpad.net/launchpad/+bug/582805 [06:48] <_mup_> Bug #582805: On template generation, we should add a log file to the templates tarball as well < https://launchpad.net/bugs/582805 > [06:48] https://bugs.launchpad.net/launchpad/+bug/582805 [06:48] <_mup_> Bug #582805: On template generation, we should add a log file to the templates tarball as well < https://launchpad.net/bugs/582805 > [06:48] <_mup_> Bug #582805: On template generation, we should add a log file to the templates tarball as well < https://launchpad.net/bugs/582805 > [07:05] 1123 high bugs, and counting [07:08] 330 critical bugs [07:09] what's your point? [07:09] lifeless: are you counting up or down? [07:09] 330 critical bugs and 4 people, even. [07:10] micahg: our bug handling policy says we have three groups of bugs [07:10] the great unwashed [07:10] 6 months of todo (high) [07:10] as much zomg as there is (critical) [07:10] lifeless: I'm familiar :), just wondering which way you're counting on the 6 month pot :) [07:11] lifeless: Huh [07:11] How is high 6 months? [07:11] Given that we have 4 people... [07:11] That's like 10 bugs. [07:11] micahg: and that every quarter we'll review the high to keep it trim; its a year overdue. The first one is a doozy [07:11] wgrant: yes, I'll be doing a couple of passes I suspect [07:11] lifeless: ISTR you doing this recently [07:11] micahg: that was eliminating mediums [07:11] ah [07:11] micahg: which were stuck in limbo, some were crits, some high, many/most low [07:12] wgrant: only 4 people on highs now? [07:13] For the next few months at least. [07:20] Evening stub. [07:20] stub: personless accounts: why do we still have them? [07:20] morning [07:21] Possibly placeholder people generated when we import stuff like translations etc. [07:21] Not sure what does an ensurePerson or whatever the call is any more. [07:21] personless accounts, not accountless persons. [07:22] Yer... backwards. [07:22] We have 3 million personless accounts. [07:22] From SSO [07:22] Didn't I clean them out already? [07:22] No. [07:22] We cleaned out the people from shipit. [07:22] But not the accounts from SSO, or the accounts that were left over from deleted ShipIt people. [07:23] k. more cleanup needed then. They just waste space I think. [07:23] * stub looks for other Account references [07:23] openididentifier, emailaddress and person should be all [07:24] I have a branch to delete EmailAddress.account, which depends on all those emailaddresses and accounts being gone :) [07:24] Ok. [07:24] So we need to trash emailaddresses and openididentifiers not linked to a person and accounts not linked to a person. [07:25] Yep. [07:25] Ah, accountpassword too [07:25] Not that it's used any more except by tests. [07:28] StevenK: gasp! Finally getting to yours now. [07:30] StevenK: I don't suppose check_permission might do any de-pramming of its own when presented with a None? [07:31] jtv: Oh, in initial_values? [07:31] I think so — name not included in diff context. [07:31] Line 32 of your diff. [07:32] (By the way, updating copyrights is easy: just run utilities/update-copyright just like you do utilities/format-new-and-modified-imports. [07:33] Which is what I did [07:33] :-) [07:33] Also, if people don't run format-new-and-modified-imports in all their branches now I will be very upset :) [07:33] Since they're all in good order now. [07:33] So will I, but there is one problem: lp.codehosting. [07:33] I fixed most of those. [07:33] There's only like 3 places that need it. [07:33] I thank you. [07:33] and they all have FIRST comments now [07:34] Which format-imports handles nicely. [07:34] I also made it handle _pythonpath properly. [07:34] Oh, there's a convention for that? Great. [07:34] And then ran it over the whole tree. [07:34] All wonderful. I suppose _pythonpath still elicit lint warnings? [07:34] An import preceded by a comment starting "# FIRST" will be put after the stdlib imports, but before the third-party ones. [07:34] Yes. [07:34] Not sure how to suppress those globally. [07:35] This will also make my megalint branches a bit less mega. :) [07:35] This one touched about 1200 files. [07:36] jtv: Does http://pastebin.ubuntu.com/792471/ make you less nervous? [07:36] StevenK: wasn't saying nervous. You should see the review I just finished. [07:36] jtv: That should make certain check_permission() doesn't get a None. [07:37] It does make me feel slightly safer, as well as appreciated. :) Thanks. [07:37] I'm actually more comfortable with how I've written it now. [07:39] That's good too. [07:39] You've got my vote, with one additional note. [07:40] jtv: If we say something other than "This recipe has not been built yet" we may leak the existance of the private PPA [07:41] Pretending the build doesn't exist if they can't see it is safest. [07:41] And the recipe needs to remain visible? [07:42] What about "this recipe has not been built yet (or if it has, you are not permitted to see the builds)"? [07:42] We do not support private recipes or recipes making use of private branches. [07:42] We'd have to add that disclaimer to practically every list in Launchpad. [07:43] I see. Nasty problem. [07:43] yes the recipe has to stay visible [07:43] Then again, I suppose it's a bit of a tree falling with no-one to hear. [07:43] because it may be owned by e.g. you [07:44] jtv: It's a rabbit hole. wgrant, sinzui, wallyworld, jcsakett and I have been arguing about problems like that for months. [07:44] lifeless: At the moment, it doesn't. :-) [07:45] But sinzui agreed it's a disclosure bug. [07:45] I suppose the only relevant information to an unprivileged user would be "yes, this recipe can build" and they'll find out eventually if that's not the case. [07:46] * StevenK checks the scanner choked on the branch again. [07:49] Pity. It does. [07:49] StevenK: doesn't your branch make the recipe stay visible ? [07:50] lifeless: Yes. I was making a joke that it doesn't on production. [07:50] ah, heh [08:00] How much work did you guys land over the break? New Year branch pulling just keeps going and going... [08:02] stub: wgrant and sinzui's fault. They effectively emptied lib/canonical [08:04] stub: We moved a couple of hundred thousands lines of lib/canonical remnants, and properly formatted the imports in every file. [08:04] I wonder if you could compile a diff to a regexp search and replace? [08:04] Heh [08:05] yes, you can [08:05] stub: Also, I reverted the EmailAddress.{person,account} consistency patch, as it was going to take 3-4 minutes to apply. [08:05] wgrant: do you think https://bugs.launchpad.net/launchpad/+bug/566339 is fixed, or not ? [08:05] <_mup_> Bug #566339: Cannot accept package which would notify private email addresses < https://launchpad.net/bugs/566339 > [08:06] wgrant: Really? What was it doing besides adding the triggers? [08:06] stub: Not triggers, but check constraints. [08:06] oh... ic. hmm... [08:06] Apart from the questionable sensibility of having cross-table functions in check constraints, before pg 9.1 they can't be added without a full scan. [08:07] So, instead of turning them into triggers I decided to fix the inconsistencies by dropping EmailAddress.account instead. [08:07] Yes, that would have been my preferred approach but gmb thought this was a quicker fix and wanted the quicker fix. [08:08] wgrant: You managed to drop it? [08:08] The actual code changes were reasonably shallow. But the tests, oh god the tests. [08:08] All fixed now, anyway. [08:08] Main goal being to locate the code generating the inconsistent data. [08:08] In a final ec2 run before being split into 4. [08:08] wgrant: Four now? [08:08] StevenK: Yes. [08:08] Mailing list refactorings are being split up separately. [08:08] Ah [08:09] Because the queries and tests were awful. [08:09] s/were/are/ ? [08:09] stub: I never tracked down exactly what it was, but I believe it's in the code around reconciling openididentifiers, persons and accounts on login when there are conflicts and the account needs reactivating. [08:10] But account has basically had all its functionality ripped out in this branch, so it doesn't matter. [08:10] Need to convince bzr that removing a directory containing nothing but garbage is fine [08:10] stub: bzr clean-tree [08:10] Will ask you if you want to remove unknown files/directories [08:10] It's how I get around these conflicts, and tends to work pretty well. [08:11] yer. I know why the guard is there, but so far it has only been false positives. [08:11] Yeah [08:11] pyc ftl. [08:12] bzr knows about files to ignore, we could teach it about garbage in a similar fashion. [08:12] I guess it doesn't matter that much [08:12] bzr resolve --take-other should clean them up [08:14] Just complaining that it is my responsibility to fix things up that aren't really broken, but bzr isn't intelligent enough to know if this case is potential data loss or noise. [08:14] wgrant: r14625 is ready for you to QA. [08:14] wgrant: so, can has answer to last two q's? [08:14] jelmer: Can haz QA for r14620? [08:15] lifeless: What was the one that wasn't bug #566339? [08:15] <_mup_> Bug #566339: Cannot accept package which would notify private email addresses < https://launchpad.net/bugs/566339 > [08:15] https://bugs.launchpad.net/launchpad/+bug/582805 [08:15] I don't believe that one is fixed. [08:15] <_mup_> Bug #582805: On template generation, we should add a log file to the templates tarball as well < https://launchpad.net/bugs/582805 > [08:15] StevenK refactored that code, but didn't change it much. === jtv is now known as jtv-afk [08:16] Let's just delete it instead. [08:16] lifeless: Commented and closed. [08:19] thanks [08:20] stub: So, do you want me to write the SQL to clean up the accounts, or can you do it? [08:20] wgrant: It needs to be a garbo job, and I was going to do it when my branches have synced. [08:20] Unless you want to... just a couple of BulkPruner tasks I think. [08:20] Mm, I think the references are few enough that you could do it without garbo. [08:20] But I guess it's the same as PersonPruner, really. [08:22] We don't want to block creating new accounts while the SQL runs... [08:23] pruners are easy [08:24] bah... launchpaddatabaseupdatelog.end_time isn't being populated :-P [08:24] stub: It's also crashing with dupe ids. [08:24] On staging restores. [08:25] Which is a little bit odd. [08:26] good morning [08:28] wgrant: Because it gets populated when we build the database schema, then we attempt to repopulate it by restoring the similar data from production. [08:28] Ah! [08:28] hmmm... [08:28] ? [08:29] oh... full updates should work, but code updates can fail like that. [08:29] no.. [08:29] hmm... [08:29] need to look over the scripts. [08:29] Code updates work, AFAICS. [08:29] Hm [08:29] Although they've been failing early. [08:29] Because of the bad patch. [08:29] So maybe not. [08:31] stub: remember we're dropping the updatelog [08:31] stub: (and trusted.sql etc) - moving to just patch applications [08:32] oh right, so I'll ignore the missing field for now and maybe trash it if it is the best way to fix staging. [08:32] stub: Hopefully _new is salvagable. [08:32] But I'm not sure. === jtv-afk is now known as jtv [09:04] wgrant: Any particular reason you decided to drop EmailAddress.account rather than Person.account? You can argue either way. [09:05] morning [09:05] stub: EmailAddress.{account,person} could still be inconsistent, as there can be multiple email addresses. [09:05] I guess we might end up with Person records with no emailaddresses once we start adding other contact mechanisms [09:05] Good point. [09:06] And Account is hopefully not long for this world. [09:10] wheee [09:10] https://bugs.launchpad.net/launchpad/+bug/599377 [09:10] <_mup_> Bug #599377: FilebugShowSimilarBugsView.show_duplicate_list treats contextUsesMalone as a property but it's a method < https://launchpad.net/bugs/599377 > === almaisan-away is now known as al-maisan [09:10] AssertionError: Can't create a Person for an account which has no email. [09:12] stub: Where'd you run into that? [09:12] Tests? [09:12] I assume that's from Account.createPerson? [09:13] wgrant: Yup. test_garbo [09:13] Think it is on trunk [09:13] test_RevisionAuthorEmailLinker is one of two [09:13] What have you changed to trigger that? [09:15] Two new daily jobs. Hmm... might be my change actually. A lot of the tests just run 'all daily jobs', and I might be destroying the data in a way the test does not expect. [09:15] Heh, yes. [09:15] That sounds likely. [09:15] ok... leave this until after lunch then before wife gets antsy [09:16] IIRC test_RevisionAuthorEmailLinker relies on an unlinked Account surviving a garbo run. [09:16] For one of its cases. [09:16] But that can probably go, since it's no longer a valid data state. [10:41] Has lp hung or my censorwall screwing up? [10:41] oh... there it is [10:42] stub: There weren't parens in the original, so I didn't add them. Although I wonder if that's just how it rendered it, as it seems to change whitespace. [10:42] I shall fix it, anyway. [10:42] wgrant: They get stripped by PG, which always worries me [10:43] Oh, that is rather awful. [10:43] It gets it right, but I know *I* will mess things up without them. [10:43] I noted their absence and considered fixing them. But then decided to make minimal changes. [10:43] Didn't think it would strip them... [10:44] it is reconsituting the expression that was compiled I think, sans comments etc. [10:44] not sure [10:45] Yeah, I was thinking it couldn't do that, but of course this is a view not a function. [10:45] Thanks lifeless. [10:48] frankban: I'd remove the request for 11239, as it is redundant and likely to confuse. [10:49] stub: As for the merged check, the more likely reason for its omission is the preferredemail check. [10:49] Since a merged account will never have an email address, let alone a preferred one. [10:50] wgrant: let me guess, applying 11275 also means applying my patch, am I right? [10:50] frankban: Yep. [10:50] wgrant: ok thanks [10:50] True. Probably me prematurely optimizing. === jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugtasks: 3*10^2 [10:51] frankban: That revision will be checked out, and all of the patches in that tree applied if they aren't already applied. [10:51] frankban: So all changes from current production to that revision will be applied. [10:53] wgrant: very clear, request removed [10:53] frankban: Looks good, thanks. [11:08] Remind me about teams: are administrators members? [11:09] Laney: At present yes. [11:09] Laney: Owners are not. [11:09] OK, and what can the owner do that administrators cannot and vice-versa? [11:10] Today, owners can do everything admins can, plus change the owner, promote members to admins, and change their own expiry date if they are a member. [11:10] uh, thought I was asking this in #lp, sorry [11:10] But this will change tomorrow. [11:10] As admins are gaining the ability to promote others to admins, and to change their own expiry date. [11:11] So the only things special about the owner are that they aren't necessarily a member, and that they can change the owner. [11:11] s/are that/will be that/ [11:12] and that they don't get all of the mail that admins do (#908144 prompted my questions). [11:12] <_mup_> Bug #908144: No way to customise receipt (or not) of team membership expiry/join emails < https://launchpad.net/bugs/908144 > [11:12] Ah, yeah, that too. [11:12] But that's not meant to be a privilege :P [11:14] I was trying to figure out if having non-member administrators would be a better fit than subscribing to administrator mails [11:14] thanks for the info [11:15] I would like to remove owners, and instead have non-member administrators. [11:15] It is somewhat controversial, however. [11:30] owner is needed as a defence against rogue administrators. We don't want to have to arbitrate in feuds. [11:30] wgrant: https://code.launchpad.net/~stub/launchpad/garbo-bulk-pruner/+merge/87461 [11:36] stub: Do openididentifier and accountpassword cascade? [11:36] Ah, yes. [11:37] Handy. [11:38] yes, although looptuner tuning would be more predictable if those rows were purged in separate jobs. [11:38] Mmm. [11:38] Only slightly. [11:38] It should be pretty much 1-1-1 [11:38] yer. don't think anyone would notice. [11:41] stub: I'm nitpicking, but you should update the copyright years. :-) [11:42] stub: What does SELECT COUNT(*) FROM emailaddress JOIN person ON person.id = emailaddress.person WHERE emailaddress.account IS DISTINCT FROM person.account; say on prod? [11:42] s/IS DISTINCT FROM/!=/ was 0 yesterday, but this is probably closer to what we actually care about. [11:46] wgrant: 0 [11:47] Surprising! [11:47] * wgrant approves [11:47] Thanks. [11:48] What is the script that does the copyright stuff automagically? [11:48] utilities/update-copyright [11:54] wgrant: Long term, I think it would be good to have both Account and Person. I don't like bots and things claiming to be people. We collapsed the concepts unfortunately (along with teams for even more fun). [11:55] stub: Possibly. [11:55] It's hard to say what we should do. [11:55] Person is really Principal. [11:55] Or Role. [11:59] Yes, and if we had called it something like that at the time things would be nicer now. [11:59] Anyway, we can easily shuffle these things around later on once we don't have a conflict-happy model :) [13:48] hmm, someone is looking for JS injection points: https://answers.launchpad.net/launchpad/+question/183686 [13:52] benji: heh, yep [13:53] man, junk ppa and everything [14:28] rockstar: About bug 911090: I know that Launchpad should be robust against 16 MB code review comments, but I also think tarmac should not be making 16 MB code review comments, because they make code review hard to read. [14:28] <_mup_> Bug #911090: merge proposal is broken with consistent timeouts < https://launchpad.net/bugs/911090 > [14:33] odd, launchpad.net/projects seems to be forbidden now :( [14:35] cr3: probably something private on that page [14:36] jelmer: is that expected behavior or should I report a bug against launchpad itself? [14:37] That would be a bug. [14:37] cr3: that's a bug [14:37] presumably those private items that you're not allowed to view should just be hidden rather than making the entire page inaccessible [14:37] Projects lists 'latest teams', and should be hiding private teams you shouldn't be able to see rather than making the page fail === abentley changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: abentley | Firefighting: - | Critical bugtasks: 3*10^2 [14:40] jelmer, stub: reported bug #911794 [14:40] <_mup_> Bug #911794: /projects page now returns forbidden < https://launchpad.net/bugs/911794 > [14:41] benji: https://bugs.launchpad.net/launchpad/+bug/911632 [14:42] rick_h__: I guess he found one. [14:43] yea, checking it out. [15:08] frankban: Please target your reviews to "canonical-launchpad-reviewers" (which is the default-- you can just leave it blank in the web form) rather than "launchpad" [15:08] abentley: ok, thank you [15:09] frankban: Thanks. [15:51] abentley, is there a bug, either upstream or in lp, about pystache and scoping issues? [15:52] deryck: I don't think so. [15:53] abentley, do you mind filing an lp bug at least? Should be a high bug, but we can work on it on maintenance, to avoid the tech debt in our code. [15:55] deryck: from a maintenance point of view, bug 911520 seems really terrible :-/ we should probably disable oops pruning until it's fixed [15:55] <_mup_> Bug #911520: Pruning fails to find any references, deleting all OOPSes older than a week < https://launchpad.net/bugs/911520 > [15:55] deryck: However, I did report it to the author of pystache, who agreed it was a bug. [15:55] abentley, ah, ok. Do you mind filing the lp bug for us, too? [15:56] flacoste, ack, I'll add the bug to the backlog and have oops pruning disabled. [15:56] or the next lane rather. [15:56] deryck: thx [15:58] deryck, mrevell: when are we releasing bug-columns? [15:58] deryck: As soon as I make sure it's still present... [15:59] abentley, ah, ok. Thanks! [16:00] flacoste, danhg is preparing the announcement. [16:00] deryck, do you have time for a call? [16:00] mrevell: great! [16:02] mrevell, I do shortly. give me 10-15 minutes to finish the stuff I'm on. it's a bit interrupty :) hard to just drop. [16:02] thanks deryck === salgado is now known as salgado-lunch [16:07] gary_poster: we did complete the work to make apache serves the wadl right? [16:07] flacoste, yes [16:12] rick_h__: I'm filing a new bug, and when I start to type in "Further information:", the box gets longer immediately. Is this fallout from your work? [16:12] abentley: probably [16:13] rick_h__: This is on Firefox 8.0 [16:14] abentley: ok [16:18] deryck: bug 911840 [16:18] <_mup_> Bug #911840: Launchpad works around pystache scoping bug < https://launchpad.net/bugs/911840 > [16:19] abentley, awesome, thanks! [16:24] mrevell, we can chat now if you like. [16:24] mrevell, Skype? [16:32] rick_h__, and I understand our card titled: "Refactor bug listing ordering history code out of the template file" …. [16:32] rick_h__, this would help prevent any other oops with history handling, if this was moved out to a separate js file, yes? [16:33] deryck: right, it can't be tested like the rest of the JS code because of logic in the .pt files [16:33] rick_h__, can you file a high bug about that and pass me the bug number then please? [16:33] deryck: so factoring it out into a init or something that's called from the .pt would allow some better testing in JS tests [16:33] deryck: sure thing [16:39] deryck: 911857 [16:40] abentley: thanks, I confirm seeing that FF issue. Created a bug for it and will check it out. [16:40] rick_h__: cool. [16:42] rick_h__, thanks [16:48] sinzui: have some time to mumble? [16:51] yes [16:59] abentley: have a sec for a ? [17:00] rick_h__: sure. [17:00] so have this bug: https://bugs.launchpad.net/launchpad/+bug/911632 with this mp in progress https://code.launchpad.net/~rharding/launchpad/xss_911632/+merge/87507 [17:00] abentley: and looking at how to test this? [17:01] abentley: it looks like I could try to change the dev data's name in the story, but seems a bit much for it [17:01] abentley: so curious if I should try to create a new user with the known xss? Just say this is such a small fix, no new test? === al-maisan is now known as almaisan-away [17:04] rick_h__: I would test it by creating a person with a bogus name, rendering the relevant view (using getViewBrowser) and asserting that the resulting HTML did not have the unescaped version. [17:05] abentley: ok cool, will check that out [17:05] rick_h__: I would not touch the doctest. You are writing a unit test, not documentation. [17:06] abentley: yea, you're right. I was just searching for existing tests to latch onto and hit that [17:06] abentley: thanks! [17:06] rick_h__: np [17:08] rick_h__: It would be interesting to change factory.makePerson to generate people with bogus names, but I don't think even that would catch all cases. [17:08] abentley: yea, you have to be checking for the bad output specifically [17:08] abentley: until it renders there's nothing to say