dafkiko: sure12:02
!lilo:*! Hi all. If you're interested in tracking, discussing, political coordination, regarding the U.S. INDUCE act, designed to outlaw technology which can be used to circumvent entertainment industry licensing, please feel free to stop by ##induce .... thanks!12:02
kikodaf, we're in need of some quality rosetta time with someone in the know, and I'm thinking it could be you.12:03
kikodo you have a couple of hours to commit this week to us?12:03
dafI might be able to do that on Thursday or Friday12:04
dafwhat can I help you with?12:04
kikogetting rosetta data displayed in soyuz, basically.12:05
kikotranslations for certain packages.12:05
kikois that feasible?12:05
dafcan you give me more details? :)12:06
dafyou're thinking of integration between soyuz and Rosetta?12:06
kikoright. getting something like open translations for release X, and for package Y?12:07
dafsure, spending some time thinking about that would be good12:07
dafI'm not 100% sure I'll have some time this week for that, but I'm certainly happy to do it12:08
kikowe're partially blocked on that12:08
dafin that case, how about we allocate an hour to talk about it on Thursday, with a follow-up meeting on Friday if needed?12:10
carlosdaf: please, could you recreate the database at rosetta server?12:10
dafcarlos: sure12:10
kikotwo hours, I think, would be required just for talking :)12:10
carlosdaf: thanks12:10
dafcarlos: done12:10
dafkiko: ok, let's do that then :)12:11
carlosdaf: :-?12:11
carlosdaf: https://rosetta.warthogs.hbd.com/++skin++Debug/rosetta/prefs12:12
kikocprov, debonzi: daf's on for thursday for our rosetta-mini-sprint. 12:12
kikocprov, debonzi, daf: what's the good time.12:12
carlosdaf: it works here...12:12
dafcarlos: interesting12:12
dafcarlos: looks like some sample data is missing12:12
carlosyour name :-)12:12
cprovkiko: I'm  online every time , better ask daf 12:13
kikodaf, what's the good time?12:13
carloskiko,cprov: what time is it there?12:13
dafkiko: sometime during the afternoon, I think12:13
dafkiko: i.e. after the rosetta daily meeting and lunch12:14
cprovcarlos: 19 PM12:14
carloscprov: thanks12:14
dafcarlos: TZ=America/Sao_Paulo date12:15
carlosdaf: thanks12:15
cprovdaf: when will be in UTC ? 12:15
=== cprov is lost on TZs
dafI suggest 3pm UTC12:17
dafi.e. 11am for you guys12:17
dafer, no12:17
daf12pm for you guys12:17
cprovdaf:  you can kill us :)12:17
carlosdaf: I don't think so12:17
=== carlos sucks
dafcprov: is that too early for you? :)12:19
=== npmccallum [~npmccallu@69-162-252-7.ironoh.adelphia.net] has joined #launchpad
cprovdaf:  nop, exaclty the opposite, 1/2 hour earlier maybe ? 12:19
dafby 12pm, I mean 12:00, by the way12:20
dafnot 00:0012:20
cprovdaf: of course :)12:20
dafjust checking :)12:20
dafok, what time would you like?12:21
dafI'm usually around in the evenings12:22
cprovdaf: let's do in that way: 12pm UTC thursday as you said or earlier if possible, ok ?12:22
dafwe could make it 11am UTC if that suits you better12:22
cprovdaf: not much ... is 12 UTC nice for you too ?12:24
cprovdaf: I think 40 minutes will be more than enough 12:24
dafactually, the Rosetta team meeting is at 12:00 UTC12:24
kikocprov, I don't think 40 minutes is enough, really.12:25
cprovkiko: how much do you think ?12:25
dafand the meeting will last somewhere around 30m-1h, and I generally have lunch after that so...12:26
carlosdaf: if it's needed, we could move it12:26
cprovkiko: we just need a set of stocked queries AFAIK12:26
kikoI think 2h, cprov. there's a lot up in the air12:27
dafwe *could* make it 10:00 UTC, which is 7am for you guys :)12:27
dafcarlos: that is true12:27
cprovdaf:  uhm, kiko cannot wake so early :)12:28
kikoit breaks my legs12:29
dafthat's funny -- my knees hurt when I've been awake too long12:29
cprovdaf:  make it easier, just say when you have 2h free12:29
dafany time from about 14:00 UTC would be fine12:30
dafcarlos: ok, Rosetta seems to be working now12:32
=== debonzi is lost in the time
carlosdaf: where was the problem?12:32
dafcarlos: dunno, I just restarted the server ;)12:32
cprovkiko: debonzi : 14 UTC is ok for you ? just have lunch and talk :) ok ?12:33
kikoit's 11am here, okay by me.12:33
cprovdaf:  then ok, thursday 14 UTC 12:34
dafcprov: ok!12:35
debonzicprov, for me is ok..12:35
cprovdaf: thanks 12:36
dafcprov: de nada :)12:36
cprovdaf:  just to warn, if you can think in stocked queries to show relevant information from rosetta in soyuz, let me know .12:36
dafcprov: you might be able to use existing Rosetta interfaces for some things12:37
cprovdaf: I will send an email to launchpad explaning better wishes. 12:37
dafI'm worried about this "idea" of releases -- Rosetta doesn't really pay attention to those12:38
dafok, that sounds good12:38
cprovdaf: yep12:38
kikodaf, as long as translations are tied to certain source packages (and source package versions?)12:38
kikodaf, we're okay.12:38
cprovdaf: carlos see you later12:39
carloscprov: later!12:39
dafcprov: later12:39
kikodaf, um what? :)12:39
daftranslations are tied to templates are tied to products are tied to projects12:40
dafRosetta knows nothing about source packages12:40
kikoproducts are tied to source packages, I believe, no?12:42
=== debonzi goes dinner
dafcarlos: the form looks really good12:44
carlosdaf: stolen from bugzilla12:45
carlosbut It seems like it's not working12:45
carlosdoing some local tests now12:45
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad []
carlosdaf: are you sure you have latest db schema?12:47
carlosdaf: it works in my laptop12:47
carlosbut If I try to change your name with the password 'test' it does not change anything12:47
daflet me try reloading it again12:48
dafok, done12:49
carlosdaf: your name now it's Dafydd212:50
dafheh :)12:52
carlosdaf: do you want wishlist bugs into our bugzilla?01:08
dafcarlos: yes01:15
dafI filed one against Malone today01:15
=== stub [~zen@dialup-] has joined #launchpad
kikohey stub, have some minutes free?02:04
kikostub, us soyuz lowlives are looking into getting some malone data presented in soyuz.02:05
kikostub, do you think you could put some time down this week for sorting the issues out with us?02:05
stubI can spare a little time - I'm still at my old work this week.02:06
kikowe'd need a solid 1h something, and the timezone scheduling means it's not trivial to fit in.02:07
kikocan you say what time is best? perhaps friday?02:07
stubwhenever - pick a time. sooner is fine by me.02:08
stub(as long as I am awake ;) )02:09
carlosdaf: 4 bugs left (without counting steve's ones)02:17
kikostub, what is a good time UTC for you?02:18
carlosdaf: hey, lalo is alive!!02:18
stubNow until Now + 12 hours is good for me02:18
carlosspiv: ping?02:58
carlosdaf: I'm getting this error:02:58
carlosTypeError: DBProject() did not get expected keyword argument datecreated02:58
carlosdaf: datecreated has a default value, and I want to use it02:59
carlosI mean.... the Project table has a default value for the field datecreated02:59
carlosand I want to use it, but the SQLObject does not let me to do it02:59
stubcarlos: Do you mean you want to use the default datecreated defined in the database, or the default datecreated defined in the SQLObject subclass?03:02
carlosstub: the one defined in the database03:02
carlosI didn't know that sqlobject could define a default value03:03
carloswhat's the best option?03:03
stubThen you have to set 'required=False' in the SQLObject subclass, so it lets it be uninitialized.03:03
stubSQLObject defaults don't work for datetimes, since it sets the default when the module is loaded (ie. it is not calculated).03:04
stubThis needs to be fixed - there is some discussion on the SQLObject mailing list about this03:04
carlosTypeError: __init__() got an unexpected keyword argument 'required'03:05
carlosDateTimeCol('datecreated', notNull=True, required=False),03:05
stubSorry - notNull=False 03:05
=== carlos reading sqlobject documentation..
carlosstub: that does not works03:05
stubDateTimeCol('datecreated', notNull=False, default=None)03:06
carlosI tried the notNull=False option.03:06
carlosbtw, it should be notNull=True03:06
carlosIf I do an insert03:06
carloswith datetime=NULL03:06
carlos will be used the default value?03:07
stub(default = None, as python None == SQL NULL03:07
carlosstub: I know, It's just that I thougt that the default value is only used if you don't specify a value for that field03:08
carlosok, no more errors about it. Thanks03:08
stubErr... you are right. Might be SQLObject magic that makes it work then... possibly by accident.03:09
carlosI'm not able to do the insert, so perhaps it fails when it commits it into the database (I have other errors)03:10
carlosI mean, that I didn't tested it 100%03:10
stubCan you please add a bug to bugzilla? We have an SQLObject developer starting soon who should be able to fix this properly and feed it back upstream.03:11
stubIf it doesn't work, you need to pass 'datecreated=datetime.utcnow()' as an argument when creating the object (which is what Malone is doing to avoid this problem).03:12
carlosstub: what should I specify in the bug report?03:12
stub(so hopefully the clocks on the app servers are in sync 'good enough')03:12
=== carlos don't knows exactly where is the problem
stub'SQLObject needs to use the DEFAULT value for a column as defined in the database'03:13
stubI think the correct syntax should be something like DateTimeCol('datecreated', notNull=True, default=SQLObject.DEFAULT)03:14
stubBut the SQLObject developers should probably agree on the syntax before I hack it up myself ;)03:15
carloshmm, I get this error after fixing all bugs I found:03:16
carlosValueError: Unknown SQL builtin type: <class 'canonical.rosetta.sql.RosettaPerson'> for <RosettaPerson at 0x30703370>03:16
stubThat would be the value for the 'person' foreign key03:18
stubIs RosettaPerson an SQLObject subclass? Or do you need to adapt it to a database.foaf.Person ?03:18
carlosRosettaPerson represents the Person table03:19
carlosI fixed it, don't worry03:19
carlosbut as you said, the sqlobjects fails03:19
carlospsycopg.IntegrityError: ERROR:  null value in column "datecreated" violates not-null constraint03:19
stubHave to do it the malone way for the time being - flag it with a TODO 03:20
carlosI will fix it the way you told me for now03:20
carlosstub: should we have a sqlobject component inside launchpad?03:32
stubcarlos: I don't follow you03:32
carlosstub: or should the bug report be filed against launchpad?03:32
carlosstub: to file the bug we talked about some minutes ago03:32
carlosat bugzilla03:33
carlos(sorry, it's too late here to think in a verbose mode :-P)03:33
stuboh - we should have a component for it - not sure what the best is.03:33
carlosI don't see anyone now03:34
stubMaybe a database product, with components sqlobject, sqlos, schema, psycopg? I don't know if it is launchpad specific.03:34
carlosjustdave: could we have it added ?03:34
stubJust stick it anywhere and assign it to me so it doesn't get lost :-)03:34
carlosstub: at this time it's only used by launchpad03:34
carlosstub: ok, I will file it against launchpad, is it right for you?03:35
justdavewhich, the new product with those 4 components in it?03:39
carlosjustdave: not sure, stub?03:40
stubI think a 'database' component for launchpad might be best, with me as the owner.03:40
stub(stuart@stuartbishop.net is still my bugzilla id)03:41
justdaveok, done.03:43
carlosjustdave: thanks03:43
stubcarlos: I don't know if you want Bug1965 to depend on 1968 if you have a working workaround. If the work around is good enough, Bug1968 won't be looked at until the soyuz sprint at the earliest.03:46
carloswell, we could move it for later 03:47
carloswhen we look at beta remaining bugs 03:47
carlosthe alpha is for tomorrow03:47
carlosI suppose the beta will be for the end of the month or something like that03:47
carlosis a way to have it present when fixing bugs in rosetta03:48
kikostub, I'm going to propose 11am UTC on friday, which is like 8am here. how does that sound?04:14
stubFine here04:19
kikowonderful. emails will go out to launchpad confirming ;)04:23
kikolifeless, yo?04:29
kikohow goes it?04:30
lifelessfrenetic, as usual :}. You ?04:31
kikolifeless, at least as mad as you. 04:34
lifelesswhats this alpha/beta thing I'm hearing about?04:34
kikodid you get cprov's request (and made heads or tails out of it)?04:34
kikolifeless, alpha release of rosetta tomorrow, which means launchpad alpha in a way, right?04:35
lifelesslaunchpad is in production already on macquarie04:35
carloslifeless: two bugs left from the rosetta team and I'm starting importing data into the DB04:36
kikoand on rosetta, right :)04:36
lifelesscarlos: into emperor ?04:36
carloslifeless: in my laptop04:37
lifelessarh. right.04:37
carlosI need to automate the import task04:37
lifelesskiko: I got cprov's request yes, and both stuart and I have answered.04:37
carloswhen that's done, we will move it into a real server04:37
kikolifeless, stub: thanx04:37
stubkiko: Patch was just accepted a  few seconds ago04:38
lifelesscarlos: cool, be sure to test with an extract of the live data, you don't want to overwrite anything or stuff04:38
carloslifeless: we will not work with the production database for the alpha release04:39
lifelessoh, so its a proof-of-concept period.. K.04:39
lifelessstub: what do you think about doing a new production drop on tuesday ?04:39
stubFine by me04:40
lifelessok. who do we need involved? I have access to the launchpad on macquarie, you ahve the db.04:40
carlosstub: are you the "db nazi" again?04:41
lifelesscarlos: not till monday04:41
lifeless(not that nazi's ever really let go)04:42
carlosok, I have some pending changes to send04:42
carlosI will send them later04:42
carloskiko: rosetta's products will be mapped to source packages, I'm not sure if we have a full relation with the source table, but It makes no sense to use binary packages with it04:51
carlosbecause several binary packages will use the same translation source04:51
carlosI need a break. See you in about 30 minutes04:53
kikocarlos, hey, answer my email with more gems like that and I'll send you some vintage brazilian coffee on the next sprint04:57
kikomust.. sleep... soon..04:58
kikomy new house doesn't even have a friggin shower yet and I'm at midnight at the office.04:58
carloskiko: it's too early to go to sleep :-D04:58
kikothis has got to change.04:58
carloshere it's 5:00AM04:58
kikohere it's *sleeptime* :)05:11
=== stub [~zen@dialup-] has joined #launchpad
=== stub [~zen@dialup-] has joined #launchpad
=== stub [~zen@c211-28-34-252.sunsh1.vic.optusnet.com.au] has joined #launchpad
=== limi [~limi@159.80-202-72.nextgentel.com] has joined #launchpad
limimorning all08:57
carloslimi: hi08:58
limicarlos :)08:58
carloslimi: ready for the count down?09:00
carloswell, as I said, time to take a shower 09:04
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad []
=== sabdfl [~mark@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
=== sabdfl [~mark@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
=== stub [~zen@dialup-] has joined #launchpad
SteveAlulu: I just checked out http://ubuntulinux.org/  Is someone going to produce a favicon.ico file to replace the plone logo?11:18
luluthat's a good point! I'll ask Limi11:18
limiSteveA: we lack an Ubuntu icon11:19
SteveAbetter not to have one than to have the wrong one11:20
=== ddaa [~david@nemesis.xlii.org] has joined #launchpad
luluelmo's asking for someone to do it11:23
SteveArosetta.ubuntulinux.org is listening on the https port11:26
SteveAbut it is not listening on the http port11:26
carlosSteveA: ask elmo_mf11:28
SteveAI guess we can run rosetta over https.  It isn't a big deal, and means we don't need to worry about redirecting people to use HTTPS when they need to be authenticated with a password.11:28
carlosSteveA: we need something at http post alpha or people will have troubles to find rosetta (by default all people opens http instead of https)11:29
=== elmo_mf [~james@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
elmo_mfSteveA: ?11:30
SteveAhello elmo11:30
elmo_mfwhat's up?11:30
elmo_mfI did that rosetta thing you asked for last night?11:30
SteveAnow I have to remember exactly what I asked for ;-)11:31
elmo_mfthe rosetta.ubuntulinux.org, going to :9010 on rosetta11:31
elmo_mfso you can run a second launchpad invocation for alpha?11:31
elmo_mfok.. lu said you wanted me tho - was there anything else?11:31
SteveArosetta.ubuntulinux.org is listening on https11:32
SteveAbut not https11:32
SteveAbut not http11:32
elmo_mfoh, yes, I asked daf and he told me to do that11:32
SteveAoh, ok11:32
elmo_mfdo you want me to a) switch them, or b) make http available but redirect to https ?11:32
elmo_mf(or c, make both available - seems least good alternative tho)11:32
SteveAmaking http available but redirecting to https would be neat11:32
SteveAand probably save us a bunch of email saying "use https"11:32
elmo_mfright, I'll do that in a bit11:33
SteveAnow I just have to wait for daf to get in (after his late night closing rosetta bugs last night), to get everything working11:34
elmo_mfdaf was up pretty late...11:34
carlosSteveA: I don't think he will wake up early, I think he went to bed about at 5:00AM11:35
carlosno, at 6:3011:35
SteveAI hope he's up for the launchpad meeting later today11:35
carlosthe meeting is "late" so I don't think it will be a problem11:36
SteveAdo you think we'll be able to turn on rosetta today?11:39
=== SteveA goes to find some food
carlosSteveA: I'm working on a script to import the .po/.pot from an XML defining the projects, trying to figure a way to automatize it 11:40
carlosSteveA: rosetta is ready (should be)11:40
carlosif it's needed we could import the files by hand11:41
SteveAis there anything you need help with on the script?11:41
carlosperhaps some ideas about the way to solve the problem will be welcomed11:41
carlosbecause I'm not completely sure I'm handling the best way I should11:42
SteveAok, let's talk about it when I've come back from the cafe11:42
carlosok, thanks11:42
elmo_mfsteve: http's there now, redirecting11:46
elmo_mfonly for r.ul.o / r.u.c tho, r.w.h.c just gives you an empty page - I guess that's a feature as we don't want joe random seeing the dev dev version11:46
dafSteveA: hi12:21
carlosdaf: hey, you are alive!!!12:21
carlosdaf: I think we will need to import the projects/products by hand12:22
carlosI'm having hard problems with the script12:22
sabdflcarlos: yes, projects and products will need to be done by hand, lifeless has started already because of arch syncing12:24
sabdflplease discuss a wiki page with him where we can finetune them12:24
sabdfland include some review12:24
carlossabdfl: we are working with tar.gz for the alpha12:24
sabdflonce i've signed off on the project / product names, they can be put into the database12:24
carlosbecause we don't have the needed modules in arch yet12:25
sabdflyes, i'm just talking about getting the project / product names into the db12:25
sabdflthen you attache the POT to the product, right?12:25
carlossabdfl: I thought that we should import all ubuntu packages now12:25
sabdflone at a time, by hand12:25
carlosbased on arch for the alpha?12:26
=== stub [~zen@dialup-] has joined #launchpad
dafhmm, I think if we can't import all packages in an automated fashion, doing it by hand will take a very long time12:31
carlosdaf: I was working tonight in a kind of xml so we only "import" it by hand one time and future updates will be automatic, but it could still fail12:32
carloswhere import is write some info we need to get by hand and then let a script execute it over an onver again12:33
carlosbut I'm not sure it's a good approach12:33
carloswaiting for SteveA to talk about it12:34
dafhmm, that's an idea12:34
carlosdaf: could we talk about it now 12:54
carlosif we should do it by hand I think we should start as soon as possible...12:54
daflet's wait for Steve12:58
=== elmo_mf [~james@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
SteveAI wonder whether we should decide on a canonical address for rosetta.ubuntusomething, and have everything else redirect to there.12:59
SteveAdaf, carlos: let's talk about importing stuff01:00
SteveAso, let's set the scene01:01
=== carlos uploading the xml ..
SteveAwhat raw materials do we have?01:01
carlosSteveA: at this moment we have the list of packages from wiki or from apt source01:02
carlosthe apt source let's us to fill some fields automatically01:04
SteveAdid you come up with the xml pattern?01:04
carlossorry, I don't understand what do you mean. xml pattern? 01:04
SteveAthe DTD01:05
SteveAthat particular xml format01:05
carlosSteveA: no, I don't have the DTD wrote01:05
SteveAI recommend you don't write a DTD01:05
SteveAbut, what I mean is, did you come up with this XML schema?01:05
SteveAwith this xml file format01:06
dafi.e. did you invent the structure of the XML?01:06
SteveAthanks daf :-)01:06
carlosbased on the database fields01:06
SteveA      <command>./debian/rules common-configure-indep && cd po && intltool-update -P && cd ..</command>01:06
SteveAwhy is there a 'cd ..' at the end/01:06
SteveAalso, note that && isn't valid xml01:06
carlosto come back to the default dir01:06
carloshmm, right01:06
SteveAit needs to be &amp;&amp;01:06
SteveAthe processor for this should ensure that each command starts in the appropriate directory01:07
SteveAit shouldn't expect the <command> to clean up01:07
elmo_mfbtw, what the heck is that common-configure-indep thing? is that a cdbs/gnome thing?01:07
carlosI execute a cd po and I undo it later, that's all01:07
carloselmo_mf: cdbs01:07
carlosI don't need to build the package, only to configure it01:08
SteveAif every command is always '&&' after the last one, we could also represent the commands each on a new line01:08
SteveAthis might make it easier to maintain / diff from01:08
carloswith serveral <command> tags or inside the same tag?01:08
SteveAno, just new lines01:08
carlos /s/serveral/several/01:08
SteveA./debian/rules common-configure-indep01:09
SteveAcd po01:09
SteveAintltool-update -P01:09
SteveAcd ..01:09
SteveAmaybe call it <commandscript> instead, or something like that01:09
dafif you run the command inside its own shell, you don't have to worry about the "cd .."01:10
SteveAso, we have a list of packages, and we want a filled-in XML file that looks like carlos's file, right?01:11
carlosor perhaps with pushd popd...01:11
carlosthe projects fields should be handled by hand01:11
SteveAthese are important implementation details, but let's discuss what we actually need to do overall01:11
SteveAcarlos: did you fill in this xml file by hand?01:12
SteveAdo you think it is straightforward to write a tool that reads in the XML, and imports the packages?01:12
SteveA(I'm trying to find out what part you want help with)01:12
carlosyes, it should be easy when the xml is filled completely01:13
dafSteveA: the difficult part is writing the XML file, I think01:13
carlosyes, that's the problem01:13
dafafter all, that should be the only non-automated part01:13
carlosevery package should be handled by hand01:13
SteveAwell... we can get a lot of information from the .deb can't we?01:13
carlosSteveA: yes01:14
SteveAwhat information can we easily get from a .deb?01:14
carlosthe "hard" part is the commandscript commands01:14
dafright, so we need another script to generate a version of the XML which is then fixed up by hand?01:14
SteveAall the ones in your file are the same.01:14
carlosname, short description and description have a direct mapping01:14
carlosdaf: yes01:14
SteveASo, we can start by trying that script, and seeing if it works.01:14
SteveAWill it be apparrent if it doesn't work properly?01:15
SteveAIt will be obvious if no .pot file is there01:15
SteveAum, obvious01:15
SteveAbut what about if there are several .pot files?01:15
carloswe could easily do some basic checks01:15
SteveAso, what about having a step where you run find to locate .pot files?01:15
carlosSteveA: I have some code to do it in C01:16
SteveAto do what?01:16
carlosfrom a the GNOME status pages01:16
carlosto detect po directories01:16
carlosso it's easy to port it to python01:16
SteveAdoes it work for other projects than gnome?01:16
carlosthe detection does not depends on any GNOME specific01:17
SteveAwhat we should aim for is going through the names of packages.  Get the .debs.  See if it fits something we can automate.  If so, import it.  If not, log that somewhere to be done manually.01:17
SteveAdoes that sound reasonable?01:17
dafyes, an "if not len(pot_files) == 1" should work01:18
carlosyes, that's a start01:18
dafsabdfl: I'm a bit confused -- will the Rosetta alpha have all the Ubuntu packages in it or not?01:18
SteveAI don't understand what you just asked, daf01:18
carlosbut we should review later all packages because we need to apply the debian/ubuntu patches to get all strings01:18
SteveAwe would like the rosetta alpha to have lots of packages in it01:19
SteveAwe should aim for the low-hanging fruit first01:19
SteveAthat is, those we can easily automate01:19
dafwe would like that, but I would like the team to concentrate on development if importing all the packages is going to be a significant task01:19
dafSteveA: eventually, we want Rosetta to have all the information needed to translate all of Ubuntu01:21
dafSteveA: I'm asking Mark how soon we want to have all that information01:22
SteveAthe important thing right now is to get rosetta used by some of our target audience, while at the same time doing something useful for ubuntu01:22
SteveAso, if we can get 70% of the ubuntu packages in there, the 70% that go all the same, then that's great01:23
dafok, the question is the extent to which we shuold spend time on the "doing something useful for Ubuntu" part01:23
SteveAlet's try to come up with a reasonable estimate of what it would take01:23
SteveAthen we can make an informed decision as to what to do01:24
SteveAand, we can keep it as simple as possible01:24
SteveAso, let's agree on our goals01:24
SteveAI'll propose some01:24
SteveA* get enough data into rosetta alpha so that it can be well tested by early adopters01:25
SteveA* get some ubuntu packages translated01:25
SteveAanything else?01:25
carlosI don't think wee need more goals for the alpha01:26
carlosmakes sense for me01:26
SteveAwell, the point of these goals is so that we know what things we have to balance against each other01:26
dafyes, those are good goals01:26
SteveAanother goal would be to get it done pretty soon01:26
dafthere are other goals:01:26
daf* fix bugs in the alpha01:27
daf* start closing beta-critical bugs01:27
carlosbut those goals are to release the beta01:27
dafcarlos: yes, but if we spend lots of time on goals 1 and 2, we can't work on goals 3 and 401:27
carlosI don't think we shouls expend more than some days for the 1 and 201:28
carlos /s/shouls/should/01:28
SteveAok, let's think about what's involved in importing packages01:28
SteveAour plan should be to import packages that come easily01:28
SteveAand to leave those that are more difficult01:28
SteveAuntil later01:28
=== SteveA waits for a response
SteveAcarlos: do you already have code that uses your xml file to import stuff into rosetta?01:30
carlosnot yet, but I have a script that I think could be adapted easily01:30
=== cprov [~cprov@200-206-134-238.async.com.br] has joined #launchpad
SteveAhow much time would it take to complete the task "have software that takes an xml file of package data, and imports each one into rosetta" ?01:31
carlosSteveA: one thing... I'm forgeting about the branch field in our database. We don't expose it in the UI and I don't think we should care about it until beta01:31
carlosSteveA: about 1 hour01:31
SteveAdaf: do you agree with carlos' estimate?01:31
dafSteveA: I would estimate 2 hours at least01:32
SteveAso, let's allow 3 hours01:32
SteveA1+2 = 3 ;-)01:33
SteveAIs the XML schema complete?  does it need any more work?01:33
SteveAWell, the command part needs a little work, but we already discussed that.01:33
SteveAActually, I want to ask about that.01:34
carlosSteveA: if we can forget about the branches (not needed until we start with arch)01:34
carlosyes, I think it's completed01:34
SteveAeach of the commands in the example file is exactly the same01:34
SteveAso, do we need to list the commands there?01:34
carlosSteveA: because all packages use cdbs01:34
SteveAcan we just say <standard-import-commands />01:34
carlosbut that will not work always, if we have a way to use a custom command, it's ok for me01:35
dafor, we could identify commands by name01:35
SteveAwill it work in a lot of cases?01:35
SteveAthen, let's do that for now01:35
carlosalmost all GNOME packages should work01:35
dafeach package would have a <command> or <named-command name="cdbs" />01:35
SteveAit makes your task easier01:35
carlosdaf: makes sense01:35
carlosSteveA: ok01:35
SteveAdon't over-design it now01:35
SteveAwe want to get many packages imported01:35
dafI think the redundancy is very much due to the packages carlos has chosen01:36
carlosdaf: the most importants ones are gnome packages01:36
SteveAso, what %age or how many packages, can we get using this?01:36
dafcarlos: right01:36
=== carlos follows the list Mark sent
SteveAI think that's good enough for now01:36
dafalso, it seems like Mozilla and OO might be feasible to do01:36
SteveAwe can improve and generalize the system once we have those important gnome packages imported01:36
carlosyes, and that's cool :-)01:36
SteveAbut do not work on the general case now01:36
dafno, you're right01:37
SteveAso, we can just have a <cdbs-import /> element01:37
SteveAand this means "do the standard cdbs import"01:37
SteveAand later on, we'll have other imports, one of which may involve ad-hoc commands01:38
dafthis is starting to sound like jhbuild01:38
dafare you familiar with that, Steve?01:38
carlosok, so will we forget also the multiple .pot packages, right?01:38
=== justdave [~dave@] has joined #launchpad
SteveAwhat is that?01:38
SteveAfor now, yes01:38
SteveAalthough we may still want to check for that01:39
dafit's a tool James Henstridge wrote, originally to build GNOME from CVS01:39
dafit became more general after that01:39
dafit has a list of all the packages as XML01:39
SteveAwill a simple find name="*.pot" be good enough to check that we have just one pot file?01:39
dafand it knows how to fetch and build each one01:39
dafSteveA: no01:40
=== ddaa [~david@nemesis.xlii.org] has joined #launchpad
daftouch foo.pot01:40
daftouch bar.pot01:40
dafecho name  # ==> "foo.pot bar.pot"01:40
SteveAfind will find that, and will reject that package01:40
SteveAworks for me01:40
SteveAwe want the simplest thing that will work for some of the important packages01:41
SteveAif we reject too many to start with, that's ok01:41
carlosit's ok for me01:41
dafsorry, I think I misunderstood you01:41
dafif we make a list of all the files which match *.pot, then that will work for most cases01:41
SteveAwant me to try to explain better?01:41
dafwe can just check that exactly 1 file has been foudn01:42
daffor a couple of GNOME packages, there will be multiple .pot files01:42
SteveAI'm proposing that we look for all files inside a .deb that end in .pot.  If there is more than one of these, we reject this .deb for now01:42
dafand if there is less than one?01:42
SteveAwe also reject it01:42
SteveAbut, the cdbs-import will fail anyway then01:43
dafno, we can't use .debs01:43
SteveAor, source packages01:43
dafright, source packages01:43
SteveAread "source packages" for when I said "debs"01:43
dafso, the algorithm should be:01:43
dafrun the update commands defined for this package01:43
daflook for pot files01:43
dafif the number of pot files != 1, then add this package to the list of failed ones and go to the next one01:44
dafotherwise, import it01:44
dafthen, we can look at the list of ones which failed and deal with them individually later01:44
dafgtk+ and gnome-applets will fail, because they will have 2 POT files01:45
SteveAwill cdbs import always work if there is just one pot file, like this?01:45
carlosSteveA: yes, if it's not broken (like gnome-applets)01:45
carloswell, bad example, gnome-applets has two pot files but it's also broken 01:46
carlosbut that's a corner case01:46
SteveAhow is it broken?01:46
dafcarlos: actually, in the case of gtk+/gnome-applets, it will only generate one POT file, right?01:46
SteveAwill we get an error condition from cdbs-import ?01:46
carlosdaf: yes, it's easy to do that, but it's an specific "hack"01:46
dafcarlos: since it only updates the po/ directory, and not po-locations or po-properties01:46
carlosSteveA: yes, it should raise an execption01:47
carlosSteveA: it misses some files needed to rebuild the .pot file01:47
carlosdaf: but if we reject any package with more than a .pot file, we will not know that01:47
dafcarlos: will not know what?01:48
carlosdaf: that the package will work with the standard cdbs-import01:48
SteveAOk, so here's what we need to do.  It will miss a lot of packages, but it won't fail silently:01:48
SteveA* for each package name:01:48
SteveA    - get the source package01:48
SteveA    - run the update commands defined for this package01:48
SteveA    - look for pot files01:48
SteveA    - if the number of pot files == 1, import it01:48
SteveA    - else add this package to the list of failed ones01:48
dafit might have false positives in some cases01:49
dafbut we know about the most important ones, I think01:49
SteveAdaf: do you mean that this plan might have "false positives" ?01:49
dafSteveA: yes01:49
SteveAwhat exactly do you mean?01:49
dafi.e. it will fail to detect that a package intended to have two POT files because only one of them will be generated01:50
carlosdaf: the .pot files are always there01:51
carloscome from the .tar.gz01:51
dafthey are?01:51
dafoh, but not in CVS?01:51
carlosthe problem you are talking about will come when we move to arch01:51
carlosdaf: yes, that's it01:51
dafSteveA: this plan is definitely good enough for now01:52
carlosbut the code I have does not checks for .pot files01:52
carlosbut for POTFILES.in01:52
carlosthat exists always01:52
carlosso it's easy to "fix" later01:52
carloscould we talk then about tasks?01:53
SteveAwhat tasks are needed to make the plan in software?01:54
SteveA* for each package name:01:55
SteveA    - get the source package01:55
SteveA    - run the update commands defined for this package01:55
SteveA    - look for pot files01:55
SteveA    - if the number of pot files == 1, import it01:55
SteveA    - else add this package to the list of failed ones01:55
carlos1.- Parse the list of packages and download them 01:55
carlosit depens on the way we will handle this...01:56
carlosspecific scripts that does only one thing01:56
SteveAwhat is the *simplest* way of handling this?01:56
carlosor a global script that does all01:56
dafwhat about packages for which we have no update commands defined?01:56
=== SteveA goes to answer door
carlosdaf: will be rejected01:56
carlosdaf: as we talk, only cdbs packages will work in this phase01:57
carlosI think we should do several scripts/methods that do every point of the algorithm01:57
carlosthat way, when we move to arch is easier to change that part01:58
carloswithout break anything else01:58
=== SteveA decides to give up learning lithuanian. The only people I get to talk to aren't interested in even *trying* to understand
dafSteveA: that's a shame :(01:58
SteveAit is sad, but I get further acting as an ignorant foreigner than in trying to speak the language01:59
SteveAanyhow, back to imports01:59
SteveAI think a script that takes an argument02:01
SteveAthe argument is a file containing a list of package names02:01
SteveAthe script gets the packages names into a python list02:01
SteveAand instantiates a class PackageImporter for each item in the list02:02
SteveAthe class can live in the same module as the script02:02
carlosand the class executes all steps?02:03
SteveAthe class can have a "runimport()" method02:03
SteveAthat method contains the workflow we described above02:03
SteveA  def runimport(self):02:03
SteveA      self.getSourcePackage(tmp_directory)02:04
SteveA      self.runCdbsImport()02:04
SteveA      self.lookForPotFiles()02:04
SteveA        num_pots = self.findPotFiles()02:04
SteveA      if num_pots == 1:02:05
dafperhaps "class CDBSPackageImporter(PackageImporter):"?02:05
SteveA          self.importIntoDB()02:05
carlosSteveA: what happens when we move to arch? or when we import other packages that are not using cdbs?02:05
SteveAdaf: we have only CDBS now.  Don't Generalize Now.02:05
carloswe should use different classes that implements the same interface02:05
SteveAbut, by all means call it CDBSPAckageImporter02:05
carlosSteveA: ok02:05
dafSteveA: what values of "now" is this?02:05
SteveAwe don't need to generalize now, in order to meet our goals02:06
dafwhat about Mozilla?02:06
=== limi [~limi@sparkit.easynet.no] has joined #launchpad
SteveAwe will generalize when we need to do meet our goals02:06
SteveAwe can get all the packages that work with this algorithm, and get them working, and then work on any that need more special treatment02:06
SteveAif mozilla is one of these, then we'll refactor the script / class when we come to do mozilla02:07
SteveAbut not before02:07
SteveAwe need to keep it as simple as possible right now02:07
SteveAwrite the script however you want to. the class I sketched is only a suggestion.02:07
SteveAbut, do only what is needed to meet our goal of making this one import command and one flow of control working02:08
dafI think the timescale in which we will want to import non-CDBS projects is very short02:08
dafi.e. today02:08
SteveAthat's ok02:08
SteveAit is still important to get this simple thing working, before making it mre complex02:08
SteveAit is much easier and more reliable, and more fun, to modify something simple that exists into something more complex, rather than coming up with something complex to start with.02:09
SteveAwe want to make progress today.02:09
SteveAif things take longer than planned, and we only get the simplest cases done, well, that's still good progress02:09
SteveAbut, if we plan something complex, and get 90% of the way there, that's no tangible progress.02:10
SteveAok, we need to think about the individual tasks involved, and estimate this.02:10
dafcarlos: can you make it a task to write an importer + XML file that does maybe 6-12 packages?02:10
SteveAthat's more like a "story"02:10
dafI suppose that's two tasks02:10
carlosdaf: sure02:11
SteveAthat's a specific goal02:11
SteveAlet's go through the workflow in detail.02:11
SteveA1. get the source package02:11
dafso, one part is to write an importer that can import POT+PO files from CDBS source packages02:11
SteveAwe have the package name.02:11
SteveAhow to get the source pacakge?02:11
dafapt-get source02:11
dafso you need to have APT and the appropriate sources.list02:11
SteveAwe'll need to put it somewhere, right?02:11
carloswe will use the name of the source package02:11
SteveAok, est. time to write code that gets a source package, and unpacks it into a working directory, under the name of the source package ?02:12
carlosif there is any way to do "apt-get source *" no more tha 15 minutes :-P02:13
carlosbut I don't think we have something like that02:13
SteveAcarlos and daf: if you both independently estimate this, we'll have a good idea of whether the estimate is accurate, and whether the task is well-defined02:13
carlos* comes from a file that should be parsed02:13
dafthis is a trivial task, yes02:13
dafestimate 5 minutes02:13
SteveAok, I'll mark it as 20 minutes02:14
carlosgrep SOMETHING Sources | apt-get source ?02:14
SteveA0. write script + class that reads in given file, and goes through each name in turn instantiating class and calling "run" method02:14
carlosyes, it's trivial :-D02:14
SteveAcarlos: don't forget to deal with error conditions02:15
SteveAestimate for 002:15
carlosI don't think I will be able to do it in less than 20 minutes02:16
SteveAfor 0 ?02:16
SteveAlet's say 30 mins then02:16
SteveA2. run the update commands defined for thsi package02:16
carlosSteveA: but perhaps daf is faster than me on it02:16
=== daf shrugs
SteveAcarlos: 30 mins is fine.  The important thing is that we've thought through the problem, and committed to a reasonable estimate we can achieve02:17
SteveAif you improve on the estimate, even better02:17
dafcarlos: you didn't have any sleep last night, right?02:17
carlosdaf: true02:18
carlosdaf: why, am I missing anything?02:18
SteveA2. run the update commands defined for this package.  Estimate for this, please02:19
carloshmm, perhaps it's better.. forgetting...02:19
carlosIf we already know how to do it02:19
carlosno more than 10 minutes02:20
SteveAI'm not sure what "run the update commands" means02:20
dafcarlos: no, just checking02:20
carlosI think it's possible to do it in not more than 5 minutes02:20
carlosSteveA: execute the commandscripts list02:20
SteveAoh, okay02:20
SteveAthis involves checking for errors etc.02:20
carloshmm, right02:21
carlosI always forget it :-( 30 minutes02:21
SteveAif the commands return an sppropriate exit value, that's ok02:21
SteveAotherwise, you need to parse the output, perhaps02:21
SteveAlet's give it in hour02:21
=== debonzi [~debonzi@200-206-134-238.async.com.br] has joined #launchpad
dafcarlos: yes, it's not very strict error checking02:22
dafit's more or less "did this command script succeed or fail?"02:22
dafit might be worth running command scripts in shells which have -e on02:22
SteveAwant to say 45 minutes?02:22
carlosdaf: I know, I did it already for the pwgen and the msgfmt to get .mo files02:22
dafcarlos: right02:23
=== SteveA waits for an answer on the 45 minutes suggestion
carlosfor this concrete example using cdbs, no more than 30 minutes02:24
carloswe already know what should be executed02:24
SteveA45 sounds good then.02:24
SteveAremembering that it is okay to be well ahead02:24
SteveAok, next02:24
SteveA3. look for pot files02:24
SteveAsounds very easy to me02:25
SteveAjust a few lines of obvious python02:25
carlosSteveA: using find as an external tool?02:25
SteveAI'd do it in python, personally02:25
carlosusing find I could do it in about 15 minutes (I have all code in C already), with python I don't know how to "emulate" find02:26
SteveAok, spend 20 mins trying it in python.  If that gets nowhere, use find.02:27
SteveAtotal time, 40 mins02:27
SteveAand, you'll have learned how to do this in python :)02:27
SteveA4. if the number of pot files == 1, import it02:27
SteveA30 secs for the first part02:28
carlosdaf: yes, seems like it's with os.walk (carlos saw the documentation)02:28
carlosSteveA: right02:28
SteveAfor "import it" ?02:28
dafI think this will more or less be a copy + paste of code from the import script02:29
carlosfor the == 1 :-)02:29
SteveAcan you make the import script into a library, and make the import script and this script use the same thing?02:30
carlosright, it's only a matter of execute all scripts we have already to import it02:30
SteveAor, call the import script?02:30
dafhmm, could do02:30
SteveAis the easies thing to call the import script?02:31
dafthe import script is fairly reusable02:31
SteveAok, then we'll call the import script02:31
SteveAdoes it report error conditions well?02:31
dafI mean, you can do "from poimport import PODBBBridge"02:32
SteveAan estimate?02:33
dafit mostly just raises exceptions when it fails02:33
dafso the exit code should be correct02:33
=== ddaa [~david@nemesis.xlii.org] has left #launchpad ["Client]
SteveAan estimate?02:34
carlosI think it should not be more than 30 minutes...02:35
carlosbut better, an hour02:35
carlosbecause I'm thinking 02:35
carlosthat we should check if the project exists02:35
carlosor the product02:35
carlosand create them if they don't exists...02:35
carloswe have the scripts to create them and we should integrate all to work together02:36
SteveAdaf, what do you think?02:38
SteveAwhile daf is thinking, let's talk about the last task02:40
dafif we have all the information needed to create projects and produts, an hour should be enough02:40
SteveAand if you don't, reject it?02:40
carlosSteveA: good question02:41
SteveA5. else, add this package to the list of failed ones02:41
carloswe don't have it without manual changes02:41
carlosthe list of packages don't tell use the project02:41
carlos /s/use/us/02:42
SteveAThis needs us to write out a list of failed packages to some file, with reasons why they failed, perhaps02:42
=== daf -> phone
carlosSteveA: the problem is that we missed the point that we need to process the initial list of packages to discriminate them in different projects02:42
SteveAwhat would a file look like that represents that?02:43
SteveAmozilla-firebird    firebird02:43
SteveAinto projects...02:44
SteveAmozilla-firebird    mozilla02:44
SteveAgnome-applets    gnome02:44
SteveAetc. ?02:44
carlosyes, that's a good example02:44
SteveAso, we can have a task that is to go through the list of packages, and assign them to products, like this02:45
=== daf back
SteveAthen, the import script can take this too, and make it into a mapping02:45
carlosalso, we need another task to collect the data for every project02:45
carlosso we can create them02:45
SteveAI meant "assign them to projects" above02:46
SteveAok.  We can do this in parallel with writing the import script.02:46
SteveAmaybe an xml or rfc822 file of projects, and a list mapping products to projects02:47
SteveAhow many products do we have?02:47
SteveAhow many projects?02:47
SteveAI suppose we need to do this only for those products that can be imported easily02:47
SteveAso, that might be only one project: gnome02:47
carlosSteveA: then we need to execute first the download code02:48
SteveAso, first job is to get the script written except for the "import" step02:48
carlostry to detect the po files02:48
SteveAand then look at what packages we can import02:48
carlosand then make a list to associate then the projects for those products...02:48
SteveA1. write import script except for "import" step02:49
SteveA2. look at what packages we can import easily02:49
SteveA3. make list mapping package to project02:49
SteveA4. import data about each project02:49
SteveA5. finish import step (can be done in parallel with 3 and 4)02:49
SteveA6. import for real02:49
SteveAhow about that?02:50
carlosmakes sense for me02:51
dafwhere does the data for 4 come from?02:51
SteveAin the script, we can write out a file saying the status of each package:  package-name: IMPORTED  or  package-name: FAILED02:51
SteveAthen, we can look through the packages that imported okay, and map those to projects02:51
SteveAdaf: we enter the data about projects manually, once we know what projects we need02:52
carlosdaf: by hand02:52
SteveAif there are just 3 or 4 projects, we can write SQL to do it, for example02:52
SteveAif there are more, we should come up with an XML or RFC822 file that gets parsed to do it02:52
carlosSteveA: we have it already in the xml I proposed02:53
SteveAcarlos: Okay.  We need to have the "projects" information as an input to the script that produces the XML file02:53
SteveAso in that case, it must be in an XML or RFC822 file itself02:54
carlosSteveA: I prefer what daf said02:54
SteveAdaf said "where does the data for 4 come from"02:54
SteveAwhat else did he say?02:54
carloswrite a script that modifies the same xml to append the products or potemplates02:54
carlossome hours ago02:54
SteveAoh, okay02:54
SteveAyeah, we can do that02:55
dafso, what data files do we have now?02:55
dafone XML file containing package information, and one file which maps products to projects?02:55
SteveA1. write import script except for "import" step02:56
SteveA2. look at what packages we can import easily02:56
SteveA3. make list mapping package to project02:56
SteveA4. import data about each project02:56
SteveA5. finish import step (can be done in parallel with 3 and 4)02:56
carlosdaf: yes02:56
SteveA6. write script that puts project data into the xml02:56
SteveA7. write real xml02:56
SteveA8. modify with project data02:56
SteveA9. pass this to the thing that imports the xml into the database02:56
carlosit's fine for me02:56
SteveA* for each package name:  (read in from file of package names) 30 mins02:57
SteveA    - get the source package.  20 mins02:57
SteveA    - run the update commands defined for this package 02:57
SteveA      (beware of error conditions) 45 mins02:57
SteveA    - look for pot files  40 mins02:57
SteveA    - if the number of pot files == 1, import it.  90 mins???02:57
SteveA    - else add this package to the list of failed ones02:57
SteveA      write out package: IMPORTED or package: FAIL.  20 mins02:57
SteveAthat's 245 minutes I think02:57
daf4 hours02:57
SteveA5 minutes02:57
SteveAthe script to write the xml into the database is 3 hours02:58
SteveAand we still have to deal with project data, and write a script that reads in our xml file and modifies it, and writes it out02:58
SteveAaltogether, at least a person day-and-a-half02:59
carlosI think we should import by hand some pot/po files so the alpha testing could begin today02:59
SteveAhow many?03:00
carloswith two or three projects could be enough so the alpha testers will be able to play with rosetta03:00
carlossorry, products03:00
SteveAsomeone should file bugs for the story "import products that have a simple pot file" (steps 1..9 above)03:01
carlosSteveA: also, we need extra help from elmo03:02
SteveAand "write script to automatically create rosetta xml from source packages" (* and - points above)03:02
SteveAand "refine and document carlos' XML format"03:03
carlosSteveA: we need a chroot with all possible packages installed from warty to be able to run the cbdb script03:03
SteveAand "script to take carlos' xml file, and import the information into the database"03:03
=== carlos nevers remembers the correct name for cddb
SteveAcarlos: can't we run this on a laptop?03:03
carlosSteveA: I'm doing it03:03
SteveAwe just need to run it on some non-server machine 03:03
SteveAand get the xml file onto the rosetta machine03:04
carlosbut at the end03:04
SteveAnon need to get elmo involved03:04
carloswe need it on the server03:04
carlosto get the updated .pot files03:04
SteveAwhen we get arch involved, then we will03:04
SteveAI don't think we need this during the alpha03:04
carloswith arch, we will not need it (or we should not)03:04
SteveAok, then we can do it on individuals' machines, and get the xml files onto the server03:05
dafsecond thoughts:03:05
carlosSteveA: and the .pot files will be uploaded also?03:05
carlosthe .pot files sometimes will be updated03:05
dafrather than modifying the XML, I suggest that the packages and project information be kept separate03:05
carlosdaf: yes?03:05
dafso we have three files: a projects file, a packages file, and a file which maps packages to projects03:06
SteveAcarlos: why do you need chroot to install source packages in some working directory?03:06
dafdoes this make sense?03:06
carlosdaf: yes03:06
SteveAmakes sense to me03:07
carlosSteveA: because the dependencies, we start building the .deb packages03:07
carlosto apply the debian/ubuntu patches03:07
carlosand we need to satisfy the dependencies03:07
carloswe never compile it03:07
carlosbut I don't think the checks are avoidable03:07
SteveAbut, why do you need chroot?03:07
carlosas a security mesure, that's not the important point03:08
carlosI see your point03:08
carloswe could install them as a normal user 03:08
SteveAyou can do all this as a user, can't you?03:08
carlosSteveA: yes03:08
SteveAso, no need to hassle elmo03:08
dafSteveA: in how many places is the name of the database stored?03:09
SteveAfor launchpad, just one.03:09
dafwhere is that?03:10
SteveAin stand-alone scripts, in each script03:10
SteveAI think03:10
dafif I create the new database and change that value, the alpha server should be ready to import data03:11
SteveAyou need to just put a different file in override-includes03:11
SteveAlaunchpad-sql-configure.zcml is symlinked into there03:11
SteveAI need to take a break03:11
dafI need to eat03:11
carlosSteveA: so I will fill a bug report to fill the database by hand with some products, that bug will block the alpha release, the other ones we were talking about will block the beta, is that ok for  you?03:12
carlosSteveA: me too, I'm hungry :-)03:12
SteveAsounds reasonable03:12
SteveAbut, it would be good to import more stuff using this script before the end of the alpha03:12
SteveAthat is, we want to get this stuff imported while the alpha is still going on03:12
carlosSteveA: the idea is work on it now so we finish them this week (if possible)03:13
SteveAso, maybe we want a bug called "before alpha can end we want the following things to have been tried out" ;-)03:13
carlosbut it does not block the alpha because we will release it today, right?03:13
=== SteveA is half-kidding
=== SteveA goes for break
=== carlos too
carlosI will file all bugs after luch03:14
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
=== cprov [~cprov@] has joined #launchpad
=== debonzi [~debonzi@] has joined #launchpad
daf createdb -E UNICODE launchpad_test || echo ${DBNAME} already exists03:44
dafbrown paper bag for stub, I think :)03:45
sabdflSteveA: i will have to keep an eye on the launch process, so please lead the launchpad meeting whether or not i'm here, i'll read the logs03:54
SteveAdaf: what's the latest from lalo?03:56
dafSteveA: I don't think I've heard anything you haven't03:57
SteveAok, so we won't expect him at this meeting, unless he manages to get to an internet cafe03:58
SteveAcan you send him a summary of the relevant parts?03:58
SteveAI'll mail the log to stub03:59
dafa summary, or the log?03:59
=== stub [~zen@dialup-] has joined #launchpad
dafhi stub 04:00
SteveAhi stub.  shouldn't you be asleep? ;-)04:00
SteveAok, let's start04:00
stubYes mom04:00
kikowe're on04:00
=== spiv is here
dafstub: I noticed this line in the schema Makefile just now: "createdb -E UNICODE launchpad_test || echo ${DBNAME} already exists"04:01
SteveAdaf, carlos from rosetta; spiv, kiko, cprov, debonzi from soyuz; stub from malone and DBA land; lulu from rosetta website experience; limi from "everyone's bitch" land; sabdfl half here, half at the warty launch, stevea 04:01
SteveAlalo, sends apologies, with a broken computer04:02
SteveAlet's start with malone04:02
=== limi is lulu's bitch at the moment ;)
luluSteveA - May Limi and I be excused - the website goes live in an hour04:02
SteveAmaybe keep 1/2 an eye, and we'll holler your names if we need something04:03
SteveAstub: I posted the plan for malone to the list, and proposed it in the last meeting04:03
SteveAwhat do you think about it?04:03
stubSounds sane04:04
SteveAwill you lead this, when you get back to working for us?04:04
stubAlso sounds like we aren't rolling  out Malone in the next two weeks, and are initially sticking with Bugzilla04:04
=== SteveA realizes he forgot justdave from the list earlier. Hi dave!
stubI'm happy to keep leading the Malone work04:05
SteveAok, great.04:05
SteveAjustdave: are you around?04:06
SteveAjustdave is working on a list of the top 100 bugzillas, to start importing from04:06
SteveAwe'll catch up with dave later.04:06
=== carlos backs from lunch
SteveAstub: we'll need to work out what the changes needed to use malone with ubuntu and with launchpad are04:07
SteveAI think daf has been finding bugzilla's dependency charts very useful04:07
SteveAbut, we've also been using bugzilla as an issue / project tracking tool as well as strictly a bug tracking tool04:07
SteveAI'm not sure what to do about that, wrt the malone plan04:08
SteveAjustdave: how's the list of sites going?04:08
justdavehas not been started yet because I've been dealing with bug-buddy and then release issues with bugzilla.ubuntu.com04:09
justdaveshould have it by next week though04:09
SteveAlaunchpad team in general: we'll need to think about what features malone *needs* to have in order to start using malone for launchpad. At present, we have "assign a person as responsible for fixing a bug". 04:09
SteveAand I hope that's all we need.04:10
SteveAjustdave: maybe start doing just a few each day to ease into it?04:10
dafdependency tracking is useful04:10
stubAnd there is a feature request in Bugzilla for dependency charts04:10
spivBeing able to close a bug would help ;)04:10
dafdependency graphs arenot as essential04:10
SteveAspiv: what do you mean?04:10
dafI shuold have filed a bug about dependency tracking first04:11
daf(and then made the carts bug depend on it :))04:11
spivSteveA: Just taking your statement a bit too literally.04:11
daf* charts04:11
justdaveplanning on 20 or so a day right now.04:11
SteveAwe need two categories:  stuff we *need* in order to start using malone for launchpad development.  stuff we'd *like*.04:12
justdavebut I may adjust that number as I get going and see how long it takes for each04:12
SteveAlet's put a wiki page up for that04:12
spivSteveA: I was about to ask wehere these lists are being kept :)04:12
stubAnd the wiki page shall be called --- MaloneUseCases!04:12
SteveAjustdave: as part of the malone plan, we also need scripts to import open bugs from bugzilla.04:13
dafSteveA: alternatively, we could file the things we need as bugs04:14
SteveAlet's stick them on a wiki page for now04:14
dafSteveA: and track it all using a metabug04:14
SteveAjustdave: any thoughts?04:14
justdavecertainly doable.  how soon do we need it?04:14
SteveAwithin the next month, probably04:15
SteveAdepends on when stub can get malone ready for use for the launchpad bugs04:15
SteveAjustdave: can you file a bug on yourself for malone to write a description of exactly what the "import open bugs" thing needs to do?04:16
justdaveok, a month is plenty far enough off to do that after I get the list done.04:16
justdaveimport script shouldn't take more than a week04:16
SteveAthe important thing is to get the detailed description of what it should do fairly soon, so stub can use that for planning malone04:17
SteveAok, I think that's it for malone04:17
SteveAsoyuz next04:17
SteveAkiko: you've arranged some meetings to get soyuz presenting relevant information from malone and rosetta04:18
sabdflsorry to chip in, just reading scroll back04:18
sabdfland i'd like to say that dependency tracking is really for enhancements to software04:18
dafI disagree04:18
sabdflwhich will be better handled by the project management tool i'd like to work on once malone is nicely bedded down04:18
sabdfldaf: go ahead04:19
=== SteveA pops upstairs to close a window, as it is started raining a lot
cprovSteveA: yes, we are trying to arrange this soon w/ daf, stub, lamont/elmo04:19
dafwe 've had bugs in Rosetta which can't be fixed because there is another bug that needs to be fixed first04:19
sabdflare those bugs, or features that are not yet implemented?04:20
stubWe have had cases where bugs in rosetta required bugs in sqlos to be fixed.04:20
dafe.g. you can't commit translations which include % signs04:21
carlossabdfl: sometimes features, sometimes bugs04:21
sabdflso that's one bug, in sqlos, that victimises rosetta04:21
dafthis can't be fixed until a bug in Zope is fixed04:21
sabdflok, keep going, i just wanted to point out that the project management tool is coming once we get these first launchpad apps bedded down04:22
sabdfland that will be a whole new thing we need to figure out how to use04:22
dafit is often feature enhancements, but not always04:22
sabdfland the interaction between that, and malone, will i think be very powerful indeed04:22
kikoSteveA, right. 04:22
dafand there are cases where feature enhancements are blocked on bugs04:22
dafi.e. I can't implement this feature until this bug is fixed04:23
sabdflwe'll get to the point where we can handle each of those scenarios very powerfully in launchpad04:23
sabdflkeep going... kiko?04:23
dafbut I am certain that there are cases where it is a straight bug-to-bug dependency04:23
stubI think issues will block bugs, and vice versa (we already know issues and bugs are intimatly mated)04:23
kikosabdfl, we've been looking into integration with rosetta and malone, because those are high on our todo list.04:24
kikomost of the other basic tasks are well underway and accounted for04:24
SteveAhave any problems come up so far in integrating the apps?04:24
kikobut integration is a murky area, particularly because a good part of the concepts don't match up automatically.04:24
kikowe haven't even started them yet; the meetings we've set up are to start discussing their concepts and our concepts and seeing what matches. from there fill up the templates with real data.04:25
kikoI wonder if what we want is to coax daf and stub into writing portlets for us, or if we want to go into the database and pull data out.04:25
dafthere should be clean interfaces to the data you need04:26
=== carlos goes to open the door
SteveAI think it would work best if the rosetta team is responsible for writing the thing that gives you what objects you need.04:26
kikookay. so we shouldn't expect some ready-made "rosetta components" that come with UI and all?04:26
SteveAI think it would work best if the rosetta team is responsible for writing the thing that gives you what objects you need from rosetta04:26
SteveAwell, that might work even better04:27
kikobut on the data level -- we organize that into the interface as we like?04:27
SteveAbut I think you need to discuss in these meetings which approach fits best04:27
SteveAwhat I want to avoid is for the soyuz team to be dealing with the low-level rosetta stuf04:28
dafwe have allocated a meeting specifically to talk about this tomorrow04:28
kikoyeah. 04:28
kikoI don't want to overburden rosetta/malone people, and I suspect that data sans UI is easier to obtain at this point, so I'd shoot for that.04:28
dafSteveA: agreed: Soyuz should not need to grok Rosetta internals04:28
SteveAis there any stuff you need to discuss going the other way?  presenting soyuz information within malone or rosetta?04:28
kikojust to make things clear -- we want to be able to list open translations for a certain source package. I want to know if that makes sense or if I'm on crack.04:29
cprovSteveA: does make sense presenting Soyuz data on Rosetta/Malone world ?04:30
stubAre these mini-reports or summaries that link into rosetta and malone? Or a duplication?04:30
kikostub, I don't know what a duplication would mean, so the first option smells better. 04:31
cprovstub: yes, mini-report, we are thinking in something like that.04:31
carloskiko: as I said yesterday (sorry, I forgot to send it to the list) Rosetta will work with source packages (or should do it)04:31
carlosso the mapping should be one to one04:31
stubI think there is a place for summaries ('There are X bugs in this package, click here to see'), or even portlets that don't take up much screen real estate.04:32
kikocarlos, that's really good news. I wonder if you guys know about source package releases as well (cutoff points, I guess)04:32
kikostub, that's what I want, a summary.04:32
SteveAcprov: that's what I was asking :-)04:33
carloskiko: I suppose we know, we use same tables04:33
cprovstub: we also handle with persons ans should be able to get a report about them bugs (Mark has X assigned bug, Y resolved bugs, and so on)04:33
SteveAok, the rest you can talk about in the meeting tomorrow04:33
SteveAwhat is the tangible outcome of the meetings tomorrow?04:34
kikoSteveA, things are under control on our side. Debonzi and Celso have nice little laundry lists and will be picking things off. No major roadblocks except for:04:34
kiko- Integration issues04:34
kiko- Package browsing (which you've pushed off)04:34
kiko- Component browsing (which we haven't dreamed of and doesn't seem important -- we are just going to display where a sourcepackage is on-screen in the sourcepackage view)04:35
kikothat's it.04:35
SteveAdid all the issues raised at the soyuz meeting on monday get addressed?04:35
kikoZODB's still not up, so that blocks part of the work afaict.04:36
=== SteveA makes a note to get ZODB up
spivSteveA: You have a bug about it.04:36
SteveAmy note says "look at the bug"04:36
kikoand getting larger amounts of data is not in our backyard if possible.04:36
kikowe'd like to be able to get something automated to push stuff in beyond what's being manually inserted.04:37
SteveAwhich work does the zodb block?04:37
kikojust notices, which aren't even critical (but which I find cool).04:37
spivNothing urgent that I can think of -- just the "latest notices" thing.04:37
SteveAok, the notices.04:37
SteveAbut, it would be good to allow you to experiment with interesting ideas like that04:38
SteveAdid all the issues raised at the soyuz meeting on monday get addressed?04:38
cprovyes, I think04:39
kikoSteveA, that was one of them. the other is DB fillage. the other is limi's assistance on page-browsing.04:39
kikothe rest is dealt with.04:39
SteveAspiv: you didn't mail to the list04:39
kiko(I was being verbose)04:39
kikoSteveA, sure he did.04:39
SteveAdid he?04:39
kikoSubject: Bugs filed as a result of Soyuz meeting on Monday04:39
=== SteveA wonders if his spam filter has been working overtime
spivSteveA: Sorry, I mailed it just before this meeting, which was a bit later than ideal :(04:39
SteveAoh, okay04:40
SteveAthanks for posting it :-)04:40
spivThere's two points that didn't have bugs about them yet:04:40
spiv"leave links to bugs until stub gets back to help you with it"04:41
spivI think that one is being taken care of, though.04:41
SteveAyou have the meeting04:41
spivAnd "make Distro --> DistributionRole really work" -- cprov, I want to chat with you about this first, so I can file a bug that makes sense :)04:41
spiv(Just to confirm that I understand what the issue there is)04:42
kikospiv, yeah, this may tie into my teams email I wrote this morning.04:42
SteveAI asked earlier: what is the tangible thing you'll get out of your meetings tomorrow?04:42
SteveAwill someone mail a summary to the list?04:42
cprovspiv: sure we can chat04:43
spivcprov: After this meeting suit you?04:43
cprovspiv: yes, it's nice for me04:43
kikoSteveA, we don't know yet, tbh. We're investigating possibilities. We'll probably get information and a strategy.04:43
SteveAkiko: ok, please make sure someone mails a summary of the meetings to the launchpad list after the meetings04:44
kikoI'll do that. 04:44
SteveALet's move on to rosetta04:44
SteveAdaf: how is rosetta going?04:44
dafI think we're on track to release the Alpha today04:47
dafwe've closed a lot of bugs over the past week04:47
daf(and filed even more in preparation for the Beta :))04:47
dafhttp://rosetta.ubuntulinux.org has been set up04:47
SteveAit requires a username and password04:48
SteveAi don't think it should do04:48
dafelmo_mf: can you turn this off?04:48
carlosSteveA: does  the launchpad login screen works?04:49
elmo_mferr, yeah, in a bit04:49
SteveAcarlos: nothing will work while apache requires auth04:49
SteveAwhat about importing packages to be translated?04:49
carlosSteveA: as soon as it disapear, it will start working automatically?04:49
SteveAcarlos: yes, but we need to look at what permissions you have set.04:50
SteveAdaf, carlos: after this meeting, let's look at permissions04:50
dafyes, let's04:51
SteveAwhat about importing packages?04:51
SteveAwhat have you decided to do about that?04:51
dafwe discussed package imports this morning04:52
SteveAwe worked out that it is 1.5 days work for someone to write the import script04:52
SteveAso you were going to import a few by hand today 04:53
dafsince it seems developing an import script is going to be a non-trivial effort, we're going to import a few packages by hand for the Alpha04:53
SteveAdid you decide which ones?04:53
carlosnot yet, but I think we could follow mark's list of packages, we have them sorted by importance04:53
dafI'll take them from Mark's list04:53
SteveAso, we're aiming to have the rosetta alpha working by the end of today?04:55
dafthat's right04:55
SteveAso, you'll plan to announce it to the list of "rosetta sounders" tomorrow04:55
dafI was planning to announce it as soon as it's up04:55
SteveAif it goes up late, don't announce it when you're very tired04:56
SteveAsleep on it, and check it out in the morning04:56
dafI'll bear that advice in mind04:56
carlosdaf: then you should send the announcement :-P04:56
carlosI should not04:57
SteveAand, let's make time to give the alpha, once it is up, a thorough look at together04:57
dafthat would be good04:57
carlosSteveA: I have a doubt about rosetta and ubuntu website04:57
carloswe have a link to rosetta 04:57
carlos(or we will have it)04:58
carlosif we have it closed only for alphatesters...04:58
SteveAI don't think it will be closed for them04:58
carlosbut we don' have a way to register new users04:58
SteveAonly that we'll need to have people registered in the database to do certain things04:58
carloswe register them by hand04:58
SteveAdaf is registering people by hand using your script, isn't he?04:58
dafSteveA: that's the plan04:59
dafI'll do a mass registration before I send out the announcement04:59
SteveAwhat about people who see the site in the link from ubuntulinux.org?04:59
carlosSteveA: that's my question :-)04:59
dafthat's undefined behaviour :)05:00
=== stub 's battery is running low
daflet's define it05:00
SteveAok, let's define that in a rosetta meeting05:00
SteveAI'd like to declare the whole launchpad team meeting over.05:00
dafI think we'll want sabdfl's input on that05:00
SteveAthanks for coming, launchpad team05:01
dafthanks for chairing, Steve05:01
=== npmccallum_ [~npmccallu@69-162-252-7.ironoh.adelphia.net] has joined #launchpad
kikothanks SteveA05:02
kikotime to hack!05:02
=== stub waves g'night
kikonight stub05:02
dafnight stub 05:02
carlosstub: bye05:02
dafstub: before you go...05:02
dafstub: shall I fix that Makefile bug?05:02
stubBug? Looked fine to me...05:02
dafstub: look again05:03
dafstub: or shall I explain? :)05:03
SteveAdaf, carlos: let's meet again in 30 minutes to talk about permissions and anything else pertaining to rosetta alpha05:04
stubhardcoded launchpad_test?05:04
dafstub: exactly05:04
carlosSteveA: ok05:04
stubsure - fix it if you want.05:04
dafstub: ok, thanks05:04
SteveAspiv: you've finished the xml-rpc auth server?  I know we had a recent change in an encoding.05:05
stubOh - was there a decision on the unique constraint for schemas and labels?05:05
carlosstub: I will send you a patch05:05
carloswell, to lifeless05:05
=== stub buggers off
SteveAspiv: can you talk with the admins about getting it running on maquarie?  Upfront are aiming to deliver their part at the end of the week, so it would be good to get the xml-rpc server running by then.05:06
SteveAcheerio stub05:06
=== stub [~zen@dialup-] has left #launchpad []
=== carlos takes a break until next meeting
spivSteveA: In theory, yes, but I haven't written as many tests as I'd like to be 100% confident that there's no stupid bugs.05:07
spivSteveA: I'll talk to the admins.05:07
SteveAcan you mail them today?05:08
spivYes :)05:08
spiv(Assuming they don't all collapse for 24hrs after the Ubuntu release :)05:09
elmo_mfpassword removed from r.ul.o05:34
dafelmo_mf: thanks!05:34
carlosSteveA, daf: meeting?05:50
SteveAso, let's talk about what different people should be able to do with rosetta05:53
SteveAwe have the following situations05:54
SteveA- pages / actions that anyone can see / do.05:54
SteveA- pages / actions that only People in the database may see / do05:54
SteveA- pages / actions that noone may see / do05:55
dafwhat things fall into the last category?05:55
SteveAaccessing attributes or methods for which no security declaration is made 05:55
SteveAyou've been doing this all along :)05:55
dafindeed :)05:55
SteveAthis may sound trivial, but it used to be a real pain with zope 2 development05:56
SteveAbefore the zope2 security system was partially fixed by making it deny before allowing05:56
SteveAwe also have the following situations with people being logged in05:56
SteveA- no-one is logged in (it is the unauthenticated principal)05:57
SteveA- a Person is logged in05:57
SteveAwe have the following combinations of what people can see / do, and who is logged in05:57
SteveA- no-one is logged in; pages/actions that anyone can see/do05:57
SteveA- a person is logged in; pages/actions that anyone can see/do05:58
SteveA- a person is logged in; pages/actions that only people in the database may see/do05:58
SteveAWe need to make a list of those pages/actions that only people in the database may see/do05:58
carlosI think the only pages that should be accesible only for people logged are the forms (except the searcher)05:59
SteveAdoing it based on pages is a good first step05:59
daftranslator dashboard, maintainer dashboard, preferences, translation template06:00
dafthose are the ones that come to mind06:00
SteveAlet's open a bug called "set restrictive permissions on forms in rosetta"06:00
=== carlos has pending to open the previous meeting bugs. but I have the log saved
=== carlos writing this bug report
SteveAHow about if daf and I pair-program on getting the first few permissions sorted out in the code?06:04
SteveAcarlos: when do you need to sleep ?06:04
carlosSteveA: I can work still some extra hours06:04
carloshmm, I don't have access to the server to do the initial import data06:04
dafcarlos: your stamina is impressive :)06:04
carlosdaf: as soon as I leave the laptop It will go down :-)06:05
dafstay where you are!06:05
carlosI only need to be busy06:05
carloswhat other important tasks do we have for today?06:06
carlosok, I could prepare a .sql file with the initial server data06:06
carlosin my laptop06:06
dafwhy can't I run the import script on the server?06:06
carlosso daf you will only need to load it into rosetta's serve06:06
carlosdaf: I don't have an account :-)06:06
dafbut I could run the script06:07
dafor I could load SQL06:07
carlosbut you will be busy with steve06:07
dafthat would probably be easier, actually06:07
carlosthat's my point I work now on a sql06:07
carloswith the initial data for the alpha06:07
carlosupload it to chinstrap06:07
=== daf nods
carlosand you import it into the database06:07
=== npmccallum__ [~npmccallu@69-162-252-7.ironoh.adelphia.net] has joined #launchpad
carlosSteveA, daf?06:10
carlosdo you agree?06:11
=== carlos backs to work
=== kiko is now known as kiko-fud
SteveAelmo_mf: ping?06:24
SteveAany chance of andrew getting an account on rosetta until Monday, and being able to run some twisted listening on an unpriv port to the outside world, and being able to create a postgres DB? 06:26
SteveAI'd like him to be able to run his xml-rpc auth service, with a dummy db, so that upfront can test against the software their stuff will be used with.06:27
SteveAthis in turn will make it more likely that the "turning on auth on the ubuntu site" will work properly on friday06:29
=== doko [doko@dsl-082-083-248-088.arcor-ip.net] has joined #launchpad
elmo_mfSteveA: yeah, still busy with random release stuff, I'll try and do it in a bit06:33
SteveAok, shall I mail to admins@... ?06:33
=== SteveA mails anyway
elmo_mfnever hurts to mail :)06:34
SteveAthanks elmo06:35
=== debonzi [~debonzi@] has joined #launchpad
=== elmo_mf [~james@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
=== elmo_mf is now known as elmo_
=== kiko-fud is now known as kiko
carlosdaf: how is going the bug fixing ?09:28
dafI have a fix for the recently translated feature locally09:31
dafSteve and I are working on permissions09:31
carlosI'm importing .po files but it's sloooooow09:33
dafyeah :(09:33
dafeven on the Rosetta server, it's slow09:34
carloshmm, that's bad09:34
carlosdaf: hmm, we have a problem...09:38
carlospsycopg.IntegrityError: ERROR:  duplicate key violates unique constraint "pomsgidsighting_pomsgset_key"09:38
carlosINSERT INTO POMsgIDSighting (id, pluralform, pomsgid, inlastrevision, datelastseen, datefirstseen, pomsgset) VALUES (1836, 1, 924, 't', 'NOW', 'NOW', 918)09:38
carlosmsgfmt -c -v does not detect anything and it's a .pot file...09:38
dafmust be a bug09:39
carlosI know, I'm debugging it now09:41
dafdo you know what exactly the "pomsgidsighting_pomsgset_key constraint is?09:43
carlosyes, I think it's a problem with a plural form09:43
carlosa unique key09:43
carlosdon't worry, I will handle it09:43
dafwell, I'm not surprised we're finding bugs in the importer when testing it with real files09:44
carlosI think I have it, need to look at the .pot file09:45
carlos#: mailcheck/mailcheck.c:109109:45
carlos#, c-format09:45
carlosmsgid "%d unread"09:45
carlosmsgid_plural "%d unread"09:45
carlosmsgstr[0]  ""09:45
carlosmsgstr[1]  ""09:45
carlosHow could we handle it?09:46
carlosit's not a bug in the importer09:46
dafI think it is a bug09:46
carlosnot in the importer09:46
dafthis is a valid message set, I think09:46
carlosthe database does not handle it09:46
dafoh, right, not in the importer09:47
dafthe constraint is invalid, I think09:47
carlosseems like it's invalid09:47
carloshope lalo did not assume any check based on that restriction...09:47
=== carlos removes the unique key
dafwill you submit a patch to the scema?09:49
carloswith the labels changes09:49
carlosseems like lalo is connected09:52
carlosI got an orkut invitation from him09:52
=== carlos needs some food
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
=== limi [~limi@159.80-202-72.nextgentel.com] has joined #launchpad
=== limi [~limi@159.80-202-72.nextgentel.com] has left #launchpad []
=== lifeless_ [~robertc@dsl-] has joined #launchpad
debonzihi elmo, do you have some time to give me a breaf explanation about sourcepackage builddepends and builddependsindep?10:27
debonziif some else know about it are wellcome too :)10:30
dafdebonzi: what do you need to know?10:32
dafbuilddepends are packages another package needs install to build architecture-dependent packages10:33
dafbuilddependsindep are packages needed to build architecture-independent packages10:33
debonzidaf, That's what I need to know indep means arch-indep :) tks10:34
dafno problem10:35
carlosdaf: what should I do with the .po files that fails importing them? bug report with it attached is enough?10:58
dafjust include the message set that causes the error, I think10:59
carlosdaf: I need to debug it10:59
carlosand I don't want to expend time on it tonight10:59
carlosI have the bt11:00
carlosand I have the .po file, I will save them for tomorrow11:00
carlospfff, it an hour I have only three po files imported. I think we should fix it before the beta release....11:01
carlos /s/it/in/11:01
carloswell two, and it's working on the third (and the second failed)11:02
carlosSteveA: do we have a profile for python?11:07
SteveAI don't know what that means11:07
kikocarlos, profile.py?11:07
kikoor hotspot?11:07
spivcarlos: There is a profiler, if that's what you're asking.11:07
carlosany URL I could look at11:08
carlosor a name11:08
carlosthanks *11:08
dafI think the database is the bottleneck11:08
spivcarlos: It may also be worth turning on the debug flag in SQLObject, if you suspect DB calls are the problem.11:08
spiv(or the equivalent at the postgres end)11:09
SteveAwe may want to provide some db calls that do a lot in one query, and see if that helps11:09
carlossorry, I'm back 11:18
carlosdaf: the bugs I file now should block the Alpha release or the beta one?11:20
dafwhat are the bugs?11:21
carlosare bugs inside the imported code that fails11:21
carlosfor instance, it does not handle custom headers (like X-Generator)11:21
daffile the bugs, we can fix the dependencies later11:21
dafI think the parser should be fairly liberal with regards to ignoring headers it doesn't recognise11:22
carlosdaf: right11:23
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
kikolulu! late night eh? :)11:32
lulukiko:hey hon - yup - last nigtht and tonight, but just had a yummy dinner as a celebration!11:36
luluhow u?11:37
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad []
carlosThe sql sentences does not show anything that seems to be unnecesary but when it's a SELECT COUNT... in that case it execute it twice11:45
carlos2004-09-15 23:44:45 [13570]  LOG:  statement: SELECT COUNT(*) FROM POMsgIDSighting WHERE pluralform = 0 AND pomsgset = 134511:45
carlos2004-09-15 23:44:45 [13570]  LOG:  statement: SELECT COUNT(*) FROM POMsgIDSighting WHERE pluralform = 0 AND pomsgset = 134511:45
carlosbut I doubt that's the problem to go so slow11:46
carloswe have about 10 selects/updates11:46
dafme too11:46
daf10 per message set?11:46
carlosI didn't count them11:47
carlosIt's difficult to do it11:47
dafyeah :(11:47
carlosit was a feeling  :-)11:47
dafperhaps you could create a test PO file which only contains one or two message sets11:47
carlos28 select/updates11:48
carlosevery field is updated in different queries:11:48
carlos2004-09-15 23:50:01 [13570]  LOG:  statement: UPDATE POMsgIDSighting SET inlastrevision = 't' WHERE id = 269111:48
carlos2004-09-15 23:50:01 [13570]  LOG:  statement: UPDATE POMsgSet SET commenttext = '' WHERE id = 134511:48
carlos2004-09-15 23:50:01 [13570]  LOG:  statement: UPDATE POMsgSet SET sourcecomment = '' WHERE id = 134511:48
carlos2004-09-15 23:50:01 [13570]  LOG:  statement: UPDATE POMsgSet SET filereferences = 'accessx-status/GNOME_AccessxStatusApplet.server.in.in.h:3' WHERE id = 134511:48
carlos2004-09-15 23:50:01 [13570]  LOG:  statement: UPDATE POMsgSet SET fuzzy = 'f' WHERE id = 134511:48
carlos2004-09-15 23:50:01 [13570]  LOG:  statement: UPDATE POMsgSet SET flagscomment = '' WHERE id = 134511:49
carlos2004-09-15 23:50:01 [13570]  LOG:  statement: UPDATE POMsgSet SET obsolete = 'f' WHERE id = 134511:49
carlosinstead of execute only one UPDATE11:49
carlosthat could be a big problem11:49
carloswith long .po files11:49
dafwe might be able to improve that11:49
dafcan you identify where these calls are being made in Python code?11:50
dafspiv: should SQLObject be clustering these changes?11:50
dafspiv: or is it not that clever?11:50
carlosit's an sqlobject that changes its attributes11:53
carlosand every time, it seems like it executes an update11:53
dafhow about this:11:54
daf(we don't have to do this now)11:55
dafwe take a PO file that is known to import11:55
dafi.e. it doesn't trigger any bugs11:55
dafand we time how long it takes to import it11:55
dafthen, we add a magic method which does the above six updates using _connection.query()11:56
dafmake the PO file adapters use that method11:56
dafand time it again11:56
dafthat way, we know how much of a preformance improvement we can expect from reducing the number of queries11:56
carlosmakes sense (I suppose using_connection.query() will let us to execute sql sentences directly, right?)11:57
dafyes, I think there are some cases of it in sql.py already11:58
carlosI will file a bug about it now11:58
dafbrilliant, thanks11:58
dafI think perhaps you should sleep now :)11:58
carlosdaf: yes, I was thinking about it already, don't worry :-)11:59

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