/srv/irclogs.ubuntu.com/2010/05/18/#launchpad-dev.txt

lifelesselmo: ok00:00
lifelessso we need to discuss with apache a bit more00:00
elmoleonardr/lifeless: unless we can guarantee the patch will go into upstream or at least ubuntu, I'd need to be convinced the maintenance cost would be justified00:00
leonardrlifeless: in the meantime, would you mind if i applied my lazr.restful-based workaround?00:01
lifelessleonardr: of course; I think I wouldn't have asked these questions though, if you'd had a reference to the upstream state of discussion in the patch.00:02
lifelesse.g. bug <url> is tracking the issue and apache are currently undecided about whether to fix this or not00:02
leonardrlifeless: fair enough. i did link to the apache bug in my lazr.restful branch, but i didn't discuss it in any detail, and also there are two branches00:03
lifelesselmo: I'd like to see it go into Ubuntu regardless; its nuts to do a half-job the way it does.00:04
thumperlifeless: hey00:05
thumperlifeless: voice would probably be easier if you have skype00:05
lifelessI do00:29
lifelesspopping out to the doctors to register here etc, back soon00:30
lifelessok00:50
lifelessthumper: so, skype?00:55
thumperlifeless: in a kiwipycon committee meeting right now00:55
lifelessok00:55
lifelessthis arvo perhaps, then.00:55
lifelessits really just curiosity about what worked/didn't work with the unique stuff for you.00:55
thumperyep00:56
=== matsubara-afk is now known as matsubara
thumpermwhudson: where do we update the rev numbers of the sourcecode dirs?01:43
mwhudsonthumper: utilities/sourcedeps.conf01:43
thumperta01:43
thumperbzr uncommit; bzr shelve; bzr pull ../db-devel -r ancestor:../production-devel/ --overwrite01:52
lifelesssounds like you wanted rebase?01:53
thumperprobably01:53
thumperit didn't work anyway01:53
thumperlifeless: what should I use?01:53
lifelesswhat are you trying to do ?01:55
thumperI created the branch from devel -r ancestor:production-devel01:56
thumperbut what I wanted was db-devel -r ancestor:production-devel01:56
thumperso now I have a branch which I want to replace the history of01:56
lifelessIIRC01:57
lifelessmake the new branch01:57
lifelessuse replay with a -r selector to replay your revisions from the branch you want to redo01:57
thumperit is one revision which I could trivially recreate01:57
thumperI was just thinking there'd be a way01:58
wgrantYeah, it's easy with rewrite as lifeless says. 'bzr rebase -r-1.. ../production-devel' should do it.02:00
wgrantreplay sort of goes the other way.02:01
thumperwgrant: from the bzr-rebase plugin I take it02:02
lifelessbzr-rewrite02:03
wgrantBut the package is bzr-rebase.02:06
thumpergee that isn't confusing is it02:06
lifelessblame jelmer02:07
thumperlifeless: call now?02:16
lifelesssure02:17
thumpermwhudson: going to land https://code.edge.launchpad.net/~mwhudson/launchpad/unregister-bzr-git/+merge/24279 ?03:27
mwhudsonthumper: it failed tests03:37
mwhudsonso um, maybe?03:37
thumperah03:57
=== Ursinha is now known as Ursinha-afk
lifelessmwhudson: what fails ?04:51
* thumper back later tonight to talk to europeans05:57
adeuringgod morning08:17
thekornhi adeuring, bryceh: is it possible to get a typo fixed before https://code.edge.launchpad.net/~bryceharrington/launchpad/api-doc-fixes/+merge/24786 gets merged?08:38
thekornline 10 of the diff has 'whcih'08:38
brycehhrm08:38
brycehthekorn, the ec2 instance to land the change just now completed08:39
bryceh(not sure what that means in terms of being able to make changes)08:39
adeuringbryceh: did you run "ec2 land" or "ec2 test -s"? in that case, your branch should soon appear in PQM08:40
thekornah ok08:40
brycehadeuring, I ran ec2 test earlier today (with no -s), and then did ec2 land08:41
adeuringbryceh: ok; in this case, the branch should be in PQM. Or have passed PQM08:42
brycehif it's too late to include the spelling fix this time through, I do plan on doing another docs fix and can include that fix with it08:42
noodles775q bryceh08:43
noodles775:)08:43
wgrantCan someone please ec2 land https://code.edge.launchpad.net/~wgrant/launchpad/diffs-in-queue/+merge/25135 and https://code.edge.launchpad.net/~wgrant/launchpad/bug-558905-get-archive/+merge/25300? They both disappeared overnight.08:49
wgrantAlthough I see that WindmillLayer has been killed off now, so these runs should work!08:50
noodles775wgrant: sure.08:51
wgrantnoodles775: Thanks.08:52
mrevellMorning08:58
noodles775wgrant: did you have a third one? The first one wasn't approved yet so I'm guessing it didn't disappear overnight?08:58
* noodles775 switches it to approved and sends off.08:58
noodles775And 'morning mrevell.09:00
jmlgood morning Launchpadders09:06
wgrantnoodles775: Interesting. It was apparently sent off, so maybe neither of them were.09:07
noodles775wgrant: ok, both sent now.09:09
wgrantnoodles775: Thanks.09:09
=== wgrant_ is now known as wgrant
=== henninge_ is now known as henninge
=== jtv1 is now known as jtv
deryckMorning, all.10:56
zygahello11:20
zygahow hard would it be to deploy something like librarian outside of launchpad>11:20
mrevellA bloke's here to change my electricity meter, so I'll be offline for 40 mins or so but working on laptop battery.11:27
deryckgmb, hi.  So I think we need to do something this cycle about calculate-bug-heat runs causing us problems.11:36
gmbderyck, Agreed.11:36
deryckgmb, do we know why it hung yesterday?11:37
gmbderyck, This particular problem is because it didn't run for a while during the rollout11:37
gmbAnd whilst we fixed that last week all we ended up doing was deferr the problem for a week.11:37
gmbSo once again it's got too many jobs to deal with.11:37
gmbderyck, The quick solution is to cancel all the existing jobs and randomize the heat_last_updated dates of all the bugs over, say, a 48 hour period, so that they don't get all bunched up.,11:38
deryckgmb, ah, right.  So it's the offline run where we try to decrease heat on bugs that haven't been touched for awhile?  We end up with too many bugs needing to be touched, so too many jobs?11:38
gmbBut what we actually need to do is make calculation much more efficient, say with a stored procedure.11:38
gmbderyck, Yes, exactly.11:38
deryckgmb, I think we should focus on efficiency, not stop-gaps.  Though a band-aid today to get us running again is fine.11:39
* deryck looks for a bug....11:39
gmbderyck, Agreed. I think we're going to have to do the calculation as a stored procedure.11:39
gmbThe Jobs system can't cope with the volume if we stop doing the work for 24 hours.11:40
deryckgmb, is this bug 521447?  Or really we need a new bug about number of jobs created?11:41
mupBug #521447: Uninformative error message <error-handling> <errors> <javascript> <ui> <LAZR Javascript Library:Triaged> <Launchpad Bugs:Triaged> <https://launchpad.net/bugs/521447>11:41
deryckoops :-)11:41
deryckgmb, meant bug 55725211:41
mupBug #557252: Creating CalculateBugHeatJob is very slow <story-bug-heat> <Launchpad Bugs:Triaged> <https://launchpad.net/bugs/557252>11:41
gmbderyck, I think it's a new bug altogether. I'll file one, and once that bug's fixed it will invalidate 557252.11:41
gmbderyck, Basically, whilst it's nice that we try to do heat calculation in python, it's just not feasible for large numbers of bugs.11:42
gmb(Because we do it iteratively).11:42
gmbIf come up with a stored proceedure which does the same job then we can use that for both decay and on-change re-calculations.11:43
deryckgmb, and this is a trade, right?  So we move the calculation out of python and into the db?  We won't have to do this in two places, will we?11:43
gmbderyck, Right. If we're going to do this we need to do it such a way that it completely supersedes the Jobs system work, though there could be a transitional period where we use both for the sake of developer sanity :)11:44
gmb(Or we could have the Jobs system call the stored procedure rather than use BugHeatCalculator)11:44
deryckmaybe so.  But I think just doing it all on trigger is better.11:45
deryckgmb, if we do this, this would also make bug 571730 invalid, too, right?11:46
mupBug #571730: garbo-daily should prune CalculateBugHeatJobs <story-bug-heat> <Launchpad Bugs:Triaged> <https://launchpad.net/bugs/571730>11:46
gmbderyck, Yes.11:46
deryckgmb, ok, so let's do this then...11:46
deryckgmb, please file a bug about the new work to be done, then mark 571730 and 557252 invalid, citing the new bug.  Then add the new bug to the bugs backlog on the board where the card for 571730 currently is.  Sound cool?11:47
gmbderyck, Yep, WFM.11:47
deryckgmb, thanks!11:48
gmbnp11:48
=== magcius_ is now known as magcius
gmbderyck, bug 58219511:58
deryckgmb, great, thanks.12:00
gmbThanks for nothing, mup.12:02
wgrantnoodles775: Any idea what happened to the second branch? The errors look... unrelated.12:21
wgrantNot a set that I've seen before, either.12:25
=== thekorn_ is now known as thekorn
* jml off to lunch12:46
jmlwuu, cafe internet works.13:06
noodles775wgrant: yeah, the failures in the second branch look unrelated. Let me know when you've pushed the fix for the first branch and I'll resend it.13:07
noodles775jml: so enjoy it and read some stuff you've wanted to read ;) (btw: are you using an android irc app? or a computer)13:07
jmlnoodles775, I'm using my computer.13:08
jmlnoodles775, and compiling notes from UDS, which I don't really need to be online for13:08
BjornTjml: how do i use subunit to list all failed tests in a test run (i have a log file from ec2)13:09
jmlBjornT, pipe them through subunit-filter13:09
jmlBjornT, there's a bug in subunit-filter where it lets timestamps through13:10
BjornTjml: i've figured so much out, but i can't get it to work. oh, that would explain it....13:10
BjornTjml: any way to work around it?13:10
jmlBjornT, grep, I think13:10
jmlBjornT, as in, grep -v "time: ", or something similar.13:10
jmlBjornT, https://bugs.edge.launchpad.net/subunit/+bug/56715013:11
mupBug #567150: subunit-filter doesn't understand time <subunit:Triaged> <https://launchpad.net/bugs/567150>13:11
BjornTjml: right. any way to list only the names of the test, not including the tracebacks?13:12
jmlBjornT, | subunit-ls13:12
BjornTcool, thanks13:16
jmlcrap. I didn't meet adiroiban while I was at UDS :(13:50
noodles775Hi abentley, I'm just at the point where I'm ready to refactor IBuildFarmJob to refer (and delegate) to IJob, but wanted to run a few things past you...14:04
abentleynoodles775, sure.14:04
noodles775Initially, it will really be only date_create, date_started and date_finished that benefit (and I'll need to add indexes on IJob for these)...14:04
noodles775IJob.log vs. IBuildFarmJob.log is a bit of an issue - the former being Text, the latter a LibraryFileAlias reference14:04
noodles775(we could rename IBuildFarmJob.log to log_file I guess, but we'd probably want to do IBFJ.upload_log -> upload_log_file too then).14:05
abentleynoodles775, we haven't really used the log field yet, AFAIK.14:05
noodles775oh.14:06
noodles775In which case, we *could* rename IJob.log -> log_tail?14:06
abentleynoodles775, I think so.14:07
noodles775abentley: OK, thanks.14:08
abentleynoodles775, any thoughts on status?14:10
abentleynoodles775, I've been thinking that IJob.status maps pretty well to Build.buildstate, except that Build.buildstate describes failures much better.14:12
noodles775abentley: I had planned for the moment to simply override it on IBuildFarmJob.status (as we have a lot of filtering on this field), but if you think it would be better to move them completely to IJob now, I can do that?14:14
bigjoolsthat scares me14:14
wgrantThis was the main point that my initial diagrams did not solve.14:14
wgrantI am leaning towards letting each job type have its own failure states.14:14
wgrantBut using IJob.status for everything else.14:15
abentleywgrant, me too.14:15
wgrantSince it covers most of it.14:15
wgrantBut, well, it's slightly awkwarded, which is why I didn't propose it initially.14:15
wgrantWoah. Awkward.14:15
abentleynoodles775, were you planning on implementing IJob.status in terms of BuildFarmJob.status ?14:16
noodles775wgrant: how would we filter for all builds where the set of statuses for the filter are on different tables?14:16
adiroibanjml: eh. there will be other UDS-es :) I also missed the LP meeting14:16
noodles775(well, ok, it'd be possible, but seems overly complex)14:16
wgrantnoodles775: Therein lies the awkwardness.14:16
noodles775Which is why for the moment I wasn't goin to try to merge the statuses, but continue with IBuildFarmJob.status defining all the statuses we need.14:17
bigjoolsI think job status and build state are somewhat orthogonal14:17
wgrantEverything else is easy.14:17
wgrantbigjools: They only appear to diverage once the build is complete.14:17
wgrantAnd then only upon failure (at the moment, at least)14:18
bigjoolsfor all of our build types?14:18
wgrantYes.14:18
bigjoolsand future types? :)14:18
wgrantI can't think why not, but it is something to think about.14:18
abentleybigjools, I don't see how they can be orthagonal.  They can't disagree about whether the build failed, succeeded, or hasn't been attempted.14:18
wgrantExactly.14:18
bigjoolsyou're making the mistake that they represent the same thing14:19
wgrantAt the moment they do.14:19
bigjoolsI am playing devil's advocate to some extent, but I'm kinda wary of having a one-size-fits-all status14:20
wgrantThere are, I guess, statuses like ABORTING and ABORTED that we probably need.14:21
wgrantI wonder how that would be implemented or map onto this.14:21
abentleybigjools, Jobs are intended to be general.  If there is a state that they can't represent in general terms, we should add it.14:21
bigjoolsyeah, I want a new build status that represents an admin terminating it14:22
noodles775wgrant: ABORTING and ABORTED would be such new JobStatus items.14:22
wgrantnoodles775: I guess they could be.14:23
wgrantSince they are general.14:23
bigjoolsabentley: should we have a massive list of states, and change the state transitions depending on the job type?14:23
* jml hates human computer interfaces14:23
* bigjools hates humans and computer interfaces14:24
abentleybigjools, I don't think we should.  The idea with Jobs was that the general states would be represented by Job.status, and failure modes would be specified in Job.reason14:24
noodles775OK, but that would be a bigger change than I can afford right now for package builds.14:25
wgrantabentley: Is that a string?14:25
abentleynoodles775, sure.14:25
abentleywgrant, yes, and actually, I may be wrong about that.14:25
wgrantHmmm.14:25
wgrantIs that another thing that isn't used anywhere yet?14:25
abentleyThe comment on reason suggests it's the reason the job was created, not the reason it failed.14:26
wgrantAh.14:26
abentleybigjools, I also notice that the comment on Job.status mentions "cancelling" and "cancelled" as possible statuses.14:27
noodles775So, fwiw, the only way forward I can see for the moment is to have all status represented by JobStatus.14:27
noodles775(or leave the IBuildFarmJob is an IJob for later).14:28
wgrantI'd really just shadow IJob.status for now.14:28
wgrantAh.14:28
noodles775wgrant: yes.14:28
wgrantThis change is already massive enough...14:28
noodles775+1, over 7k lines at the moment, that I want to land as soon as we've tested on dogfood.14:29
wgrantOouch.14:29
abentleynoodles775, yes, I just asked your thoughts on status.  Doesn't have to be now.14:30
BjornTdanilos, henninge: can anyone help me with understanding a test failure in test_getPOTMsgSetBySequence (lp.translations.tests.test_shared_potemplate.TestTranslationSharingPOTemplate)?14:39
=== joey` is now known as joey
henningeBjornT: Show me. ;)14:40
danilosBjornT, are you, by any chance, changing sampledata?14:41
BjornThenninge, danilos: http://paste.ubuntu.com/435535/14:42
BjornTdanilos: no. i am however changing the sequence number14:42
danilosBjornT, how are you changing it?14:43
BjornTdanilos, henninge: it seems that i get this when if factory.getUniqueInteger() returns 1, but the test doesn't contain any guards against it, so i'm not sure what the right thing to do is14:43
danilosBjornT, setSequence call doesn't do any checking because it assumes you know what you are doing (for performance reasons)14:43
BjornTdanilos: i changed factory.getUniqueString() not use factory.getUniqueInteger()14:44
danilosBjornT, let me take a look at the test then14:45
danilosBjornT, I'd have to see the branch to see where the problem is, because test seems sane otherwise14:49
danilosBjornT, i.e. it depends on what's going on: what the names for self.devel_template and self.stable_template are etc.14:50
danilosBjornT, the test shouldn't depend on getUniqueString at all14:50
danilosBjornT, except maybe person creation and such14:51
BjornTdanilos: you could apply this patch: http://paste.ubuntu.com/435540/14:51
BjornTdanilos: it doesn't depend on getUniqueString directly, it just depends on getUniqueString() calling getUniqueInteger(), so that getUniqueInteger() won't return 114:52
BjornTat least as far as i can see14:52
bigjoolsjml: is there a standard way of doing diagrams to show chains of Deferreds?14:54
jmlbigjools: not really. See http://twistedmatrix.com/documents/current/core/howto/defer.html http://twistedmatrix.com/documents/current/core/howto/gendefer.html http://twistedmatrix.com/documents/current/core/howto/deferredindepth.html14:56
danilosBjornT, yeah, that does sound likely, you can simply fix it by setting the sequence to 2 instead, or, what's probably better, use getUniqueInteger in setUp instead (though, that will needlessly get different sequence ids for each of the tests, but not a big deal)14:56
jmlbigjools: in general, it's an implementation thing, not an interface thing, so there's rarely a reason to draw such a diagram14:56
bigjoolsjml: ok, I want to draw the decision tree for the buildd-manager14:57
marsrockstar, BjornT, I landed the branch that disables the windmill suite on ec2.  ec2test should work again.14:57
jmlbigjools: then just draw a flowchart14:57
* jml in a call14:57
bigjoolsjml: that's what I was doing until I stopped and wondered if there was a Twisted Way :)14:57
bigjoolsthx14:57
jmlbigjools: np14:57
BjornTdanilos: ok. i think i will hard code it, because it's hard coded in other tests, so using getUniqueInteger() in setUp() might make other tests fail.14:57
danilosBjornT, sure, makes sense14:58
jmlbigjools: btw, I looked up the deferred implementation. There's already some code that does "if isinstance(result, failure.Failure)"14:59
bigjoolsjml: ah precedence is wonderful15:00
jmlbigjools: no, as in, the check has already been performed by the time it gets to your custom check :)15:00
jmlbigjools: another diagrammatic tool that people use sometimes is state machines15:00
bigjoolsyes15:01
bigjoolsjml: it would be nice to have a state machine internally instead of this mishmash of code15:02
bigjoolsbut I want to re-work it anyway15:03
wgrantbigjools: Are you also planning to rework the internal bits of code that think they are synchronous, but really aren't?15:04
wgrantOr is that out of scope?15:04
bigjoolswgrant: which bits do you mean?15:05
wgrantbigjools: dispatchBuildToSlave and other bits and pieces around that where make synchronous calls to RecordingSlave.15:05
wgrantRecordingSlave then forges successful XML-RPC responses, so it can execute the real calls later.15:05
bigjoolsI think that's just an artefact of RecordingSlave15:06
wgrantSo people tend to assume that they will get real results in those methods... when in fact methods will fail without anybody noticing.15:06
wgrantRight.15:06
bigjoolsthat's how it's designed to work15:06
bigjoolswhich is fine for now15:06
wgrantI imagine it was only built that way so slavescanner would continue to function.15:06
bigjoolsI aim to attack 2 things:15:06
wgrantBut slavescanner is dead now.15:06
bigjools1. make build uploads asychronous by throwing them in a queue and forgetting about them15:07
wgrant\o/15:07
bigjools2. throw away the global scan, and have a scan interval on each builder instead15:07
wgrantRight. A separate state machine for each builder. Yay.15:07
wgrantThat will fix just about everything.15:08
bigjoolsat that point we'll have solved most of the scalability issues15:08
bigjoolsthen we can start making the rest of the code nicer15:08
wgrantYep.15:08
bigjoolsthe design of the b-m was influenced too much by the slave scanner really15:09
wgrantWell, it had to not break slavescanner.15:09
bigjoolsthat's separate15:09
bigjoolsI mean the global scan15:09
wgrantAh.15:09
bigjoolswe could have done separate scans on each builder right from the start15:09
wgrantMm, yes, I guess so.15:10
=== leonardr is now known as leonardr-afk
BjornTmars: about your branch to disable windmill tests on ec2. did you land that one through ec2tests? :)15:46
marsBjornT, nope, ironically15:47
BjornTmars: maybe you should have :) looking at your patch, it looks like you've now enabled the mailman tests, haven't you?15:48
marsBjornT, ?  I did not touch that code.15:49
BjornTmars: but you changed which layers are run15:49
BjornTmars: it used to be !MailmanLayer. now it's !WindmillLayer. no?15:50
marsBjornT, yes.  I added another --layer switch to disable the windmill tests.  bin/test adds yet another layer switch on its own to disable mailman.15:50
BjornTmars: i don't think so. the defaults are there, in case no --layer is specified only15:50
marsBjornT, ah, so I misread the code in bin/test then.  Either way, I doubt I would have noticed the mailman tests running on ec2.15:52
wgrantWell... the mailman tests normally mostly fail.15:52
wgrantSo you probably would have.15:52
BjornTmars: well, what wgrant said :)15:52
mars:)15:53
wgrantOK, so, yes, it looks like MailmanLayer is running :(15:54
wgrantThat explains the odd failures that one of my branches had.15:54
marsBjornT, so is there anything that needs to be fixed outside of adding the explicit --layer=!Mailman ?15:54
BjornTmars: nope, adding the explict !Mailman is the right thing to do, i think. i would use --layer=!(MailmanLayer|WindmillLayer) just to be sure, though. i don't think using --layer=!MailmanLayer --layer=!WindmillLayer will work15:57
marsBjornT, ok, will do so as soon as rf-get completes15:58
=== leonardr-afk is now known as leonardr
abentleynoodles775, what is the relationship between BinaryPackageBuild.is_virtualized and BuildQueue.virtualized ?16:09
abentleynoodles775, err, not BuildQueue.  SomethingJob.virtualized16:09
noodles775abentley: so currently BinaryPackageBuild.is_virtualized just returns whether the associated archive is virtualised, which isn't great, which is why the new schema adds a virtualized attribute to BuildFarmJob.16:15
noodles775abentley: which I'm guessing you saw yourself... do you have a suggestion?16:15
marswgrant, look at the bright side: at least the ec2 server didn't hang16:16
wgrantmars: True!16:16
abentleynoodles775, I'm just trying to understand the various attributes.  Seems like virtualized returns is_virtualized, which returns archive.virtualized.16:16
abentleynoodles775, if we have all these attributes, I would expect them to vary.16:17
noodles775abentley: IBuildFarmJob.virtualized is a Bool db attribute... (and I've not yet removed IBinaryPackageBuild.is_virtualized, but intend to)... or did I miss something?16:18
abentleynoodles775, No, that sounds like a sane plan.16:20
noodles775abentley: great. Let me know if you spot anything else.16:33
=== Ursinha_ is now known as Ursinha
=== salgado is now known as salgado-lunch
=== beuno is now known as beuno-lunch
=== matsubara is now known as matsubara-lunch
=== Ursinha is now known as Ursinha-lunch
=== kfogel is now known as kfogel-lunchpad
obergix[work]flacoste: Hi. Just sent you some request again about presentation @OWF... in case you missed previous emails and could ACK me17:39
obergix[work]jml: as I didn't get any response from you about presenting @OWF, I just resent a query to Francis, but of course, I'd appreciate if you responded too ;)17:40
adiroibanwhat is the prefered way for naming the Y.namespace variable ? In the current code we have the folowing http://paste.ubuntu.com/435636/17:54
zygadoes launchpad use storm as the ORM layer or is there some other piece of tech involved?17:58
=== gary_poster is now known as gary-lunch
rockstarWe're in testfix?18:06
rockstarzyga, yes, storm is our preferred ORM.18:06
zygarockstar, are you aware of any django-on-storm projects?18:06
rockstarzyga, yes, Ubuntu One uses storm and django.18:07
zygarockstar, can I (canonical) get a peek at the code to see how to piece django and storm in a sensible way?18:07
zygaanything that you might share would be beneficial to me18:07
rockstarzyga, you're asking the wrong person.  You should probably ask someone on the U1 team.18:08
zygarockstar, #? #ubuntu-one?18:08
rockstarzyga, no idea, actually.18:08
zygaok, I'll check, thanks18:08
rockstarzyga, I believe jamesh made a storm mailing list post about using storm and django as well.18:09
rockstaradiroiban, var namespace = Y.namespace('lp.<app>.<app-specific-namespace>'); is correct.18:09
=== beuno-lunch is now known as beuno
adiroibanrockstar: thanks!18:10
=== matsubara-lunch is now known as matsubara
jmlgood night Launchpadders18:26
jmlrockstar, grats on your dementating!18:26
rockstarjml, I had to stop and think about that.18:27
rockstarjml, I thought you knew more about my mental health than I did...  :)18:27
rockstar(although that wouldn't surprise me)18:27
jmlI have orbs.18:27
=== salgado-lunch is now known as salgado
adiroibanrockstar: is this wikipage still valid https://dev.launchpad.net/JavaScriptBuildSystem ?19:01
=== mup_ is now known as mup
marsadiroiban, the part about new script files is correct.  Plenty of examples in base-layout-macros.pt19:08
marsadiroiban, the CSS story is different.19:08
marsadiroiban, look at buildout-templates/bin/combine-css.in to see how the different CSS files are pulled together.19:09
=== Ursinha-lunch is now known as Ursinha
adiroibanmars: there is also utilities/lp-deps.py19:10
adiroibanand it looks like in base-layout-macros.pt, the JS files must be manualy added for devmode19:12
adiroibanor I am missing something ?19:12
marsadiroiban, when you add a file to the devmode block, lp-deps will pick it up as a new dependency.  It will be automatically rolled into launchpad.js.19:13
adiroibanmars: ok. but what is the recommended way for incliding JS files: in base-layout-macros.pt or in each templates?19:14
marsadiroiban, that depends where the JS is used.  What did you add?19:14
adiroibanmars: I'm moving the translation js files from canonical/launchpad/javascript to lib/lp/translations/javascript19:15
marsadiroiban, then they are probably listed in base-layout-macros.pt19:16
adiroibanone file is in  base-layout-macros.pt while others are in other templates19:17
adiroibanbut the file included in base-layout-macros.pt is only used in 2 other templates19:17
marsadiroiban, how heavy are the other files?  Are they all used on only one page?19:18
adiroibanmars: yes. they are used on only one page19:19
adiroibanbut in production, all js files are merged into launchpad.js. right?19:19
=== kfogel-lunchpad is now known as kfogel
marsI believe that is the case if and only if they are listed in base-layout-macros19:20
marslp-deps.py does not scan every template file in launchpad19:20
marsadiroiban, to my knowledge the other applications combine everything together into one JS file, then have it all in launchpad.js19:21
marsregardless of whether it is used on one page, or on many19:22
marsit works because the vast majority of the JavaScript for LP is in the YUI Core.  Our apps are very thin on top of that.19:22
adiroibanmars: that is correct. and if in production, all js code is merged in launchpad.js, then why not put all js file include statements in base-layout-macros ?19:23
marsadiroiban, I do not know why translations chose to do it otherwise.19:23
marsalso, I can not guarantee that those files are minified19:24
marsif they aren't in the JS rollup19:24
adiroibanmars: how do I know if a file is minified?19:24
marsadiroiban, simplest way is to visit that page on staging.launchpad.net, View Source19:25
marssee if it looks like jibberish :)19:25
marsadiroiban, if you tell me a URL to check, I can do so for you19:25
adiroibanhttps://translations.edge.launchpad.net/ubuntu/lucid/19:25
adiroibanmars: sorry. https://translations.edge.launchpad.net/ubuntu/lucid/+imports19:26
adiroibanlib/lp/translations/templates/translation-import-queue-macros.pt has an javascript include tal condition for devmode19:27
adiroibanmars: it should be build/translations/translations.js19:28
marsadiroiban, it looks like everything on production has been properly rolled into launchpad.js19:28
adiroibanmars: then it would make sense to put the include statements in base-layout-macros. or not?19:29
marsIt sounds like it, yes.19:29
adiroibanmars: and then maybe we can add a note on the wikipage that js includes can be put in base-layout-macros, rather than in templates using tal conditions for devmode19:30
marsyes, that would help19:30
adiroibanok. righ now we have „To add a new YUI3 dependency, just add a new <script> line to the main site template.”19:31
adiroibanbut for me „YUI3 dependency” does not mean „a new js file used for Launchpad”19:31
marss#main site template#lib/lp/app/templates/base-layout-macros.pt#19:32
adiroibanmars: yep19:32
marsgood point19:32
marsthat is not clear19:32
adiroibanmars: can you please change the wikipage. I don't think I was accepted yet into the LP-documentation team19:33
marsok19:33
adiroibanthanks!19:36
marsadiroiban, better? https://dev.launchpad.net/JavaScriptBuildSystem19:43
marsI dislike the asymmetry between the CSS and JS build chain.19:44
marsWould be nice if you could just type "make clean_static && make static"19:44
marsor something :/19:44
marsweb_resources?19:44
marsassets?19:44
adiroibanmars: much better :)19:45
mars"make assets"?19:45
adiroibanafter changing utilities/lp-deps.py, i had to do „make clean”19:45
marsadiroiban, good!19:45
adiroibanand make js_clean & make jsbuild19:45
adiroibanhad not created the symlinks19:45
adiroibanbut utilities/lp-deps.py should only be changed once per each lp application19:46
=== gary-lunch is now known as gary_poster
=== mwhudson_ is now known as mwhudson
=== gary_poster_ is now known as gary_poster
mtaylorthe "Find" link on the Assign to: field on +filebug doesn't open up a popup, it takes you to a whole new page - this can be troubling...22:06
wgrantmtaylor: Bug #51359122:09
mupBug #513591: Assignee selector on +filebug has lost its JavaScript <story-ajaxify-dupe-finder> <Launchpad Bugs:Triaged> <https://launchpad.net/bugs/513591>22:09
mtaylorwgrant: awesome.22:12
=== matsubara is now known as matsubara-afk
=== salgado is now known as salgado-afk
=== mup_ is now known as mup
lifelessgary_poster: I realise you're probably gone; just letting you know that I'm chatting to apache, I hope:  https://issues.apache.org/bugzilla/show_bug.cgi?id=39727#c3423:53
bdmurraycould somebody help me out with the following error message when running a test?23:56
bdmurrayhttp://pastebin.osuosl.org/3281023:56
* thumper looks for jelmer23:57
thumperbdmurray: you are missing a login23:57
thumperbdmurray: I take it this is in a page test?23:58
bdmurraythumper: yes, thanks23:58
thumperbdmurray: in the story page tests you need an interation, which you get from login()23:58
thumperor login_person23:58
thumperbdmurray: often login(ANONYMOUS) is enough23:58
thumperalso, to get the ubuntu distro, probably easier to use getUtility(ILaunchpadCelebrities).ubuntu23:59

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!