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

wgrantThis might tie in interestingly with the ideas presented in bug #53205500:00
mupBug #532055: Trusted credential-management apps are broken and may be doomed <launchpadlib :New> <https://launchpad.net/bugs/532055>00:00
jmlheh heh00:01
wgrantDoes anybody know what is happening with https://bugs.launchpad.net/bugs/529348? It's a trivial fix..00:02
adiroibanis there any documentation for @cachedproperty ? I don't know why, if I use it, I get raise ClosedError("Connection is closed") in the tests00:23
* mwhudson lunches00:36
jtvGood morning antipodeans and others00:42
thumperI was going to say hi to jtv00:48
thumperbut he has no staying power :)00:48
jtvI think I used to be able to do this: push a branch to launchpad.dev... what am I missing00:51
jtvah, it's documented!00:54
thumperjtv: yeah00:54
mwhudsonbzr-svn is at least better than cscvs: after some 10 hour long failures, bzr-svn succeeds in 46 minutes: https://code.edge.launchpad.net/~vcs-imports/maxosx/trunk00:55
thumperw00t00:55
=== bjf is now known as bjf-afk
jtvhi stub02:31
* stub waves groggily and moans something unintelligable02:32
jtvstub: I could murder a lumberjack...02:41
jtvcuppa?02:41
jtv(I've been at it for a few hours already... don't ask what got into me)02:41
stubMaybe in a couple of hours...02:41
stubI'm still stuffed full of roast beef and belgian fries02:42
jtvJohn's cooking?02:43
stubneed consciousness...02:43
stubyer02:43
jtvSorry I missed it...  I grabbed some delicious "hello sir" from 3/1 to eat while watching a film at home with the missus—her idea—who then decided to skip the film so as to get up early for the temple this morning.02:45
jtvTIT02:45
jtvstub: meanwhile, I'm just moving some stuff over to the slave store.02:46
stubjtv: I could probably be arsed dragging myself down for a coffee now02:59
jtvstub: good, because what I just cooked up looks too horrible to swallow03:02
jtvstub: I can be on a motoecy in a few minutes03:02
* stub crawls off looking for his pants03:03
wgrantI just love seeing XXX comments with text like "I have no idea what the code below is meant to do."03:39
mwhudsonwgrant: soyuz code i presume?03:46
wgrantmwhudson: But of course.03:46
mwhudsonthumper: around to review a branch?03:47
mwhudson1 whole line of changes!!03:48
thumpermwhudson: yeah03:52
thumpermwhudson: I have one for you too03:52
mwhudsonthumper: https://code.edge.launchpad.net/~mwhudson/launchpad/git-http-imports-bug-438929/+merge/2071603:53
mwhudsonthumper: ok03:53
thumpermwhudson: actually, you know what?03:54
thumpermwhudson: it can wait03:54
thumpermwhudson: otherwise I'll be proposing against the wrong branch03:54
thumpermwhudson: just to not show you the db-devel changes03:54
thumpermwhudson: when db-devel is merged into devel it'll make more sense03:54
mwhudsonthumper: heh, ok03:55
mwhudsonthumper: my rc branch landed fine btw03:55
thumpermwhudson: yours is done03:55
thumpercool03:55
thumpermwhudson: which one was that?03:55
mwhudsonthumper: the one fixing xmlrpc requests in read only mode03:55
thumpermwhudson: ah, was that what was screwing us over?03:56
mwhudsonthumper: which screwage do you mean?03:56
mwhudsonbut no, probably not03:56
thumpermwhudson: about connections hanging around03:56
mwhudsonthumper: no03:57
thumperoh03:57
mwhudsonat least, that seems very unlikely03:57
thumperso what was the change?03:57
mwhudsonthumper: it just fixes loads of spurious oopses03:57
thumpermwhudson: fair enough03:57
thumpermwhudson: how's your afternoon going?03:57
mwhudsonthumper: well, i was being fairly unproductive, so i decided to fix a couple of trivial code import bugs03:58
* thumper nods03:58
thumperI've been watching the code imports fairly closely03:58
mwhudsonthat git one and https://bugs.edge.launchpad.net/launchpad-code/+bug/51318203:58
mupBug #513182: +code-imports should show VCS type <code-import> <trivial> <ui> <Launchpad Bazaar Integration:In Progress by mwhudson> <https://launchpad.net/bugs/513182>03:58
thumperwe seem much better now03:58
thumpercool03:58
thumperI've been making the description changes get emailed :)03:59
mwhudsoncool03:59
thumpermwhudson: what if we renamed +junk to +branch?04:05
thumperconfusing?04:05
mwhudsonseems a bit random, somehow04:06
mwhudsonit doesn't really distinguish it from the other, um, branches04:06
persiaIf you change +junk (and I've seen some chatter about that bug), could you leave an invisible redirect for the various immutable docs out there (mostly email archives)04:06
mwhudsonsurely04:07
persiaWonderful :)04:07
thumperI've been trying to think of a meaningful anem04:08
thumpername04:08
thumper+own04:08
thumper+my04:08
thumper+personal04:08
thumperall a bit weird04:08
persiaWeren't there some suggestions in the bug?  If not, there were certainly some in -motu and I can dig up logs.04:08
thumperI want to make sure it still makes sense with a team branch04:08
thumperpersia: there were04:08
thumperpersia: discussed in -motu?04:09
persiaThat bug was.04:09
persia(someone found +junk offensive, and ranted for a bit, and a few names were thrown out)04:09
persiaI'll see if I can find the log.04:09
thumperbug 14740704:10
mupBug #147407: Junk sounds too harsh <Launchpad Bazaar Integration:Triaged> <https://launchpad.net/bugs/147407>04:10
mwhudsonthumper: thanks for making rockstar do make run_codehosting btw :)04:10
thumper+user04:10
persiaWhich doesn't work for teams.  And the conversation I remember ended being a tutorial on how to stick a branch on people.ubuntu.com04:12
thumper+misc04:12
thumper+code04:12
thumperI think I'd rather have +branch over +coe04:13
thumper+code that is04:13
thumperthe branch to change this will be relatively simple, and I'd like to get it done04:13
thumperI'm going to go with +branch04:14
pooliehi thumper04:14
thumperand see what happens04:14
thumperhi poolie04:14
thumperI'm just trying to walk out the door04:14
* thumper afk04:17
wgrantOdd. Somebody added LFC.sha256 a year ago, but didn't add the three extra lines to actually get it populated for new files.04:17
wgrantal-maisan, noodles775: Since LP again won't have emailed anybody, have a poke about https://bugs.edge.launchpad.net/bugs/532445 and https://bugs.edge.launchpad.net/bugs/53245407:26
al-maisanwgrant: thanks, looking.07:27
henningeHi wgrant! ;)07:50
wgrantMorning henninge.07:50
henningewgrant: thanks for the help the other day, I got the buildd to work and command it via rpc.07:51
wgranthenninge: Excellent.07:51
wgranthenninge: I see I forgot the ensurepresent call. I'm glad you worked it out in the end.07:51
henningewgrant: yes, I got that from the code ... ;)07:52
wgrantBeing able to see the code is handy.07:52
henningewgrant: that chroot you pointed me to, is that the same that is used on the production builders07:52
henningeor will be07:52
henninge?07:52
wgranthenninge: It's the same.07:52
henningewgrant: Can I adapt it to my purposes?07:53
wgranthenninge: You can now directly get the current URL from https://launchpad.net/api/devel/ubuntu/lucid/i386/chroot_url07:53
wgranthenninge: Please don't.07:53
wgrantYour script should be able to run on the chroot you get from LP.07:53
wgrantUnless we want to start having separate chroots for each job type, which we have so far avoided.07:53
wgrantand would like to continue to avoid.07:53
wgrantYou'll see that the recipe build job installs the packages that it needs itself.07:54
henningeyes, I was trying that, too.07:54
henningeI get  "permission denied" when trying to run apt-get.07:55
henningewgrant: what do you mean by "recipe build job" ?07:55
wgrantSounds like you are running that from inside a script that runs as the user.07:55
henningeso, what user does the buildd run as? root?07:56
wgranthenninge: See lib/canonical/buildd/buildrecipe07:56
wgrantIt runs as buildd, but can sudo.07:56
henningeThat's what I am doing.07:56
henningewgrant: there is no sudo in the chroot, though07:57
wgranthenninge: No. You have to sudo from outside.07:57
henningewgrant: so should the build job inside the chroot do everything as root?07:58
wgranthenninge: Probably not.07:58
wgrantYou need a script running outside the chroot to:07:58
wgrant 1) sudo into the jail and install your dependencies07:58
wgrant 2) jump into the jail as the normal user, and run pottery or whatever it is you want to do.07:59
henningewgrant: oh, I think I was not aware that I don't need to be root to call chroot.08:00
wgranthenninge: You do need to be.08:01
wgranthenninge: see the 'su -c' calls in buildrecipe.08:01
wgrantThat is run inside the chroot to switch back to the right user.08:01
henningelooking at that now08:01
wgrantSo you end up doing 'sudo chroot su -c "whatever command" buildd'08:01
henningeoh, forgot about su with all the sudoing ...08:01
wgranter, of course there's the chroot path in there somewhere.08:01
wgrantYeah, it's horrifyingly messy.08:02
henningeyes, shure08:02
henninges/h//08:02
wgrant'shure' makes more sense!08:02
henninge;-)08:02
henningewgrant: thanks, I feel a lot more enlightened08:02
wgranthenninge: Excellent.08:03
wgrantYou may still beat recipes to production..08:03
henningewgrant: I see that buildrecipe installs sudo in the chroot. I uses both sudo -u and su -c08:15
wgranthenninge: Heh, I wonder why.08:15
* wgrant looks.08:16
wgrantAh, right, I remember from the sprint now.08:16
wgrantThe environment variables.08:16
henningewgrant: sudo is nicer to handle with call08:16
wgrantYeah.08:16
wgrantIt was going to be risky and difficult to escape them and stick them in a string for su -c.08:17
henningewgrant: also, it is a bit hard to try out the installing because the sources.list in the chroot points to ftpmaster.internal08:19
henningeI'll just have to overwrite that08:19
wgranthenninge: You can pass a list of sources.list entries in the build call.08:20
wgrantAssuming that you're using the normal chroot infrastructure code (unpack, override sources.list, upgrade).08:21
henningehm, I have not yet seen the "overide sources.list" part08:21
wgrantAdd to the extra_args of your build call: "'archives': ['deb http://blah/ubuntu blah blah blah', '..']"08:22
henningeI see08:22
henningeok, found it08:27
henningewgrant: I am not using the DebianBuildManager btw. Maybe I should.08:27
noodles775Where are you looking? (/me wants to follow along as much as I can)08:27
wgranthenninge: I think you should.08:28
wgrantLet me look.08:28
wgrantI created it, but that was almost two months ago now so blaaaah.08:28
wgrantYeah, you should probably use it.08:28
henningenoodles775: DebianBuildManager.doSourcesList08:28
noodles775henninge: ta.08:28
henningenoodles775: it calls slavebin/override-sources-list08:29
henningewgrant: ok, let me look into that08:29
wgranthenninge: If you want to see how normal builds work, look at the build logs on production.08:29
henningewgrant: where do I see them08:30
henninge?08:30
wgranthttps://edge.launchpad.net/ubuntu/+builds?build_text=&build_state=built08:31
henningewgrant: cheers08:31
henningeoh yeah, very interesting08:33
adeuringgood monring08:35
wgranthenninge: What's still to do with the slave and master template code?08:37
henningewgrant: what do you mean?08:37
henningeadeuring: moin08:37
wgranthenninge: Well, what are you doing to it?08:38
adeuringmoin henninge08:38
wgrantI thought it was mostly working.08:38
henningewgrant: well, obviously it's not ...08:38
wgrantHeh, yeah, I've just looked at the stuff in the tree and seen that it doesn't do much.08:38
henningeIt's obviously never been run like I am trying to run it now.08:39
wgrantRight.08:40
henningeI have added the call to the actual template generation code but getting it to be run is my challange now.08:40
henningewgrant: but I think I am getting there08:40
wgrantThe call to that code seems to already be there.08:40
wgrantAlthough the filename is wrong.08:40
henningeyou mean "generate...py"?08:41
wgrantAnd you can save an awful lot of code by using DebianBuildManager.08:41
wgrantYeah, that.08:41
henningethat's just a dummy, too.08:41
henningewgrant: oh no, sorry08:42
henningeI already landed that part ... ;-)08:42
wgrantIt doesn't look like it will actually check out the branch, though.08:42
wgrantAnd it imports from lp.*, so it won't work in the slave.08:42
henningewgrant: I added stuff to debian/rules08:43
henningeso the importing works08:43
wgranthenninge: Oh.08:43
wgrantThat seems a bit ugly. But I guess the whole slave thing is pretty ugly.08:43
henningeMy thinking ...08:44
henninge;)08:44
wgranthenninge: Is there a reason for that file to live in lp.translations at all?08:44
henningewgrant: I was trying to mimic the way tachandler was included.08:45
henningeit seemed to replicate the structure from the canonical tree, so I did the same for the lp tree08:46
henningewgrant: the code is only needed in the buildd, so it could live in canonical/buildd .08:46
wgranthenninge: tachandler is copied in because it's used on both sides.08:46
wgrantSo I would just put your file in lib/canonical/buildd and be done with it.08:47
henningeI guess that's true.08:47
henningewgrant: but it seems nicer for all translation code to live lp.translations ...08:48
* wgrant is very tempted to split up lib/canonical/buildd's contents into subdirectories.08:48
noodles775Into what for example?08:49
henningegood idea08:49
noodles775per app?08:49
wgranttranslations, recipe, binary08:49
noodles775Right.08:49
wgrantPer build type, yeah.08:49
wgrantAnd a general one.08:49
wgrantSince the dir is getting pretty big.08:49
wgrantAnd there is obvious separation.08:49
noodles775+108:49
henninge+108:50
* henninge has to relocate, back in 20 min max.08:50
mrevellMorning09:13
* henninge is back09:15
jmlmrevell, good morning09:20
mrevellGood morning jml09:20
jtv1I'm having some trouble with codehosting on my dev machine...  I "make run" and "make run_codehosting."  I push a branch to lp://dev/...  I make changes to the branch, and when I push again, I'm told the branches have diverged.09:33
jtv1Anyone know what I'm doing wrong?09:33
=== jtv1 is now known as jtv
henningejtv: is make run_codehosting new? I just do make_run09:39
henningeused to, I mean09:39
jtvhenninge: I believe it's new, yes09:39
jtvkillall -9 firefox09:40
jtvahhhh09:40
jtvI should put that in cron.hourly09:41
jtvstub: I believe you said tests were going back to a single store... do we have a bug for that?09:44
stublaunchpad is, not just tests09:45
stubsingle replication set09:45
wgrantHow are lp_* going to be replicated to c-i-p?09:45
stubI'm not counting that as part of launchpad ;)09:46
jtvstub: oh, so still replicated...  Using the slave store will require some extra commits in tests then.09:46
stubYup.09:46
jmldidrocks, hi09:48
didrockshey jml09:48
didrocksjml: sorry, but yesterday, it was like hell :)09:48
jmldidrocks, understood09:48
didrocksjml: I pulled your branch and get scared by the amount of change :)09:48
=== noodles785 is now known as noodles775
jmldidrocks, wgrant makes a very interesting objection -- if we have an API for adding, say, SSH keys, then a malicious application that gained your approval could add a key, then use that key to get your branch data even after you revoked privileges from the application09:50
wgrantjml: I think modification of that belongs in the trusted client. Not the cleanest solution, but just about anything else is unsafe.09:51
didrocksjml: GC already does that manually (upload a ssh key for you). I'm not sure not exposing that will prevent this usage09:51
wgrantdidrocks: People should soon be educated to not give their password to such applications.09:52
wgrantAnd that will stop working soon.09:52
wgrantI hope.09:52
didrockswgrant: right :)09:52
didrocksthat's just too much hope on the user side I'm afraid against a promise for a "wonderful application making your life better (and spamming you, destroying your data and so on…)"09:53
didrocksbut that's just my opinion :)09:54
jmldidrocks, anyway, I'm not sure how to proceed. The work we've done already is good & useful and should be merged.09:57
didrocksjml: right, but unfortunately, that won't save the "I don't achieve to upload my gpg/ssh key or uploading wrong one, and so on…"09:58
jmldidrocks, hmm.10:01
jmladeuring, I notice that the bugs with patches view includes fix released bugs10:04
adeuringjml: yes10:04
jmladeuring, is this deliberate?10:04
adeuringyes10:05
adeuring...but I can't remember the exact reason. Probably because "fix released" is intersting for upstream10:05
adeuringkfogel might remember better ;)10:05
jmlok. I'll ask him.10:05
wgrantDoesn't that just mean it's going to get longer and longer and become less and less useful?10:07
henningewgrant: I think DebianBuildManager has too much specific stuff that I don't need.  Any reason doSourcesList, doUpdateChroot, doReapProcesses should not be in BuildManager instead (and their confgis moved to allmanagers) ?10:07
wgranthenninge: What specific stuff don't you want?10:07
henningewgrant: what's ogre model btw ;-)10:08
wgranthenninge: It's not used any more. The master used to pass in a component rather than a full sources.list10:08
wgrantogre model refers to the layering of the components.10:08
wgrantmain includes just main. restricted includes restricted and main.10:08
wgrantuniverse includes universe and main.10:09
wgrantmultiverse includes multiverse, universe, restricted and main.10:09
henningeah, I see.10:09
henningewgrant: changes file handling for example I don't need10:09
henningegatherResults will work differently for me, too.10:10
wgrantYeah, so just gatherResults, _parseChangesFile and getChangesFilename?10:10
jtvwgrant, henninge: the FSM for DebianBuildManager is also a lot more extensive than we need, isn't it?10:10
henningejtv: yes, that's another thing10:10
wgrantjtv: Why?10:11
wgrantI think you need everything there.10:11
jtvwgrant: our job is simpler... no need to install build dependencies, for one10:11
wgrantDebianBuildManager doesn't handle build-dependencies AFAIK.10:12
=== daniloff is now known as danilos
jtvThen who installs them before building a package?10:13
wgrantjtv: sbuild in the binary case, or the recipe build script in the recipe case.10:13
jtvoh, it's further down in the hierarchy10:13
wgrantYes.10:13
jtvSo is DebianBuildManager not limited to building Debian packages then?10:14
jtvThe branches we work with don't necessarily have a debian/ dir etc.10:14
henningejtv: no, it doesn't look that way10:14
henningewgrant: Yes, you are right with that list (gatherResults...)10:16
jtvLooks like10:16
wgranthenninge: Why not just override gatherResults?10:16
jtvYes, that does seem to make sense10:16
henningewgrant: yes, the obvious next step10:16
wgrantYou already need to do similar things on the master side, where we've made assumptions in superclasses that you have a build.10:17
wgrantSo you might as wlel make it easy for yourself and just override the two methods.10:17
henningecorrect10:17
wgrant(the one to do the actual building, and gatherResults)10:17
henningewgrant, jtv: yes, I will do that.10:17
henningethanks10:18
jtvIt does mean that DebianBuildManager is a total misnomer10:18
jtv(what's this Ogre thing btw?  Do we need that at all?)10:18
wgrantjtv: It doesn't. You're building in a Debian chroot.10:19
wgrantYou don't care about that. We should remove ogre support.10:19
jtvahh, Debian only in _that_ sense10:19
wgrantIt hasn't been used in nearly three years.10:19
jtvSo... what build managers do we have that are not debian build managers in that sense?10:19
* jml rebooting10:19
wgrantNone at this point.10:19
wgrantBut there could quite conceivably be some later.10:21
wgrantstub: Do you know why there is a LFC.sha256 column, but it's not actually being populated?10:28
stubbecause soyuz team decided they needed it, added the column, but didn't need it enough to make the librarian actually store it when files are uploaded.10:29
bigjoolslol10:29
wgrantOdd, since it was about 3 lines extra to do it.10:29
stubYup. Also about 3 lines to drop the column again...10:30
wgrantBut we'll need the column soon.10:30
wgrantWe should be using more than MD5 in the indices.10:30
stubI've heard that for maybe a year now ;)10:30
wgrantThis is Soyuz. Time is different here.10:30
bigjoolsmy clock says it's 198410:31
stubSo three line fix to the librarian to store the sha256. A quick and ugly data migration script to fill in the values for the existing files. A DB patch to set the column to NOT NULL.10:31
stubParty like its 199910:31
wgrantQuick, ugly, and several-week-taking?10:32
jmldidrocks, so what are we going to do?10:32
stubwgrant: Its only a few terrabytes - shouldn't take too long.10:32
wgrantWas SHA1 there from the start?10:33
jmlbigjools, "It was a bright cold day in April, and the clocks were striking thirteen."10:33
stubI think it was, yes.10:33
wgrantSo it's not been done before :(10:34
bigjoolsjml: we need to talk!10:34
didrocksjml: that's a good question…  :/10:34
stubIts pretty trivial. I can hack up the migration if nobody else wants to.10:34
jmlbigjools, we do.10:34
jmlbigjools, lemme book a time10:34
jmlbigjools, 12:30 ok? or we can talk now until 1110:41
bigjoolsjml: no 12:30 is bad, I have a hospital appt at 110:41
bigjoolsso now is good10:41
jmlok. I'll skype you.10:41
jtvhenninge: you may have to pretend that the dir with your packages is an apt cache... something like -o Dir::Cache=/tmp/extra-packages10:53
henningejtv: let me try that out10:54
jtvwas I stopping you?10:54
wgranthenninge, jtv: Alternatively, upload them to a local or real PPA.10:55
wgrantWhat custom packages are there?10:55
henningewgrant: no, it's launchpad-buildd10:56
henningewgrant: I am using pbuilder to try it out and want to install it in there10:56
henningeactually, pbuilder might be able to do it, too10:57
wgranthenninge: Ahh.10:57
wgrantpbuilder login10:57
henningeexactly10:57
jtvhenninge: does that solve it?11:06
deryckMorning, all.11:06
=== al-maisan is now known as al-maisan-lunch
henningejtv: havn't gotten that far, got distracted. Read it on the wiki page next week ... ;-)11:06
=== al-maisan-lunch is now known as al-maisan
jtvhenninge: I'm also looking at ways to do this11:07
noodles775henninge: ah, you are capturing all this on a wiki page? Great!11:07
henningenoodles775: not yet but we just decided to do it11:07
=== Guest4641 is now known as joey
jtvhenninge: haven't found anything better than adding a "file:" URL into the slave's /etc/apt/sources.lists.d11:10
jtvhi joey!11:10
joeyhi jtv11:10
wgrantjtv: henninge: Why can't you just dpkg -i it?11:10
jtvwgrant: need to satisfy the deps as well11:10
henningewgrant: I want dependencies to be pulled automatically11:10
wgrantjtv: dpkg -i blah.deb; then 'apt-get -f install'11:11
jtveh11:11
jtvI guess that'd work too  :)11:11
wgrantI thought I described this on the wiki page.11:11
* jtv facepalms11:11
jtvwgrant: which wiki page is that?11:11
jtvThere's so much text out there, sometimes it's like not having any11:11
henningewgrant: which wiki page11:11
wgrantjtv: HowToUseSoyuzLovally11:11
henningeuh-oh11:11
wgrants/v/c/11:12
henningeLovely11:12
henninge;)11:12
wgrantOr Run or whatever it is.11:12
wgrantHeh.11:12
jtvUse, yes11:12
noodles775wgrant: I thought henninge was going to document something like, extending the build-system for translations.11:13
henningenoodles775: that's next11:13
noodles775Great.11:13
jtvBut first, "running a local build slave"11:13
jtvat all11:14
wgrantI think the wiki page probably describes it OK.11:14
noodles775Yeah, so do I? I followed the current wiki page and binary builds went through fine. BUt I think you guys are already talking about custom stuff for translations right? (ie. talking directly with the buildd via xml-rpc)11:16
jtvmaybe... it's a bit hard to get the general drift when you're not "into" soyuz.11:16
henningenoodles775: yes11:16
noodles775OK.11:16
henningeI'll just describe what I did and we can converge afterwards.11:16
noodles775Great!11:17
wgrantnoodles775: The talking directly to the buildd is just for testing.11:18
wgrantThe real setup will go through buildd-manager.11:19
jtvwgrant: whee, is that an easier way of getting the latest chroot tarball that you found?11:28
wgrantjtv: I didn't find it; I added it last week.11:29
jtvwgrant: ah :)11:29
jtvvery cool.  One gotcha: the URL on the wiki page doesn't quite work for some reason, but if I go up one "directory" I get the information11:30
wgrantjtv: It does work if you wget it.11:30
wgrantYour browser is probably trying to interpret it as XHTML.11:30
jtvniiice!11:30
jtvwgrant: adding a command line to download the tarball in one go11:38
wgrantjtv: So I can say 'grab-chroot-from-launchpad ubuntu lucid i386' and it will download it and upload it to my dev instance?11:40
jtvwgrant: nothing so fancy, but that would be a good idea wouldn't it?11:41
jtvfor now it's just a wget command line11:41
jtvThere must be some way to make the architecture default to whatever you're currently running...  all my attempts so far give me i686 when I want to see i38611:41
jtv(Which is nice for those pre-Pentium users out there of course :)11:42
wgrantjtv: Just use i386.11:42
wgrantIt'll work everywhere Launchpad runs.11:42
jtvnot going to break on native amd64?11:42
jtv(wow, lsb_release takes a while to collect lots of data, but no architecture there)11:43
wgrantHm, it's possible that the buildd package will default to amd64 there. It's one line in a config file to switch it to i386, but that's a good point.11:43
wgrant'dpkg --print-architecture' will work.11:43
jtvyay11:45
jtvBut this is going to be relatively hard work for replacing a wget command line.  Laziness is beginning to appeal...11:47
wgrantYeah.11:48
jtvwgrant: of more urgency is a fix needed to the setup script I wrote: it fails to register your ssh key(s)11:50
jtveasily fixed, but saves more trouble right now11:50
wgrantjtv: Refactor make-lp-user, I guess?11:50
jtveither way I think my script should use make-lp-user; the question is should the GPG key registration be moved in there.11:51
wgrantProbably. It and the CoC signing are both useful.11:52
jtvAh yes, now I see why I hesitated about that: it means adding options parsing.  :)  make-lp-user <user> [<team> [<team> [...]]]11:54
wgrantAhh.11:55
jtvnot exactly hard though :)11:55
jtvI could lift the -e option across wholesale11:55
=== matsubara-afk is now known as matsubara
=== mrevell is now known as mrevell-lunch
henningenoodles775, wgrant: First iteration but not final yet (have to try it all out once more) https://dev.launchpad.net/BuildFarm/TryOutBuildSlave12:12
* henninge lunches12:12
=== henninge is now known as heninnge-lunch
jtvwgrant: new & improved make-lp-user is underway.  :)12:15
jtvwgrant: bug 53235412:16
mupBug #532354: Set up ssh keys for ppa-user <Soyuz:Triaged> <https://launchpad.net/bugs/532354>12:16
wgrantjtv: Excellent.12:19
jmljtv, why does make-lp-user need to change to address that bug?12:23
adiroibanhi. I have this interface inherited by IProducSeriesPublic and IDistriSeriesPublic http://paste.ubuntu.com/388916/, does anyone know why active and summary is visible in API, while drivers_collection_link is not ?12:23
jtvjml: it already registers your ssh keys; it seems madness to register your gpg keys in another script.12:24
jtvjml: and I suspect automated gpg key registration can be useful for other uses as well.12:25
jtv(it's optional, of course)12:25
jmljtv, ahh yes. that makes sense. the bug itself says "ssh", so I was confused.12:25
jtvjml: that is my fault.  From my perspective, I found that I duplicated much of the make-lp-user functionality, but not this part—and it was needed for full usage.12:26
jmlheh12:26
jtvSo for me the immediate problem was, "my ssh key isn't registered when I set things up this way."12:26
jmladiroiban, I don't know, sorry.12:26
wgrantjtv: Pure Soyuz people need no SSH keys.12:27
wgrantadiroiban: Can you pastebin the entire diff?12:27
wgrantadiroiban: There's nothing obviously wrong there.12:27
jtvwgrant: I can't quite tell if that's a "real men don't need [...]" joke or reality.  ;)  But it'll come in handy in any case.12:27
wgrantjtv: A combination. But in reality they're only useful for branches, which I don't often use.12:28
jtvwgrant: let's just hope the bridges will continue to sprout though :-)12:28
wgrantIndeed.12:28
jtvIt may also be a good idea to rename the script...12:28
jtvBut now the problem is, what do we call the build farm _plus_ soyuz?  :-)12:29
bigjoolswgrant: urgh, you've forced me to remember how utterly shite dscfile.py is12:29
* bigjools does some refactoring to make testing easier12:29
jtvwgrant: ^^^ well done, you made him improve the code :-)12:29
wgrantbigjools: Yeah, it's not very nice.12:30
adiroibanwgrant: http://paste.ubuntu.com/388921/ , but it's rather huge ... don't worry, I will continue to dig12:31
wgrantAh, right, it does the format and file combo checking as well.12:31
wgrantNow I remember it.12:31
wgrantIt fits a lot of evil into 800 lines.12:32
wgrantadiroiban: (not related to the problem, but DistroSeries should probably be an ISeries, not an IHasSeries)12:33
wgrantadiroiban: I think IHasDrivers is probably clobbering IHasSeriesMixin.drivers.12:34
* wgrant checks.12:34
wgrantAt least I presume IHasDrivers has a drivers attribute.12:34
adiroibanwgrant: true :) thanks!12:34
wgrantYeah, that's it.12:35
=== heninnge-lunch is now known as heninnge
deryckintellectronica, is the branch for bug 531433 going to land before the re-roll?12:39
mupBug #531433: migration-assistant crashes ubiquity <apport-bug> <i386> <ubiquity (Ubuntu):New> <https://launchpad.net/bugs/531433>12:39
deryckhmmmm12:39
deryckbug 53144312:39
mupBug #531443: Bug heat flames should be calculated based on the context, not the bugtask's target <story-bug-heat> <Launchpad Bugs:In Progress by intellectronica> <https://launchpad.net/bugs/531443>12:39
lifelessjml: you might enjoy https://code.edge.launchpad.net/~jelmer/launchpad/testr/+merge/2051112:39
jmllifeless, I do.12:40
didrocksjml: ok, got some time now. Should we first push the "read only mode"?12:46
wgrantjml, didrocks: Do you have a launchpad.View adapter for them so they'll appear anonymously?12:47
jmldidrocks, yes.12:48
jmlwgrant, no, not yet. what's involved there?12:48
wgrantjml: Just a launchpad.View adapter inheriting from AnonymousAuthorization.12:48
wgrantOtherwise lazr.restful will return empty collections for anonymous users.12:48
wgrant(it checks for launchpad.View, and there is no default anonymous launchpad.View adapter. The global (ie. Interface) authenticated one is deprecated, so it was forbidden to extend it to cover anonymous too.)12:49
wgrantSo each exported object that will appear in a collection needs a launchpad.View adapter, even if it is actually zope.Public.12:49
lifelessjml: not sure why it would have been big... we did the heavy lifting already.12:56
lifelessgnight all12:56
jmllifeless, I didn't know the config lifting was done12:57
allenapabentley: Do you have time to help me with an issue I'm having with TestTwistedJobRunner? I'm trying to run it in a sub-process using subunit.IsolatedTestCase, but the assertions are failing. My branch is lp:~allenap/launchpad/isolate-tests.13:02
lifelessjml: I was referring to zope testerunner with subunit and load-list13:04
jmllifeless, oh ok.13:04
* lifeless switches off his monitor. *yawn*13:04
deryckadeuring, what about bug 511240 for the re-roll?  Did the branch make it in?13:12
mupBug #511240: bug heat calculation should use Bug.users_affected_count_with_dupes instead of Bug.users_affected_count <story-bug-heat> <Launchpad Bugs:In Progress by adeuring> <https://launchpad.net/bugs/511240>13:12
deryckah, I found the branch.13:14
=== mrevell-lunch is now known as mrevell
intellectronicai'm getting test failures in doc/launchpadlib.txt in EC2, which i can't reproduce locally and are unlikely to be related to my changes. anyone seen anything like that lately?13:20
intellectronicaderyck: also, my branch still hasn't landed, because of ^^^^^ (and some real errors i found in an earlier run) :(13:21
deryckintellectronica, ok.  at least we caught the errors.13:21
wgrantHm, daily CHR again?13:25
daniloswgrant, yeah13:40
adeuringderyck: yes, it landed (sorry for the delay, was out for lunch)13:42
deryckadeuring, no worries.  Thanks for the update.13:43
jmldidrocks, I've proposed my branch for merging w/ read-only13:46
jmldidrocks, in terms of quickly's goals, I think your stuck for lucid -- sorry.13:46
didrocksjml: well, do you think we can do something for +1, discuss at UDS, maybe?13:47
jmldidrocks, yeah.13:47
didrocksjml: I just have to propose my branch as well?13:47
jmldidrocks, please propose your branch13:48
didrocksjml: so, still some room for adding announcement?13:48
jmldidrocks, it'd make an interesting UDS conversation... I don't know who the right Launchpad folk would be13:48
jmldidrocks, oh right, announcements.13:48
jmllemme look13:48
didrocksjml: sweet, thanks :)13:51
jml:(13:58
didrocksjml: ?14:03
abentleyallenap, hi.14:03
abentleyallenap, what assertions are failing?14:03
allenapabentley: self.assertEqual(1, len(runner.completed_jobs)) is the first one. It looks like it's not actually running the jobs, even though iterReady() is called.14:04
abentleyallenap, or perhaps the jobs are failing?14:05
allenapabentley: incomplete_jobs is also empty.14:07
abentleyallenap, does it run runJobInSubprocess?14:08
allenapabentley: I don't think so...14:09
allenapabentley: TwistedJobRunner.getTaskSource() is called once only; the generator it forms is never pulled from.14:09
jmldidrocks, it's hard.14:10
abentleyallenap, does the reactor start?14:10
allenapabentley: I'll check that and get back to you.14:10
didrocksjml: really? seems I don't have any luck… :(14:10
jmldidrocks, well, maybe someone here will know14:11
jmlhey guys, if I want to expose the ability to create announcements on projects over the API, what should I do?14:12
james_wis there a method on IProject that takes some text and other things and creates the annoncement?14:12
allenapabentley: It does start. (Fwiw, I've instrumented my branch with http://paste.ubuntu.com/388968/)14:16
intellectronicajames_w: i think it's project.announce()14:20
intellectronicajames_w: yeah, see lib/lp/registry/doc/announcement.txt14:21
* didrocks opens as well14:21
james_wyes14:22
james_wso, lib/lp/registry/interfaces/announcement.py14:22
james_wIMakesAnnouncements.announce should be exported14:22
james_wand probably IHasAnnouncements too14:22
intellectronicajames_w: i'm happy to review a branch :)14:23
james_wand IAnnouncement too I guess14:23
=== jamalta-afk is now known as jamalta
james_wintellectronica: I'm trying to answer Jono's question ;-)14:23
intellectronicaoic14:23
didrocksjames_w: jml's, no? :)14:23
didrocks(and mine as well in fact :))14:23
didrocksthanks a lot james_w, intellectronica14:24
intellectronicajames_w:  i thought by 'should' you meant 'the gnomes should export it' :)14:24
intellectronicadidrocks: likewise i'm happy to help if you need. though i think by now you're an api export guru already, no?14:24
james_w@export_write_operation() is the basic decorator for announce()14:24
james_wyou can pass some options to control the exported name and things14:25
didrocksintellectronica: far far far from it :)14:25
james_wthere are other decorators for tweaking some other things, a grep for export_write_operation will find you some things to consider14:25
didrocksI'll give it a try beginning at the next week. Sounds easier and more streamline than gpg and ssh stuff :)14:25
* didrocks logs the conversation14:25
abentleyallenap, see http://paste.ubuntu.com/388976/14:26
didrocksintellectronica: james_w: thanks for the help, I hope to be able to do something useful next Monday with this14:26
james_wsweet14:26
intellectronicadidrocks: np. shout if you need help. it will be great to have this stuff exported.14:27
didrocksintellectronica: be sure I'll shout for help :)14:27
didrocksfirst, just pushing the ssh branch14:27
allenapabentley: Ah, that's odd. Any ideas why it might be doing that? Also, what incantation did you use to get the log output? Somehow I was logger-blind when reading that file.14:28
abentleyThere's a debug logger named "gloop" defined near the ParallelLimitedTaskConsumer.  I just fed it in.14:29
abentleyI can't think why launchpad_ftest wouldn't exist, but I'd guess it was due to missing environment variables.14:30
allenapabentley: Ah, that's a good thought.14:31
abentleyallenap, interestingly, when turn TestJobRunner into an IsolatedTestCase, it tries to create duplicate keys.14:45
jmlif you'll pardon a wild-arsed guess, is that because the factory has all-new internal state when it's in a subprocess?14:47
allenapabentley: Gah.14:47
abentleyjml, the duplicate keys?14:48
jmlabentley, yes.14:48
allenapjml: Ah, that sounds like a problem. Perhaps the factory should use a uuid or a counter driven from a file instead of a per-process counter?14:49
abentleyjml, this is a constraint on the primary key not being duplicated.  That's a serial, and I don't think the factory would have anything to do with that.14:50
jmlabentley, ok. that makes sense. sorry for the noise.14:50
abentleyjml, no worries.14:50
sinzuidanilos: Can you trade chr with me? I am sprint on the 8. (monday)14:51
danilossinzui, sure, please mark the change in the calendar as well (or remind me: I love when I am reminded :)14:52
sinzuidanilos: okay14:53
MTecknologyI'm curious, you guys ever try to use nginx and launchpad?14:53
danilossinzui, thanks14:54
intellectronicaMTecknology: no, we rely on apache quite heavily. also, since the front-end web server does little of the work in launchpad, there probably won't be much benefit in replacing it even if nginx is slightly more efficient14:55
MTecknologyintellectronica: oh, I was just curious because for my web servers it made a massive change. I was going to have to upgrade hardware because I was running out of resources and then I changed and magic happened. But not for the speed of script processing14:56
leonardrjml: by some freakish chance are you around? otherwise i'll email you14:56
jmlleonardr, it's not even 3pm on a working day :)14:56
jmlleonardr, it's not so much freakish chance as par for the course14:57
leonardrjml: can we skype?14:57
jmlleonardr, sure.14:57
gary_posterjml, what's your skype id?14:57
gary_posterI'm garyposter14:58
leonardrjml: it's going to be me and gary14:58
jmlblackjml14:58
intellectronicajml: you know what's freakish? i'm getting errors, on ec2, in doc/launchpadlib.txt, which i can't reproduce locally. does it ring a bell?14:59
intellectronicaargh, i meant to ask leonardr, not you jml14:59
leonardrintellectronica: show me the errors14:59
jmlintellectronica, good good :)14:59
intellectronicaleonardr: http://pastebin.ubuntu.com/389001/15:00
=== salgado is now known as salgado-lunch
allenapabentley: I think the problem is that, by the time <testcase>.run() is called, Zope has already done some set-up (based on the layer perhaps/probably), and the forking breaks things.15:38
allenapabentley: Wrapping each test case with an IsolatedTestSuite makes things work, but is not ideal or correct; it does not isolate each test method in a test case from one another.15:39
abentleyallenap, that sounds plausible.15:40
abentleyallenap, is TestCaseWithFactory.setUp / tearDown being called?15:41
allenapabentley: I don't know, but I didn't suspect that it wasn't...? Ah, is this to do with the ids problem in TestJobRunner from earlier?15:42
abentleyallenap, I still can't imagine what would cause the TestJobRunner problem.15:43
=== bjf-afk is now known as bjf
abentleyallenap, it sounds like it might not be valid to derive from both TestCaseWithFactory and IsolatedTestCase.15:44
allenapabentley: No, I can't either. It's odd. It works if wrapped in IsolatedTestSuite, so I think it's a bad interaction between Zope and everything else.15:44
allenapabentley: Right now, I suspect it's not safe to derive from IsolatedTestCase when using the Zope test runner, at least with our layer set-up.15:45
abentleyallenap, quite possible, considering that layers span multiple tests.15:47
abentleyallenap, I think layers have their own setup/teardown, so you might be able to invoke those manually.15:47
abentleyallenap, I'm not sure what IsolatedTestCase is meant to imply, but if it means test cases don't share resources like the librarian, it doesn't sound like a good idea to me.15:52
allenapabentley: It forks before running each test method (by overriding TestCase.run) and sends the results back to the calling process using subunit. It's meant to be basically transparent, but there's something nasty going on there.15:54
abentleyallenap, it only forks, or it forks and execs?15:54
allenapabentley: Just forks.15:55
=== matsubara is now known as matsubara-lunch
allenapSee run_isolated() in lib/subunit/__init__.py. There's not a lot of code (IsolatedTestCase and IsolatedTestSuite are tiny.)15:56
abentleyallenap, seems to work okay if I do the fork myself: http://pastebin.ubuntu.com/389042/16:15
allenapabentley: Oh, now that's really confusing :)16:26
abentleyallenap, one approach would be to gradually turn my run into run_isolated, until it breaks.16:28
=== beuno is now known as beuno-lunch
Ursinhahi rockstar, is bug 531687 really triaged? there's not importance set on it..16:41
mupBug #531687: Accessing a merge proposal during the rollout (ie R/O mode) oopsed <Launchpad Bazaar Integration:Triaged> <https://launchpad.net/bugs/531687>16:41
rockstarUrsinha, huh.  Apparently something went wrong in the setting of it.16:42
Ursinharockstar: thank you very much :)16:43
=== deryck is now known as deryck[lunch]
=== matsubara-lunch is now known as matsubara
=== salgado-lunch is now known as salgado
=== danilos is now known as daniloff
=== beuno-lunch is now known as beuno
allenapabentley: This diff against my branch - http://paste.ubuntu.com/389095/ - works fine... until you uncomment line 48, and I have no idea why.17:39
allenapabentley: Anyway, thank you for your help today. I have to go now, but I'll check back here later in case you think of something. Bye :)17:41
abentleyallenap, you're welcome.17:41
abentleyallenap since this seems subunit-specific, lifeless or jml might be able to help.17:42
jmlhave you tried with the latest subunit code?17:42
=== deryck[lunch] is now known as deryck
=== Ursinha is now known as Ursinha-lunch
jmlg'night all18:20
=== Ursinha-lunch is now known as Ursinha
=== gary_poster is now known as gary-lunch
=== jamalta is now known as jamalta-afk
=== jamalta-afk is now known as jamalta
=== gary-lunch is now known as gary_poster
=== salgado is now known as salgado-afk
=== matsubara is now known as matsubara-afk
=== jamalta is now known as jamalta-afk

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