[00:00] <thumper> jml: and we don't allocate karma for packages
[00:00] <jml> thumper, ahh ok.
[00:00] <thumper> jml: so at least three separate problems
[00:00] <jml> thumper, where does the allocator live?
[00:00] <jml> thumper, I'd be interested to figure out why I missed it.
[00:00] <thumper> we are failing due to revision that are in project branches and package branches
[00:00] <thumper> and the package branch is found first
[00:00] <thumper> so being skipped
[00:00] <thumper> now we are skipping 100 at a time
[00:01] <thumper> and selecting the same 100 every select
[00:01] <thumper> lp.code.scripts
[00:01] <jml> thumper, I guess I mean, where was it a year ago :)
[00:01] <thumper> jml: probably scripts
[00:01]  * thumper shrugs
[00:03] <thumper> jml: branch just got an is_junk attribute
[00:03] <jml> :(
[00:03] <thumper> jml: frowny for what?
[00:03] <jml> thumper, I think it's better to say why you care if it's junk.
[00:04] <thumper> jml: I say where it is being checked
[00:05] <thumper> jml: but instead of checking either that the target is the owner, or checking product and distroseries
[00:05] <jml> thumper, yeah, but you could give it a name in code, separating the fact about whether it belongs to a project from how we count karma.
[00:05] <jml> thumper, certainly it's a step up from that.
[00:05] <jml> thumper, why not check if the target provides karma for revisions?
[00:05] <thumper> mmm...
[00:06] <jml> it's what we already do for MPs etc.
[00:07] <thumper> jml: heh
[00:07] <thumper> jml: BranchTarget already has assignKarma
[00:08] <thumper> although
[00:08] <thumper> ...
[00:08] <thumper> nm
[00:41] <thumper> :(
[00:43] <jml> thumper, wassup?
[00:43] <thumper> test_karmaDateForFutureRevisions passes, but for the wrong reasons
[00:44] <thumper> the revision karma stuff is a bit of a mess
[00:45] <jml> thumper, it's good to spot it though, and then also to have the opportunity to fix it there & then :)
[00:45] <thumper> yeah
[00:45] <thumper> all this fixing to make the karma revision script run successfully again
[00:54] <spm> thumper: karma for yak shaving?
[00:54] <thumper> ✁☹
[00:54] <spm> I'd say that's a yes then.. :-)
[01:40]  * jml is off to lunch & errands.
[01:52] <thumper> phew
[01:52] <thumper> I think that is the revision karma issue dealt to
[01:52] <thumper> mwhudson: feel like a review?
[01:52] <mwhudson> thumper: sure
[01:52]  * thumper pushing now
[02:03] <thumper> mwhudson: proposed, email arriving soon
[02:13] <mwhudson> thumper: looking now
[03:21] <thumper> mwhudson: thanks for the review
[03:21] <thumper> mwhudson: I've just finished clearing the code import queue
[03:21] <thumper> mwhudson: there were a lot of imports that needed tweaking
[03:22] <thumper> probably 75% of them
[03:22] <thumper> https -> http
[03:22] <thumper> and missing /trunk
[03:22] <thumper> and bad certs
[03:22] <thumper> invalid locations
[03:32] <mwhudson> thumper: yeah :(
[03:49] <mwhudson> wow, the failure mode of the multi-line editor isn't very good
[04:13]  * thumper afk - bbl
[04:17]  * mwhudson eods
[04:25]  * jml errands
[07:49] <jtv> hi adiroiban!  did you manage to get through the delegates stuff?  :-)
[07:54] <ArneGoetje> Hi folks! I have a question: I'm looking for the latest translation tarball for cupsys for Hardy on launchpadlibrarian. According to the api it's this one: https://launchpadlibrarian.net/34788059/cupsys_1.3.7-1ubuntu3.6_amd64_translations.tar.gz , but it seems to have been garbage-collected. Isn't the latest version to be kept around? Could someone help me to find out what happened here?
[07:55] <ArneGoetje> The upload was on 2009-11-09, btw.
[07:55] <jtv> ArneGoetje: looks like the soyuz folks aren't here yet  :(
[07:55] <ArneGoetje> jtv: thanks... will try again later
[08:04] <wgrant> ArneGoetje: I think I know what the problem is.
[08:04] <wgrant> Those files weren't unembargoed.
[08:04] <wgrant> So they're still sitting on the restricted librarian.
[08:04] <ArneGoetje> wgrant: 'unembargoed'?
[08:04] <wgrant> You could ask a member of the security team to get it for you, if you need it quickly.
[08:05] <wgrant> ArneGoetje: Security uploads are uploaded to a private PPA first.
[08:05] <wgrant> They build there.
[08:05] <wgrant> Then they are copied into RELEASE-security in the public Ubuntu archive, and their files are made public.
[08:05] <wgrant> (private PPA files are normally stored in a special librarian instance, not accessible to the public)
[08:05] <wgrant> I'm checking the code now, but I suspect that custom uploads (like translations tarballs) are not moved across.
[08:06] <ArneGoetje> wgrant: aha... so, they should appear whenever the cupsys package hist hardy-security?
[08:06] <ArneGoetje> s/hist/hit
[08:06] <wgrant> ArneGoetje: *should*, yes. But they haven't, because of this bug.
[08:06] <ArneGoetje> wgrant: bug?
[08:10] <wgrant> ArneGoetje: Normal sources and binaries are moved from the restricted to the public librarian when a package is copied from the security P3A. But custom upload files are not. This is a bug, which I am filing now.
[08:12] <wgrant> ArneGoetje: Also, those tarballs aren't expired at all yet -- even really old ones should still be there somewhere.
[08:13] <ArneGoetje> wgrant: got it. Thanks.
[08:18] <wgrant> Bug #503258
[08:18] <mup> Bug #503258: Custom upload file privacy not updated <Soyuz:New> <https://launchpad.net/bugs/503258>
[08:18] <wgrant> It'll take some refactoring to fix.
[08:26] <jml> g'night all
[08:57] <mrevell> Morning
[09:07] <jtv> oh, hi mrevell, hi henninge!
[09:07] <henninge> hi jtv!
[09:15] <adeuring> good morning
[09:19] <al-maisan> Good morning henninge and adeuring
[09:19] <al-maisan> hello jtv
[09:19] <adeuring> hi al-maisan!
[09:19] <henninge> Hallo al-maisan und adeuring! ;)
[09:19] <adeuring> hi henninge!
[09:29] <henninge> jtv: I saw Francis' approach went into a completely different direction than just picking a permission. What did you end up with?
[10:35] <jtv> hi al-maisan!
[10:35] <al-maisan> hello jtv!
[10:35] <jtv> henninge: creating a new object
[10:36] <jtv> henninge: instead of making IProduct, IProject & IDistribution inherit from IHasTranslationGroup, we'd have an adapter to give access to the translation group reference & access model: IHasTranslationGroup(ubuntu).translationgroup
[10:37] <jtv> henninge: the object that the adapter produces delegates its two attributes to its context, so it's basically a 3-line class.
[10:37] <jtv> and then for IHasTranslationGroup we can have Edit permissions
[10:38] <henninge> jtv: cool, I want to do something like that to add "is_admin" etc.  attributes to persons without blowing up the IPerson interface even further.
[10:38] <henninge> but I am not sure the blowing up is really an issue here.
[10:39] <jtv> well, we have ITranslationsPerson now
[10:39] <jtv> (gah, fsck still not done)
[10:39] <henninge> jtv: where, has it landed?
[10:40] <jtv> henninge: ages ago, no?
[10:40] <henninge> jtv: oh, I was not aware of it. Lemme look what it is.
[10:40] <jtv> lp.translations.interfaces.translationsperson.ITranslationsPerson
[10:41] <jtv> just "the Translations aspects of Person"
[10:41] <jtv> ...and also done as an adapter.
[10:41] <henninge> jtv: ah, cool
[11:10] <deryck> Morning, all.
[11:19] <jtv> hi deryck
[11:20] <jtv> bigjools: ArneGoetje couldn't find a particular package's translations tarball (in hardy, I think) that we think should be in the librarian.  Can you help?
[11:20] <henninge> jtv: TranslationsPerson doesn't do the delegation you describe for IHasTranslationGroup. Do you have an example for that?
[11:21] <jtv> henninge: no, these two things are completely unrelated (apart from the adapters)
[11:21] <jtv> henninge: TranslationsPerson is "the Translations aspects of Person."
[11:21] <bigjools> jtv: not right now, can I get back to you later
[11:21] <wgrant> jtv, bigjools: Bug #503258
[11:21] <mup> Bug #503258: Custom upload file privacy not updated <Soyuz:New> <https://launchpad.net/bugs/503258>
[11:21] <jtv> henninge: IHasTranslationGroup is the part where we discussed design with Francis.
[11:21] <jtv> bigjools: thanks
[11:22] <henninge> jtv: I am aware of that.
[11:22] <bigjools> wgrant: groan :(
[11:22] <wgrant> bigjools: Yeah, it's not a really easy fix.
[11:22] <jtv> henninge: oh, I misunderstood then... what was the connection supposed to be?
[11:22] <bigjools> wgrant: why do you say that?
[11:23] <henninge> jtv: when you say "delegates", I understand that that the object the adapter produces has all the attributes of the original object plus the IHasTranslationGroup attributes, right?
[11:23] <jtv> ArneGoetje: see wgrant's note... bug 503258 may be related to your problem
[11:23] <mup> Bug #503258: Custom upload file privacy not updated <Soyuz:Triaged> <https://launchpad.net/bugs/503258>
[11:24] <jtv> henninge: ah!  no, the object provides only IHasTranslationGroup (with those 2 attrs)
[11:24] <jtv> it implements _those_ by delegating to its context—either Distribution or Product or Project.
[11:24] <henninge> jtv: ok, so it is a normal adapter
[11:24] <henninge> I see
[11:25] <wgrant> bigjools: Things will need to be shuffled around, since the code that does the privacy updating only knows about the [SB]PPH.
[11:25] <wgrant> So it's not hard, just not as trivial as it would seem from the description.
[11:25] <bigjools> right
[11:26]  * bigjools hopes the phone line holds up to the snow here
[11:27] <bigjools> wgrant: what is the manifestation of this problem?
[11:28] <bigjools> the publisher will still work fine
[11:28] <wgrant> bigjools: Translation tarballs for security updates are inaccessible, which makes ArneGoetje sad.
[11:28] <bigjools> inaccessible by what means?
[11:28] <wgrant> bigjools: The URLs exposed through the API and +queue.
[11:28] <bigjools> oh, this is the thing we did recently
[11:29] <bigjools> the new custom type that only sits in the libraria
[11:29] <bigjools> n
[11:29] <wgrant> No, no.
[11:29] <wgrant> This is boring old raw-translations that has been around for years.
[11:29] <wgrant> But it also affects the new raw-translations-static, yes.
[11:29] <bigjools> raw-translations will be in the archive
[11:30] <wgrant> In a processed form, yes.
[11:30] <bigjools> er, it doesn't do any processing?
[11:30] <wgrant> Don't they go into rosetta, which then produces langpacks?
[11:31] <bigjools> the only place that won't be able to see them is the UI
[11:31] <bigjools> scripts will be fine
[11:31] <bigjools> but anything that is uploaded is placed in the archive verbatim
[11:32] <wgrant> Custom uploads aren't.
[11:33] <wgrant> DDTP/dist-upgrader/d-i are extracted, normal translations are sent to rosetta, and static translations just live in the librarian.
[11:34] <wgrant> I'm not sure for what purpose a raw-translations tarball is useful, but raw-translations-static is certainly useful, and regardless this is a bug.
[11:35] <bigjools> I still don't understand where the problem is
[11:36] <bigjools> basically because I don't know much about translations
[11:37] <wgrant> It's a bug regardless of whether there is a use for the translations tarballs. https://edge.launchpad.net/ubuntu/hardy/+queue?queue_state=3&queue_text=redhat-cluster&start=90, expand the bottom upload, and look at the URLs produced for the translations tarballs.
[12:34] <wgrant> noodles775: Since you seem to be amassing quite a collection of corrupt builds, do you have any idea what happened to the single build on https://edge.launchpad.net/~mudlet-makers/+archive/ppa/+builds?build_state=building?
[12:35]  * noodles775 looks
[12:39] <noodles775> wgrant: nope - but it looks dangerous (thinks it's building but doesn't have a builder associated with it's buildq entry.)
[12:40] <noodles775> The state looks similar to bug 499421 (for which we haven't yet determined the cause)
[12:40] <mup> Bug #499421: Build farm grinds to a halt with inconsistent build <Soyuz:Triaged by michael.nelson> <https://launchpad.net/bugs/499421>
[12:40] <wgrant> noodles775: Right, that's why I brought it up.
[12:40] <wgrant> It's all rather broken :(
[12:41] <noodles775> I'm guessing that it's date_started is still null (hence not causing the bf to collapse).
[12:41] <noodles775> Yes, it is... we had some large branches go in last cycle which didn't get enough dogfooding, I think.
[12:42] <wgrant> It has a date_first_dispatched, but it doesn't look like the Job is accessible through the API.
[12:44] <noodles775> Nope. I'm looking through retryDepWaiting atm (for bug 499421 - as it seems to be a commonality for those examples of corrupt builds).
[12:44] <mup> Bug #499421: Build farm grinds to a halt with inconsistent build <Soyuz:Triaged by michael.nelson> <https://launchpad.net/bugs/499421>
[12:45] <noodles775> erm, 499095, that would be.
[12:48] <wgrant> noodles775: It doesn't look like any of those three depwaited.
[12:48] <wgrant> Do you have evidence that they did?
[12:49] <noodles775> wgrant: the two builders listed on the build page (one is from build.builder, the other from buildqueue.builder).
[12:49]  * noodles775 rechecks *when* build.builder is set.
[12:50]  * wgrant is really not a fan of this data model.
[12:52] <noodles775> The buildqueue entry is only temporary, the build records which builder *built* the package as a permanent record. And yes, it'd be unreal to have the time to refactor a lot of this.
[12:52] <wgrant> Yep.
[13:02] <wgrant> noodles775: I find it suspicious that it looks like they all ended up GIVENBACK.
[13:02] <wgrant> And the response for a GIVENBACK build isn't particularly sane.
[13:03] <wgrant> Although it does set the status properly :(
[13:03] <wgrant> Oh.
[13:03] <wgrant> Maybe not.
[13:03] <wgrant> Hmm. Two statuses == confusing.
[13:08] <ArneGoetje> wgrant: the raw-translation tarballs are useful for us Ubuntu Translation Coordinators to figure out why certain templates and .po files have not been imported into Rosetta. Instead of rebuilding the package from source and stripping out the translations by ourselves, we just need to download the raw-translation tarball and get everything like Rosetta sees it.
[13:08] <wgrant> bigjools: ^^
[13:08] <noodles775> wgrant: Yeah, we're definitely not setting the job's status properly (afaics), but I hadn't noticed the GIVENBACK - I'll look more closely after lunch (ping me if you find anything more - or add a comment on the bug, thanks!)
[13:08] <wgrant> noodles775: I'm poking around to work out how this new job stuff works (or doesn't).
[13:09] <noodles775> great.
[14:10] <sinzui> HELP: I need help with a branch. I am exposing an wsop parameter over the API, except that my tests show that it does not work--the arguments are ignored.
[14:18]  * al-maisan wonders what an "wsop parameter" is..?
[14:40] <sinzui> EdwinGrubbs: skype?
[14:40] <EdwinGrubbs> sinzui: it's on. can you see me now?
[14:41] <sinzui> EdwinGrubbs: I do see you
[14:53] <abentley> jtv: TestTranslationsImport.test_handle_serious_error and test_handle_unexpected_exception are leaving a dirty environment-- they're causing errorlog.globalErrorUtility to be reconfigured.
[14:55] <jtv> abentley: sorry for the trouble... looking it up now, but will have to go soon
[14:55] <abentley> jtv: I'm motivated to fix it, but I'd like your idea of the best fix.
[14:55] <abentley> jtv: What
[14:56] <abentley> jtv: What's happening is the tests are calling main() on a script.
[14:56] <jtv> abentley: isn't that the right one to invoke?
[14:56] <abentley> jtv: And scripts, because they expect to run in an empty environment, set the error handling up.
[14:57] <jtv> ah, I thought that was all nicely isolated in self.logger
[14:58] <abentley> jtv: You thought the test runner would be resetting the error handling?
[14:59] <jtv> abentley: no, I thought the script's error handling setup wouldn't mess with global state.  :-(
[14:59] <abentley> jtv: I think it's reasonable to expect scripts to mess with global state.  But we could patch this one by just doing addCleanup.
[15:00] <abentley> jtv: I usually run scripts in a subprocess to better mimic the conditions they'll run in.
[15:00] <jtv> abentley: yes, but I do minimize that because it's incredibly expensive.
[15:01] <jtv> I once sped up the test suite by several minutes just by reducing the number of script runs in one test.
[15:01] <abentley> jtv: So I think our options are: 1. run in a subprocess, 2. addCleanup, 3. run something other than main, 4. take the error handling setup out of main
[15:02] <jtv> abentley: is the setup really done in main though?
[15:02] <jtv> as opposed to the LaunchpadScript constructor?
[15:02] <abentley> jtv: po_import.py:142
[15:05] <jtv> abentley: ahhhh, _that_
[15:05] <jtv> the oops logging
[15:06] <jtv> would it be terribly evil to add a "kill switch" that suppresses it in tests?
[15:06] <jtv> similar to test_args
[15:08] <abentley> jtv: I could live with that, but I think we can probably stick it into the standard setup.
[15:10] <jtv> abentley: for all scripts, you mean?  I guess we could just reuse the script name we pass to the LaunchpadScript ctor anyway...
[15:11] <abentley> jtv: No, I mean that the import script could reimplement LaunchpadScript.run to set up the oops handling first.
[15:12] <jtv> oic
[15:12] <jtv> abentley: maybe there is already some appropriate callback in LaunchpadScript to stick this in?
[15:13] <abentley> jtv: There doesn't seem to be a setUp/tearDown pair, if that's what you're thinking.
[15:13] <jtv> well we wouldn't even need a teardown if we can elide it altogether
[15:14] <jtv> something similar to _init_zca and _init_db
[15:15] <jtv> do you think anybody would do a run() in-process from a test?  If not, run() could also just initialize this regardless
[15:15] <abentley> jtv: My reading is that there's no setUp -- LaunchpadScript.run serves that purpose.
[15:16] <abentley> jtv: I think that run() from a test would fail horribly, because it would leave a very dirty environment.
[15:16] <abentley> jtv: I think it's fine to do it always in run.
[15:17] <jtv> abentley: iirc I copied all this from one of your scripts in the first place, so that script might be affected as well :-)
[15:18] <abentley> jtv: With the difference that I didn't *expect* calling main() to work :-)
[15:19] <jtv> abentley: with this change, future generations will look at _your_ tests and ask "wtf didn't he just call main()?"  :-P
[15:23] <abentley> jtv: I don't think so.  I have about two integration tests, and the rest are unit tests.
[15:31] <adiroiban> jtv: is this ok to change the browse/configure.zcml in this way http://paste.ubuntu.com/351825/ ?
[15:31] <adiroiban> i don't know where to plug the adapters and delegates in the current LP setup
[15:32] <jtv> adiroiban: a separate IProductTranslationPolicy..?
[15:32] <adiroiban> jtv: i'm lost
[15:33] <adiroiban> if I will leave IProduct, how can I check the special permission with launchpad.Edit?
[15:34] <jtv> ahh
[15:34] <jtv> unfortunately right now I'm way too tired to think about new problems!
[15:34] <adiroiban> jtv: ok. np. we can talk tomorrow morning
[15:35] <jtv> the adapter part is easy: you basically say in zcml that the class is the factory for the objects—search for "adapter"
[15:35] <jtv> yes, talk tomorrow... but definitely thanks for working on this!
[15:35] <adiroiban> np
[15:36] <adiroiban> the adapters should go in lp/translations/adapters.py ?
[15:36] <Ursinha> bigjools, hello :) happy new year
[15:36] <adiroiban> there is no adapters.py for translations
[15:37] <bigjools> Ursinha: Happy new year!
[15:37] <Ursinha> bigjools, :)
[15:37] <Ursinha> bigjools, well, I have one oops... :)
[15:37] <Ursinha> bigjools, https://edge.launchpad.net/~mudlet-makers/+archive/ppa/+build/1376913 is oopsing, seems to be bad data
[15:37] <bigjools> doesn't surprise me
[15:38] <adiroiban> jtv: let's leave this for tomorrow
[15:38] <bigjools> noodles775: ^^
[15:38] <Ursinha> bigjools, https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1462F51
[15:38] <jtv> adiroiban: thanks for understanding :-)
[15:39] <noodles775> bigjools: yes, I saw it earlier (wgrant pointed it out), it's another building build without a bq.builder.
[15:39] <bigjools> ok thanks
[15:39] <adiroiban> henninge: can you take a quick look at bug 340664 (screenshots) and tell me is this is how the bug should be fixed ?
[15:39] <mup> Bug #340664: Add administration page for all POTemplates in ProductSeries or DistroSeries <ui> <Launchpad Translations:In Progress by adiroiban> <https://launchpad.net/bugs/340664>
[15:39] <henninge> adiroiban: looking
[15:41] <henninge> adiroiban: it is possible that this book was overlooked when implementing +templates.
[15:42] <jtv-zzz> abentley: gotta go now... thanks for cleaning up my mess, and repeated apologies for making it!
[15:42] <adiroiban> henninge: i don't know the story (history) behind +templates
[15:42] <abentley> jtv-zzz: no problem.
[15:43] <adiroiban> I just saw this is a high priority bug
[15:43] <adiroiban> and tried to nail it
[15:43] <henninge> adiroiban: cool, so you'll just have to add more columns to the table, right?
[15:44] <adiroiban> I added the one that can we seen in the screenshot
[15:44] <adiroiban> adding columns is easy...
[15:44] <henninge> ;)
[15:44] <Ursinha> bigjools, noodles775, should I open a bug for that oops or there's one already?
[15:44] <adiroiban> making +templates not die in Ubuntu is the hard part
[15:44] <adiroiban> but I assume this is another bug
[15:45] <noodles775> Ursinha: I haven't seen a bug for it yet, so that would be great. Thanks.
[15:45] <henninge> adiroiban: well, I tried to fix that before but I guess it needs some more work.
[15:46] <bigjools> Ursinha, noodles775: wait, we have plenty already?
[15:46] <henninge> adiroiban: anyway, for this but I am just not sure if Priority is really used much. Do you know if people actually use it? Why did you putit to the front?
[15:46] <henninge> s/but/bug/
[15:46] <Ursinha> bigjools, not really, I saw one in jan 1st
[15:47] <EdwinGrubbs> sinzui: you're missing a "d" for created_after and created_before.
[15:47] <bigjools> what I mean is, we already have bugs covering this issue
[15:47] <noodles775> bigjools: for that situation? I haven't seen one? (ie. the bq.builder is empty, buildstate is BUILDING but it's not causing 449421 as the date_started (i'm guessing here) is still null).
[15:48]  * sinzui plants hand in face
[15:48] <sinzui> EdwinGrubbs: Thank you for pointing my incompetence.
[15:48] <jtv-zzz> henninge: in my current state I shouldn't comment on bugs, but credits cleanup completed 2009-12-24... if there is still a problem, then that is indeed a new bug
[15:48] <noodles775> bigjools: But maybe it's an older issue? - I haven't looked further than the 2 current bad build data bugs.
[15:49]  * henninge whispers in jtv-zzz's ear, so not to wake him but to appear in his dreams:
[15:49] <sinzui> Why hasn't edge updated in several week?
[15:49] <henninge> I'll watch it...
[15:49] <bigjools> noodles775: ok let's check the prod data to see what state it's in
[15:50] <jtv-zzz> henninge: :)
[15:50] <henninge> oh how cute, he smiles in his sleep !
[15:51] <adiroiban> :)
[15:54]  * sinzui suspects that mrevell is trying to get more karma then sinzui
[15:54] <mrevell> sinzui, haha, you've discovered my plan :)
[15:55] <sinzui> mrevell: you can win the karma race by fixing the status and priority of the hundreds of old blueprints that claim to be High and inprogress
[16:11] <james_w> where would I find the tests for ./scripts/ftpmaster-tools/sync-source.py ?
[16:18] <bigjools> james_w: hahahaha
[16:19] <james_w> thought so
[16:21] <henninge> sinzui: Did you request / start an update for edge? It's become awfully slow for me.
[16:22] <sinzui> henninge: no. I was asking why edge is more than a week old
[16:22]  * sinzui cannot do QA testing
[16:23] <henninge> sinzui: while you are not QAing, do you have a few minute for a pre-imp conversation?
[16:23] <sinzui> henninge: yes
[16:24] <henninge> sinzui: cool
[16:25] <henninge> sinzui: I'd like to implement this: http://paste.ubuntu.com/351849/ as an adapter on IPerson.
[16:26] <henninge> sinzui: The adapter the adapted object would be passed to the checkAuthenticated methods in security.py as the user paramter (instead of an IPerson).
[16:27] <sinzui> henninge: I like your proposal
[16:28] <sinzui> Does it need to be extended to support private bugs and branches?
[16:29] <henninge> sinzui: I don't understand.
[16:30] <henninge> ?
[16:31] <henninge_> sinzui: I don't understand?
[16:31] <sinzui> henninge: Access control to a private object may require tests like: isBugSupervisor(obj), isBugSubscriber(), isBranchSubscriber()
[16:32] <henninge_> sinzui: oh, it can be extended for other needs, I don't mind that.
[16:33] <sinzui> henninge_: I image that this class would be near ILaunchpadCelebrity
[16:33] <henninge_> sinzui: OTOH the person object remains accessible through the picon attribute
[16:34] <henninge_> sinzui: yes, I am not sure if it is really part of registry of foundations.
[16:34] <henninge_> s/of/or/
[16:34] <henninge_> s/picon/person/
[16:35] <henninge_> how did that word get inthere ... ;)
[16:35] <sinzui> henninge_: this object crosses boundaries. We do not want lp/registry person to know about celebrities which is the lp/app.
[16:36] <sinzui> henninge_: My real concern is not where the code is, but that we need this object synced with LaunchapdCelebrity
[16:36] <henninge_> sinzui: I see. I was going to put that in the tests.
[16:36] <henninge_> sinzui: whenever a Person celebrity is added or removed from LPCelebrity, the test fails.
[16:37] <sinzui> henninge_: I this PersonMembership is too ambiguous. This class is a security helper for celebrities
[16:37] <henninge_> sinzui: "PersonCelebrityHelpers" ?
[16:39] <henninge_> sinzui: some automatic relationship to LPCelebrities could be possible, too.
[16:39] <sinzui> I think IPersonCelebrity will do
[16:39] <henninge_> sinzui: ok, I am fine with that.
[16:40] <henninge_> sinzui: although the methods in the interface don't deal with celebrities at all.
[16:40] <sinzui> I cannot think how to test that a property added to ILaunchapdCelebrity has a counterpart  in IPersonCelebrity
[16:41] <henninge_> sinzui: there is PersonCelebrityDescriptor that counts Person celebrities in a class attribute.
[16:41] <sinzui> henninge_: okay
[16:41] <henninge_> lists them, even.
[16:46] <henninge> sinzui: I'll file a foundations bug about it, I think.
[16:46] <sinzui> henninge: the methods are fine for the name, but a better name might be IPersonRoles.
[16:46] <henninge> good one!
[16:47] <tsimpson> regarding bug #385517 does this require a (to be) updated version of launchpadlib or can it be used with the current version?
[16:47] <mup> Bug #385517: launchpadlib users made to authenticate unnecessarily <Launchpad Foundations:Fix Released by leonardr> <https://launchpad.net/bugs/385517>
[16:47] <henninge> sinzui: but wait, weren't there plans for "roles" in Launchpad?
[16:47] <sinzui> henninge: I has proposed IRole in the past as a way to mange predefined roles in launchpad, and as a way to let users create arbitrary roles. They include owner and driver, but might also include designer
[16:48] <henninge> sinzui: oh, so this is going in a very similar direction.
[16:48] <sinzui> yes
[16:49] <henninge> sinzui: I am glad you like it. I'll put it in a bug. It should not be too hard to implement. (Famous last words)
[16:50] <sinzui> Do you have an immediate use?
[16:50] <henninge> sinzui: I want to get rid of the permission_helpers.py file that I introduced two branches ago before others start accumilating stuff in there ... ;)
[16:51] <henninge> accumulate?
[16:51] <sinzui> ah
[16:51] <henninge> so this really is a tech-debt thing
[17:06] <henninge> sinzui: cheers, it's bug 503454
[17:06] <mup> Bug #503454: Make checks for celebrity persons and roles easier <Launchpad Foundations:New> <https://launchpad.net/bugs/503454>
[17:13] <sinzui> henninge: I tagged the bug with tech-debt to give it more justification to work on now
[17:13] <henninge> sinzui: thanks, I'll be quick ;)
[17:39] <james_w> is there no way to tell shhh.py to get out of the way?
[17:40] <james_w> ah, I can tell make not to use it
[17:41] <matsubara> I'm getting a sh: apr-1-config: not found error when I run rocketfuel-get, anybody know what can I do to fix it? (pastebin: http://pastebin.ubuntu.com/351886/)
[17:43] <james_w> matsubara: you probably need to install libapr1-dev
[17:57] <matsubara> james_w, installing libapr1-dev solved the problem. thanks!
[17:57] <james_w> np
[18:01] <mrevell> night all
[18:25] <rockstar> abentley, hi
[18:25] <abentley> rockstar: Hi
[18:25] <rockstar> Have you ever had problems calling create_branch_and_tree twice in the same test?
[18:26] <abentley> rockstar: I don't think so.
[18:26] <rockstar> abentley, I'm seeing where it tries to create the tree on top of the already created tree.
[18:27] <abentley> rockstar: Are you specifying a tree location?
[18:28] <rockstar> abentley, no, and looking at the code, I 'spose I should.  :)
[18:28] <abentley> rockstar: I think that would resolve this problem.
[18:29] <abentley> rockstar: Maybe we should use pseudo-random tree names instead of '.' by default?
[18:29] <rockstar> abentley, yeah.  I expected it to create its own dir to put the tree in.  Maybe we ought to modify it to do that.
[18:29] <rockstar> abentley, great minds think alike?
[18:29] <rockstar> (and then I play catch up?)
[18:31] <abentley> rockstar: Yeah.  I think I was apeing the Bazaar testing methodology too closely when I did that.
[18:32] <abentley> rockstar: doing that now may break a lot of tests, but I suppose we can rewrite them easily enough.
[18:32] <rockstar> abentley, hm, maybe I should re-think that approach then, and just make my test pass.
[18:33] <abentley> rockstar: rewriting those tests would mean supplying an explicit '.'
[18:34] <rockstar> abentley, yeah.  :)
[18:35] <rockstar> abentley, I'm just trying to minimize the changes I make in this branch.
[18:35] <Ursinha> rockstar, abentley, are you aware that +code-import-list is oopsing?
[18:35] <rockstar> Ursinha, I am now.
[18:35] <Ursinha> https://code.edge.launchpad.net/+code-import-list
[18:35] <rockstar> Ursinha, eep.
[18:37] <Ursinha> rockstar, care to take a look?
[18:37] <rockstar> Ursinha, I think I have a good idea.
[18:38] <rockstar> Ursinha, is there a bug filed?
[18:39] <Ursinha> rockstar, there is now: bug 503479
[18:39] <mup> Bug #503479: +code-import-list OOPSing with AssertionError <oops> <Launchpad Bazaar Integration:New> <https://launchpad.net/bugs/503479>
[18:55]  * rockstar locates food
[19:51] <mwhudson> good morning
[20:08] <thumper> morning
[20:17] <abentley> morn
[20:18] <abentley> mwhudson, thumper, rockstar: are we standupping?
[20:29] <thumper> sinzui: got a minute?
[20:29] <thumper> flacoste: are we talking today?
[20:29] <flacoste> thumper: we should
[20:29] <sinzui> thumper: yes
[21:52] <thumper> sinzui: I've made the branch for the product series permissions, but need help with the location for the test
[21:54] <sinzui> thumper I tend to add a permission checks to the browser/tests or docs/
[21:55] <thumper> sinzui: suggestions of where to put the test for launchpad.edit for the productseries?
[21:56] <sinzui> thumper: I see that productseries-views.txt is using check_permission so that is one place
[21:57] <sinzui> and doc/productseries.txt also uses check_permission to verify objects
[22:54]  * mwhudson afk for an early lunch