/srv/irclogs.ubuntu.com/2005/10/16/#launchpad.txt

dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Override plone.css radiobutton silliness (bug 2586) (patch-2616: mpt@canonical.com)12:28
=== mgalvin [n=mgalvin@cpe-69-205-47-165.nycap.res.rr.com] has joined #launchpad
=== cprov goes home
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Fix https://launchpad.net/products/launchpad/+bug/2662 (PersonAccountToMergeVocabulary() contains the person that is logged in) (patch-2617: guilherme.salgado@canonical.com)01:12
=== fabbione [i=fabbione@gordian.fabbione.net] has joined #launchpad
dilysMerge to thelove@canonical.com/dists--bazaar--1.5: new build (patch-81)01:29
dilysMerge to thelove@canonical.com/bazaar--devo--1.5: [Fixes #78]  Add some message before prompting for signature [aldrik.kleber@tiscali.fr--public (patch 0-4)]  (patch-65: aldrik.kleber@tiscali.fr, Matthieu.Moy@imag.fr)01:30
=== stub [n=stub@203-214-4-72.dyn.iinet.net.au] has joined #launchpad
lifelessstub: ola01:36
lifelessstub: can you point me at the scripts you have written that use baz ?01:36
kiko-fudheya stub 01:36
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Fix https://launchpad.net/products/launchpad/+bug/2663 (Confusing text mislead user to think both account passwords are required when merging accounts) (patch-2618: guilherme.salgado@canonical.com)02:10
=== mpool [n=mbp@ozlabs.org] has joined #launchpad
stublifeless: The Makefile.staging in dists--devel--0. Also 'rocketmeld.py' in the utilities directory of launchpad02:56
mpoolmorning stub02:56
lifelessstub: I ask, cause I need to bzrify them02:56
lifelessstub: unless you would like too :)02:56
mpoolis this the right channel for foodix reports?02:57
stublifeless: Don't worry about rocketmeld.py. The staging Makefile would be trivial (it just does a checkout).02:58
lifelessstub: ok.02:58
mpooli have ended up with 1:6.2.1+cvs.20050722-7 installed, but it's not present in the archive02:58
mpooli might have got that from the non-foodix copy of breezy02:58
=== TimM [n=none@b-6c.lcom.net] has joined #launchpad
=== Seveas [n=seveas@seveas.demon.nl] has joined #launchpad
lifelessKinnison: ^^^ mpools lines ^^^03:30
=== TimM [n=none@b-6c.lcom.net] has left #launchpad []
kiko-fudmpool, you're using dogfoodix, then?03:42
=== GoRoDeK [n=gorodek@p5083D72C.dip.t-dialin.net] has joined #launchpad
lifelessstub: are you around ?03:44
lifelessbah03:44
lifelessSteveA: are YOU around ?03:44
kiko-fudI am03:44
kiko-fudbut SteveA isn't for sure03:45
lifelessthanks03:45
mpoolkiko-fud: yes i am03:45
kiko-fudmpool, does it require much bravery?03:45
mpooluh, should it?03:45
mpooli don't feel very brave03:45
mpooli just do as i'm told03:46
stublifeless: yo03:52
lifelessstub: unping03:52
lifelessI wanted the other stub03:52
stubunpong03:53
=== stub wanders off to the shower
=== segfault [i=carlos@prognus.com.br] has joined #launchpad
=== freeflying [n=rockie@61.190.65.16] has joined #launchpad
=== stub [n=stub@203-214-4-72.dyn.iinet.net.au] has joined #launchpad
=== Seveas [n=seveas@seveas.demon.nl] has joined #launchpad
mpoolfeh06:05
=== robitaille [n=robitail@d154-5-117-228.bchsia.telus.net] has joined #launchpad
=== mpool [n=mbp@ozlabs.org] has left #launchpad []
dilysMerge to rocketfuel@canonical.com/launchpad--production--1.36: Cherry pick patch 2612 into production 1.36 (patch-4: rocketfuel@canonical.com, guilherme.salgado@canonical.com)06:40
=== terrex [n=terrex@84-122-90-162.onocable.ono.com] has joined #launchpad
=== BjornT [n=bjorn@84.32.140.183] has joined #launchpad
BjornTgood morning07:56
jameshlifeless: ping?07:56
=== _Rappy_ [n=hunt-pre@dsl-253-122.monet.no] has joined #launchpad
lifelessjamesh: pong08:01
jameshlifeless: w.r.t. your comment on my bug-74 branch, if I switch to "abbreviated_textdir" on the content class, do I have r=lifeless?08:03
lifelessoh yes08:03
lifelessbtw, you know that pendingreviews is failing tests ?08:03
jameshyeah08:03
jameshI need to do some more extensive changes to handle branches-with-the-revision-number-set, but didn't fix up the problems in the bzr version (will fix it soon)08:04
lifelessok08:07
lifelessI plan to rollout pqm-bzr this week08:07
jameshthe test suite error looks a bit weird because the __eq__ method is catching AttributeError08:08
lifelessyes08:09
lifelessit was obvious what the issue is :008:10
=== henrym [n=henrym@219-89-147-70.jetstart.xtra.co.nz] has joined #launchpad
stubjamesh, lifeless: So about this gpg tool thingy. Daniel wants gina running on production, like, tomorrow and I would prefer to run this thing before that.08:43
stub17:29:09) stub: jamesh: yes. People need to be able to create and edit their own hackergotchi (there was an email on this which I can't locate)08:49
stub(17:29:54) stub: jamesh: Did the GPG web-o-trust stuff land, and if so what should I run on staging?08:49
stub(17:32:58) James Henstridge: stub: there are two scripts -- the first of which needs access to the gpg strongly connected set and list of trusted keys08:49
stub(17:33:16) James Henstridge: the second is responsible for updating the database, and uses the output of the first script08:49
stub(17:33:40) James Henstridge: stub: lifeless would know what data to use for the first one08:49
stub(17:34:18) stub: ok. so the first script needs to only be run once anywhere and we can use the output on staging, and if we are happy with the result, production08:49
stub(17:34:47) James Henstridge: yeah08:49
jameshlifeless: whereabouts would I get the strongly connected set data to do a run of the script?08:50
jamesh(and which keyrings do we treat as trusted?08:50
lifelessjamesh: search me08:51
lifelesstrusted, ubuntu-keyring, debian-keyring08:51
jameshubuntu-keyring has two keys in it on my system08:51
=== dda1 [n=ddaa@ordo.xlii.org] has joined #launchpad
jamesh"Ubuntu Archive Automatic Signing Key" and "Ubuntu CD Image Automatic Signing Key"08:52
lifelessmm08:52
lifelessapt-cache search keyring perhaps08:53
=== azeem_ [n=mbanck@host109.natpool.mwn.de] has joined #launchpad
=== ddaa [n=ddaa@ordo.xlii.org] has joined #launchpad
jameshlifeless: are we able to get a dump from our local keyserver?08:58
stubCan we just use one of our own keyrings? 08:58
lifelessjamesh: I imagine so08:58
jameshthese are some of the PGP bits I'm not versed in08:58
lifelessjamesh: but I have not been involved with the keyserver foo08:58
=== freeflying [n=rockie@61.190.65.16] has joined #launchpad
stubSo it sounds like a tool has been written without thought on how it is supposed to be run :-/09:02
lifelessstub: lots of though09:04
lifelessstub: we know what format the things we get will be in , and for 2/3 of them we knew where to get them09:04
fabbionejamesh: a dump of a keyserver is approx 4GB...09:04
lifelessfabbione: we just want the strongly connected set09:05
fabbionejust abuse the server.. it's better for the few keys you need compared to the 2.5M in there09:05
stub But this tool is supposed to *calculate* that09:05
lifelessstub: no, its not.09:05
fabbionelifeless: just start from my or your key and grab them.. they are about 22K iirc09:05
lifelessstub: its supposed to use the debian + ubuntu 'trusted keys', plus relationships spidering out from there within the SCC, to establish with some degree of confidence that user A and user B are the same person09:06
lifelessstub: if we wanted the SCC alone, we would not have written code.09:06
stubI call that calculating a trusted set of keys. 09:06
fabbionelifeless: anyway to get a full dump, you need to stop the keyserver09:07
lifelessstub: a trusted set of keys is not the strongly connected set.09:07
jameshstub: it starts with a trusted set of keys, and ends up with a trusted set of (key, uid) pairs09:07
lifelessstub: the SCC/SCS is a different beast to what we are calculating.09:07
stubIndeed. I never said SCC or SCS. I don't even know what those abbreviations stand for.09:07
jameshstub: the starting conditions are "keys owned by people we trust to make good signing decisions", and the second is "(key, uid) pairs we are confident are correct"09:08
lifelessstub: well, I'll stop this thread, except to note it started when I said 'we need the scc, and you said 'its meant ot calculate that''09:08
jameshstrongly connected set == a set of nodes that can all reach each other via the directed edges between the nodes09:08
jamesh"the" strongly connected set would be the big one in the PGP web of trust09:09
lifelesswe're interested the one around debian/ubuntu though, which is the same one IIRC09:10
stubAnyway. I still need to know how to run this tool. So far all I'm hearing is that it is not ready yet, because a part of the chain is missing.09:10
stubAs it doesn't build its own keyring, someone needs to build one for it. And I doubt the 4GB full dump is appropriate.09:10
lifelessjamesh: are you looking for a scc at the moment ?09:11
jameshlifeless: I haven't started yet.  Should I try Fabbione's idea?09:11
lifelessjamesh: there are precanned ones, I suggest goodle09:12
stubHow can we trust a precanned one? 09:12
lifelessby the signatures in the debian and ubuntu keyrins09:12
lifeless*keyrings*09:12
stubSo we trust a precanned SCC if it has been signed by a key in the debian or ubuntu keyrings? 09:16
stubThat would indicate it has been manually uploaded and signed, which would be out of date. So crawling our own keyserver would be the better approach.09:17
=== azeem [n=mbanck@host45.natpool.mwn.de] has joined #launchpad
lifelessstub: its not *that* dynamic a thing09:18
lifelessbut, if you want to, http://www.dtype.org/keyanalyze/code/09:18
stubOh - do we actually *need* to trust that the SCC we use is acurate, or does our code verify if each key in the keyring is trusted enough for our purposes?09:20
lifelessthe latter09:20
lifelessthe only keys we *actually trust* are the ubuntu and debian ones.09:20
lifelessat least, as I understand it from when I was working on it.09:21
lifelessjamesh should be able to confirm09:21
lifelesstrusting random people who happen to have had their key signed and signed someone elses would be rather dumb.09:21
jameshlifeless: yeah.  only the keys on keyrings passed with --trust have their ownertrust value set.09:22
jameshgpg does the rest09:22
stubAnd I assume that the code actually *does* need the keyring prebuilt and there is no magic option to the GPG library we are using to pull down unknown keys from the keyserver?09:22
lifelessstub: it will pull unknown keys automatically09:23
lifelessbut that is relatively slow09:23
lifelessits preferred to have as much pre-seeded as possible09:23
stubSo all we need is any one of our keys and we can run it. 09:23
lifeless(because each key we add needs another trustdb rebuild and that is not incremental)09:23
stubyech.09:24
lifelessstub: install the debian-keyrin and ubuntu-keyring packages, or extract the keyrings from them09:24
lifelessstub: then you have the bare minimum09:24
lifelesslet me see about an ubunut accurate list09:24
stubI still havn't the foggiest idea what actually needs to be run. Anyone care to tell me what the scripts are called? Is it 'scripts/find-email-clusters.py' ?09:27
stubok - that looks like it.09:27
jameshstub: yeah.  you'd run "find-email-clusters.py --trust trusted-keyring.gpg scc.gpg"09:28
stubjamesh: scripts and cronscripts should have 'import _pythonpath' as the first import because I'm too lazy to set PYTHONPATH explicitly09:29
jameshyou can specify multiple trusted keyrings by repeating the --trust option, and multiple untrusted keyrings as positional args09:29
stubSo where can I find the ubuntu and debian keyrings?09:30
jamesh"apt-get install debian-keyring ubuntu-keyring"09:30
jameshand they'll be in /usr/share/keyrings/09:30
stubNo apt get here - I don't have root ;)09:31
=== stub looks for it on chinstrap
stubnope.09:32
stubbah09:32
sabdflmorning all09:33
lifelessgmorning09:33
jameshstub: http://ftp.debian.org/debian/pool/main/d/debian-keyring/debian-keyring_2005.05.28.tar.gz should be it09:33
=== GoRoDeK [n=gorodek@p5083FCF1.dip.t-dialin.net] has joined #launchpad
lifelessstub: jamesh: ubuntu keyring needs elmo to export it. I suggest trialling it without it for now09:33
stubI just need to extract the debian keyring locally and upload it since it doesn't seem to exist on the machines I have access to09:34
stubThis should have all been hardcoded in the script :-/09:34
jameshstub: the tarball I gave the URL to should have it09:35
jamesh(I think)09:35
stubjamesh: How do we trust it?09:35
jameshstub: check the signature in the dsc file09:36
lifelessthe keyrings md5 sum is signed by elmo09:36
jameshstub: alternatively, pull it from the Ubuntu repository09:36
stubjamesh: That involves doing it all locally again ;)09:36
lifelessThe rsync area on keyring.debian.org is the canonical location for09:36
lifelesskeyrings and it is what the Debian installer program (dinstall) uses.09:36
lifelessIf your key is available from there, it will be seen by dinstall.  The09:36
lifelesstarball and Debian package are provided for user convenience and are09:36
lifelessnot necessarily in sync with keyring.debian.org.09:36
lifelessThat file contains the keyrings, signed copy of keyring md5sums and09:36
lifelessthis README.  The keyring md5sums will be signed by James Troup.09:36
ddaalifeless: please review importd-archivelocation today09:37
lifelessddaa: yes09:37
ddaait's a prerequisite for niemeyer starting fixing import for branchdatastorage09:37
lifelessack09:37
lifelessI dont do it, you block, we all suck.09:37
ddaanot yet quite blocked on it09:37
stubOnce we have run this, who can check that it has done what it is supposed to?09:40
stubjamesh, lifeless: ^^^09:46
stubIt is bombing: https://chinstrap.ubuntu.com/~dsilvers/paste/file3NPAqW.html09:51
jameshstub: did you pass a non-trusted keyring?09:56
stubIt did the samething when I did09:56
fabbionelifeless: for a fast import you can disable the --check-trustdb option09:56
fabbionelifeless: and run it manually at the end of the import09:57
jameshstub: ah. try replacing ~ with $HOME, maybe?09:57
jameshfabbione: we already do that09:57
stubeh? I thought bash did that for me ;-/09:58
jameshI'm guessing09:58
stubHmm... seems to be running now.10:00
=== stub kills gina
stubbombed out again. it is doing *something* though before it bombs.10:01
stubStill running this time...10:07
stubShould I be running this with '-v' ?10:11
stubjamesh: I believe parser.error('the error') is the badly documented yet preferred method of raising an error on bad command line arguments10:13
=== zyga [n=zyga@2-mi2-1.acn.waw.pl] has joined #launchpad
SteveAhi10:23
SteveAlifeless: did you want something?10:23
lifelessSteveA: advice on some evil python stuff10:29
lifelessthat I was unsure about doing10:29
stubI have 3790 lines of output from the find-clusters.py script. Does that sound correct?10:31
stubI think I'm going to have to give up on this until someone-who-knows can help running this stuff on staging and confirming that it works and run gina without it (which is a shame, because we have been blocking gina since brazil for this :-( )10:39
sivangGood Morning all10:44
jameshstub: it should be groups of email addresses separated by blank lines10:45
stubjamesh: it is. but should I have 10 or 1,000,000?10:45
jameshstub: would depend on how many keys you looked at.  Was this just the debian keyring?10:46
stubjamesh: I ran it with the debian keyring as the trusted keyring, and a copy of the debian keyring as the strngly connected set.10:47
jameshstub: then that sounds like about the right amount of data10:48
jamesha quick check shows ~ 3500 unique uids in that keyring, all of which would be considered valid if you trust all those keys10:48
stubjamesh: but what about all the other keys that we infer trust for?10:49
jameshstub: if you ran it without any other keys, then there is no other keys to infer trust for.10:49
stubThere is a whole keyserver to interrogate. 4GB of keys.10:50
stub(17:23:13) Robert Collins (lifeless): stub: it will pull unknown keys automatically10:50
jameshI think he was talking about http://www.dtype.org/keyanalyze/code/10:54
stubargh. So I've wasted the last hour or so, because my original impression was correct and the code isn't yet useful to us.10:55
SteveAstub: so, my merge didn't go through last night.  i'm going to try again, but i don't want to conflict with your browser messages stuff.11:02
SteveAddaa: we should talk about the python import, and 32k11:04
=== ddaa looks for some run-off-the-mill "we should talk" housewife rebuttal
ddaaeeeer, yes honey?11:05
SteveAi don't think a importing a sticky sweet python will help anyone11:06
ddaado you mean it should be less sticky?11:06
ddaa(whatever that means)11:06
SteveAhoney is sticky regardless.11:06
ddaalet's avoid absurd jokes...11:07
=== sivang read that sentence literally.
ddaaSteveA: so, what with the goddamn python import?11:07
SteveAso, you checked out apache and other tools, that they can handle 32k subdirectories11:08
SteveAyou need to decide with lifeless about whether it needs to be available on the supermirror11:08
SteveAthen, we need to decide on what size partition on what machines to request11:08
=== carlos [n=carlos@243.Red-83-47-24.staticIP.rima-tde.net] has joined #launchpad
ddaaYes.11:08
carloshi11:09
SteveAhello carlos11:09
carlosSteveA, I'm with the gas installation, they are taking much more time than I expected11:09
SteveAokay11:09
SteveAcarlos: please see the email from Timo Jyrinki 11:09
carlosok11:09
=== henrym [n=henrym@219-89-147-70.jetstart.xtra.co.nz] has left #launchpad ["Leaving"]
SteveAon rosetta-users11:09
ddaaI did not check very thoroughly, but the toolchain is only using stuff that's so standard it should have no problem with large number of subdirs.11:09
ddaaOne bit that might be worth checking though is the backup tool, but it's outside of my control.11:11
ddaaif anything else break, I'll happily offer large amounts of beer to annoyed parties11:11
SteveAif the backup tool doesn't work, we'll just need to work without backups until we get a proper bzr backend11:12
SteveAor use different, less frequent backups "by hand"11:12
ddaaSo, you want me to send clarifications about publishing requirements and disk space requirements?11:14
ddaato you and elmo?11:14
ddaaAnything else?11:15
SteveAi think that's all.  and where you want the partition's mountpoint to be11:18
SteveAexactly what machines it needs to be on11:19
carlosstub, is staging being updated every day?11:19
stubyes11:19
ddaaSteveA: okay, I'll get clear requirements from lifeless (writing email now).11:20
SteveAstub: i'm merging my LaunchpadBrowserRequest thing with pqm now11:21
stubSteveA: ok11:22
ddaaSteveA: is that the thing we talked about yesterday?11:22
SteveAddaa: it makes things easy for the traversal code you need to write, yes11:22
ddaaI'm starting to block on it (I can still work on pending sql pach work for a day or so)11:23
SteveAddaa: so, once pqm has done its stuff, i'll switch to your branch, and send you a patch that does the things you need11:25
ddaaLovely.11:25
ddaastub: SQL trivia11:41
carlosSteveA, I really need the review for my language pack branch11:41
carlosSteveA, would that be possible?11:41
SteveAsure11:41
SteveAis it ready on the pending reviews page?11:42
carlosyeah11:43
ddaaI have a Branch table, with a foreign key started_at to RevisionNumber. And RevisionNumber has a foreign key branch to the Branch table. How do I add a constraint so that branch.started_at.branch == branch?11:43
SteveAcarlos.perello@c.c--2004/launchpad--language-pack-export--111:44
carlosSteveA, yeah11:44
ddaa(where started_at can be NULL)11:46
stubddaa: Generally you don't11:47
ddaastub: I guess you could use a procedural constraint. How do you generally draw the line here?11:48
stubddaa: I think it depends on how many different components of our systems need to update those tables. 11:49
ddaamh11:49
ddaaRevisionNumber would only be updated by Taxi. But Branch.started_at could be updated by any number of components, including the web UI.11:50
stubddaa: We can do it with a trigger, but I doubt the extra complexity is worth it if we can be fairly sure the code that updates those tables do the right thing.11:50
ddaaBah... I guess I could add an assert in the database class.11:51
=== freeflying [n=rockie@61.190.65.16] has joined #launchpad
ddaastub: thanks11:52
SteveAcarlos: have you checked out the database stuff in that branch with stub?11:55
=== peterbe [n=peterbe@62.232.38.28] has joined #launchpad
stubddaa: I think we can do it with a foreign key constraint. If you paste what you have I can update it. It involves making RevisionNumber(branch, id) UNIQUE and declaring a FOREIGN KEY (id, started_ad) REFERNECES RevisionNumber(branch, id) on Branch11:57
ddaastub: you rock12:00
carloshmm12:00
carlosSteveA, I don't remember it....12:00
=== carlos takes a look to the branch
=== jinty [n=jinty@205.134.224.215] has joined #launchpad
carlosSteveA, stub, do we need to check the additions to the security file?12:02
carlosdidn't know that...12:03
SteveAthey look like the minimum you need12:03
ddaastub: here's what the patch currently looks like12:03
ddaahttps://chinstrap.ubuntu.com/~dsilvers/paste/fileHhw8IB.html12:03
ddaano garantee it's even valid sql at this point :)12:03
ddaaI'm not sure the extra UNIQUE constraint is really necessary as RevisionNumber.id is already unique (being a primary key), but maybe postgres requires it.12:05
stubddaa: The extra UNIQUE on the two columns is required to allow a foreign key reference to those two columns12:06
ddaathere's a TODO in the patch at the place where I think the constraint shoud be added (but you own that anyway...)12:08
KinnisonWho here knows about the GPG interface in launchpad?12:15
=== shawarma [n=sh@3E6B503C.rev.stofanet.dk] has left #launchpad []
jameshcan someone check to see if pqm has hung?12:18
jameshKinnison: UI or IGPGHandler stuff?12:19
Kinnisonjamesh: the latter12:19
=== Kinnison wants to know if there's an easy "I have a 64bit keyID, can you give me, 1. the key and 2. the Person who owns it" type interface
KinnisonI think I can get the Person record reasonably easily12:21
Kinnisonbut I need to know how to extract the key using the launchpad infrastructure12:21
KinnisonI need the literal key data for the gpg verification stuff for package uploads12:22
=== Seveas [n=seveas@seveas.demon.nl] has joined #launchpad
jameshKinnison: getUtility(IGPGHandler).retrieveKey(keyid) seems to work for short IDs as well as fingerprints12:23
jameshdoing an import if necessary12:23
stubddaa: You are deleting the contents of Branch, but there are rows in ManifestEntry that reference stuff in there.12:23
stuberm... c/Branch/Revision12:24
jameshKinnison: of course, if you have the Launchpad person, you should have full fingerprints for the user's keys12:24
=== Seveaz [n=seveas@seveas.demon.nl] has joined #launchpad
Kinnisonjamesh: I have a 64 bit keyid, that's *IT*12:24
jameshKinnison: is this keys not registered in Launchpad then?12:25
=== stub confuses himself
Kinnisonjamesh: it might be in launchpad, I don't know yet12:26
Kinnisonjamesh: I've just been presented with a clearsigned text file12:26
Kinnisonjamesh: I can get the keyid from that12:26
Kinnisonjamesh: from there, I have to find everything else out, including whether or not the file was tampered with12:26
ddaastub: I'm pretty sure I checked out with Keybuk about that...12:27
ddaamaking a full update would be a big pain :(12:28
jameshKinnison: okay.  There are two interfaces here: the IGPGHandler stuff will let you retrieve the key (from the keyserver), and can do so by the short ID12:28
ddaastub: I have to go to lunch now, back in about 45 mins12:28
jameshKinnison: the IGPGKeySet interface lets you see keys the Launchpad database knows about12:28
Kinnisonjamesh: will the IGPGHandler literally give me the key as a string?12:29
jameshKinnison: it gives you an object representing the key, so you can get its fingerprint, uids, etc12:30
stubddaa: There are only 4 manifestentries on production12:30
Kinnisonjamesh: I want, quite literally, the keydata12:30
Kinnisonjamesh: *OR* I want to know the full path to the keyring that the IGPGHandler has just imported a key into12:31
Kinnisonjamesh: which of those two can be supplied?12:31
jameshKinnison: the keyring would be $GNUPGHOME/pubring.gpg12:32
Kinnisonjamesh: thanks.12:32
Kinnisonjamesh: and that's configured, simply by doing blah=getUtility(IGPGHandler) ?12:33
Kinnisonjamesh: or do I have to do something to set stuff up before I can rely on $GNUPGHOME/pubring.gpg being present?12:33
jameshKinnison: are you sure the IGPGHandler.verifySignature() method wouldn't be appropriate?12:33
KinnisonThe import stuff has a very very very specific wrapper around the gpgv implementation12:34
Kinnisonat this point in the game, I don't want to not use it12:34
Kinnisonelmo trusts the handler I have, it's important not to lose that level of trust to begin with12:34
KinnisonOr are you telling me that I can simply ask the IGPGHandler to verify a bit of clearsigned content and it will not only tell me whether or not it is valid, but who signed it etc, without first being primed with the key?12:35
jameshlet me do a quick check12:36
SteveAcarlos: reviewed12:38
jameshKinnison: gpg = getUtility(IGPGHandler); sig = gpg.verifySignature(clearsigned_data)12:38
jameshKinnison: sig.fingerprint is the fingerprint, sig.plain_data is the associated data12:38
Kinnisonjamesh: even without feeding it keys first?12:39
jameshKinnison: the gpg config is set to auto-key-retrieve12:39
Kinnisonright12:39
Kinnisonand then I can do getUtility(IGPGKey).selectBy(fingerprint=sig.fingerprint)12:40
Kinnisonyes?12:40
jameshyep12:40
jameshwell, IGPGKeySet12:40
jameshand getByFingerprint()12:40
jameshif you get a key record, you can then get the person object12:41
Kinnisoncool, ta12:41
SteveAddaa: ping12:42
Kinnisonjamesh: and if it's unable to get the key?12:42
Kinnisonjamesh: or if the data is damaged?12:42
jameshKinnison: the key record?12:43
jameshKinnison: if IGPGKeySet.getByFingerprint() returns None, then the key has not been registered in launchpad12:43
Kinnisonjamesh: consider a clearsign by a key never uploaded to the keyserver12:43
Kinnisonjamesh: such that the gpg instance can't fetch it12:43
jameshKinnison: then the signature verification would fail12:44
jameshKinnison: but all keys registered in the Launchpad database come from the keyserver network12:44
jamesh(the registration process asks you for the key fingerprint, and then retrieves the key from the keyserver)12:44
Kinnisonjamesh: aye, but we have to consider uploads from people who are not registered and fail gracefully12:46
Kinnisonjamesh: so what happens if the verification fails? do I get "None" back? a reason, or an exception raised?12:46
jameshKinnison: that would be a policy decision.12:46
jameshKinnison: yep.  If the verification fails, verifySignature() returns None12:47
Kinnisonurgh12:47
Kinnisonno reason?12:47
carlosSteveA, thanks12:47
jameshnope12:47
Kinnisonnot good enough then12:47
SteveAlifeless: ping12:48
Kinnisonwhere is the implementation of IGPGHandler?12:48
=== Kinnison will have to augment it to return a reason
SteveActags12:48
jameshlib/canonical/launchpad/utilities/gpghandler.py12:48
Kinnisonjamesh: ta12:48
jameshthe other half is pyme :)12:48
SteveAidtools ;-)12:48
=== jamesh thinks pqm has hung
SteveAlooks like pqm        398  0.0  0.0   2280   860 ?        S    10:53   0:00 nc -l -p 2401 -e /home/pqm/arch/queue/workdir/rocketfuel@canonical.com/rocketfuel@canonical.com---launchpad--devel--0/launchpad/sourcecode/cscvs/,,repoCatalog/CVSROOT/server12:50
SteveAlifeless, ddaa: looks like some cscvs stuff is hanging pqm12:51
kiko-zzzKinnison, do you require sign-only keys to work?12:52
Kinnisonkiko: given that the key has to be in launchpad for verification and identification, I'll be happy with whatever makes it into launchpad12:53
KinnisonI'd like for signing-only to work12:53
kikoKinnison, yeah, bug 1972 would be great to fix12:53
UbugtuMalone bug #1972: Problem validating sign-only GPG key Fix req. for: launchpad (upstream), Severity: Normal, Assigned to: Celso Providelo, Status: Accepted http://launchpad.net/malone/bugs/197212:53
kikojamesh, would you be able to help us debug 1972?12:53
carloswow12:53
Kinnisonkiko: It may be essential for the distro team12:53
carloswho develop Ubugtu?12:53
kikojamesh, it requires some gpgme research, I think12:54
kikocarlos, Seveaz 12:54
carloscool12:54
jameshkiko: I added a comment a few hours ago.  Does it sound like a possible reason?12:54
kikolet me check12:55
=== crimsun [n=crimsun@pdpc/supporter/silver/crimsun] has joined #launchpad
kikojamesh, that's an analysis of the second part of the problem01:02
kikojamesh, I'm going to file a new bug on it01:02
kikojamesh, I'm asking more about the fact that sign-only keys don't work01:02
jameshkiko: that they don't work for op_encrypt(), or that we offer no method to register such keys?01:04
kikojamesh, I think the latter is intractable :-) so it's the former.01:07
=== Kinnison [n=dsilvers@haddenham.pepperfish.net] has joined #launchpad
=== Albaraha [n=Albaraha@82.194.43.173] has joined #launchpad
kikoerr sorry01:15
kikothe opposite, jamesh 01:15
=== carlos thinks he lost some code at some point
=== camilotelles [n=Camilo@20132203203.user.veloxzone.com.br] has joined #launchpad
carloskiko, didn't you asked me to change the validation function from helpers to potmsgset a couple of weeks ago?01:19
ddaastub: SteveA: back01:22
jameshkiko: okay.  First thing we need to do is expose subkey information on IPymeKey instances.  That'll give us can_encrypt, can_sign, etc attributes for each subkey01:22
jameshkiko: if a key has no encrypting subkeys, then we'll need to fall back to a separate "signing key" registration scheme like what Kinnison described in the bug01:23
ddaastub: manifestentry.changeset is always NULL01:24
jameshkiko: we'd probably want to note the fact that a key has only been registered for signing in the gpgkey table (an extra bool column should do)01:25
ddaatherefore I can safely delete all changeset/revision records01:25
stubok01:25
jameshkiko: actually, we won't necessarily have to expose all the subkey information -- we can just have a key-level can_sign, can_encrypt, etc attributes01:26
jameshcalculate those once01:26
SteveAjamesh: lifeless has reset pqm.  stub, elmo and znarl also know how to do this and have rights to do so, for future reference01:26
kikocarlos, I did, yes.01:27
kikocarlos, and AIUI you did it!01:27
carlosI know01:27
carlosbut the language pack branch lacks that change01:27
carlosand last merge with rocketfuel was last week...01:27
carlosso I wonder if I have an unmerged branch...01:28
kikojamesh, but how are we going to validate the key if we can't encrypt? only by using a scheme such as Kinnison suggested.01:28
kikoah01:28
kikothat's what you're saying.01:28
kikojamesh, that sounds perfect01:28
kikojamesh, could you cook up a patch? as soon as that's landed we can work on registering sign-only keys01:29
jameshkiko: sure.01:30
jameshkiko: do you want subkey information available, or just the summary can_sign,can_encrypt,etc attributes?01:30
jameshor both?01:30
kikojamesh, hmmm. I don't think I need the subkey for anything -- I just need to be able to encrypt or sign content depending on the capability of the subkeys -- so just the summaries are fine. Kinnison, do you need specific subkey information?01:34
jameshkiko: we won't be able to encrypt or sign the message to the owner of a sign-only key (unless we are signing with a "launchpad" key)01:34
jameshkiko: we can only verify the signatures made with that key01:35
carlosstub, hi, around?01:36
stubyes01:36
=== camilotelles [n=Camilo@20132203203.user.veloxzone.com.br] has left #launchpad ["Leaving"]
carlosstub, about my request to change the rawimportstatus field01:37
carlosstub, why do you think we need to reset the rawfile field?01:37
kikojamesh, err, yeah, what you said 01:37
carlosstub, the constraint is that you cannot have rawfile as null if rawimportstatus is 101:39
carlossorry01:39
carlosstub, the constraint is that you cannot have rawfile as null if rawimportstatus is > 101:39
Kinnisonddaa: If I replay a patch from the middle of a branch into rocketfuel, will that cause issues later when I merge that branch in?01:39
stubcarlos: The CHECK constraint is "pofile_rawimportstatus_valid" CHECK (rawfile IS NULL AND rawimportstatus <> 2 OR rawfile IS NOT NULL)01:40
kikoKinnison, you need to sync-tree afterwards01:40
Kinnisonkiko: why on earth would I need to sync-tree? I don't want to prevent it from merging patches from earlier on the branch01:41
carlosstub, yeah, more or less is the same01:41
carlosstub, it's less restrictive than what I said01:41
Kinnisonkiko: I have a self-contained patch for adding reason information for a failure on signature verification to IGPGHandler 01:41
stubcarlos: I can't remember what the original request was01:41
Kinnisonkiko: It's on my uploader branch, which obviously contains stuff not yet ready for merging01:41
carlosstub, but the way we develop the code, rawfile will not be NULL unless rawimportstatus is == 101:41
carlosstub, set rawimportstatus =201:42
Kinnisonlifeless: ping?01:42
carlosstub, when it's 4 or 1 and rawfile is not null01:42
stubeh?01:43
Kinnisonstub: thanks for that approval01:43
=== Kinnison renames the patch on his branch
carlosstub:01:43
stubcarlos: UPDATE POFile SET rawimportstatus=2 WHERE rawimportstatus in (1,4) and rawfile is not null?01:43
carlosUPDATE POTemplate set rawimportstatus=2 WHERE rawimportstatus=4;01:43
carlosUPDATE POFile set rawimportstatus=2 WHERE rawimportstatus=4;01:43
carlosstub, yeah, that's more complete01:44
stubstop confusing me!01:44
carlosstub, I just pasted you the request I did01:44
=== stub bursts into tears
carlosok01:44
carlosI need this: 01:44
carlosUPDATE POFile SET rawimportstatus=2 WHERE rawimportstatus in (1,4) and rawfile is not null;01:44
carlosUPDATE POTemplate SET rawimportstatus=2 WHERE rawimportstatus in (1,4) and rawfile is not null;01:44
stubok ;)01:46
stubcarlos: done01:46
carlosstub, thanks!01:46
ddaakiko: the sync-tree thing is only for replay --reverse01:48
ddaaand I'm not sure about the specific situation there's a problem with that01:49
=== einheit [n=steve@195.182.78.95] has joined #launchpad
ddaaKinnison: the main issue you'll have is that star-merge, update, etc. determine which revision of a branch a tree is up to date to by looking at the latest patchlog for that branch present in the tree.01:50
KinnisonI *guess* I could just star-merge my branch01:50
Kinnisonsince everything on it is fairly self-contained01:50
=== Kinnison ponders doing that
ddaaIOW if you try to star-merge that branch into rocketfuel, or any branch that merged rocketfuel after that, it will not do the right thing.01:51
KinnisonIf I can get a review for https://chinstrap.ubuntu.com/~dsilvers/paste/fileJoJOjK.html then I can do that01:51
Kinnisonanyone? It's very small01:51
Kinnisonddaa: I guessed it might make star-merge hiccough01:51
Kinnisonddaa: so I'll not replay, but instead merge as normal01:51
Kinnisonthusly I need that gpg patch reviewing01:51
Kinnisonjamesh: any chance you can cast your eye over: https://chinstrap.ubuntu.com/~dsilvers/paste/fileJoJOjK.html ?01:51
=== jamesh looks
ddaaKinnison: that's one of the things that mesh-merge meant to fix01:51
Kinnisonddaa: I can appreciate that01:52
=== asmodai [n=asmodai@sakko.demon.nl] has joined #Launchpad
jameshKinnison: that's going to cause problems with multithreaded apps01:52
jamesh(like Launchpad)01:52
Kinnisonjamesh: aah, I figured each thread would have its own IGPGHandler instance01:53
jameshKinnison: nope.  There's just one of each utility01:53
Kinnisonbugger01:53
einheitthe launchbag is special though01:53
einheitas it puts its state in a thread local01:53
=== jamesh thinks IGPGHandler would be a lot simpler if it used exceptions
Kinnisonjamesh: in lua, it'd be easy, I'd just "return nil, reason"01:54
Kinnisonjamesh: but in python, that'll cause tuple joy01:54
=== Kinnison sighs
=== Kinnison ponders how to fix it
jameshKinnison: one way would be to turn verifySignature() into verifySignatureEx(), which returned the error message, and make verifySignature() a wrapper around that01:55
jamesh(that's not a very good method name though)01:55
SteveA_ddaa: is the python import now unblocked?01:55
Kinnisonjamesh: It would do for now though, wouldn't it?01:55
SteveA_ensureSignature?01:55
SteveA_which would raise01:55
ddaaSteveA: now that the requirements are clarified, i'll proceed with putting the stuff in place and coordinating with jblack and elmo.01:56
Kinnisonso make verifySignature() wrap _verifySignature() and ensureSignature() which wraps and raises?01:56
ddaaso, if anything it's blocked on me ATM01:56
SteveA_ddaa: okay.  please keep me and lifeless up to date about how it is going01:56
KinnisonSteveA_: or, make verifySignature() wrap ensureSignature() and swallow the exception?01:56
jameshKinnison: that's what I was suggesting -- make the old function a wrapper around the new function01:57
Kinnisonjamesh: okay01:57
=== Kinnison has to dump his ctrlproxy, back in a tick
=== Kinnison [n=dsilvers@217.205.109.249] has joined #launchpad
Kinnisonjamesh: I'm gonna do that now, one sec01:58
lifelessddaa: importd-archivelocationconflicts01:59
ddaaIguessyouaremissingaspaceinthere01:59
lifelessddaa: and appears to have random cruft in it02:00
lifelessddaa: search for buildd/debian.py in https://chinstrap.ubuntu.com/~jamesh/pending-reviews/david.allouche@canonical.com--2004/launchpad--importd-archivelocation--1/filtered-diff02:00
=== camilotelles [n=Camilo@20132203203.user.veloxzone.com.br] has joined #launchpad
=== camilotelles [n=Camilo@20132203203.user.veloxzone.com.br] has left #launchpad ["Leaving"]
=== ddaa scratches head
ddaaweird02:01
lifelessconflict related02:01
lifelessbut there is too much noise for me to tell who did what02:01
ddaaI'll fix that02:01
ddaaright now02:01
lifelessthanks02:01
lifelessok, I cannot finish this tonight, thats for sure, but its looking positive02:03
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  small refactor of the request type used in launchpad, to make certain traversal tricks more straightforward. (patch-2619: steve.alexander@canonical.com)02:03
=== matsubara [n=matsubar@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
matsubaragood morning!02:04
SteveA_hi matsubara 02:04
ddaalifeless: that's okay, I got python import stuff to do, and some launchpad stuff once SteveA_ sent me a patch. I will not be idle.02:04
SteveA_ddaa: my change that you need has landed in RF02:04
ddaaSteveA_: and my pony?02:05
=== mpt [n=mpt@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
ddaaSteveA_: I mean, thanks :)02:05
=== niemeyer [n=niemeyer@200.138.33.249] has joined #launchpad
ddaahello niemeyer02:06
jameshkiko: while I'm at it, would it be helpful if GPGHandler.encryptContent() explicitly raised an exception if can_encrypt==False?02:06
niemeyerHiho!02:06
ddaaddaa.fork()02:06
SteveA_ddaa: please remind me of the branch i should get to work on a patch for your urls and traversal02:06
niemeyerddaa: Gubby is quite interesting.. I am curious to try it :)02:06
ddaa-ENOTIMPLEMENTED02:06
ddaarats!02:06
SteveA_(i'm at home rather than in the office, with the heating engineer taking the boiler apart)02:07
ddaaSteveA: david.allouche@canonical.com--2004/launchpad--sprint--002:07
SteveA_ok02:07
jameshkiko: (it already raises an exception in op_encrypt(), but this would make it obvious that the reason is a signing-only key)02:07
=== salgado [n=salgado@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
SteveA_hi salgado 02:07
ddaaniemeyer: http://ddaa.net/blog/gobby-first-look02:07
ddaasome essay about collaborative text editing02:08
salgadohi SteveA 02:09
Kinnisonjamesh: https://chinstrap.ubuntu.com/~dsilvers/paste/fileQrfq6P.html02:09
ddaalifeless: okay, I found the problem, the -1 branch comes from launchpad--production--1.35, instead of rocketfuel, my confusing02:09
kikojamesh, yes, it would02:10
niemeyerddaa: "When a user loads a document, the whole document appears with the background colour of that user"02:11
niemeyerddaa: Interesting, that was the first issue I noticed as well :)02:11
ddaafixing that is high on their todo list02:12
=== freeflying [n=rockie@61.190.65.16] has joined #launchpad
kikohey salgado 02:13
kikono review for me then02:13
jameshKinnison: first problem: put the exception in interfaces/gpghandler.py rather than utilities/gpghandler.py02:14
mpthey kiko, no review for me either? :-)02:15
kikompt, I'll do it this morning, I was lost inside teammembership bugs02:15
mptthanks02:15
kikoone of them is very big though02:15
kikompt, can you guide salgado into doing the right thing wrt shipit searching?02:16
jameshKinnison: other than that, it looks good.02:16
mptyep, I'll have a look02:16
niemeyerddaa: Do you store your own baz configs somewhere or should I just take the rocketfuel one and replace the launchpad branch with your branch?02:20
ddaamh02:21
ddaathe latter should be good02:21
ddaa(if it's not, it's a bug)02:21
ddaaonly importd integration testing requires special stuff02:21
=== carlos -> lunch
kikosalgado, I will send you an updated patch with tests in a bit02:25
kikosalgado, will you review it?02:25
ddaaniemeyer: btw, do you know about "baz switch"?02:26
niemeyerddaa: Yep02:26
kikobaz switch is the devil's work!02:26
niemeyerddaa: Considering I have a revlib, why would it help me?02:27
ddaakiko: then I think we have establish that the devil is lactose-intolerant :)02:27
ddaaniemeyer: its easier to switch launchpad, that keeps all your unversioned files and does not touch the nested trees02:28
niemeyerddaa: Ah, understood. Wouldn't help me right now, given that the trees I'm downloading are pristine.02:29
ddaaare a rule, I prefer to use a single launchpad setup and switch trees around, I get easily confued otherwise (e.g. editing files in the wrong tree)02:30
ddaabut YMMV02:30
kikoif I keep a single tree I can't work02:30
=== azeem [n=mbanck@host109.natpool.mwn.de] has joined #launchpad
kikohey azeem 02:32
ddaalifeless: mirorring importd-archivelocation--2 right now, without the unrelated stuff02:34
azeemhey02:35
salgadokiko, sure (sorry for the delay)02:35
Kinnisonjamesh: okies, I'll put the exception there and merge, thanks dude02:41
Kinnisonjamesh: although that means it'll be canonical.launchpad.interfaces.GPGVerificationError -- is that what you wanted?02:42
=== cprov [n=cprov@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
=== Kinnison [n=dsilvers@haddenham.pepperfish.net] has joined #launchpad
niemeyerHummm..02:46
niemeyer    cur.execute(sql) # Will die on a bad patch.02:46
niemeyerpsycopg.ProgrammingError: ERROR:  column "owner" contains null values02:46
kikoDIE02:46
niemeyerYes, it's dead.. :)02:46
ddaamh?02:47
ddaais that something I need to worry about?02:47
Kinnisonjamesh: sorry, if you said anything, I missed it. gnome-terminal went arse-over-tit02:48
niemeyerddaa: Only if you want to..02:48
ddaathen I won't02:48
=== Keybuk [n=scott@syndicate.netsplit.com] has joined #launchpad
Kinnisonhey keybuk02:52
Keybukheyhey02:52
KinnisonSteveA: Do you agree with jamesh that the GPGVerificationError should be in canonical.launchpad.interfaces.gpghandler rather than canonical.launchpad.utilities.gpghandler ?02:52
SteveA_yes i do02:52
Kinnisonokay, I'll do that02:52
Kinnisonthanks02:52
=== Kinnison just wanted confirmation
Kinnisonit seemed odd to me02:52
SteveA_anyone implementing the interface needs to be able to use the error02:53
SteveA_so the interface depends on the error class02:53
Kinnisonright02:53
=== bradb [n=bradb@modemcable033.209-70-69.mc.videotron.ca] has joined #launchpad
=== azeem [n=mbanck@host45.natpool.mwn.de] has joined #launchpad
niemeyerddaa: Branch sprint--0 is up and running..03:00
ddaarunning?03:00
ddaayou mean belly-crawling, right?03:01
cprovSteveA: hi, do you have some time today for review "dapper-open" related changes ? 03:01
niemeyerddaa: Heheh :)03:01
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: set language and text direction in translation forms.  Fixes bug #74, r=lifeless (patch-2620: james.henstridge@canonical.com)03:06
SteveA_cprov: yes, i will have03:07
cprovSteveA_: great, please, let me know when you are able to do it: 3 branches,  2nd pass builddUI, nominatedarchindep (small code and check spec language) and gzip-buildlog03:10
cprovSteveA_: thanks in advance.03:10
KinnisonSteveA_: I'm only punting cprov on stuff needed for dapper-open now, so it'd be nice if the review team were aware that anything cprov or I ask for is likely to be critical03:10
SteveA_Kinnison: okay03:11
KinnisonAlso, mark will be landing a huge package UI overhaul at some point03:11
Kinnisonthat's kinda important too03:11
=== gneuman [n=gneuman@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
=== zygis [n=zygis@84.240.58.9] has joined #launchpad
cprovstub: ping 03:36
stubcprov: pong03:36
cprovstub: didn't you approve my nominatedarchindep DB patch sometime last week ?03:36
stubyes03:36
cprovstub: PendingReviews says the opposite, may I repair it ? 03:37
stubyes please ;)03:37
cprovstub: will do, thank you ;)03:37
KinnisonI take it that GPGKey.owner == the literal owner, rather than some db object owner?03:44
jameshcprov: did you mean to add the branches I just removed back to PendingReviews? :)03:45
jameshKinnison: it would be the database person who claimed the key03:45
jameshKinnison: (who would have proved their ownership by decrypting a mail sent to them)03:46
Kinnisoncool, so it's exactly who I want03:46
stubKinnison: As far as I'm aware, yes. Feel free to stick in a comment clarifying and confirming this03:46
Kinnisonstub: if I have time03:46
=== Kinnison goes back to frantic coding
cprovjamesh: sorry ? did you had the locks .. was using editmoin .. let's check03:46
gneumanSteveA03:48
cprovjamesh: ohh, sorry, I did the mess, will you repair or should I ?03:50
bradbBjornT: hey dude, just so you know: it doesn't look like anyone responded to your review request for PBR yet. I wasn't too anxious to nag anyone for it last week either, because I was plenty busy with my own patches, unfortunately.03:51
jameshcprov: no problem.  I just redid the edit03:52
cprovjamesh: right, I apologize myself .. 03:52
kikoso before each standalone pagetest runs do we reset the database?04:00
=== janimo [n=jani@Home03207.cluj.astral.ro] has joined #launchpad
janimojblack, ping04:05
SteveA_bug 294604:06
UbugtuMalone bug #2946: System error when renaming a product to the same name of a existing product. Fix req. for: launchpad (upstream), Severity: Normal, Assigned to: neuman, Status: New http://launchpad.net/malone/bugs/294604:06
SteveA_bug 290804:06
UbugtuMalone bug #2908: Trying to insert or change a poll option with same name causes crash! Fix req. for: launchpad (upstream), Severity: Normal, Assigned to: Nobody, Status: New http://launchpad.net/malone/bugs/290804:06
SteveA_Seveas: this rocks, man04:06
kikomatsubara, didn't you fix the second bug there, 2908?04:06
gneumankiko04:06
SteveA_i'm talking with gneuman about them04:06
gneumanyep04:06
carlosstub, did you updated production already with latest code?04:07
stubcarlos: yes04:07
carlosstub, ok, thank you04:07
matsubaranope, gneuman is fixing it04:07
kikookay04:07
=== lamont [n=lamont@15.238.6.221] has joined #launchpad
BjornTbradb: yeah, i saw that you were busy, landing a patch which conflicted with mine ;)04:14
=== janimo [n=jani@Home03207.cluj.astral.ro] has left #launchpad []
=== bradb is resolving conflicts here too
bradbIt is interesting to note though that, in the absense of nagging, the patch didn't get reviewed.04:17
kikoabsence.04:17
bradbthat too04:17
bradbmy spell checker is set to fr right now, so every word's a spelling mistake :P04:17
=== bradb does something about that
kikois there a trick with pagetests when it refuses to match on what you supply?04:23
bradbsometimes04:23
kikoit's hard to understand why it fails -- the mental model suggested is violated severely upon failure04:24
sabdflsalgado: ok, it's time for our first ubuntu vote04:24
sabdflit's a vote for ubuntu-dev04:24
sabdflhow do i set it up?04:24
salgadosabdfl, in people/ubuntu-dev/+polls there should be a link to create a new poll04:25
=== zyga_ [n=zyga@2-mi2-1.acn.waw.pl] has joined #launchpad
SteveA_kiko: there's a fundamental problem in doctest04:28
SteveA_kiko: that is, there is totally separate code that does the checking and presents the output04:28
kikoSteveA_, tell me more about it -- I might just give up here.04:28
kikoI see.04:29
SteveA_kiko: so, if there are any discrepencies between the algorithms of each04:29
SteveA_you get problems04:29
SteveA_because part 1 fails the test, and part 2 gives you perfect output for example04:29
SteveA_the solution: make the same code paths do both jobs04:29
kikoSteveA_, or have a single codepath? :)04:30
SteveA_yeah04:30
kikook04:31
kikomeanwhile what should I do with a test that should succeed but fails?04:31
stubKinnison: What happens if we don't run Gina today or this week?04:31
KinnisonIf a gina run is not complete by Monday, we can't open dapper04:32
SteveA_kiko: send me the details for analysis, perhaps...04:32
kikoSteveA_, okay, good idea. I'll commit with these sections omitted and then send you the full file.04:32
SteveA_okay04:32
kikoSteveA_, think you can comment on my top-failures report now?04:32
SteveA_the last time we did this, it was really weird04:32
SteveA_because i couldn't reproduce it, and then later you couldn't either04:33
SteveA_kiko: did you mail it to the list?04:33
stubKinnison: And that would be bad? (I'm not on the distro team remember - I'm not sure what the actual fallout is)04:33
kikoSteveA_, I thought I did -- it was a reply to your email04:33
SteveA_okay.  i can't get mail just at the moment04:33
SteveA_will be doing so shortly04:33
Kinnisonstub: Very simply, the distro team are idle until dapper is open04:34
Kinnisonstub: Do you block the entire team04:34
Kinnisons/Do/So/04:34
stubok ;-)04:34
kikoSteveA_, yeah, but this time it's a stabler error04:36
kikoSteveA_, is the database reset every time you run a standalone pagetest?04:37
SteveA_it should be04:38
SteveA_if not, it's a bug04:38
kikoit is04:38
SteveA_although, all the standalone tests are in one story, i think04:38
SteveA_which is not ideal04:38
SteveA_althoughalthough i'm not sure04:38
kikosalgado, sent patches.04:42
=== heyko [n=heyko@p54847FDE.dip.t-dialin.net] has joined #launchpad
zygampt: hi04:43
kikocprov, can you grant me access to bug 1457 please?04:43
UbugtuError: I cannot access this bug04:43
mpthi zyga04:47
kikobradb, bug 305904:47
UbugtuMalone bug #3059: I am unable to view bug 1457 because targetname is not available to pagetitle. Fix req. for: malone (upstream), Severity: Normal, Assigned to: Nobody, Status: New http://launchpad.net/malone/bugs/305904:47
mptwow, baz diff took 40 minutes04:47
zygampt: I was asking carlos about the possibility of chanigng layout of translation pages04:47
mptzyga: in what way?04:47
zygampt: the idea is: move all the stuff from side columns into a box at the top of the page04:48
mptsounds good so far04:48
zygampt: use full horizontal space available for translations04:48
zygampt: put msgid in one column04:48
jameshmpt: hard linking the tree should speed that up (but can cause problems if you aren't using fl-cow)04:48
zygampt: put msgstr as a textarea in another column04:48
mptjamesh: what's fl-cow?04:48
jameshhard linking just the patch logs would probably speed things up without needing fl-cow though04:48
zygathis solves problems with longish msgid when it's hard to scroll back and forth to read both things04:48
bradbkiko: Thanks, I'll take the bug. I'll try to fix it today.04:49
jameshmpt: a little shared library that implements "copy on write" links04:49
mptzyga: where would the suggestions and translations from elsewhere go?04:49
=== bradb wonders why Safari doesn't seem to respect rb labels
zygampt: put suggestions beneath both items and provide a button that replaces current textarea content with suggestion04:49
kikobradb, it stops me from doing part of my work :)04:49
jameshmpt: so if a particular file has two file names, and you try to open it for editing, it breaks the link and copies the contents first04:49
zygampt: require confirmation if textarea has been modified04:49
zygampt: done :)04:49
bradbkiko: I can do it after I land the sortorder widget patch.04:50
kikocool04:50
kikobradb, any clue why it happens?04:50
cprovkiko: done, for 145[78] , check it out. 04:50
kikothanks04:50
cprovkiko: no probs04:50
mptzyga: what do you mean "beneath both items"? As in, spanning both columns?04:50
zygampt: exactly, yes04:51
zygampt: in ugly-table-speak that's04:51
bradbkiko: not entirely, but maybe04:51
kikoit's weird04:51
zyga<tr><td>msgids</td><td>msgstr</td></tr><tr><td colspan="2">suggestions and such</td></tr>04:51
kikobradb, I've unsubscribed04:51
bradbkiko: might just be incorrect ZCML configuration. our ZCML config is currently, necessarily, fairly complicated for privacy04:51
kikobradb, to make sure you can reproduce the issue04:51
mptzyga: That would be a bit weird. But I agree, there should be more horizontal space and less vertical space for each item. I have a branch waiting for review that fixes that a little bit, and I'm hoping to work on it some more today04:52
zygampt: is there any way to test experimental branches of rosetta?04:53
mptzyga: Not unless you're a Launchpad developer04:54
zygampt: too bad04:54
mptor rather, not unless you're an *extremely patient* Launchpad developer04:54
zyga:D04:54
zygampt: I'm generally suggesting something that will be more less similar to kbabel/gtranslator that allow translators to focus on one message04:57
sabdfloh, jesus, salgado!04:58
sabdfl    <h1 tal:content="context/proposition" />04:58
sabdflVERY IMPRESSIVE PROPOSITION TEXT WE'VE GOT THERE :-)04:58
sabdflhttps://launchpad.net/people/ubuntu-dev/+poll/tb-nomination-mjg59-200504:58
sabdfli'll fix the page and the portlets04:58
=== freeflying [n=rockie@61.190.65.16] has joined #launchpad
ddaastub: ping05:02
stubddaa: pong05:02
ddaaregarding your XXX05:02
ddaayou say: "We are getting NULL names!", I did not find anything in the production db that would cause null names to occur05:03
sabdflsalgado: where is the sampledata url to find a proposition?05:03
stubddaa: We do on the sample data. If we don't have to worry about production, the XXX can go and the constraint reenabled.05:03
salgadosabdfl, ooops. I guess me and mpt haven't thought there would be a proposition that big. :)05:04
ddaayou say: "Confirm this is OK!" (setting manifestentry.changeset to NULL and removing some foreign key constraints). On the production data, no update is needed as the changeset-foreignkey constraint are not exercised.05:04
salgadosabdfl, I don't understand your question. you want to find a proposition?05:05
stubddaa: We have to drop the constraint, or we can't drop the columns that the constraint references.05:05
ddaaBut I do not understand why you are dropping the manifestentry_branch_fk constraint. I guess that's because of the table renaming, so I can recreate that constraint after the table is changed.05:05
sabdflsalgado: yes, i am changing the page, and want to be able to view sampledata05:05
ddaastub: right, but you do "update manifestentry set changeset=NULL" that's noop on the current data. I'd be adept at putting an "assert" sort of thing here to be sure we can drop changeset.branch without invalidating anything.05:06
sabdflsalgado: don't touch those pages, please, or we will conflict05:07
stubddaa: ok. I only tested it against the sample data.05:07
salgadosabdfl, oh, you want to know for what teams we have polls? if so, they're all registered for the name17 team05:07
kikosabdfl, gneuman already has patches on testing those pages..05:07
salgadohttp://localhost:8086/people/name17/+polls05:07
mptsalgado: Don't blame me for this, https://wiki.launchpad.canonical.com/BasicVoting#head-d7a83410dc7aa45df274ce536fe3c374cc370159 shows quite clearly that the proposition text is in normal font while the poll name is a heading05:07
ddaastub: okay, I imagine in this area, theory is significantly different from reality. I'll be fixing the sampledata somehow in my branch today.05:07
kikompt, share the blame, you should have QA'd the result.05:07
sabdflguys, this UI is terrible. here are some comments05:08
mpttrue, I never looked at it05:08
kikosabdfl, via email?05:08
ddaaniemeyer will help me with fixing anything causes hct go bonkers05:08
sabdfl - the proposition is a long piece of text. the title is a header. use them that way05:08
sabdflkiko: no, here, and now, you guys can turn them into email05:08
sabdfland don't touch those pages till my changes land please05:08
sabdfli'm rearranging the layout of the PT and don't want conflicts EVERYWHERE05:08
ddaastub: thanks for your prompt help, I hope we can get niemeyer unblocked by tonight :)05:09
stubddaa: revoking the manifestentry_branch_fk constraint might have been a mistake. Comment it out, and if it runs, keep it that way.05:09
ddaastub: ack05:10
sabdflso, the terminology of "options" is poor05:10
sabdflwhat's a name, then a "short name"?05:10
sabdflwhy is the "show all options" item a separate page? why not just have that on the core page?05:11
sabdflwhy is there no ability to edit the poll and proposition?05:11
sabdflat least, before voting starts05:11
kikothere actually is a poll/+edit05:11
kikoit's currently untested and broken, which is why gneuman had written tests05:11
stubKinnison: would it be fair to run {warty,hoary,breezy} once a week and {*-updates,*-security} daily?05:12
salgadothe "Show all options" should be labeled "Edit options", as the options are already listed in the main page. my fault05:13
Kinnisononce we've released breezy, you only want to run warty,hoary,breezy once05:13
Kinnisonsince they don't change05:13
sabdflsalgado: except that they are BADLY listed05:13
Kinnisonand just take *AGES*05:14
sabdflonly the name is listed05:14
sabdflthe option should have a name and title05:14
KinnisonWe want to run -updates and -security regularly. Perhaps even once per hour05:14
sabdflfor heavens sake, everything else uses that convention, why does this not?05:14
Kinnisonor we may only want to run them on-demand05:14
Kinnisonbest to ask pitti and elmo about that05:14
sabdflwhy is the proposition in the details portlet?05:14
sabdflwhy does the details portlet not have the date ending of the vote?05:14
salgadobecause it hasn't opened yet05:15
sabdflthat's dumb - somebody looking at it needs to know when it opens, and when it closes05:15
salgadoI did that because in the list of polls for a team, the mockup only display the close dates of polls that are already open05:17
sabdflthat's equally dumb05:17
sabdflguys, don't get too fancy with sometimes displaying one bit, sometimes another bit of information05:17
sabdflkeep it simple05:17
sabdflkiko: /+edit is indeed borken05:19
sabdflso, i take it there is no page test05:19
kiko<kiko> there actually is a poll/+edit05:19
kiko<kiko> it's currently untested and broken, which is why gneuman had written tests05:19
sabdflmpt: did you read the above?05:19
kikoI was in the process of merging these tests now, but I've given up05:19
sabdflwill the POLL even work?05:20
salgadoyes, I do have a lot of tests for that05:20
mptsabdfl: yes, I need to add the closing date to not-yet-open polls, and then go through the rest of the pages to make them match the spec05:22
mptI hadn't looked at them yet, and should have05:23
sabdflmpt: ok. don't look at them till my stuff lands, ok? or look at them, make notes, but don't change till it lands05:24
sabdflthanks05:24
mptsure, I won't get to it today anyway05:24
sabdflsalgado: which poll can i actually vote on in the sampledata to see those pages?05:26
salgadosabdfl, you should be able to vote on any open poll from http://localhost:8086/people/name17/+polls05:28
salgado(logged in as yourself)05:28
sabdflsalgado: err.. i don't know my sampledata login!05:29
sabdflwhat's the password?05:29
salgadosabdfl, test05:29
sabdflmark@hbd.com?05:29
salgadoyep05:29
sabdflsalgado, mpt: all of the dancing around with showing the date of opening and closing differently depending on whether or not it is already open or clsed is CLASSIC waste of effort05:32
sabdfli'm sorry guys, i'm being harsh, but we don't have time for that05:32
sabdflthere is so much to do, this should be straight:05:32
sabdflOpens: date05:32
sabdflCloses: date05:33
sabdflDONE05:33
sabdflinstead we have 20 lines of TAL, which turns out to be broken for the initial case05:33
sabdflplease don't do that any more05:33
sabdflmpt, salgado: please ack05:36
salgadosabdfl, sure. I very much prefer keeping it like you suggested, but I was following the spec05:37
sabdflthanks. mpt?05:37
mptsabdfl: yes, as I said above, that needs fixing05:37
salgadostub, what's "Oscar the grouch"?05:38
sabdflmpt: no, the part i am asking you not to repeat is the <if open> closes in: </if open> <if closed>closed on: </of closed> nonsense05:38
sabdfli know you like to do that stuff05:38
sabdflbut we don't have the time now05:38
sabdflwe are STILL trying to get a 1.0 out that is clean and consistent05:39
stubsalgado: What you are suggesting, except other datamaintenance stuff can be plugged in. See OscarTheGrouch on the wiki05:39
sabdflit takes hours and hours to get that polish right05:39
sabdflwe do not need it for 1.005:39
sabdflperiod05:39
salgadostub, should I add it as a use case there?05:40
stubsalgado: I've  linked the spec to that bug and another one. If you have time to update the wiki page, sure. But the linkage is good enough for now.05:41
salgadostub, cool. thank you05:41
mptsabdfl: That kind of stuff takes about 0.5% of my time, so not doing it isn't going to make a noticable difference (compared with, say, rf-on-bzr), but sure, I don't mind not doing it05:42
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  remove unnecessary and awkward text from proposed membership page (bug 3022), and clean up the form layout (patch-2621: mpt@canonical.com)05:42
kikothanks jamesh 05:47
sabdflmpt: ok, thank you05:57
jordicarlos: ping?06:01
jordicarlos: I don't seem to be able to upload that gnomebaker sr.po that was posted to rosetta-users06:01
jordiI seem to get a timeout06:02
SteveAstub: any concerns with gina runs causing request timeouts?06:08
stubSteveA: I can't remember how well behaved it is06:09
SteveAwhat tables does it update the most often?06:09
stubHmmm.... looks like it will cause problems.06:10
stubI don't know what tables it updates06:11
SteveAso, not apparent from the security.cfg settings?06:11
carlosjordi, how big is it?06:12
stubnope.06:12
ddaaKeybuk: ping06:12
Keybukddaa: 'sup?06:12
stubLookking at this, I think I need to kill it and make it commit much more often before trying another run tomorrow.06:13
Kinnisonstub: gina can be told how often to commit06:13
stubKinnison: Only by increasing the spam it produces because it is tied into the countdown option. I think I did that but thought it had been fixed.06:15
=== Kinnison would very much like to see the 'spam' it produces
Kinnisonhow do I get it?06:16
stubSubsribe to the relevant topics in the launchpad-error-reports mailing list.06:16
ddaaKeybuk: There an issue with ManifestEntry06:17
ddaait was using a foreign key constraint to Revision(id, branch)06:17
ddaabut now Revisions no longer have branches06:17
ddaaThe same issue applies to ArchConfigEntry, BTW06:17
=== Diablo-D3 [i=diablod3@pool-70-105-255-181.port.east.verizon.net] has joined #launchpad
Diablo-D3hey06:18
ddaaKeybuk: any idea how to restore the constraint?06:18
Kinnisonstub: who owns that list?06:18
Diablo-D3can I file bugs on launchpad using malone?06:18
stubI do06:18
jordicarlos: 20k06:18
carlosjordi, it makes no sense...06:18
KinnisonDiablo-D3: yes, visit https://launchpad.net/products/launchpad/+bugs06:18
carlosSteveA, stub ?06:18
Keybukddaa: is this change part of the landing of your namespace changes?06:18
SteveAhello carlos06:18
Kinnisonstub: can you approve my subscription?06:18
Keybukor was this just some random change someone made?06:19
ddaaKeybuk: that's part of the branchdatastorage mess, yes06:19
jordicarlos: worked now06:19
carlosSteveA, jordi got a timeout uploading a 20K file 06:19
SteveAjust now?06:19
jordicarlos: I got it 4 times in a row06:19
SteveAperhaps gina is to blame06:19
jordiSteveA: 20 mins ago06:19
stubGina is now dead06:19
ddaaKeybuk: the reasoning behind that is that revision can now be shared between branches, what a branch owns is a RevisionNumber06:19
SteveAjordi: try again06:19
Keybukddaa: if it's part of your "make the Arch* all look like baz-ng" changes; don't worry about it, because those bits of ManifestEntry have changed totally for the baz-ng version06:19
stubAs of just a few minutes ago06:19
jordicarlos: what's the url for sr@Latin in launchpad?06:20
Keybukwhen we land the baz-ng version of HCT, the problem will go away06:20
ddaaKeybuk: thanks, I shall promptly forget the issue06:20
Diablo-D3hrm06:20
KinnisonDiablo-D3: what problem are you having?06:20
ddaaKeybuk: what have we just been talking about by the way???06:20
Diablo-D3how do tag a bug as a feature request?06:20
Keybukthat's still waiting on lifeless to decide how to add bzrlib to launchpad06:20
Keybuk(as it's in a baz-ng branch, not a baz one)06:20
jordicarlos: ie, https://launchpad.net/products/gnomebaker/+series/main/+pots/gnomebaker/sr/+upload, but for a sr@Latn file06:20
Diablo-D3Kinnison: hey, you're everywhere!06:21
ddaaKeybuk: the problem also is that the sampledata is affected06:21
carlosjordi, we don't have yet a way to handle them directly, you will need to upload it as a tarball and I think you will need to upload also the .pot file or the tarball will be discarded (it's a limitation in our system, need to add full support for pofiles with variants in the name=06:21
ddaaKeybuk: so your test suite likely is affected06:21
ddaaso we need to know how to fix it, well, niemeyer needs to know :)06:21
Keybuklike I said, probably won't effect the bzr-ng version :p06:21
=== peterbe [n=peterbe@62.232.38.28] has left #launchpad []
Keybukthat uses Branch + RevisionNumber06:21
ddaaRevisionNumber is transient06:22
=== matsubara is now known as matsubara-lunch
ddaaand branch is fk'ed by revisionnumber06:22
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  expose can_{encrypt,sign,certify,authenticate} attributes on IPymeKey (patch-2622: james.henstridge@canonical.com)06:22
jordicarlos: oh. So how does rosetta handle a language with two encodings?06:22
Keybukdefine "transient" ?06:22
jordicarlos: just upoading the "sr" file is not enough I assume?06:22
KeybukRevisionNumber is a table that refers to a particular revision, right?06:22
ddaai.e. I want to de able to delete all the revision numbers of a branch when updating it if I find that the branch was replaced with something with a completely different history06:22
Keybukso when combined with Branch, it refers to a particular revision in a particular branch06:22
Keybukdo I mean Revision?06:23
Keybukand not RevisionNumber?06:23
KeybukI haven't the code on this machine, it's on the desktop06:23
carlosjordi, no, if you upload the sr@Latn.po inside a tarball using the .pot upload form, it will be imported to sr@Latn's po file06:23
carlosjordi, but we don't show it in our UI06:23
Keybukit keys the one that's the uuid, not the "revno"06:23
jordinod06:23
ddaaRevision is more reliable. But it's not really something you can checkout...06:23
Keybukwhy not?06:23
ddaathe one with the uuid is Revision06:24
ddaabecause you checkout a revision from a Branch06:24
Keybukok, so it pairs a Revision and Branch06:24
jordicarlos: I'm fetching a pot file06:24
KeybukI knew it was something like that <g>06:24
ddaaWhat you _can_ checkout is RevisionNumber, but it's not reliable.06:24
=== Seveas [n=seveas@seveas.demon.nl] has joined #launchpad
Keybukwhy can't I check out a Branch/Revision pair?06:25
KeybukRevision has the uuid, and Branch has the accessor for the URL06:25
ddaaBecause you have no guarantee that the branch that used to contain that revision contains it now.06:25
Keybukthat's what the contstraint is for06:25
Keybuk(there's an equivalent constraint in the new table)06:25
ddaaThe constraint is trouble for me.06:25
Keybukthat's your problem :p06:25
ddaaNo, that's our problem.06:26
Keybukyou can't break existing Manifests06:26
Keybukyou can update them to refer to the new details, but you can't take away the history that was there06:26
ddaaThere's nothing in existing manifests that references a changeset (aka. revision in the new schema)06:26
Keybuk"sorry, you can no longer checkout foo 1.0" is not a viable answer06:26
Keybukhuh?  all of them do06:26
Keybukthe sampledata is just screwy06:26
ddaaKeybuk: if you want to checkout a given uuid you need to ask the supermirror to save them for you.06:26
Keybukall ManifestEntry currently reference both branch+changeset06:26
ddaanot in the production database06:27
Keybukthere's no Manifests in the production database06:27
Keybuk(at least there shouldn't be)06:27
Keybukbecause we've not imported anything into the production syste,06:27
ddaathere is some netapplet stuff06:27
Keybukthat's bogus sampledata that shouldn't be there06:27
ddaaso we have a problem06:27
ddaamy constraint is06:28
SteveAcarlos, jordi: did it work?06:28
Keybuklaunchpad_hct=> select count(*) from manifestentry where branch is not null and changeset is null;06:28
Keybuk     006:28
Keybuklaunchpad_hct=> select count(*) from manifestentry where branch is not null and changeset is not null;06:28
Keybuk  513906:28
ddaa"When taxiing a third party branch, the branch (url) may have been replaced by something with completely different history, so I need to be able to remove all the revisionnumbers"06:29
Keybukno, you need to just create new Branch records06:29
KeybukDELETE is verboten06:29
Keybukif the URL contains a different branch, it's a different Branch06:29
jordiSteveA: the upload? I'm waiting for my token06:29
Keybukthe supermirror should contain both branches, one for historic interest, the other for current interest06:29
jordiI need a pot file to upload po files06:30
ddaaI cannot create a new branch record. A branch record for an outside branch is something that is registered by the user in launchpad.06:30
=== SnakeBite [n=SnakeBit@84.242.143.100] has joined #launchpad
Keybukif there is a Manifest depending on information in that Branch, they can't delete it06:30
jordiah, here it is06:30
Keybukbecause there may be developers doing work based on it06:30
ddaaKeybuk: I think understand what you want, but it's NOT the data model we defined in London.06:30
Keybukthen your data model is wrong, and we'll need to fix it06:30
Keybuksadly I wasn't there that week06:30
KeybukHCT is the principal and primary user of Branch/Revision records06:31
ddaacurrently yes06:31
Keybukwe wouldn't even have them in the database if HCT wasn't using them06:31
ddaawhen the sprint stuff is landed, branches and revision will be used by launchpad webapp06:31
Keybukonly because of HCT06:31
ddaafor display purpose and to generate all sorts of interesting stats06:32
Keybukyou cannot delete historic data that 06:32
Keybukis in use06:32
ddaaThe user can.06:32
Keybukit must be preserved06:32
Keybuksure, they can on their machine06:32
Keybukbut in our system, it must be preserved06:32
ddaaIt must certainly be preserved.06:32
Keybukif it's referenced by a Manifest, it's in a source package or tarball that's in the wild06:32
Keybukso you can't drop it from the database06:33
Keybukor the super-mirror, for that matter06:33
ddaaAgreed.06:33
ddaaI suppose so.06:33
Keybukso if you find a different branch history at the URL to last time, you should treat it as a different branch and just add new records06:33
Keybukyou can alter the URL for the branch to point to something like /+historic/joebloggs/DATE or something06:34
Keybuk(old branch, that is)06:34
ddaaKeybuk: do you understand what is my problem?06:34
Keybukyes06:34
KeybukI think so, anyway06:34
ddaaSo, the situation is that niemeyer is blocked on the schema being stabilised.06:34
Keybukwe pull from a third-party branch, at a given URL06:34
ddaaAnd I'm hard pressed for doing python imports.06:34
Keybukand today we discover the branch there has nothing to do with what was there (and recorded in the db) yesterday06:34
=== jinty [n=jinty@205.134.224.215] has joined #launchpad
Keybukis that about right?06:35
ddaaRight.06:35
Keybukso when that happens, I suggest that we rename the URL for the old Branch (still keeping it on the supermirror) and import the new branch as a new branch06:35
Keybukthat way we have both the historic user's branch on the mirror, and the current state06:35
ddaaSo I'd like you to discuss the issue with lifeless, I'll publish the current state of by db work in a matter of minutes, and come with a resolution.06:35
Keybukwhich actually is a cool service, when the user discovers they rsync'd over the top of the wrong branch and lost it, they can reclaim it from our mirror06:36
ddaaThat would be nice.06:36
Keybukand then you won't break the ME constraint, because the old Branch and Revision records will still be there -- just the url of the old Branch will have changed to something else06:36
SteveAddaa: the object you get to at $person/+branch/+junk/whatever is an IBranch ?06:37
ddaaI would just like you to work with lifeless to change the model we designed in london so you are happy. So the schema is essentially stable and niemeyer can start working. And so I can work on the python import instead of bouncing between you and lifeless.06:37
ddaaKeybuk: do we have a deal?06:37
SteveAddaa: and if so, is the IBranch.owner the $person ?06:37
ddaaSteveA: first question: yes06:38
ddaaSteveA: second question... mh... the $person will be the IBranch.author if it's not None or the IBranch.owner.06:38
SteveAit will be IBranch.author, unless .author is None, in which case .owner ?06:39
ddaaI need to check, actually...06:39
Keybukddaa: the model in London (db schema wise) was fine06:39
ddaaKeybuk: obviously, it's not06:40
KeybukI think you misunderstand me06:40
Keybukthe database model, as in the SQL, is fine06:40
Keybukyou have an assumed usage model, which may not be06:40
ddaaMy assumed usage model is backed by launchpad webapp code.06:40
ddaaI understand you want a layer of indirection.06:41
ddaaBetween the user-visible url and the actual branch06:41
ddaabut it's not there06:41
Keybukdo I?06:41
KeybukI don't think I do06:41
Keybukbecause I need the URL too06:42
Keybukso they need to be different for different Branches06:42
ddaayou want a branch (the thing that is registered, subscribed to, commented on by a user in launchpad) to refer to multiple history lines, with only one which is current06:42
ddaastuff that needs to checkout specific revision needs to handle history lines06:43
ddaabut the stuff that lives in the webapp must not go away because the branch owner backed out some revisions06:44
Keybukno I don't06:45
KeybukI want multiple history lines to have different Branch objects06:45
Keybukmuch simpler that way06:45
Keybukthe user than just sees multiple branches for them06:45
ddaaRegistry needs an object that is stable even if the branch owner backs out some history06:46
Keybukthere's meta-data in the object, so you can make it say "here's the branch we mirrored yesterday before you stamped over the top of it" or whatever06:46
Keybukwhy?06:46
Keybukwhy just one?06:46
Keybukmake person->branch 1-to-many06:46
Keybukbecause I can't think of a single thing I just have one branch for06:46
ddaathat's already covered06:46
ddaait's $person/$product/$branch-name06:47
ddaathe issue is that branch-name may refer to incompatible histories at different points in time06:47
Keybukwhy?06:47
Keybukif you have multiple Branches, you can have a different branch-name for each06:48
ddaathe branch name is specified by the user on registration06:48
Keybukso when you "import over the top" you create a new Branch record, and rename the old one06:48
Keybukit can also be specified by your automatic system06:48
Keybukold_branch.name = old_branch.name + "-pre-" + date06:48
ddaathis stuff is _not_ interesting to show in launchpad06:49
ddaaat least not right now06:49
ddaait's a different feature06:49
SteveAddaa: https://chinstrap.ubuntu.com/~dsilvers/paste/fileUJXuWj.html   untested.  that's the basic idea.06:49
KeybukIF when importing a new branch, you discover that the history doesn't match that already recorded06:50
Keybuk1) rename the old branch, and adjust any meta-data to indicate that it's historic06:50
Keybuk2) add a new Branch record with the appropriate data06:50
Keybuk3) import new Revision etc. onto the new Branch06:50
Keybukyou have a branch_status field in your table, that could get a HISTORIC schema entry06:51
SteveAbug 3053 please, ubugtu06:51
UbugtuError: 'please' is not a valid bug id.06:51
UbugtuError: I cannot access this bug06:51
SteveAbug 3053, ubugtu06:51
Ubugtu(bug <abbreviation> <number>) -- Look up bug <number> in the bugzilla associated with <abbreviation>.06:51
UbugtuError: I cannot access this bug06:51
SteveAbug 305306:52
UbugtuError: I cannot access this bug06:52
Keybukbug ubuntu 305306:52
UbugtuUbuntu Bugzilla bug #3053: console-terminus package is not in the Ubuntu CD Product: Ubuntu, Component: debian-cd, Severity: major, Assigned to: cjwatson@ubuntu.com, Status: RESOLVED, Resolution: FIXED http://bugzilla.ubuntu.com/show_bug.cgi?id=305306:52
Keybukbug malone 305306:52
UbugtuError: I cannot access this bug06:52
Keybuk*shrug*06:52
Keybuksomething like that06:52
SteveAbradb: i'm getting an errer https://launchpad.net/products/rosetta/+bug/305306:52
UbugtuError: I cannot access this bug06:52
Keybukand bradb, your bot appears to be replying to anything with bug 1234 in the text :p06:53
UbugtuError: I cannot access this bug06:53
bradbSteveA: kiko reported the bug and I took it06:54
sabdflcarlos: do you have a handle on the issues in "Translations (some/all?) weren't updated in 20051010?"?06:57
carlossabdfl, I was a bit busy with language packs and talking with pitti so I started with that but had to leave to be concentrated with language packs in general06:58
sabdflcarlos: ok, could you give me a status update before you wrap up today?06:59
carlossabdfl, I will not leave today until all know issues are fixed unless I'm really unlucky...06:59
carlosso yes, I will give you an update06:59
sabdfl:-)06:59
sabdfli'll be here07:00
carlosok07:00
sabdflis anybody else having trouble adding files to the librarian?07:00
sabdflcanonical.librarian.storage.DuplicateFileIDError: 3707:01
sabdflring a bell for anybody?07:01
sabdflno way its a duplicate file07:01
carlossabdfl, I have seen that error07:01
Kinnisonsabdfl: are you uploading to a database, with a librarian root which is not clean?07:02
carloskiko-fud, isn't it the error you got some days ago?07:02
sabdfli don't know... Kinnison, how do i tell?07:02
SteveAcarlos: are you going to need more code review today?07:03
=== dda1 [n=ddaa@marvin.xlii.org] has joined #launchpad
dda1Gah... network failure07:03
carlosIf you think the update I sent you is ready to be merged, nothing more07:03
SteveAwith changes after our discussion, it is fine07:04
carlosSteveA, the other changes are not urgent and will take a bit more to be ready07:04
SteveAok07:04
carlosbut should be ready today so I will submit another review07:04
SteveAkiko-fud: where's that branch for me to debug?07:04
carlosrequest07:04
carlosSteveA, thank you07:04
ddaaairport routers are crap07:06
ddaashiny pretty crap07:06
SteveAddaa: did you look at the branch traversal stuff?  do you get what is going on there?07:07
sabdflKinnison: how do i know if the librarian root is "not clean"?07:09
ddaaSteveA: looking07:09
sabdflspiv: ^? help07:10
kiko-fudSteveA, still merging fixes :-)07:11
ddaaSteveA: actually I was lying, the person in the canonical url is the owner, as the branch.zcml showed07:11
SteveAsabdfl: try rm -rf /var/tmp/fatsam*07:11
SteveAddaa: okay.  well, you'll know what to do.07:12
SteveAyou can also leave the canonical url defined as in the zcml, if it is that simple.07:12
ddaaSteveA: okay...07:12
=== matsubara-lunch is now known as matsubara
ddaaI'm not sure what the "path" and "inside" properties in BranchUrlData are about.07:13
kikosabdfl, btw, matsubara has a question for you07:13
sabdflSteveA: it worked07:13
sabdflmatsubara: fire away07:13
SteveAany canonical url has a section of the path, and an object that is relative to07:13
SteveAsabdfl: maybe you had some test run that failed catastrophically eariler07:13
ddaaokay, I understand07:13
matsubarai send it on private07:14
matsubaraHello sabdfl, I'm having a problem with bug #2895, which two distinct product series have a release with the same name each. At the Product Overview, the releases links, points to the same place: /products/openkore/1.6.3 which causes a system error.  Do you know how the traversal should be in this case?07:14
UbugtuMalone bug #2895: Releases with the same directory name causes an error Fix req. for: launchpad (upstream), Severity: Normal, Assigned to: Diogo Matsubara, Status: New http://launchpad.net/malone/bugs/289507:14
ddaaSteveA: thanks a lot07:14
sabdflSteveA: thanks v much ;-)07:15
SteveAdepending when you land this, there will also be breadcrumbs and other url-definition changes to consider.  but we can get to them later. 07:15
kikosabdfl, do you know if traversal for releasies should be done under +series?07:16
sabdflkiko: there used to be a unique (product, version) on productrelease07:19
sabdflso a release number was uniq07:19
sabdfland therefor traversal should work07:19
kikothat explains the traversal07:19
sabdflit looks like we will just have to go product/series/release07:19
kikothis constraint doesn't seem to exist07:19
kikoI see07:19
sabdflno, it's been dropped07:19
kikoI asked stub to add a constraint for releases being unique in series now07:19
kikoso that's explained07:19
sabdflso /products/mozilla/1.7/1.7.5 is going to have to be it07:19
kikodrop the +series?07:20
kikothere's currently a +series in the URL07:20
sabdflits pointless if its always required07:20
kikodo you know why the constraint was dropped?07:20
kikodid it break in some real-world situation?07:20
sabdflthe only reason to have a +foo is if you have a default traversal to X, and you want to jump to foo's instead07:20
sabdfli think when we made productseries NOT NULL, product was dropped from productrelease07:21
kikoI'd find it very confusing to have two FF 1.7.0 releases, one from each series07:21
sabdfland so the constraint was dropped07:21
sabdflit's a bug, so its allowed to be confusing07:21
kikolol07:22
kikoshould we just readd the constraint, then?07:22
SteveAit should be clear from looking at the Navigation class if there is a default traversal07:22
SteveAit will have a traverse() method, or derive from GetitemNavigation07:22
carlosso, is gina being running on production??07:25
SteveAnot this second07:25
kikosoon07:25
SteveAare you seeing timeouts?07:25
carloskiko, wasn't stub's email the confirmation that it's running?07:28
SteveAit was running07:28
SteveAand then we had a discussion about whether its running would cause requests to timeout07:28
SteveAand stu realized it would07:28
SteveAso he's going to fix that07:28
SteveAthen it will run again07:28
Diablo-D3subscription to projects feature request: https://launchpad.net/products/launchpad/+bug/306707:29
UbugtuMalone bug #3067: "Soft" Subscription to Projects Fix req. for: launchpad (upstream), Severity: Wishlist, Assigned to: Nobody, Status: New http://launchpad.net/malone/bugs/306707:30
Diablo-D3er, woah07:30
Diablo-D3a malone bug bot07:30
SteveAmpt: ping07:30
carlosok07:30
Diablo-D3where can I buy one of these?07:30
SteveAmpt: i have a question about the breadcrumbs.  actually, i have two questions.07:31
kikoDiablo-D3, Seveas will sell you one for a mere U$19.9507:31
Diablo-D3lol07:32
SteveAmpt: the first is, the spec says a breadcrumb has text.  does it also have a summary tooltip?  an icon?  a specific target other than the default page for that thing?07:32
SteveAmpt: the second question is, will you ever want to include markup within a breadcrumb, like we needed to with menu link titles?07:33
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  disable warning (patch-2623: stuart.bishop@canonical.com)07:33
=== SnakeBite [n=SnakeBit@84.242.143.100] has joined #launchpad
kikosabdfl, should we just add the constraint back?07:34
=== zyga [n=zyga@2-mi2-1.acn.waw.pl] has joined #launchpad
SteveAcprov: those reviews you want me to do... are they on the pending-reviews page?07:38
mptmpt: I'm pretty sure the answers to your questions are all "no"07:40
kikohe meant SteveA 07:41
mpter yes, SteveA07:41
=== mpt stares at his tab-completing fingers
SteveAcool07:41
SteveAthis makes the API very simple07:42
Kinnisonmpt: Your tab-completion fingers are more screwwy than zsh07:43
kikowe'll just have to forgive him this once Kinnison 07:43
=== Kinnison thinks mpt is deserving of much forgiveness considering how much love he gives to launchpad
=== bradb & # lunch
Diablo-D3anonymous never forgives!... er, wait, wrong channel07:44
mpthum07:47
mptjamesh: A person's calendar isn't handled in person.zcml, so I can't just chuck the person details portlet in there to be consistent with the other person facets. Can you fix that?07:48
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: r=kiko Fix for bug 965: Homepage url without http:// breaks. Fixes validator to raise a proper error message, and adds validator and tests for URL-type fields. Patch by Diogo Matsubara <matsubara@async.com.br> (patch-2624: matsubara@async.com.br, christian.reis@canonical.com)07:59
sabdflkiko: i don't think we can add the constraint now we don't have a product field in productrelease08:19
sabdflnot easily, but stub may know08:19
sabdflso, yes, if stub can do it without invoking triggers :-)08:20
kikosabdfl, are triggers bad? :)08:20
sabdflkiko: GUNS dude, GUNS08:20
kikohmmm. I think it should be possible. matsubara, can you email stub now and ask if it's possible to add/change the constraint?08:22
=== zyga [n=zyga@2-mi2-1.acn.waw.pl] has joined #launchpad
=== dand [n=dand@83.103.205.67] has joined #launchpad
sabdfldoes anybody here have RO access to production db?08:27
kikoyes08:27
kikome08:27
sabdflhttps://launchpad.net/people/ubuntu-dev/+poll/tb-nomination-mjg59-2005/08:27
kikoSteveA does too AFAIK08:27
sabdflcan you tell me what date that closes?08:27
kikoI can try08:28
kikosabdfl, my emperor access hasn't been finalized, I see08:31
kikopsql -h emperor launchpad_prod08:31
kikopsql: FATAL:  IDENT authentication failed for user "kiko"08:31
=== xenial [i=xenial@255.asx2.dial.vsi.ru] has joined #launchpad
=== kiko bothers stub
kikoSteveA?08:32
SteveAi have access to the production servers on gangotri08:33
kikobut not to launchpad_prod?08:33
SteveAthat gives me indirect access to emperor's database, but i'd rather not use it08:33
kikodoes it?08:33
SteveAit must do08:33
kikohmmm08:33
SteveAi have access as the user that runs the production launchpads08:33
kikoI asked for ro access08:33
kikooh08:33
kikoI see08:33
SteveAbut, it's a hack08:33
SteveAi don't intend to use it08:33
SteveAi have no "legitimate" access to the databases08:34
Seveaslaunchpad auto-generated bad wikinames for my team (dutchteam) and I cannot change them...08:36
=== terrex [n=terrex@84-122-90-162.onocable.ono.com] has joined #launchpad
\shsabdfl: the text on the voting page is a bit too big ;)08:42
=== SnakeBite [n=SnakeBit@84.242.143.100] has joined #launchpad
=== SnakeBite [n=SnakeBit@84.242.143.100] has joined #launchpad
salgadokiko, the patch in https://chinstrap.warthogs.hbd.com/~jamesh/pending-reviews/guilherme.salgado@canonical.com/launchpad--shipit-searching--0/filtered-diff has both request pages merged, as you suggested08:47
SteveAmpt: ping08:47
mptSteveA: pong08:47
SteveAhi08:47
SteveAso, in the hierarchy spec, you have 08:47
SteveA#08:47
SteveA    *08:47
SteveA      Launchpad > People08:47
SteveA#08:48
SteveA /people08:48
SteveA    *08:48
SteveA      Launchpad > People08:48
SteveArather08:48
SteveAat /people we have an IPersonSet content object08:48
SteveAthis object has no facet menu of its own registered08:48
SteveAit uses the ILaunchpadRoot facet menu08:48
SteveAas you can see by going to the URL /people, and seeing where the facet menu links go08:48
SteveAso, its breadcrumb is not displayed08:49
SteveAi propose a different rule for displaying breadcrumbs08:49
=== RWG [n=RWGraphi@69.177.49.18] has joined #launchpad
SteveAthat is, the breadcrumb is displayed if it is defined08:49
SteveAthat way, people can define them for those things where it should be defined08:49
SteveAand not define them for things where it shouldn't08:49
SteveAif these happen to coincide with where facet menus are registered, then all the better08:50
SteveAdo you think that is okay?08:50
RWGI open up X-Chat, almose every channel I join someone says my name08:51
=== RWG [n=RWGraphi@69.177.49.18] has left #launchpad ["Connection]
salgadokiko, what are these changes you did in the main template for?08:52
kikosalgado, just deindenting08:54
=== camilotelles [n=Camilo@200.128.80.250] has joined #launchpad
=== segfault [i=carlos@prognus.com.br] has joined #launchpad
=== SteveA awaits an answer of some kind from mpt
mptoops, sorry09:05
mptSteveA: that sounds fine09:05
SteveAokay, great09:06
SteveAone more problem...09:06
SteveA /distros/ubuntu/hoary/+sources    Launchpad > Distributions > Ubuntu > 5.04 > Packages09:06
SteveAmpt: the problem here is that +sources isn't an object at all09:07
SteveAor, if it is, it won't be in the future09:07
SteveAhmm, it's a SourcePackageSet now, which is really a SubSet09:07
SteveAbut it should become just a stepthrough('+sources') traversal, with a page registered, or a redirect or something09:08
SteveAso...09:08
SteveAi guess we need special breadcrumbs for stepthrough urls sometimes.09:08
SteveAalthough, this would seem to go against what sabdfl said about URLs in brazil09:08
mpt+sources should be a page providing list/search for source packages, right?09:09
SteveAyes09:09
SteveAwell09:09
SteveAyes09:09
SteveAand +source/  would be used as the stepthrough namespace for traversing to source packages09:09
carlosSteveA, what's exactly the 'marker' you talk about in your review?09:09
carlosbecause the _marker variable is just an empty list that is used to compare other variables09:10
SteveAcarlos: it is typically a unique object that is used as a default value when you make a method call09:10
mptSteveA: that's unfortunate, but it doesn't alter what the breadcrumbs should be09:10
mptSteveA: they should be "Packages" for both09:10
carlosSteveA, hmm ok, it fits the definition09:10
SteveAcarlos: it is used so that you can detect None coming back from a method call.09:10
SteveAcarlos: so, marker = object()  is the best thing to use for this.09:11
carlosok09:11
carlosit's used inside a class, so I suppose is better if I move it inside that class instead of being global for all the file, right?09:11
SteveAmpt: so, for http://localhost:8086/distros/ubuntu/hoary/+sources  we should have Launchpad >> Distributions >> Ubuntu >> 5.04 >> Packages09:12
kiko-afkokay, need to skip out, catch you all later09:12
SteveAmpt: so, for http://localhost:8086/distros/ubuntu/hoary/+source/evolution  we should have Launchpad >> Distributions >> Ubuntu >> 5.04 >> Packages09:12
SteveAin the first case, "Packages" links to /distros/ubuntu/hoary/+sources09:12
SteveAin the second case, "Packages" links to /distros/ubuntu/hoary/+source, which redirects to +sources09:13
mptyes09:13
SteveAthis is a pain in the arse ;-)09:13
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Removes useless hints (bug 1244), and fixes remaining hints, from calendar forms. Also fixes Launchpad-wide 'An error occured' message. (patch-2625: mpt@canonical.com)09:13
mpter, hang on09:13
SteveA(right now, today, both are +sources, btw)09:13
mpthttp://localhost:8086/distros/ubuntu/hoary/+source/evolution should be Launchpad >> Distributions >> Ubuntu >> 5.04 >> Packages >> evolution09:13
SteveAokay09:14
SteveAthat is a minor point09:14
SteveAi need to think how to make this work09:14
kiko-afkSteveA, can you convince perhaps sabdfl to revoke the instruction to do +source/+sources?09:14
mptSteveA: Well, you could persuade Mark to stop ... yes, what kiko-afk said09:15
kiko-afkit's a lot of complexity for a trivial detail that nobody will appreciate09:15
kiko-afkit's causing us already 404s in breadcrumbs 09:15
SteveAthat makes no difference to it09:15
SteveAthe main issue is that +source / +sources isn't going to be a content object09:15
mptswitching between singular and plural might be grammatically correct, but it's bad UI for URL-hackers09:15
SteveAso it doesn't have its own 'navigation' component09:15
kiko-afkit's a sourcepackage set09:15
kiko-afkwhatever that means :)09:15
SteveAit won't be soon09:15
kiko-afkor subset even09:15
SteveAright, it is a notional sourcepackage subset09:16
SteveAbut it will soon be nothing at all09:16
SteveAbut a path step09:16
SteveAto disambiguate what follows09:16
SteveAi'll think about it09:16
kiko-afkthanks09:17
SteveAthere will be a solution09:17
SteveAit will just make the breadcrumbs system more complex09:17
kiko-afkyou sould like an acheiver09:17
SteveAhmm, time to go home09:19
SteveAif you need something, ping now!09:19
=== SteveA solves the problem
SteveA(on the whiteboard, at least)09:26
SteveAthis is interesting.  thinking about this problem has made me think of a change that makes the display of breadcrumbs much simpler.09:26
SteveAand architectural change.09:26
SteveAnice.09:26
=== SteveA --> home
sabdflkiko-afk: +source?09:29
=== RWG [i=RWGraphi@69.177.49.18] has joined #launchpad
=== RWG [i=RWGraphi@69.177.49.18] has left #launchpad ["Connection]
SteveAsabdfl: +sources / +source09:33
SteveAthe pattern you described in brazil was to have +foo as a "namespace distinction" thing, and +foos as a place to search etc.09:34
SteveAright now, at +sources, there is a SourcePackageSet object09:34
SteveAthis should be changed to a "stepthrough" traversal, so we can get rid of the SourcePackageSet concept, when it is used as a SourcePackageSubset09:35
SteveAwhich is what we really have at +sources09:35
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: r=kiko Fix for bug 2904: System error from bug watch edit page. Uses the proper attribute and adds a test for the page. Patch by Diogo Matsubara <matsubara@async.com.br> (patch-2626: matsubara@async.com.br, christian.reis@canonical.com)09:38
=== SteveA --> really home this time
sabdflSteveA: sec09:40
sabdfldo portlets need facets in the zcml?09:40
sabdflsorry :-)09:40
SteveAum...09:40
SteveAhow did you know i was still here? ;-)09:40
SteveAi don't understand what you're asking09:41
SteveAcontent objects have facet menus registered for them.09:41
sabdfl    <browser:page09:41
sabdfl      name="+portlet-details"09:41
sabdfl      facet="overview"09:41
sabdflis the facet needed?09:41
SteveAthe main template takes care of displaying them.09:41
SteveAaha09:41
SteveAi see09:41
SteveAno, the zcml for portlets does not need to say what facet they are on09:41
=== lifeless_ [n=robertc@dsl-215.16.240.220.rns02-kent-syd.dsl.comindico.com.au] has joined #launchpad
SteveAonly the zcml for entire pages needs to do that09:42
SteveAthe easiest way for many things is to use <facet facet="name"> </facet> around the whole of the zcml09:42
sabdflcool09:42
SteveAbut it makes no difference either way if a portlet zcml page is within that09:42
SteveAbeacuse although it will still be associated with that facet, that information is never used09:43
SteveAeven if you're debugging, and go to the facet's actual URL in your browser09:43
SteveAthe main template isn't used09:43
SteveAand so the facet it is on doesn't matter anyway09:43
=== niemeyer_ [n=niemeyer@201.14.59.15] has joined #launchpad
=== SteveA --> really really home this time
=== SnakeBite [n=SnakeBit@84.242.143.100] has joined #launchpad
=== {O_o} [i=RWGraphi@69.177.15.123] has joined #launchpad
mptcarlos, what does "from the Global Translation Wiki" mean?09:52
=== {O_o} [i=RWGraphi@69.177.15.123] has left #launchpad ["Connection]
carlosmpt, suggestions added by non official translators09:52
=== rbelem [n=rodrigo@200.246.97.164] has joined #launchpad
gneumandoes anyone know how do i get a parent of a set, like for a PollOptionSet, hw do i now the Poll it belongs to?09:59
mptcarlos: thanks, I'll call it "Unofficial suggestions" then10:04
mptcarlos: pofile-translate.pt is a behemoth10:04
=== mpt heads home
carlosmpt, it's ok for me10:04
mptit needs splitting up into about half a dozen modules10:07
mpta suggestions macro10:07
mptan alternate language macro10:07
mpta macro for the actual translation field10:08
mptanyway, goodnight people10:08
=== mpt [n=mpt@200-171-140-32.dsl.telesp.net.br] has left #launchpad []
sabdflcprov: ping10:13
cprovsabdfl: pong10:13
sabdflcprov: can you give me a URL to a build overview page?10:14
sabdflthere is sourcepackagebuild-index.pt10:14
sabdflwhere can i see it in action?10:14
sabdflin the sampledata?10:14
cprovsabdfl: checking10:15
Kinnisonciao10:15
=== rbelem [n=rodrigo@200.246.97.164] has joined #launchpad
sabdfli'm renaming those pages to build-*.pt10:16
sabdflto keep them consistent with the rest of launchpad10:16
cprovsabdfl: distros/$Distribution.name/src/$Release.name/$package.name/$Release.version/arch10:17
sabdflerr...10:17
sabdflhave you tested that?10:17
cprovsabdfl: but AFAIK it's not exposed in the current sampledata10:17
sabdflso, it's never been tested?10:17
cprovsabdfl: don't think so, it was developed by debonzi10:17
sabdflookkkk10:17
sabdflhey rbelem10:18
cprovsabdfl: do you want I check it, at least present that page 10:18
rbelemhi sabdfl ;-)10:18
sabdflcprov: i have to do it tonight10:19
sabdfli'm afraid i have to rewrite chunks of this ui...10:19
cprovsabdfl: yeah, soyuz needs BasicTestCoverage urgently10:20
sabdflcprov: we can add some sampledata by making some uploads and running some builds10:20
sabdflreal data10:21
sabdfli wonder what the best url schema to a build is10:22
sabdflgiven that we might have many of them10:22
cprovsabdfl: yes, but it still far from the reality, since we didn't test simple things like: are we presenting every declared page properly ?!. Things like that doesn't require real data 10:22
sabdflcprov: the problem with the crap data we currently have is that its impossible to know if your page layout is sane for the usual case10:23
sabdflreal data is worth putting in10:23
cprovsabdfl: me too, currently I've land canonical_url for build, but it still presenting sources 10:23
sabdfllook at my sampledata for tickets, and specs10:23
cprovsabdfl: see you point and agree ... you mean SANE data ;)10:23
sabdflcprov: in your builder UI, did you not need to create a page for a build?10:24
sabdflwhere can i see sampledata pages for the build farm?10:24
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  shorten person menus (and tweak calendar page) (patch-2627: mpt@canonical.com)10:25
cprovsabdfl: not really, because build is collapsed in sourcepackage page .. it's the path to a single binary inside a distroarchrelease.10:26
sabdflcprov: that doesn't make sense10:26
sabdflthere's a lot of info related to a build10:26
sabdflit deserves a page on its own10:26
sabdfli'll create one10:26
sabdflwhere can i find the build farm pages?10:26
cprovsabdfl: you're right ... 10:27
sabdflwhere can i find the build farm pages?10:27
cprovsabdfl: +builds  /sources/$distrorelease/+builds, etc10:27
sabdflif you  have landed them, and they are about to go into production, ihope there is sampledata for everything10:27
cprovsabdfl: the complete "facet" is pending the 2nd pass review 10:28
sabdflhmm...10:28
sabdflok, some feedback for you10:28
cprovsabdfl: there is, you can navigate through the existent srcpkgs (mozilla, pmount, etc)10:29
sabdfl /+builds is not a good URL10:29
sabdfl /buildfarm/ would be better10:29
cprovsabdfl: do you think ? it was buildfarm/ but I and mpt agree in +builds to present something like a facet 10:30
sabdflno10:30
sabdflsorry10:30
sabdfl /buildfarm/                should be an overview of all the builders10:30
cprovsabdfl: if you have time have a quick look on ABUI spec 10:30
sabdfl  /buildfarm/+build/32423               should be build #3242310:30
cprovsabdfl: it's easy to change10:31
sabdfl  /buildfarm/bob/               should be the builder called bob10:31
sabdflwhat else do we need?10:31
sabdflok, i will revamp this url space too10:32
cprovsabdfl: you don't need to see the buildqueue entry itself, you can see it from the published sourcepackage or from the builder page as a row containing all the info 10:32
cprovsabdfl: we have builds for distribution/distrorelease/distroarchrelease all of them present kind of uniform information but in a restricted domain 10:33
sabdflcprov: that's not good, because you may have two or three build attempts for the same package in the same distrorelease10:33
sabdfland each of those might produce ten or twenty binary packages10:33
sabdflso that page would get hideous10:33
cprovsabdfl: but never for the same distroarchrelease10:33
sabdflcprov: wrong10:34
sabdflif it fails, it can get rebuilt10:34
sabdfland rebuilt10:34
sabdfltill it passes10:34
cprovsabdfl: the result are not inside buildqueue domain ... they are in Build domain10:34
sabdflwhich has no page to describe it10:35
sabdfllook here's the point10:35
sabdflone sourcepackage, 13 architectures, 3 retries, 8 binary packages per success10:35
cprovsabdfl: if it fails the buildqueue is removed anyway ... you need to rebuild10:35
sabdflall on ONE PAGE?10:35
sabdflthe build should remain as failed10:35
sabdflso we retain the logs10:35
sabdflwe know why it failed10:35
sabdflwe can analyse it10:35
sabdflpeople can see what went wrong10:36
cprovsabdfl: currently in sources/warty/i386/mozilla/+builds10:36
sabdflcprov: that can't work10:37
cprovsabdfl: that is the page to see how a published sourcepackagerelease goes for a given distroarchrelease 10:37
sabdflyou don't know what version you are looking at10:37
sabdfli386 is a sourcepackagerelease?10:37
cprovsabdfl: always the newest one, that page present all of them published 10:38
sabdflhow do i see an older one?10:38
sabdfldude, this is simple10:38
cprovsabdfl: no an distroarchrelease10:38
sabdflyou should present each table, as a page10:38
sabdflnot hard10:38
sabdflif there is a biuld table, there should be a build-index.pt10:38
sabdflnot hard10:38
sabdflall you have to do is figure out where it should go10:39
sabdflmake sense?10:39
cprovsabdfl:  uhm ... you're probably right ... the idea makes sense10:39
sabdflputting the "build" page at a sourcepackagerelease-in-distro page is madness, because the two do not correlate 1-to-110:39
sabdflwhat is the content object for /+builds10:40
sabdfl?10:40
sabdflcprov: ^10:40
cprovsabdfl: lp/+builds is that /buildfarm/ you reffered before .. shows the registered builders10:40
sabdflwhere can i find it in the code? 10:40
sabdfli would expect database/builder.py10:41
sabdflas BuilderSet10:41
sabdfl?10:41
cprovsabdfl: [db,browser] /builder.py10:41
sabdflnice10:41
sabdflperfect10:41
cprovsabdfl: every  xxx-builds.pt 10:41
cprovsabdfl: builder.py still carrying BuildQueue small classes .. it will change when we think convenient 10:42
cprovsabdfl: are you working on this soon ?10:42
cprovsabdfl: steve promised me to review last important patches for builddUI today, if it doesn't happen before you start I suggest you to merge from my personal branch 10:43
cprovsabdfl: otherwise the conflicts will be horrible :(10:44
sabdflcprov: ok, i can merge from it11:02
sabdflwhen do you expect it to land?11:03
=== Burgundavia [n=corey@S0106000000cc07fc.gv.shawcable.net] has joined #launchpad
sabdflcprov: i do like builder.py and build.py, they are nice and clean, the right things in the right placs11:05
cprovsabdfl: ASAP, tomorrow is the ETA, but depends from steve 11:12
cprovsabdfl: yep, the reviewers helped a lot for the code sanity 11:13
=== carlos [n=carlos@243.Red-83-47-24.staticIP.rima-tde.net] has joined #launchpad
=== bradb heads off
=== bradb [n=bradb@modemcable033.209-70-69.mc.videotron.ca] has left #launchpad []
=== eirikn [n=eirikn@hagbart.nvg.ntnu.no] has joined #launchpad
asmodaidudes11:26
asmodaieirikn here is hacking bazaar11:26
eirikn-ng11:26
asmodaiwho of you does a lot with that :)11:26
asmodaibuggers might be off to lunch :P11:26
eiriknheh11:27
eiriknwhat is launchpad anyway?11:27
asmodaiwww.launchpad.net11:27
asmodaithese async weirdos are python lubb0rs11:27
asmodai:)11:27
=== asmodai runs from the retaliation
eirikncan't connect to the webpage, times out11:28
asmodaiworks for11:29
asmodaime11:29
=== eirikn connects to uni
eiriknlynx there works11:30
asmodaiYou've been filtered!11:31
asmodai:)11:31
eirikn:'(11:31
eiriknrestarting firefox fixed it11:33
eiriknI think the caching in firefox is borked at times11:36
=== Trix [n=mail@200.42.189.18] has joined #launchpad
carlossabdfl, ok, seems like I have most bugs fixed, now I need to investigate a bit some outdated reports that pitti told me and I think I will be done11:55
=== carlos -> dinner
carloswill do it before leaving to sleep and will send an email with a small report of the status, ok?11:55
Trixwhat happend that now, do not send ubuntu cd?12:00
salgadohttps://launchpad.net/bounties/chquite12:01

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