/srv/irclogs.ubuntu.com/2010/08/19/#launchpad-dev.txt

lifelesswgrant: so00:00
lifelesswgrant: you're expressing the point I made00:01
lifelesswgrant: but the point the malone folk made is also valid00:01
thumperlifeless: advice: where should the canonical_url method go?  lp.app... ???00:27
lifelessthumper: is it a function or a method ?00:28
thumperlifeless: it is a function used all over the place00:28
thumperright now it is in canonical.launchpad.webapp.publisher00:29
lifelessso, I'd leave it there, for now00:29
thumperbut mostly imported from canonical.launchpad.webapp00:29
lifelessprobably we want lp.components or someting for it, but its not going to be cleaner just pulling it out00:29
lifelessits fairly rightly connected to that core mess ;)00:29
thumperwhat do you mean by lp.components?00:30
lifelessoh bah00:31
lifelessI wwas thinking of ./lib/canonical/launchpad/components00:31
lifelessnaming is hard. Call it chicken_url and be done :P00:31
mwhudsonthumper: we don't really have a place for most of the things in canonical.launchpad.webapp yet aiui00:32
mwhudsonthumper: of course, it should really be in lazr.something :-)00:32
thumper:-(00:32
lifelessthumper: so yeah, serious - don't move it as part of this, I know you want to, but its the wrong end of webapp to start at00:32
thumperyeah00:32
thumper:(00:33
thumperI'm trying to get a failing test case00:33
thumpertranslations have layer specific views for ITranslator00:33
thumperbut you can't go: canonical_url(factory.makeTranslator())00:33
thumpernor for translation queues00:34
thumperand no factory method for distro series language00:34
thumperyah00:35
thumperfound one00:35
thumperPOFilee00:35
mwhudsonthumper: what do you need for a test case?00:36
thumperan existing page on a specific layer00:36
mwhudsonis it possible to create that situation for a test?00:36
thumperI found one anyway00:36
mwhudsoni wrote a test case that registered a new view a couple of weeks back00:36
thumperah00:37
thumperremember where?00:37
mwhudsonlp.testing.test_publication i think00:37
mwhudsonit's bonkers00:37
mwhudsonbut that can be hidden i expect00:37
mwhudsonlp.testing.tests.test_publication00:38
mwhudsonperhaps should be rewritten as a fixture rather than a test method00:38
thumpermwhudson: heh00:38
thumpermwhudson: you are right, it does look a little bonkers00:39
lifelessmwhudson: you could use my shiny new project ;)00:40
mwhudsonlifeless: i need to look at that again00:40
mwhudsonlifeless: where is it?00:40
thumperlifeless: another project?00:41
lifelesslp:python-fixtures00:42
lifelessor pypi00:42
lifelesspyppi:fixtures00:42
mwhudsonlifeless: so the new thing over what testtools' useFixture is the reset() method?00:45
lifelessmwhudson: its a more complete API, yes00:46
lifelessalso no tearDown00:46
mwhudsonoh ok00:46
lifelessrather a cleanup contract00:46
mwhudsonwell sure, if you have addCleanup...00:46
lifelessso as a developer of these fixtures00:46
lifelessyou do different (and I hope less) work00:46
lifelessI thought testtools had installFixture, rather than useFixture, or possibly even just LP has it00:47
mwhudsonoh right00:47
mwhudsoni was just going from http://pypi.python.org/pypi/fixtures00:47
lifelessright00:47
lifelessrest is nice :)00:48
mwhudsonhm00:49
mwhudsoni wonder how hard it would be to kill ILaunchBag00:49
jelmerhmmm, lunch00:50
lifelessI've love to kill the magic thread locals scattered all over00:50
lifelessmore context less magic. _please_00:50
mwhudsonlifeless: there's the zope interaction and the database connections, i can't see them going away00:51
lifelessmwhudson: why not ?00:51
lifelessboth have the request as context00:51
mwhudsonwell, for the former, i think it would be a pretty massive change to zope00:51
mwhudsonalthough maybe it wouldn't be too bad00:52
lifelessI'm sure there would be fallout00:52
lifelessbut00:52
mwhudsonyou're right though that the request is the real context00:52
lifelessif we want to e.g. move to twisted throughout, or spread requests across threads in scatter-gather, or suspend requests for AJAX, we need to fix this.00:53
lifelessand systematically, so that it doesn't bite us in the a**00:53
mwhudsonthe launchbag particularly is stuff that's mostly semi-trivially derived from the request00:53
mwhudsonwhich is why it should be first up against the wall00:53
lifelessso how does one order_by a Reference ?00:54
wgrantI believe you need to join against it and order by a column of it.00:56
lifeless._local_key looks promising00:57
wgrantThe _ does not.00:57
lifelessdetails00:57
lifelesspython, consenting adults. \o/00:58
wgrantEw.00:58
poolie_hi all00:59
lifelessok, bbiab, selftest running01:02
lifelessdo we use __str__ in the UI anywhere ?01:13
lifelesslike, on distribution or such things ?01:13
=== Ursinha-bbl is now known as Ursinha
lifeless\o/ /participants fix in devel01:50
thumpermwhudson: using flacoste's idea, I can make canonical url work without huge changes to the publisher zcml01:57
thumper  <utility01:57
thumper      component="lp.code.publisher.CodeLayer"01:57
thumper      provides="zope.publisher.interfaces.browser.IDefaultBrowserLayer"01:57
thumper      name="code" />01:57
thumpergetUtility(IDefaultBrowserLayer, "code") gets you the layer then01:57
thumpers/"code"/rootsite/ and we should be good01:58
thumperwith an extra default for no defined layer01:58
mwhudsonthumper: yeah, makes sense01:58
thumperis there a layer for the mainsite?01:58
mwhudsoncanonical.launchpad.layers.LaunchpadLayer i think02:00
thumpermwhudson: ta02:00
pooliethumper: your thing of resolving lp: for private branches on the server side only02:40
pooliehow are you testing that?02:40
thumperpoolie: pushing to bzr+ssh://bazaar.staging.launchpad.net/+branch/project02:51
poolieiwbn to eventually eliminate the upfront check in bzr02:58
poolieat least for some cases, or at least experimentally02:58
thumperpoolie: yes, but there are several other things I want to get done first03:00
thumperpoolie: but yes, I agree03:00
thumperpoolie: and for the record, +lots from me on nested trees03:00
poolieok03:00
poolieand i know commit-to-stacked is still around03:00
poolieit may be small enough we can just do it03:00
thumper+1 on that too03:04
=== lifeless_ is now known as lifeless
marslifeless, https://devpad.canonical.com/~mars/qa-pipeline/deployable.txt03:24
lifelessmars: looking good03:28
marsI think it looks ugly, but it works!03:28
lifelessits  alot quieter without the rrors03:29
lifelesswhen its logged in it should be quite readable03:29
michaelh1Hi there.  When is staging due back up?03:29
lifelessanytime03:30
lifelessit updates automatically03:30
lifelessso its down when applying the updat03:30
lifelessehttps://staging.launchpad.net/successful-updates.txt03:30
michaelh1It's been down for around 20 minutes.  Is that normal?03:31
lifelessyes03:31
marshttps://staging.launchpad.net/successful-updates.txt for the link-lazy03:31
Ursinhaso everyone else is working late too :)03:42
Ursinhamars, https://code.edge.launchpad.net/~ursinha/qa-tagger/change-to-newer-api/+merge/3307803:46
thumperUrsinha: I'm not03:47
Ursinhaha03:47
Ursinha:)03:48
Ursinhamars, it took me a bit more to submit that simple branch because that assignment wasn't working with my launchpadlib version; after talking to leonard I tried with the trunk version and it worked fine, then I submitted the mp03:49
michaelh1Hmm.  Staging has been down for 90 minutes.  The last successful-update line is from 3 hours ago04:26
thumperspm: ^^04:27
spmawesome. it's the same failure that clobbered edge yesterday.04:52
thumpermichaelh1: hey05:38
thumpermichaelh1: regarding nested trees in bzr05:38
adeuringgood morning08:23
StevenKAnyone around who can help cook some SQL?08:38
spivStevenK: stir-fry it with some mushrooms, garlic, and losa sauce.08:45
StevenKHah08:45
StevenKspiv: And serve on a bed of Storm?08:45
spivStevenK: and scrambled python eggs.08:47
StevenKThe code in InitialiseDistroSeries currently grabs all of the packagesets in the packageset table associated with the parent distroseries and inserts them back, with the distroseries pointing at the child.08:49
* spm questions where spiv gets his 'losa sauce'. Does he have some sort for machine that crushes hapless losas!?!?! Said machine called "launchpad" or maybe "ubuntuone".08:49
StevenKI'd like to do the same for the packagesetsources table, select all rows where the packageset is in the packageset table with a distroseries of the parent, and insert them back with the packageset ids pointing to the child08:50
spivspm: I don't reveal my sauces ;)08:51
spm*groan*08:51
StevenKHaha08:51
StevenKThis is complicated by the fact that there can be multiple packagesets for the distroseries08:54
mrevellAlright everyone?09:07
noodles775Yep :)09:08
mrevellGood :)09:08
mrevellnoodles775, One of our participants in the second round is an Arm person working for Linaro.09:08
noodles775Aha09:09
noodles775mrevell: btw: I just updated two of the mockups this morning adding a comment column.09:09
mrevellAh, thanks noodles77509:10
stublifeless: Are you going to land https://code.edge.launchpad.net/~lifeless/launchpad/foundations/+merge/32299 ?10:17
stubOr should I kick off an ec2 land?10:19
=== maxb_ is now known as Guest7510
=== jelmer is now known as Guest46994
=== Guest46994 is now known as jelmer
lifelessstub: could you please10:45
lifelessstub: I had thought it was going in with your branch :)10:45
stubIts all been mushed together10:46
lifelessstub: thanks10:57
lifelessgnight10:57
deryckMorning, all.12:01
=== Guest7510 is now known as maxb
=== maxb is now known as Guest10006
=== maxb_ is now known as maxb
=== henninge_ is now known as henninge
=== mrevell is now known as mrevell-lunch
=== jcsackett|afk is now known as jsackett
=== mrevell-lunch is now known as mrevell
jmlbac, mars: this is my rough plan for changing the ec2 mail: http://paste.ubuntu.com/480435/ – thoughts?14:44
jmlthoughts welcome from others, too.14:44
jelmerjml: I'm not sure how hard having multiple attachments is, but would it make sense to attach the profiling information as an attachment as well.14:48
jmljelmer, multiple attachments is pretty easy. which profiling data do you mean, and what would you use it for?14:50
jelmerjml: The "Test suite profiling information"14:52
jelmerjml: Actually, thinking about what I use it for, I don't need it.14:52
jelmerI've been discovered a few launchpad layers I didn't know about using it, but that doesn't seem like a good reason to keep it in the emails.14:53
stubsinzui: OpenIDIdentifier or OpenIdIdentifier?14:56
sinzuiI like the latter14:59
bacjml: that sounds like a good plan.  i really like the idea of having failures up front.  makes checking it on a phone much better.  i don't do that often but flicking through an insanely long message to get to the bottom is tiresome.15:14
jmlbac, thanks.15:26
=== deryck is now known as deryck[lunch]
marsjml, be careful with the stdout/stderr capture code.  if test_on_merge.py crashes, it writes to stderr.  Not sure if you can control stdout and stderr just for the tests themselves.16:13
jmlmars, good to know. I lean toward the "tests shouldn't print to stdout/err" approach anyway.16:15
jmlmars, fwiw, the way it works now is that subunit forwards all the gunk it doesn't recognize onto a file-like object that you give it.16:15
marsjml, I should be more specific: if the test infrastructure detects a hang, it will start printing to the pipes, and that will be appended randomly to the output :/16:15
marsjml, yep, the subunit forwarding would probably be enough.  Just wanted to make sure the output wasn't accidentally eaten.16:16
=== salgado is now known as salgado-lunch
marsjml, I like the outline for adding a sort of test summary to the head of the email (don't remember the exact terminology)16:18
jmllist of failing tests.16:18
marsbranches, revno, X passed, Y failed, roll of failures - all very nice16:18
marsthe plan looks good to me.  I would be happy with any of those changes16:21
marsbac, why would you check the test failures on the phone?  Surely you can't *fix* the test failures on the phone? :)16:22
marsIf you can't do anything about it, why check?16:22
bacmars:  b/c i'm nuts16:22
bacmars: you know, you're out having a nice dinner, get email with a FAILURE message.  it's nice to know what failed so you can obsess over it rather than enjoying your meal.16:23
dobeycan anyone tell me what the problem is exactly in https://launchpadlibrarian.net/53996367/buildlog.txt.gz ? looks like bzr is not happy to build stuff on maverick with source package recipes?16:34
jmlI think that's a known bug, not being able to build stuff on maverick with source package recipes.16:39
jelmerI think rockstar was working on a fix for that last week16:43
jelmers/I think//16:44
jmlhttps://bugs.edge.launchpad.net/launchpad-code/+bug/61707216:44
=== deryck[lunch] is now known as deryck
gary_posterbug 60769117:13
gary_poster_mup_ is dead :-/17:13
=== benji is now known as benji-lunch
dobeyah ok17:16
dobeyguess we just have to wait for it to get deployed to edge then17:18
niemeyerbug 12345617:23
niemeyerbug 12345617:27
niemeyerHmm17:27
niemeyerbug 12345617:30
_mup_Bug #123456: podcast crashes amarok <Amarok:Invalid> <xine-lib (Ubuntu):Fix Released> <https://launchpad.net/bugs/123456>17:30
niemeyer_mup_: Way to go17:30
=== al-maisan is now known as almaisan-away
sabdflhi folks, could you amend the LP CSS to use UbuntuBeta as a preferred font, if it's available, please?17:37
sabdfland let me know when that's on edge?17:37
sabdflwe'll have a Mono in due course too17:37
jmlsabdfl, will do.17:40
=== salgado-lunch is now known as salgado
=== benji-lunch is now known as benji
=== almaisan-away is now known as al-maisan
lifelessgmb: love the quotes page quote..what was the context ? ;)18:14
=== almaisan-away is now known as al-maisan
sabdflthanks jml18:16
jmlsabdfl, np.18:17
* jml off for the day18:17
sabdflcheerio18:17
lifelessdanilos: flacoste: what bug was the cronscript db-loop-tuner issue filed as ?18:22
daniloslifeless, none yet, sorry 'bout that18:22
lifelessno worries18:22
lifelessof course, I can't put my super clever simple fix in the bug until there is one :)18:23
lifelesswould you like me to write up my understanding as a new bug? .... it might be a bit biased18:23
=== jsackett is now known as jcsackett
lifelesshah18:41
lifeless        raise RuntimeError("Unexpected situation. "18:41
lifeless    RuntimeError: Unexpected situation. Please contact the developers.18:41
lifelessleonardr: nice work on the storm collection changes18:44
lifelessleonardr: I'm really looking forward to seeing that live18:44
leonardrthanks, it's still in progress...18:44
lifelessnaturally18:45
=== al-maisan is now known as almaisan-away
lifelessjkakar: around ?18:58
leonardrjamesh_, are you around for some storm help?19:11
leonardrlifeless, i talked to jkakar today, he's on holiday and avilable intermittently19:11
lifelessyeah, I was being hopeful19:12
lifelessstorm has decided to take a code path with an assertion in it :(19:12
lifelessjamesh_ will be 2am local tz now19:12
leonardroh well19:12
lifelessleonardr: maybe I can help ?19:12
lifelessor were you asking for me ?19:13
leonardrlifeless: no, i was just telling you about jkakar19:13
leonardri also need storm help19:13
lifelesswhats up19:13
lifelessleonardr: whats the storm help you need ?19:14
leonardrlifeless, i'm in a situation where i can call len() on a ResultSet object before getting the data, but calling len() after getting the data raises an exception19:15
lifelesswhats the exception19:15
leonardr*** FeatureError: __contains__() does not yet support set expressions that combine ORDER BY with LIMIT/OFFSET19:15
lifelessah19:16
leonardrlimit and offset are somehow being associated with the dataset when i get the data, and it's persisting beyond the data fetch19:16
lifelessso by getting the data, you mean slicing ?19:16
leonardryes19:16
leonardri kind of think it's a problem in batchnavigator19:16
lifelessinterestingly19:17
lifelessmy storm here does a copy() in __getitem__19:17
lifelessI wonder if its a sqlobject glue issue19:17
flacostelifeless: good news, mthaddon said that they will be able to start on the new 'stable' staging19:17
leonardrso does mine, that's why i think it's batchnavigator19:17
flacosteiow, that doesn't need to wait for the completion of the Lucid upgrade19:17
flacostewhich should be finalized with the next DB roll-out19:18
lifelessflacoste: \o/19:18
lifelessflacoste: you da man19:18
lifelessor rather19:18
lifelessmthaddon and the losas are da men19:18
flacostethe losa are the maen19:18
flacosteexactly19:18
lifeless:)19:18
lifelessstill19:19
lifelesspraise the messenger, shoot the messenger. Its all good :)19:19
lifelessleonardr: whats the class of the resultset ?19:19
lifelessleonardr: it might be a tableset, resultset or sqlobjectresultset,19:20
lifelessleonardr: or a decoratedresultset19:20
leonardrlifeless, pretty sure it's a resultset19:20
lifelessleonardr: lets make certain19:20
leonardrlifeless: ok, it's not a problem with batchnavigator. i can run len(self.list), and then i can slice self.list, and then len(self.list) raises an exception. self.list is the same object in all 3 cases19:22
leonardrso it's either storm or the FiniteSequenceAdapter19:22
leonardrnow to answer your question19:22
leonardrlifeless, self.list.context is a storm.store.ResultSet19:23
lifelesswhats self.list then, a security proxy ?19:23
leonardrself.list is a canonical.launchpad.webapp.batching.FiniteSequenceAdapter19:24
leonardrwhich does pretty much nothing--maps foo() to self.context.foo() for some common operations (iter, len, getitem)19:25
lifelessok19:25
leonardrso it's probably not the FSA's fault19:25
lifelessso does self.list.context.count(); self.list.context[whatever:whatever]; self.list.context.count()19:25
lifelessalso blow up ?19:25
leonardrlifeless: no, that works19:29
leonardrhowever, self.list.context[whatever:whatever].count() blows up19:29
leonardrbut i don't see where one object is being substituted for the other, even though i'm pretty certain that's what's happening19:30
lifelessah19:30
lifeless[]19:30
lifelessthe __getitem__ returns a curried resultset which only answers whatever:whatever19:30
lifelessyou aren't expected to call count on it19:30
lifeless(and indeed, calling count on it would return a different value to count on self.list.context)19:31
leonardrand afaict i never do. but i have a feeling that must be what's happening19:31
lifelessdoes self.list.context.count() work after len(self.list) starts blowing up ?19:31
leonardri don't store the result of self.list[self.start:self.end+1]. the first thing i do is turn it into a python list, and i do store that19:31
leonardrlifeless: no19:32
lifelessleonardr: so once len(self.list) starts going boom, self.list.context.count() starts going boom19:32
lifelessdo you perhaps replace self.list.context?19:33
leonardrchecking now, but i don't think so19:33
leonardrno, same object19:33
leonardrunfortunately i don't have visibility into its ._limit19:33
lifelessremoveSecurityProxy ?19:34
salgadojames_w, in that thread about binary upload, bigjools said we no longer accept mixed uploads anywhere, but do we still accept binary-only uploads anywhere?19:35
leonardrlifeless: that worked, but it makes things more confusing. both ._limit and ._offset are Undef19:36
lifelessleonardr: are you in pdb ?19:36
lifelessleonardr: if so, consider19:36
lifelessdebug self.list.context.count()19:36
james_wsalgado: from the buildds, unless they go through a different mechanism.19:37
leonardrok, give me a minute19:37
james_wsalgado: mixed upload is what we want in some cases for vostok.19:37
salgadojames_w, oh, right, I'd seen that in a test a few days ago and then forgot it completely19:38
leonardrlifeless: i'm forming a hypothesis that the ResultSet object and the temporary copy of it have an 'expr' object in common19:38
salgadojames_w, yeah, that I got; was just trying to figure out if there were other things I could get rid of19:38
leonardrand that this 'expr' object is the one that has its limit and offset modified by the count()19:39
lifelessleonardr: that would be exciting19:40
lifelessleonardr: and plausible19:40
lifelessI'm facing a potentially similar exciting situation19:40
leonardrlifeless: yes, the ResultSet self._limit is Undef, but self._get_select().limit is 319:41
lifeless\o/19:42
leonardrlifeless: there's code in _get_select that is supposed to avoid this problem, but i do see a big "# XXX UNTESTED!" next to the relevant bit19:45
lifeless-hah-19:48
lifelessits bug filin time!19:48
leonardrlifeless: ok, here's the problem19:51
leonardrthe expr object is shared between the slice and the original19:51
leonardr_get_select includes code to change expr.limit if a new one is provided, but not to remove an existing expr.limit if one is _not_ provided19:52
lifelessand that may be deliberate19:52
lifeless><19:52
leonardrwho knows19:52
lifelessjaaaaamuuuuuuuu19:52
leonardrso either _get_select needs to change or we need to copy the expr object19:52
leonardrlifeless: https://bugs.edge.launchpad.net/storm/+bug/62050820:06
_mup_Bug #620508: Slicing a ResultSet breaks subsequent len() calls. <Storm:New> <https://launchpad.net/bugs/620508>20:06
lifelessI'd try changing it to fixup when limit isn't supplied20:09
lifelessand see if any tests break20:09
leonardrseems to work basically, but now that i've established it's not my fault i need to fight a different fire20:13
lifelessgl20:13
salgadojames_w, do we still accept uploads without .orig.tar.gz files when they've been included in previous uploads?20:30
james_wsalgado: yes, that would be normal20:31
salgadojames_w, and in that case the .orig is included in the .dsc but not in the .changes, is that correct?20:32
james_wsalgado: correct20:32
james_wand the checksum in the .dsc has to match the file we already have20:33
salgadoright20:33
salgadojames_w, I'm confused because there's a test which says it makes an upload where the .orig is missing (and indeed it's not in the .changes).  however, when I remove the .orig from the same directory where the .dsc and .diff.gz are, the test fails20:35
james_wsalgado: where's the test?20:35
salgadomaybe that's because I'm assuming it'd look up the .orig in the librarian but it's actually looking it up on that same directory20:35
salgadojames_w, lib/lp/archiveuploader/tests/nascentupload.txt20:35
salgadoit uploads lib/lp/archiveuploader/tests/data/ed_0.2-20_i386.changes20:36
salgadoif you remove ed_0.2.orig.tar.gz from there, the one test which says uploads without .orig are allowed breaks20:37
mtaylorthumper: morning?20:37
mtaylorlifeless: I need to report a bug, but it's on something I'm afraid will go away so I'm not sure how to capture/point folks at it20:38
lifelessmtaylor: details ;P20:38
mtaylorthumper, lifeless: https://code.edge.launchpad.net/~eday/nova/api-tests/+merge/3296020:38
mtaylorlifeless: that's showing conflict markers as if there were a merge conflict20:38
mtaylorlifeless: but if you merge it into the target, those merge conflicts are not there20:38
lifelessso20:39
lifelessits been merged already20:39
lifelessnaturally it won't conflict - theres nothing to do.20:39
lifelessalso20:39
mtaylorhrm20:39
lifelessyou probably have your 'use weave merge' settings still20:39
lifelessbecause lp doesn't have all plugins installed20:40
lifelessand doesn't have per project tweaks20:40
mtaylorI do? I don't have that set up at all20:40
lifelessit cannot predict faithfully whats going to happen20:40
lifelesshm20:40
lifelesswell20:40
salgadojames_w, yeah, the test is just lying, I think. it says it's not uploading the .orig bug in fact it makes it accessible to  NascentUpload directly, so it's like if it had been uploaded.  IIUC20:43
mtaylorlifeless: so - it showed the conflicts markers as it does now - but when eday did a manual test it didn't conflict - so he marked it approved and it landed fine ... should I file a bug or should I wait until it happens again20:43
lifelessuhm20:44
lifelessit may have conflicted before trunk changes20:44
lifelesswe don't recalcualte the diff except when the branch itself changes20:45
mtaylorah20:46
mtaylorok. that explains it20:46
mtaylorlifeless: I would like to request a "regenerate diff" button then20:47
lifelessmtaylor: me too the bug then20:48
lifelessI don't want a button20:48
lifelessI want DTRT20:48
lifelessregenerate the diff when you land on the page20:48
lifelessor something20:48
mtaylorwell yeah, that would be great20:51
james_wsalgado: yeah, DSCFile will find the .orig.tar.gz in that path, even though it isn't in the .changes?20:52
mtaylorI only want a button in as much as I want to be able to make sure I can do a current review20:52
salgadojames_w, exactly, but I think in a real upload with a .changes that doesn't include the .orig, it wouldn't be there -- it would have to be found in the distribution.  correct?20:53
james_wsalgado: I haven't dug that far. That would be the intention though20:53
mtaylorwhile I'm whinging - it would be great if I could see all bugs with a certain tag regardless of project ... :)20:54
lifelessmtaylor: patches ...20:57
james_wsalgado: yeah, DSCFile._getFileByName as part of DSCFile.checkFiles should get the LFA and compare the checksums20:58
mtaylorlifeless: yeah - getting closer. todo list... long20:59
salgadojames_w, ok, I'll make a comment explaining that the test is cheating.  thanks for the help21:00
james_wsalgado: what's the failures21:00
james_wsalgado: I don't see why the test should have to cheat21:00
james_wIs it "Unable to find %s in upload or distribution."? That would make sense21:01
salgadojames_w, well, it says the .orig is not included in the upload but it does include the .orig.tar.gz in the data that is given directly to NascentUpload21:02
james_wah, I see what you mean. Does the test fail if you delete that file?21:02
salgadoit does, yes21:02
mwhudsongary_poster: ping21:53
gary_posterhey mwhudson!  I have to run really soon, but can talk for a sec21:53
mwhudsongary_poster: i wanted to talk a little about buildout21:53
gary_postersure21:53
mwhudsongary_poster: for linaro we're open sourcing an internal project21:54
mwhudsonand a set up like launchpad uses for managing dependencies would probably work well21:54
mwhudsonbut as with launchpad, the tendency of buildout/setuptools to go grabbing things off the internet is a bit undesired21:55
mwhudsoni seem to recall that you had to patch buildout to support this21:55
mwhudsonare those changes upstream yet>21:55
mwhudson?21:55
jmlhello again Launchpadders.21:55
mwhudsonalso i remember you said you had a better plan that a branch for the download-cache, but i can't remember what it was now21:55
gary_posterMy changes are about being able to use a system Python21:55
mwhudsonoh ok21:56
gary_posterThey will hopefully be released next week in a beta 3 (a previous version was beta 1)21:56
gary_posterYou have two options for what (I thnk) you want21:56
gary_poster1) you can do the bzr-managed download-cache.  Kinda lame as you know, but gets you off the ground.21:57
gary_poster2) you can set up a random apache directory (mars is using devpad.canonical.com/~mars/pypi or something like that) to store the eggs you want and point the deployment to that directory using find-links.  If that's in the data center then you are good.21:58
gary_posterActually third option:21:58
mwhudsongary_poster: what are the issues with using a system python?  trying to not use the stuff from that python's site-packages?21:59
mwhudsongary_poster: also, one more question, one of the dependencies is a very large js library21:59
gary_poster3) you can use zc.sourcerelease for your own deployments.  This means that it goes over the internet when you build a package up to deploy.  Then you send the tgz over to where you want to deploy and run a provided script.  Ask mars for an example of how he is using it.22:00
lifelessjml: why hello there22:00
mwhudsongary_poster: would it be possible/not completely crazy to write a recipe that extracts the tarball and puts it somewhere so the code can find it?22:00
mwhudsongary_poster: zc.sourcerelease means you basically create a tarball that already has the eggs/ directory populated doesn't it?22:01
gary_postersystem python: yeah, stuff in debian's site-packages is installed in a very different/conflicting way than other egg installations.  Lots of other niggly problems.  my patch lets you use system Python and still use some of the dependencies in it, or not as you wish.22:02
mwhudsonok22:02
jmlI wonder if I should convert unexpected test runner errors into a result.addError call.22:02
jmlI think that will be simpler.22:02
mwhudsoni guess i need to try to understand that issue then22:02
gary_postervery large js library: if it is packaged as Python library, np.  if it is packaged as a configure-make-make install, there's zc.recipe.cmmi.  dunno what to tell you about that22:03
mwhudsonok22:03
mwhudsoni was a tiny bit surprised that there didn't seem to be a recipe for "untar this tarball *here*"22:03
gary_posterwrite a recipe that does a tarball: yeah, sounds like zc.sourcerelease22:04
lifelessjml: what does it do today?22:04
gary_posterzc.recipe.cmmi might, not sure22:04
jmllifeless, has a special logger method "error_in_testrunner", re-raises.22:04
mwhudsongary_poster: ok, i'll take a look22:04
lifeless><22:04
mwhudsongary_poster: did you consider other things like virtualenv + pip for launchpad?22:05
mwhudsonthis is a whole space that i've kind of seen moving around from a distance for a long time, but not really paid any attention to22:05
jmllifeless, before it just printed stuff to some files22:05
gary_postermwhudson, http://pypi.python.org/pypi/zc.recipe.cmmi has the string "tgz" in the docs ;-)22:06
lifelessoh22:06
lifelessthat reminds me22:06
lifelesstime to mail barry a 'python packing is all wrong and heres what the stdlib has to do to fix it' note22:07
gary_postervirtualenv + pip: perhaps not as closely as I should have, but yes.  virtualenv does not let you install eggs robustly with a system python.  It lets you make a virtual python with *no* system packages if you want22:07
gary_posterbut not letting some through22:07
gary_posterwhich is what we wanted22:07
mwhudsoni think that's what we'll want too22:08
mwhudsonfor psycopg2 and stuff like that22:08
gary_posterI won't comment on pip, because I'd probably make an a** of myself22:08
gary_posterright22:08
barry lifeless: pythons generally don't know how to pack, that's why they always arrive with way too much luggage than they need22:08
mwhudsongary_poster: i at least hope to avoid having bzr branches in a directory called sourcecode/ :-)22:09
gary_postermwhudson: +1 :-)22:09
lifelessmwhudson: what is the problem with that?22:09
gary_postermwhudson, I really have to release the new version of buildout.  I was on vacation last week and had a dental operation. this week.  I'll try to make the release next week.22:10
mwhudsonlifeless: well, having 2 mechanisms for managing dependencies is bad enough22:10
lifelessmwhudson: agreed22:10
gary_posterso that will help with the system Python thing if you go that way22:10
gary_posterjml, do you happen to know if twisted.web.wsgi.WSGIResource is pretty cooked?  Putting that in front of Launchpad instead of ZServer seemed interesting22:10
gary_posterI thought it might go a ways to giving an avenue for something lifeless was interested in22:11
lifeless\o/22:11
mwhudsonlong poll?22:11
lifelessyeah22:11
gary_posteryeah22:11
mwhudsonlifeless: we haven't completely ruled out making debian packages of everything either22:11
lifelessmwhudson: that would rule22:11
mwhudsonbut there are issues there too22:11
lifelessmwhudson: but, there are some functional issues22:11
lifelesshah22:11
jmlgary_poster, no idea22:12
mwhudsonlike all the deps are already on the cheeseshop but not in ubuntu22:12
mwhudsonand currently rollouts don't require root22:12
gary_posterdebian packages issue: no good for people who aren't on debian22:12
gary_posterrollouts don't require root: I'm pretty sure James would be happy to get rid of that requirement in exchange for getting everything packaged22:13
mwhudsoni hear rumours that using debian packages doesn't strictly *require* root for rollouts, but i don't know anything about them22:13
mwhudsongary_poster: people who aren't on debian/ubuntu can always use a vm ;-)22:13
gary_posterack jml, thanks22:13
gary_posterheh :-)22:13
gary_posterok guys I have to run22:13
mwhudsoni don't think there are any known problems with WSGIResource currently...22:14
mwhudsongary_poster: thanks22:14
gary_posternp :-)22:14
gary_posterhave a nice ...day or night22:14
marsmwhudson, regarding zc.sourcerelease: it works pretty well.  It bundles the download-cache into the tgz, you run 'install.py' on the target system and it builds in place (download-cache items become eggs)22:25
barrylifeless: yep.  mind if i forward your message to tarek and/or distutils-sig?22:25
marsI am using it right now to run the latest versions of bzr, launchpadlib and httplib2 onto devpad (which still runs hardy)22:26
=== salgado is now known as salgado-afk
lifelessbarry: sure22:29
lifelessbarry: it may not need stdlib changes22:29
lifelessbarry: but it needs a champion in the debian community, one that can sensibly decide when something needs to be in-stdlib to be used, or just new-conventions22:29
lifelessbarry: for instance, one problem is that eggs are installed unversioned22:30
barrylifeless: but eggs aren't used in debian packaging, right?22:31
lifelessbarry: they are22:31
lifelessbarry: dpkg -S egg-info22:32
lifelessIf I had more tuits I'd try just doing it22:32
barrylifeless: oh i see what you're saying.  not the .egg format, but egg-infos22:32
lifelesswell22:32
lifelessall the various bits of machinery22:32
lifelessyou could put eggs on disk22:33
lifelessor you could use the version number to put unpacked egg dirs on disk and .pth files22:33
lifelessor whatever22:33
lifelesslots of options22:33
lifelessthe key thing is that22:33
lifelessa simple 'import foo' needs to keep working22:33
barrylifeless: thinking about this more, it's probably a debian-python policy thing.  and the trick will be in either setting up sys.path correctly, or adding import support in python (or a combination of both)22:39
lifelessright22:39
lifelessits -nearly- done22:40
barrylifeless: i have to leave now (for an early rehearsal).  let's talk tomorrow or next week about it some more if you want22:42
lifelessI don't want to talk about it... just want it working :)22:42
lifelessBut I'm happy to help-by-talking :P22:43
lifeless-> new house ADSL connection, one hopes.23:44
wgrantGah.23:50
wgrantWhy do so many people want a server-side GitHub-like 'Fork' feautre?23:50
wgrantThis isn't Git, people...23:50
mwhudsonwgrant: because github is perfect, clearly23:53
jelmerwgrant: because doing so is hard using the command-line in git..23:53
wgrantjelmer: My guess is that it's because Git doesn't have stacking.23:54
mwhudsonmore seriously, we probably need to work on documenting workflows with launchpad + bzr23:54
mwhudsonwgrant: i think it's because git push expects there to already be something git-ish on the remote side23:54
wgrantmwhudson: Yeah, some documentation on code.launchpad.net/blah would be nice.23:55
wgrantIt'd also be nice if one could just push to lp:project without a branch being there already.23:56
mwhudsonthumper is working on that...23:58
wgrantYay.23:59

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