[12:05] ok, I detected an error in my code, reruning the tests ... [12:12] what was the problem? [12:16] daf: a cosmetic change I did [12:16] it broke the python syntaxis [12:16] and seems like I forgot to test it [12:17] the tests work now [12:17] ah, good :) [12:17] you'll be submitting a merge request, then? [12:17] but it's weird that it caused that big problem... [12:17] yes [12:22] request sent [12:32] Merge to rocketfuel@canonical.com/launchpad--devel--0: Preliminar po/pot import from the web and added a missing FROM (patch-916) [12:32] daf: there you have === carlos goes to see TV [12:33] daf: do you need anything from me? [12:33] not right now [12:33] thanks [12:33] ok [12:34] daf: I know that the current code does not catchs any error. It's a know "feature" ;-) [12:34] I planned to fix it tonight, but the test error took more time that it should [12:34] /s/that/than/ [12:36] do we have a bug open for it? [01:05] Merge to rocketfuel@canonical.com/launchpad--devel--0: add a confirmation message showing bug id after adding a bug (fixes #94) (patch-917) [01:11] Malone bug #94 fixed for package malone: No confirmation of bug ID or success when a bug is filed [01:11] https://dogfood.ubuntu.com/malone/bugs/94 [01:50] [01:50] Night all === stub [~stub@dsl-246.248.240.220.dsl.comindico.com.au] has joined #launchpad === spiv_pants [~andrew@home.waugh.id.au] has joined #launchpad === warthylog [~warthylog@port49.ds1-van.adsl.cybercity.dk] has joined #launchpad === Topic for #launchpad: lunchpad: home of the sandwich artists | fogo na bomba | "qorking along happily, with SteveA egging us on" === Topic (#launchpad): set by sabdfl at Tue Oct 19 11:05:38 2004 === warthylog [~warthylog@port49.ds1-van.adsl.cybercity.dk] has joined #launchpad === Topic for #launchpad: lunchpad: home of the sandwich artists | fogo na bomba | "qorking along happily, with SteveA egging us on" === Topic (#launchpad): set by sabdfl at Tue Oct 19 11:05:38 2004 === debonzi [~debonzi@143.223.62.81.cust.bluewin.ch] has joined #launchpad === elmo [~james@82.211.81.249] has joined #launchpad [09:14] morning [09:14] stub: hey hey hey [09:14] production update time ? [09:14] eh? [09:15] Are there any pending db changes for production? I need to pick a bunch of code updates, would be easier to do a full drop than cherry pick. [09:16] Just the Karma table and some Rosetta po-whatsit table constraints. [09:17] so,.. shall we ? [09:17] Unless the production code needs those changes (doubtful), I'd rather leave the production database at the same patchlevel. [09:18] so, I don't know if the production code will be affected. in production we hae project, product, buttress, sourcesources, so anything theat the UI touches from there will be impacted. [09:20] anyway, you pung. [09:20] Shouldn't be a problem with the tables I mentioned. However - are you using the Z3 auto generated forms, and in particular any of the 'popup' widgets (select-a-person, select-a-product,select-a-sourcepackage) [09:21] (If so, a rollout will be more difficult because the current trunk has a load of full text stuff with scarey database changes, as well as needing a new .deb installed on emperor) [09:22] ah. ok, I'll cherry pick the specific commits I need. [09:22] stub: did you see Kinnison's problems with the locale of the full text seach stuff ? [09:23] stub: also, how's the deployment of roundup going? [09:23] I know nothing about Kinnison's problems [09:24] I haven't heard back from Elmo re: somewhere to install roundup [09:24] roundup ?? [09:25] issue tracker until we develop our own [09:25] like malone ? [09:25] or bugzilla ? [09:25] malone is a bug tracker [09:26] so - you pinged me for something ? [09:27] I was wondering about the cacherevs in the rocketfuel archive and mirroring (in particular, there appear to be two undocumented options in 'baz archive-mirror' that would speed up mirroring). Also about how baz determines what archive format to use, since 'baz make-archive --mirror-from' appears to use tla-format. [09:30] baz make-archive should be creating baz format. does for me. [09:30] dpkg -l bazaar ? [09:31] ii bazaar 1.0 arch revision control system [09:31] (updated from own-built today, as per launchpad@ instructions) [09:32] ok. cat .archive-version for the new archive you've made === stub is freeing diskspace [09:38] Yup - your are right. I repeated the procedure and the .archive-version is baz this time. User error. [09:56] stub: Kinnison was getting an error "ERROR: Can't find tsearch config by locale". I think this is because postgres was running with the locale en_GB. [09:56] stub: the error is described here. http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/docs/tsearch-V2-intro.html [09:59] On a side note, you seem to get all sorts of crazy things happening if you don't run PostgreSQL as locale C (since it starts using locale aware sorting'n'stuff and things go all pear shaped) [10:00] isn't it the encoding that makes more difference than the language? [10:03] encoding describes the stored data, so PostgreSQL can validate that the data is correct (yes - this is valid UTF8), and convert to whatever encoding the client requests. === silbs [~sbsm0084@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad [10:04] The locale alters the results of functions like sort (I think ) [10:04] So those crazy germans get their stuff sorted the way they like it [10:07] I'll need to go into more depth on this - consensus seems to be 'stick to locale C, and this should have really been the default even if your system locale is set differently', so the fix might be to enforce that rather than have the tsearch2 gumf cope with different locales [10:07] (It crops up on the mailing lists regularly, with the normal end result being some poor sod has to blow away their database, recreate and reload from backup [10:07] won't a UTF-8 locale use Unicode collation order, though? [10:08] Different locales sort the same string differently - in particular, german collates a-z differently to english locales [10:09] ah [10:10] well, as long as the shared testing/production databases uses the correct locale, we shouldn't have any problem, right? [10:11] Using different locales introduces a new variable into the unit tests. [10:12] oh, of course === 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 [] [10:45] Morning [10:45] Merge to rocketfuel@canonical.com/launchpad--devel--0: page template improvements; add page template title check (patch-918) [10:53] BradB: ? [10:54] brad is unlikely to be around until ca. 12.30 [11:32] So, anyone here know lots about our use of sqlobject and can tell me where to find an example of how to join two tables where table B has a column A which is a foreign key to A's id column? [11:35] Kinnison: I can probably answer that. === kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad [11:44] sources = MultipleJoin('DistroReleaseQueueSource') [11:44] builds = MultipleJoin('DistroReleaseQueueBuild') [11:44] look right? [11:45] Yep. [11:45] Sorry, getting distracted by my home ADSL being down :/ [11:45] morning [11:47] You can do TableB.select("TableB.columnA = TableA.id", clauseTables=[TableA] ) [11:48] being able to get at queueitem.sources will do me nicely :-) [11:55] spiv_pants: tell me about how shipit is going === cprov [~cprov@200.158.100.251] has joined #launchpad [11:57] Morning cprov [11:58] hey celsn [11:58] cprov: with respect to the 'performance' angle, we can store a view in the database to extract all the information we want from the logevents table [12:03] Kinnison: kiko: morning [12:04] cprov: another comment. Make the table name singular since the class name in the app will be the table name and an instance of the class is a single row of the table [12:04] cprov: In general table names should be singular [12:04] Kinnison, uhhhh, that's not agreed upon [12:04] kiko: No? [12:04] Kinnison: of course we can, but views cannot perform miracles :), anyway I understand your point [12:05] in my book (SQL FOR SMARTIES) tables are always plural. [12:05] cprov: Hopefully the indexes can perform the miracles [12:05] I'm just contesting the "in general" portion [12:05] you could say "in launchpad" and I could agree [12:05] kiko: I was thinking "in general within the company" okay, "in launchpad...." [12:06] Kinnison: about the singular table name, in our context, I agree === kiko is victimized by standards he did not invent [12:06] kiko: You prefer plural table names? [12:06] SteveA: Well. The script to sync up ids in the shipit db to the launchpad db is close to working as well as it can. That leaves the tool to make the report scripts continue to work as the only other major task. [12:07] Kinnison, yes, certainly [12:07] Right at this second I'm frustrated by my home DSL suddenly being down (I'm at jdub's atm). [12:07] and joe celko knows better [12:07] kiko: I can see arguments either way on the plural vs. singular argument === Kinnison has always used singular and personally believes it to be more correct [12:07] spiv_pants: what about the shipit code? what about having a "new shipit alpha test" server running on mawson? [12:08] singular singular singular [12:08] The shipit code is looking good. [12:08] My testing has run out of problems. [12:08] SteveA: glad we agree on this :-) [12:08] spiv_pants: you're not testing hard enough then :-) [12:08] spiv_pants: I want to see a demonstration of it running on mawson. That way, mako and jane and lu can use it [12:09] Kinnison: any other remarks on "Log System" ? [12:09] SteveA: Agreed. [12:09] spiv_pants: now? [12:09] Kinnison, cprov: did you make any headway into getting the publishing tables merged? [12:11] kiko, Kinnison: it really depends if you see a table as a collection of things or as representing a class of things. Collections can be either singular or plural; plural if they are "countable" things, singular if they are things that you'd commonly refer to by quantity. Classes of things should always be singular. [12:11] kiko: merged? [12:12] SteveA: I always see a table as a class. But then I'm off the OO school of database design [12:12] (which is crackheaded) === kiko runs === Kinnison wonders if many people use the OO capabilities of pgsql :-) [12:12] Kinnison, well, yes. we want to fix the status section of sourcepackage. [12:12] nope, few do. [12:12] Because we are writing an OO application with a relational storage, then our tables "serve" the application, and should be named with the singular. [12:12] kiko: Eh? [12:13] there is much more code in the application than in the database or in database queries. [12:13] lifeless: Which I think is a pity :-) [12:13] kiko: merged ? do you mean the [DBA] request ? there's nothing to merge yet === SteveA moves on to solve the "vi versus emacs" problem once and for all... === lulu__ [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad [12:14] SteveA: I'd rather you didn't. I use both [12:14] lu. [12:14] Kinnison, well. [12:14] Merge to thelove@canonical.com/bazaar--devo--1.0: merge in brown-paper bag baz archive format support (patch-70) [12:16] Kinnison, never mind. I was hoping we had a schema laid down for publishing that could be merged at this point.. [12:16] kiko: the publishing schema is already fairly much done [12:16] kiko: Or do you mean inheritance policy? [12:16] Kinnison: it is simple really. Everyone should be using emacs. Except when using vi. Unless they're using both at once. [12:17] SteveA: oooh *illuminated* [12:17] I am not really sharp on the details of what is necessary schema-wise (your master plan is obscure to me) but I *would* like us to be able to say that source package A has release X pending [12:17] You don't know what you mean by "pending" though [12:17] I can tell, because noone knows yet [12:17] This is one of the things we need to discuss very early in Mataro [12:17] we're on the same page :) [12:18] All I do know is that inheritance policy is very very different from publishing [12:18] pending is not and will never be in the publishing tables [12:18] can you afford giving me the "dummy" explanation? [12:18] these terms are just collections of letters to me with no semantic [12:19] visit https://wiki.canonical.com/Lucille_2fBraindump [12:19] that's not the dummy explanation hopefully [12:19] search for "Thoughts on the derivative distro process" [12:19] I've visited it a number of times [12:19] then read "Derivative distro crack" [12:19] and "Use cases for Derivative distributions" [12:20] That is all I know about it because that's the results of talking with sabdfl about it :-) [12:21] I don't *entirely* grasp why this is a problem for "pending". is it the point that you can not tell if a certain distro will *inherit* a certain package from another? [12:21] okay, here's a concrete question that is "dummies" [12:21] does the upload system handle uploads of packages to specific distros? [12:22] An upload is zero or one sources plus zero or more binary package builds uploaded to a distrorelease (and plausibly a distroarchrelease within that distrorelease) [12:23] okay. [12:23] so if you upload a package to a certain distro, is that package not in some visible status "pre-pending, pre-approval, etc"? [12:23] Kinnison: OO databases will always be fringe tech until a standard query language is standardized and widely adopted. The closest I'm aware to this goal is Enterprise Java Beans. [12:24] when a package is uploaded it does into the queue as "unchecked" [12:24] when the package passes preliminary checks it moves into either "accepted" or "new" (or various other states which are unimportant right now) [12:24] an upload in "accepted" gets published and passes into "done" [12:25] Kinnison, would it be reasonable to display "unchecked" on a package page? [12:25] That transition happens within a single run of the queue [12:25] If you really want to work through the queue for a distrorelease then sure. [12:25] IMO it's pretty pointless though [12:25] is it pointless giving feedback that a package is still unchecked in the queue? [12:25] Kinnison: let's have a real case, I'm an pkg uploader, how can I keep track of my just-uploaded package ? tell me the steps til it becomes a current Ubuntu-Hoary-i386 package [12:26] kiko: You can display packages in the publishing tables in "Pending" state [12:26] AN ANSWER! === kiko . o O ( it's going to rain ) [12:27] kiko: That means that the package has been accepted into the distrorelease (I.E. is for publishing) but has yet to be published into the distro [12:27] But currently there's no way to know if a package is pending acceptance into a distrorelease [12:27] E.g. from inheritance or a fresh upload [12:29] Okay, so my multiple joins fail === Kinnison wonders if they have to come last [12:29] nup :-( [12:30] sources = MultipleJoin('DistroReleaseQueueSource') [12:30] builds = MultipleJoin('DistroReleaseQueueBuild') [12:30] what is wrong with those? [12:30] They cause: [12:30] AttributeError: 'LaunchpadStyle' object has no attribute 'tableReference' [12:31] https://chinstrap.warthogs.hbd.com/~dsilvers/queue.py is the entire file [12:31] very very very simple stuff === carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad [12:33] Kinnison, could we handle the upload 50% at this point? [12:34] kiko: ? [12:35] But currently there's no way to know if a package is pending acceptance into a distrorelease [12:35] E.g. from inheritance or a fresh upload [12:35] could we handle at least the upload case? [12:35] kiko: assume I am a small child and need things explaining to me. What do you mean by "handle the upload 50% at this point" ? === Kinnison adds joinColumn values to his MultipleJoin()s and they work now [12:36] sorry for the noise [12:36] well [12:37] did I misread the comments you made above? [12:37] Kinnison, it would clarify a lot if you exercised answering cprov's question.. [12:37] The database can represent uploads, yes === Kinnison attempts to describe the workflow for an upload then [12:38] give me a moment to commit this pqm merge [12:39] Kinnison: btw, haven't you defined the joinColumn=' ' on MultipleJoin ? [12:41] cprov: see my utterance from 5 minutes ago ;-) [12:41] Right, okay, please bear with me as I go through this process.. [12:41] 1. Ubuntu developer builds the source package [12:42] 2. Ubuntu developer uploads it to the lucille upload server [12:42] 3. this triggers the UploadHandler to take the new upload; validate it and import it into the database and librarian. [12:42] 4. This creates a queue/unchecked entry for the upload [12:42] That is the upload process [12:42] Then we have the queue process [12:42] 1. queue/unchecked is checked and validated. [12:43] 2. The accepted item is moved to queue/accepted [12:43] 3. queue/accepted items have their publishing records made and marked 'pending' [12:43] 4. more housekeeping occurs which is unimportant right now [12:43] That is the queue process [12:43] Now we have the publishing process [12:43] Merge to thelove@canonical.com/bazaar--devo--1.0: merge in brown-paper bag baz archive format support test suite fixes (patch-71) [12:43] 1. The pending publication records are scanned [12:43] 2. The pending files are copied into the archive from the library [12:44] 3. the pending records are marked as published [12:44] 4. The published records are scanned [12:44] 5. Any no-longer-needed records are marked superceded [12:44] 6. The superceded records are scanned [12:44] 7. Any utterly unreferenced records are moved to PendingRemoval and are given a time-to-live [12:44] 8. Any PendingRemoval entries which are now dead are removed [12:45] 9. The on-disk archive files are updated [12:45] That is the publication process [12:45] So the three processes together form the end-to-end chain of events [12:45] Merge to rocketfuel@canonical.com/launchpad--devel--0: Queue tables for Lucille (patch-919) [12:45] The first is triggered by the upload [12:45] the second is a regular event (perhaps every 5 minutes) [12:45] the third is a less often regular event (30 minutes for ubuntu, perhaps every hour, or every day or whatever for other distros) [12:46] Does that make sense to people? [12:46] I'm still reading [12:46] so U4 is a step we could provide feedback on (package has been uploaded but not checked) [12:47] daf: I've read through your recent rosetta emails. great stuff. can you put together the list of the things you need to do next, to improve the translation process? [12:47] U4 is kinda a limbo state [12:47] Particularly the package may get rejected at that stage [12:47] then Q2 perhaps. and Q3 certainly [12:47] well, U4 is nice for keeping track of the upload rate [12:47] After Q3 you can report [12:48] U4 will include making a LogEntry to say about the upload [12:48] that could go into a notices thing? [12:48] Plausibly [12:48] cprov and I will be discussing the LogEntry stuff today [12:48] Px is very very hazy to me [12:49] Kinnison, is Q3 the same as saying the source package is Accepted in the source package page? [12:49] or are we confusing concepts [12:49] Imagine that most of the queue states are entirely housekeeping and you don't tend to see them [12:49] particularly things may pass through many states in a single transaction [12:50] What matters in Q3 is that the publishing record is created and marked as pending [12:50] ah. accepted in the queue. not a packaged accepted in the distro. right? [12:51] Indeed [12:51] s/ged/ge [12:51] THANKS! [12:51] The queue really is just for lucille to track uploads [12:51] where in Px does the inheritance issue show itself [12:51] Nowhere [12:51] inheritance is separate [12:52] (or rather not yet discussed in enough depth to be integrated) [12:55] ok, 1.0.1 baz release should fix the problems reported yesterdayu. === Kinnison stuffs that explanation on the wiki for posterity [12:56] lifeless: debs ready? [12:58] meeting in 3 mins [12:59] Kinnison: ya-huh [01:00] SteveA: workrave wants me to rest-break, I may be a minute or two late :-) [01:00] okay [01:00] I should probably do the same [01:03] has anyone seen these? [01:03] DatabaseException: ERROR: current transaction is aborted, commands ignored until end of transaction block SELECT COUNT(*) FROM EmailAddress WHERE email = 'foo.bar@canonical.com' [01:03] that doesn't look good [01:03] meeting time === spiv_pants gets back from dinner just in time [01:04] all present, say "aye!" or "@1e!" if you're 1337 [01:04] aye [01:04] aye! [01:04] @le [01:05] aye! [01:05] urp [01:05] lifeless: can you look in on the meeting occassionally? [01:05] sure === Kinnison raises his hand [01:06] elmo: can you also look in on the meeting occassionally? [01:06] BradB: ? [01:06] daf: ? [01:06] cprov: ? [01:06] salgado sends apologies. he has an important final exam right now. === lifeless high fives Kinnison [01:07] BradB will be around in 25 mins or so [01:07] SteveA: err, as much as I can - I'm in the DC and my connectivity isn't assured.. [01:07] elmo: I'd think that being in the DC you'd have more connectivity than you can handle! [01:07] no connectivity in the DC ?!?!? [01:07] SteveA, as in *final*, last exam of his undergrad career [01:07] debonzi: Sounds like my fault. Got a traceback to email me? [01:07] stub, sure [01:08] Ok, let's start with Baz. [01:08] stub, Ill sent you an email [01:08] Is anyone not yet using Baz? [01:08] SteveA: I can only use my laptop in certain places and sometimes I have to get out of the way of the contractors in here trying to do their work === SteveA wonders why he captialized Baz [01:08] stub, a lot is your fault, based on my experience from yesterday :) [01:09] ok, cool. everyone is using baz. [01:09] SteveA: here [01:09] hi celse [01:09] hi celso [01:09] I'm using bazoo [01:09] heh, with rocketfuel changed, you are *all* using baz :) [01:10] no choice but ;) [01:10] alias tla=baz [01:10] next, roundup and the issue tracking application. [01:10] roundup? === kiko missed a page [01:10] lifeless: Do we have a script to run to convert our local archives to the new format? [01:11] stub: nope, but I'll do one up. [01:11] stu will be leading the making of an issue tracking / trouble-ticket tracking application. this starts with deploying roundup for this purpose, and integrating roundup's concept of logged in users with launchpad [01:11] elmo is sorting out somewhere to host this roundup instance. [01:12] The roundup end of things will be doing the minimum required to handle commercial and non-commercial support requests. [01:12] I'd like to be able to give jane a decent estimate of when roundup will be running. Any ideas stub and elmo? [01:12] Friday === stub crosses his fingers [01:13] what can we expect to see on friday? [01:13] or would it be by the end of friday? [01:13] you guys have crazy schedules [01:13] Roundup running, accepting issues, login using the auth server. [01:13] kiko: stub has been working on this before today [01:13] And a flag for commercial support === kiko shrugs [01:14] stub: we'll want it to look like it is part of the ubuntu site too [01:14] or at least, have the right logo and colours [01:14] hiya [01:14] hi mark [01:15] ok, next, shipit [01:15] SteveA: This time friday [01:15] I'm working on setting it up on mawson at the moment. [01:15] spiv_pants: you're installing the "new shipit that authenticates using a launchpad authserver" on mawson [01:15] stub: thanks. please keep me up to date with how it's going. [01:16] spiv_pants: what exactly are you setting up? [01:16] That should be done tonight, connectivity allowing. (my home dsl is down, but I'm at jdub's atm, but it's starting to get late) [01:17] do you need to get mysql onto mawson? [01:17] so you need any help from elmo to get this running on there? [01:17] An authserver for the shipit web app to talk to, and then install the shipit cgis somewhere and get the admins to get apache somewhere pointing at that. [01:17] It uses postgres. [01:17] why are we moving shipit? [01:18] we're not [01:18] sabdfl: This is a test instance, for the new launchpad-enabled code. [01:18] this is a place to test that the new shipit works as intended [01:18] ok [01:18] What postgresql server is shippit talking to, and is it being backed up? [01:18] stub: you mean, the real one? [01:18] yes [01:19] spiv_pants: do you know? [01:19] I don't know much about the production shipit -- I know mako has some dumps in his home dir on chinstrap. [01:20] So I suspect the answer is "not as well as it could be". [01:20] mako's the guy to ask, I think. [01:20] spiv_pants: can you find out from mako, and take charge of arranging what is necessary [01:20] Yup [01:20] Ok. [01:21] thanks. please keep me informed about how this is going, and how getting the demo ship-it running is going [01:21] next: auth server [01:21] stub: did we have a problem last week with the auth server going insane when it was disconnected from the database? [01:22] It stopped authing and elmo bounced it. I don't know if it crashed, hung, or what but elmo might. [01:23] spiv_pants: can you get whatever logs you need from elmo, or get them yourself if you have login rights, and try to reproduce the problem? [01:23] There is a bug in Malone, which I think spiv has grabbed already [01:23] stub: Yeah, I have. [01:23] ok, great [01:23] spiv_pants: have you made any progress on it so far? [01:24] Well, I have it using some newer code backed ported from SVN Twisted that in theory fixes the problem deployed, and frustratingly it made no difference :/ [01:25] can we live with "we need to restart the auth server when restarting the golden database" for now? [01:25] I think the next simplest thing to try is probably to make a simple wrapper for psycopg that does the reconnection transparently -- I think stub had a use for that as well? [01:26] because I'd like spiv_pants to concentrate on shipit until that is done. [01:26] SteveA: Sure. Just means someone who can bounce the authserver needs to be around during maintenance - PostgreSQL and emperor have been reliable. [01:26] (If we did make that wrapper, it would probably solve the similar problem in launchpad itself as well) [01:27] okay, let's look at that wrapper when we're together in mataro. [01:27] spiv_pants: can you annotate the bug in malone accordingly? [01:27] Sounds good. I will. [01:27] great. [01:27] soyuz and lucille next [01:28] Kinnison: what's been happening with your work? [01:28] Right [01:28] Personally I've been working on Gina and then on the lucille queue stuff [01:29] Once the dogfood updates happen today; mawson will be in a position to cron-run the script I have to get gina importing hoary into dogfood everyd ay [01:29] also explaining to us numbskulls how it works [01:29] Kinnison: Dogfood update has happened [01:29] kiko: Aww, I do that for fun :-) [01:29] stub: In that case, later today I'll get gina cronned and running [01:29] Kinnison: aha [01:30] SteveA, stub: I can't update the bug, the page on dogfood is broken :/ [01:30] The lucille queue stuff is coming along slowly but surely. I've been refining my ideas of the queue processing and also helping cprov through getting to grips with the rest of lucille [01:30] Oh, no, just the link. [01:30] I've committed to rocketfuel the sqlobject classes and interfaces for the queue so people can start to interrogate it [01:30] (although nothing puts stuff in the queue yet) [01:31] I did a quick explanation of the end-to-end for uploading through to publication for kiko earlier. It's in the irclog for this channel and also on the Lucille page of the wiki [01:31] cprov: would you like to tell what you've done on lucille (you can cover your non-lucille stuff when stevea asks) [01:32] Kinnison: sure [01:32] morning [01:32] I've been working on Librarian Wrapper, it is able to locally cache the files when we run librarian in anoter location [01:33] hi brad. you haven't missed anything you absolutely need to know about [01:33] ok [01:33] it works, but still missing some FS lock to avoid multiple instances [01:33] cprov: what is the librarian wrapper to be used for? [01:34] SteveA: it caches the files locally on LP machine, so we are able to have links to them [01:35] does the librarian server files via apache, or on its own? [01:36] cprov: What is the use case for that? [01:37] Librarian server by its own on a twisted.web server, the wrapper able us to serve by apache [01:38] stub: the Librarian will run hiden inside your network, and we will keep the package archive under apache and organized as a true archive [01:39] I think we need some docs that explain how a full Launchpad must be deployed. [01:39] indeed [01:39] This is becoming rather complex, and I don't feel comfortable that I understand it all. [01:40] SteveA: I need to leave jdub's shortly so I can get the last train back home. Is there anything else you need from me for this meeting? [01:40] Mmm... I originally thought the librarian was to serve the files directly to everyone that needed them, to keep it light and high performance. [01:40] SteveA: the librarian wrapper's purpose is to allow lucille to cache archive-related files on the publication machines. This will give us all sorts of space-saving and mirror-saving benefits wrt. hardlinking and so on. [01:40] stub: the Librarian URL for a file would be mawson:8080/1/1/alien.deb, we turn it in mawson/dists/ubuntu/a/alien.deb, or something like it [01:40] spiv_pants: that's fine. please read the summary of the meeting that I'll post later, and ask questions if you need to. [01:41] cprov: The librarian URL can be whatever we want it to be - we wrote it and we can change it. [01:41] SteveA: Thanks. I will. [01:42] Kinnison, can you elaborate on that? [01:42] I, like stub, thought we would serve files directly from the librarian [01:42] stub: I'm not sure if we can really change Librarian to reproduce archive structure as we want, so the wrapper can === Kinnison thinks we leave the librarian exactly as-is [01:43] the librarian will serve to the outside world *some* of the files [01:43] I don't want this meeting to drag on, so let's talk about the librarian particularly at a meeting tomorrow. [01:43] SteveA: okay [01:43] SteveA: 12:00 UTC? [01:43] SteveA: ok [01:44] SteveA: If we can make it 13:00 UTC I'd be happier [01:44] stub: your call on a later time [01:44] (why did you suggest 12UTC first then? ) [01:44] kiko: because I didn't think quickly enough [01:44] you need dual pipelining [01:44] I'd be happier with 12:00 - I'm at UTC+11 remember [01:45] How about 11:00 UTC then? [01:45] kiko and cprov? [01:45] 12:00 is irritating on a thursday due to having to go buy lunch [01:45] Good for me - I think that is Team Brazil's call [01:45] I'm fine with it [01:45] 9am here [01:45] (I can do later, I just get fuzzier) [01:45] fine, too [01:45] Woohoo... early meeting. 10pm! [01:45] okay, 11:00 UTC tomorrow, librarian meeting [01:46] Cool [01:46] I mentioned earlier that I'm finding it hard to understand how a full launchpad is deployed [01:46] We need a document with diagrams that explains this [01:46] Who is well-placed to produce this? [01:46] SteveA: I'd recommend we sit together in Mataro and draw it on paper to begin with [01:47] yeah [01:47] that's a good point, Kinnison. [01:47] yep === spiv_pants agrees [01:47] spiv_pants: catch that train! [01:47] :) [01:48] See you tomorrow! [01:48] okay, that can go on the mataro agenda, as one of the first things we need to do. [01:48] other soyuz business? [01:48] celso: you had some other things to talk about [01:49] yes [01:49] salgado's hacking karma right now [01:49] I'm working also in Lucille Log System [01:49] we are being bothered by the changes in the pgsql server side of things [01:49] (because we are diskless and run the server on a woody box) [01:50] salgado will bring that up with stub today [01:50] via email [01:50] debonzi's just landed in switzerland [01:50] will be doing polishing on soyuz itself [01:50] okay. the only other problem I've heard about with the new stuff is with locales and the full-text search stuff [01:50] Yeah, I can't get 'make check' to pass on my desktop [01:51] this is *REALLY ANNOYING* [01:51] Every Help on it, please read: https://wiki.canonical.com/Lucille_2fLoggingNotes [01:51] because I can't test things before commits [01:51] stub: you proposed to make postgresql ignore the local and just be in the C locale, right? [01:52] btw. Nobody except steve has mentioned any problems, and steve was just relaying a second hand report [01:52] Kinnison: ./test_on_merge.py canonical [01:52] I hit it yesterday and was waiting for the meeting to bring it up [01:52] I'm set to the US and posix locale [01:52] Kinnison: make check seems to have some problems [01:52] ok [01:52] it is possible that the guys in brazil would hit the same problem if they are set to a BR locale [01:52] i'm also a bit confused about "running the librarian in another location" [01:52] SteveA: Is your *database* set to that? [01:53] psql -d template1 -c 'show lc_ctype' [01:53] dsilvers@petitemort:~$ psql -d template1 -c 'show lc_ctype' [01:53] stub: C [01:53] en_GB.UTF8 [01:53] stub, that's because we JUST WOKE UP :) [01:53] Which will become more and more common as we move to utf8-by-default on hoary [01:53] sabdfl: We'll discuss tomorrow [01:53] sabdfl: relax for now :-) [01:53] Firstly, the postgresql docs explicitly state 'don't use a locale unless you have to'. [01:54] sabdfl: there is a meeting tomorrow at 11:00 UTC specifically on the librarian [01:54] Secondly, it is considered wrong that PostgreSQL defaults the locale to whatever LC_??? is set to when you run initdb, instead of locale C. People have problems, and often have to rebuild their DB with the correct locale. This is a common issue on the postgresql mailing lists, but I havn't followed the details too closely. [01:55] Setting the locale to not-C has no effect for english locales afaik except slowing your system down (as it calls the locale aware sort functions etc. instead of the fast ones) [01:56] we need it to be so that each launchpad developer can run their database so that it is like the dogfood database. [01:56] I can't run the database right now [01:56] this should not require changing a system-wide setting [01:57] it requires python 2.2 and, well, we're tied to 2.1 because of the postgresql backport we use. [01:57] kiko: why are you stuck on woody for your server? [01:57] it's mainly an issue on swapping True for 1 [01:57] SteveA: locale under postgresql is set when you do initdb and affects all databases in that installation. To change it requires blowing it away and recreating. This is because locale change change sort order and affects indexes. [01:57] SteveA, because the server is used by the whole company, and upgrading it is not a trivial undertaking. [01:58] kiko: try: True except: NameError; False, True = 0, 1 [01:58] SteveA, is it okay for me to start doing this sort of change in out python-sql functions? [01:58] kiko: co-ordinate with stub on that [01:58] I know exactly how to fix it, but I want to get buy-in on the idea [01:59] it is fine by me, but I think you need to plan to upgrade that server [01:59] kiko: What is the result of psql -d template1 -c 'show lc_ctype' [01:59] at some point in the future [01:59] stub, C, that's not an issue for me. [01:59] SteveA, easier said than done; are we going to move towards 2.2-functionality in pypgsql or are we staying fairly restrained? [02:00] stub: Can we assume that people can blow their postgres databases away, or dump and restore them if there are precious databases? Can you give Kinnison instructions on how to re-initialize his databases? === Kinnison 's desktop only has work-related dbs in it, so I am happy to bare-metal rebuild the pg install if need-be [02:01] I just want to be able to make check [02:01] Kinnison, stub: sort it out, mail the list with what you had to do so others can do so if needed in the future. [02:01] SteveA: *nod* [02:02] kiko, stub: work out whether we can live with an old subset of python on the server, mail the list, comment the files, or come back to me if you can't come to an agreement. [02:02] Next, Malone. [02:02] thanks. [02:02] BradB: can you kick off with recent happenings in malone? === BradB thinks [02:03] Well, recently I've been trying to work on making life as easy as possible for users. [02:03] I've added the "one-click" actions; accepting, rejecting and fixing bugs can all be done really quickly in the UI now. [02:04] And things to make finding what you're looking for as simple as possible. [02:04] And, when a new dogfood is deployed, the message saying "Successfully added bug # N", which a few people have mentioned really needing. [02:05] We've got a few important issues to solve between now and the time that Ubuntu developers can use this. [02:05] what are those issues? [02:05] And they involve me being able to sit down with sabdfl for a good 30 mins on IRC. [02:05] Or in Spain. === daf arrives [02:05] SteveA: There's a few things: [02:06] 1. The bug listing is too wide (bug filed). We need to get creative to find a way to present the information as effectively, but in a smaller space. [02:06] daf: why are you so late for the meeting? [02:06] 2. The bug listing is too slow. It's starting to really slug as more and more bugs get added, and will probably keep doing that until: === lulu_ [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad [02:06] lu. [02:07] 3. We need a better DB design for the *BugAssignment tables. [02:07] BradB: won't indexes help enough? [02:07] SteveA: timezome confusion again :( [02:07] Kinnison: Nope, that's not the issue here. [02:07] BradB: oh? [02:08] Kinnison: I haven't gone back yet and really nailed down what's causing it, but there's just plain and simple way too many queries hitting the DB on the bug listing screen. [02:08] daf: buy a cheap digital travel clock, and keep it on UTC. [02:08] BradB: views? [02:08] SteveA: yeah, I'm clearly no good at the math [02:08] Kinnison: already been discussed, nope, that won't help either here. [02:08] BradB: suck :-( [02:08] Kinnison: It comes down to designing better tables, which we've been discussing in IRC and on list. === Kinnison nods [02:09] And the /last/ two big things that I see: [02:09] BradB, I can sit with you through some optimizations at mataro, doing this sort of thing on IRC is very hard for me [02:09] okay, perhaps another issue for early in mataro. [02:09] kiko: Sure...I expect Spain will be a really productive time for Malone. :) [02:09] I have two weeks of usefulness :) [02:10] 4. integrating with BugActivity (keeping a history on what changed on a bug) [02:10] 5. super select widgets [02:10] 6. messages on assignments [02:10] (okay, that was three things) [02:10] lifeless: how is the progress on getting Zope 3 into arch going? [02:11] (This is related to us upgrading zope 3 for launchpad, and getting Sources) [02:11] I've been really needing some input from sabdfl, because we don't have time for me to go off implementing something where sabdfl "I didn't want it done /that/ way." :) [02:11] s/sabdfl/sabdfl says/ [02:11] BradB: do you still have productive things to do before going to spain? Or, are you totally blocked on talking with mark? [02:12] SteveA: I've been fixing other bugs as reported in the collector, which are smaller, yet fairly important details too. [02:12] e.g. adding CVE refs is broken [02:12] fixing that, fixing things here and there. [02:13] SteveA: not at all, until I get the new pysvn packages elmo was arranging for [02:13] I asked doko to do that, and he's agreed, I didn't realise it was blocking stuff tho [02:13] we need this stuff before mataro [02:14] BradB: is there one significant thing you can have a phone call with mark about, and be able to make good progress on over the next few days? [02:15] SteveA: yeah, definitely [02:15] what is that? [02:15] 4 and 6 from above (they're somewhat related) [02:16] okay. lets get you and sabdfl talking on the phone today. [02:16] ok [02:16] lifeless, elmo: can you keep me in the loop on getting the pysvn stuff ready and getting zope3 syncing? [02:17] Rosetta [02:17] SteveA: you realise there's 2 working days left till mataro, right? [02:17] daf, carlos: where is rosetta at? [02:17] well, it works [02:17] :-) [02:18] you add a project and translate it [02:18] all through the web [02:18] elmo: I've been asking for a new Zope 3 for over a week. [02:18] SteveA: zope3 before mataro is not realistic, not for a full import. sorry, but its not. [02:18] IF it works first time, sure. [02:18] lifeless: then, can we find some other way to get a recent Zope 3 into rocketfuel for use with launchpad? [02:19] sure, I'm happy to do that today. [02:19] they are very different problems. [02:19] there's lots of room for polish, but all the essential operations are there [02:19] SteveA: paste me the svn url to checkout please. [02:19] ok, thanks. I'll send you a FQ SVN revision id to use when I've run some tests on it. [02:20] daf: you have recently been going through a particular scenario of use with rosetta [02:20] SteveA: right [02:21] and checking that it does what it should do, and seeing what areas need work and polish [02:21] namely demonstrating Rosetta to a live audience [02:21] can you briefly outline that scenario, and say what works [02:21] (I expect we'll wrap up this meeting in under 15 minutes) [02:22] ok [02:22] the scenario is that you add a new project to Launchpad [02:22] create the project, product, template [02:22] import the template [02:22] do some translation [02:22] and export a PO file [02:23] this demonstrates that you can translate a free software program 100% through the web [02:24] ok. so that means rosetta works. well done rosetta team. [02:24] thanks [02:25] cool [02:25] carlos: you are working on a script to do the time-consuming imports one-after-another [02:25] how is that going? [02:25] just wake up on time for the meeting, nothing still done [02:26] will do it today [02:26] okay, good [02:26] to wrap up, I have a few launchpad things to talk about [02:26] permissions: anyone used them yet? [02:27] nothing outside launchpad.AnyPerson [02:27] when you go to a link that requires authentication, then currently you are invited to authenticate using HTTP basic auth [02:28] I want to make launchpad prompt you with a form for cookie auth in this case [02:28] however, this conflicts with keeping basic auth alive for page tests. So, what I'm going to do is make basic auth run only when you access launchpad on port 8086 (the "debug layer" port) [02:29] accessing launchpad on 8085 (the public production port) will use only cookie auth [02:30] "place" object that knows about URL context and absolute urls and breadcrumbs. I didn't get around to fixing this last week. It is next on my list, as this is very important for the usability of launchpad. [02:30] SteveA: I realized that at some point we will need a View permission (for private bugs) [02:31] stub: okay, can we chat about that tomorrow or in mataro? [02:31] SteveA, sounds like a plan [02:31] SteveA: Note that dogfood is running the debug layer so we can get tracebacks [02:32] hmm... maybe we need a port that offers tracebacks but also does basic auth. [02:32] perhaps I'll have an explicit "basic auth" layer [02:32] that gets turned on separately [02:32] I'll think about this a bit [02:32] SteveA: can you put something like ++basic++/ at the start of a url to allow basic auth or something? [02:32] I'd rather use a separate port [02:33] or separate configuration in launchpad.conf [02:33] SteveA: I think launchpad.conf might be a good way to do it [02:33] which brings me on to launchpad.conf [02:33] How about "accept basic auth if provided, otherwise do cookie auth" ? [02:33] launchpad.conf! [02:33] or some way of passing in a parameter which controls which authentication method to use [02:33] readable in a vanilla python2.1 installation! [02:33] Kinnison: perhaps I can do that with a tweak of what is currently there. [02:34] kiko: is that a good thing? :P [02:34] so, we'll work on making more use of launchpad.conf at mataro [02:34] YES [02:34] status messages: brad did some work on these, and has started using something very simple [02:34] BradB: please send a message to the list saying what you are doing, and how it works [02:35] SteveA: ok [02:35] SteveA: basic auth and fallback to cookie would be good for XML-RPC support [02:35] by "status messages" I mean "Bug 666 has been added. thanks." messages [02:35] SteveA: It was simplish to use, but turned out to be fairly annoying to find out how to do it. :) [02:35] stub: I don't want the server to do XMLRPC on the same port as it does normal browser stuff. [02:36] Merge to rocketfuel@canonical.com/launchpad--production--1.5: cherry pick arch support fix from devel (patch-6) [02:36] page titles: daf implemented a "page title checker", as most or all of our pages should have a meaningful title. [02:36] I've proposed some ZCML that may make writing page titles easier. I'd welcome some feedback on the proposal. [02:37] browser:form directive. We'll work on this at mataro. [02:37] w00t! [02:37] Mataro Z3 Sprint [02:37] is there one!? [02:37] no [02:38] Yer - we are it ;) [02:38] heh [02:38] I don't think forms will take three days. so it will be a very short sprint. [02:38] one more thing: almost everyone turned up to the meeting on time. [02:38] thank you for that. [02:38] thanks SteveA [02:39] one of the things that keeps a distributed company such as ours working effectively is when people keep each other informed about what is going on, and keep to the things they have said they'd do [02:40] SteveA, I do with we used the mailing list and the Wiki more, though. IRC is very stressful for me [02:40] such as doing things that they agreed to do in meetings, or turning up to talk with people at agreed times. === spiv [~andrew@adsl-66-203.swiftdsl.com.au] has joined #launchpad [02:40] kiko: /stressful/? Interesting word to describe IRC. :) [02:40] kiko: feel free to suggest more of that, when you think it is appropriate. [02:40] have you seen the film "Bill and Ted's excellent adventure" ? [02:41] I think we fast-spec a lot on IRC, but it's never consolidated into a document [02:41] I miss that a lot [02:41] kiko: good point [02:41] knowledge isn't being kept structured [02:41] SteveA: dude, you should distribute it with hoary CDs :-D [02:41] and that makes it *hard* to keep up [02:41] I'm living this out with Kinnison's publishing workflow [02:41] kiko: I copied the workflow onto the wiki [02:41] in the film, bill and ted are accidental founders of an advanced civilisation built on the principle "be excellent to each other" [02:41] there is a text, but try making sense of it in 1 hour -- non-trivial [02:41] kiko: quite deliberately ;-) [02:42] I think we need to adopt that meme. [02:42] it's not a take on Kinnison, just that we need an architect that keeps track of docs and helps us edit them [02:42] we lack a person with those skills and time today [02:42] and I miss it. [02:42] Thanks for the meeting everyone! I'll write up a summary a little later. [02:42] kiko: having someone who dedicates time to documenting things would be excellent [02:42] kiko: I'll note what you've just said in the meeting summary. [02:42] thanks [02:42] would following up everything significant that happens on IRC with mails to the list help us be excellent? [02:42] thanks all [02:43] be excellent to each other. [02:43] (FSVO "significant", of course) === SteveA is now known as SteveA|lunch [02:43] Does anyone else feel that we would be better off keeping docs in arch rather than the wiki? [02:43] The wiki is a convenient place to build information up [02:43] Canonicalising it (sic) into documents in arch might be useful though [02:43] stub: yes [02:43] stub: for some docs at least [02:43] stub, not really [02:44] So is a directory full of files is too, provided you have a script that builds an index and renders to hypertext [02:44] the wiki makes it a lot more accessible, and it controls history [02:44] I can't see why local files would be better than a wiki [02:44] no, I think the problem is a people issue, not a tool issue. [02:44] I'm in favour of it for very detailed documents which should be in lockstep with the code [02:44] Merge to thelove@canonical.com/bazaar--devo--1.1: merge in 1.0.1 (patch-2) [02:45] daf: Indeed [02:45] I don't think it's a detail issue either [02:45] A lot of the info I produce is mostly braindump so that I don't forget [02:45] or else it becomes a chore [02:45] That goes well on the wiki and would suck (IMO) in arch [02:45] Once *reality* is documented, that should go into arch [02:45] I really do think it's a launchpad documentation wiki we're missing, and an editor for it [02:46] Kinnison, reality changes; the wiki is good at that [02:46] the essence of software is constant change [02:46] kiko: but reality changes in arch, if the docs change in lockstep that's good [02:46] kiko: a separate wiki? [02:46] I feel the wiki UI is much clunkier than 'your favourite editor', and in the repository you work with every day more accessible. It also gives us more control to build tools and workflow to manage it (eg. assign each document and owner, and warn if a doc hasn't been updated in 4 weeks asking the owner to review it for currentness) === kiko shrugs [02:46] stub, we could just activate wiki UIs [02:47] oh, btw, could we add that 'enable an external editor' thing to our wiki? that'd rock [02:47] hyperlinking helps a *LOT* [02:47] and the wiki makes producing a hyperlinked doc much easier [02:47] elmo: seconded, it would probably help stub's concern [02:47] elmo: install the mozex extension [02:47] I agree the wiki editor is clunky and I use it less because of it [02:47] but [02:47] mozex.mozdev.org [02:47] it rocks [02:48] I feel launchpad in general has a tendency to undercommunicate its design and policies [02:48] (caution: may need other extensions to access old-style prefs windows) [02:48] kiko: I wouldn't want to migrate to a fs based system unless it took the strengths of what we have (hyperlinking etc) and improved on it. Indeed - it would probably resemble a local wiki. [02:48] I don't like detailed documentation at all -- I think that's Python. [02:48] what I do miss is *organized* documentation that gives you the pointers in most of the areas [02:49] i.e. a general idea of publishing workflow [02:49] Mmm.... indexed and current. [02:49] built in a conceptual hierarchy that someone that needs the information can come and look [02:49] now moin does have indexes and history [02:49] I like it a lot [02:50] but I feel that unless we have someone that is in charge or organizing it and overseeing the changes and evolution.. [02:50] fred brooks argues for this figure in TMMM. [02:50] and now [02:50] enough hand waving [02:50] that is my personal opinion. :) [02:51] I think you are right, and that it could be considered a hole in the team. The other hole atm is limi which we will need to address at some point (we need to apoint a CSS nazi at a minimum) [02:51] stub, I'm working on getting a replacement for the second item, we shall see soon if it works out === Kinnison can bring printouts of the CSS and HTML specs with him to mataro, and also o'reilly books on dhtml and javascript [02:52] I can also find my css guide if it'll help [02:52] but the documentation editor is still missed === daf cleaned out some bad HTML last night [02:53] Kinnison: it is more needing someone to keep it maintainable - if nobody is resposible, it will collapse under a weight of small task-specific hacks. [02:53] stub: Hmm yes [02:53] our wiki is an example of stub's last phrase [02:53] it has good content but none of it is organized [02:54] and what was current is now outdated and a lot of it is rubbish now [02:55] I think every document needs an owner, and every document needs to be reviewed by its owner once a month, and we need technology to remind us because this isn't natural and none of us will do it without prompting. [02:55] (which is the micro end) === carlos goes to have lunch [03:01] stub, having someone concerned with the big picture is my concern; we can all keep track of individual docs, but the hierarchy, page size, linking needs a global concern. [03:04] kiko, stub: all noted. I agree. another goal for mataro: sort out the docs and who is going to hold the big picture. === SteveA|lunch -> out [03:05] thanks. === kiko notes 3 occurences of "concern" there and pouts === cprov ->lunch === lulu__ [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad === kiko is now known as kiko-afk [03:26] kiko: There should be no problem installing both Python and PostgreSQL in a non-standard location and have two PostgreSQL servers running simultaneously - we would just need to start specifying 'port' in the various connection strings. [03:36] stub, what's the long-term plan for pypgsql? [03:38] in terms of features and compatibility? [03:38] plpythonu you mean? More of it if anything. Ideally, database constraints will do 'from canonical.validators import foo; foo(data)' [03:39] Or do you mean the database driver pypgsql? [03:43] sorry, I mean plpython, of course. [03:43] trying to do too many things at once. [03:43] so you forsee it depending on zope, for instance? [03:46] stub, your answers directly reflect on my stress level for today :) === SteveA|lunch is now known as SteveA === Kinnison -> Ely [04:16] lulu__: ping [04:17] SteveA:here. [04:18] what's the email problem? [04:19] we are having many returns from creating accounts on the site. There seem to be 3 problems that Andrew has identified: [04:19] 1) bad email addresses [04:19] 2) bad server config [04:20] 3) DNS - adelie.warthogs.hbd.com not having a reverse DNS record. [04:21] is adelie the machine that is running plone? [04:21] Nope - gentoo. [04:22] adelie's the mail relay for the LAN [04:22] I'm working on it's reverse [04:22] [it requires me to fill in a M$ Word document that crashes Warty's OpenOffice...] [04:22] [away, phone] [04:23] abiword? [04:23] ok, so elmo is dealing with number 3 [04:24] SteveA: I had another 6 returns today. [04:24] what about the second point? what is bad about the server config? === BradB [~bradb@modemcable202.193-131-66.mc.videotron.ca] has joined #launchpad [04:25] SteveA: server config - I assume that's from their side...but this seems to be an abnormally high amount of registration returns. [04:26] props to mozilla for arbitrarily deciding to ignore my kb input [04:26] SteveA:how should we deal with these returns going forward. Do I need to try and resend them if it's a valid email address? [04:27] mozilla does that to me from time to time [04:27] I think it is to do with modal dialogs [04:27] i just gave gdm a kick and things are back to normal now === SteveA looks at messages [04:29] my gf was giving me some flack on linux..."on ne peut plus couter des dvds??"..."ben...on peut sauf que c'est pas mal illgal t'se" [04:33] lulu__: I read through some of the returned messages [04:34] SteveA:yes [04:34] one thing that occurs to me: I think some people have the idea that we are giving them a *new* email address. [04:34] that would explain the people who think they have email addresses @ubuntu.org and @ubuntulinux.org [04:34] so, we should make it clear that we want their existing email address [04:34] that they are not getting a new email address [04:35] SteveA: yes - but we have many who have submitted normal addresses. [04:35] and maybe disallow any email addresses @ubuntu.org, ubuntu.com, ubuntulinux.org [04:35] lulu__: one thing at a time [04:35] good point. [04:36] SteveA: I will write a short registration FAQ to assist. [04:37] okay. as for the rest of the emails you forwarded, they are just people who have not entered their email address properly, or where their mail server has fallen off the network or is misconfigured. [04:37] not much we can do about that. i met that all the time when I was doing work for securicor/group4 [04:37] corporate mail servers just aren't well maintained, on the whole [04:38] the more complex their systems, the worse they're maintained, it seems [04:39] I wonder what the right point to disallow @ubuntu.com and @ubuntulinux.org addresses is... plone? auth server? database? [04:40] or indeed if it is such a good idea [04:40] we can place a link to a registration FAQ in the Join_form. [04:40] SteveA: We could validate the email before registering, no? [04:40] i.e. by doing a user lookup [04:40] you mean within plone? [04:41] in fact, launchpad have already the needed bits to do it [04:41] sure [04:41] we have a field to know if the email is validated or not [04:41] yes - on submit we validate for @ and . in the email address - can we do it on form submission in the same way? [04:41] we could reject any login from unvalidated emails [04:41] BradB: that would catch the places where people sign up through plone. we can expect people who sign up through launchpad to be more clueful. [04:42] carlos: that won't help [04:42] SteveA: why? [04:42] carlos: they won't have the password anyway, as it will have been sent to the wrong place [04:43] but we could remove the bad accounts using a postprocess check, of course, the user will not know that they did a mistake [04:43] BradB: can you do this on the plone server? I think we should disallow only @ubuntu.com and @ubuntulinux.org [04:44] ubuntu.org doesn't belong to us, so it doesn't seem right restricting that. maybe the guys who have that domain would want to sign up to use Ubuntu. [04:45] carlos: it really doesn't matter if we have un-claimed accounts in the system [04:46] provided someone doesn't DOS the server by registering thousands of email addresses [04:46] ok [04:46] SteveA: Just curious, why do we want to allow addresses that don't validate on a user lookup? [04:47] Maybe that breaks with catchall email address, I'm not sure. [04:47] BradB: I don't know. I haven't thought of that. Just, this doesn't help with the issue under discussion. [04:47] BradB: have you arranged to talk with mark on the phone? [04:48] SteveA: It would prevent users with invalid addresses from signing up, which was what I thought was the issue under discussion. :) [04:48] SteveA: not yet, I'm writing an email to lp@ about status messages [04:48] BradB: I don't get it. I think I'm being very slow this afternoon. [04:49] SteveA: sender address verification, or whatever the RFC-compliant name for it is. [04:49] SteveA: foo@bar.com => "bar.com, is foo a valid account?" [04:50] I think Plone might actually do this by default, but perhaps our custom-fu circumvents it. [04:55] BradB: I don't think that works for 99% of email addresses out there anyway. [04:55] I was worried that might be the case (though I don't quite understand why.) [04:55] SteveA: I can hack it to prevent reg's from ubuntu.com and ubuntulinux.org in any case, I was just hoping for a solution that prevents people signing up with email addresses that bounce. [04:57] BradB: I think the only reasonable way to do that is to have a machine-read envelope return address on the mail, and have software that receives the bounce, links it up with the RFC message id of the email that was sent, and invalidates the sign-up request. [04:57] We could do that with a custom mail sending / processing tool. I think we'll want that eventually for launchpad, but it isn't a priority. [04:58] the guys at POV are working on such a thing for one of their commercial projects I think, so perhaps they can be persuaded to make it open source, or license it to canonical or whatever. [04:58] or, we might want to re-implement it anyway. [04:58] but, later [04:58] yeah [04:59] SteveA: Is this email validation change something that should be done today? [04:59] if it is a quick thing, sure [04:59] and if it has a low risk of screwing up due to plone's complexity === ddaa [~ddaa@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad [05:00] Okay. It shouldn't be difficult, I'll take a look after lunch. [05:00] thanks brad [05:01] lulu__: once elmo has sorted out the reverse dns, and brad has made this change, and you have updated the docs, then I think that will at least reduce the number of bounced messages. [05:01] we should maybe change the text on the sign-up page to make it clear that this is your own current email address. [05:01] Have just done so :o) [05:01] an email address that you can receive email at [05:01] great. [05:02] and am writing an FAQ atm [05:02] elmo and Steve and Brad, thanks for your time. [05:02] I expect elmo will be doing this soon, as it is an important thing for all our systems running at the data centre [05:03] SteveA: I'm having problems using the getUtility method from the import daemon and initZopeless [05:03] File "./import-daemon.py", line 22, in run [05:03] for project in getUtility(IProjectSet): [05:03] File "/home/carlos/Work/dists/launchpad/sourcecode/zope/src/zope/component/__init__.py", line 77, in getUtility [05:03] return getService(Utilities, context=context).getUtility(interface, name) [05:03] File "/home/carlos/Work/dists/launchpad/sourcecode/zope/src/zope/component/__init__.py", line 69, in getService [05:03] you will have [05:03] return getServices(context).getService(name) [05:03] File "/home/carlos/Work/dists/launchpad/lib/zope/component/service.py", line 109, in getService [05:03] because initZopeless does not read in the zcml [05:03] raise ComponentLookupError(name) [05:03] zope.component.exceptions.ComponentLookupError: 'Utilities' [05:03] [05:03] and does not register any utilities [05:03] so, we cannot use utilities in these scripts === ddaa [~ddaa@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad [05:04] rather than use adapters and utilities, you need to use the classes directly [05:04] ok [05:04] this is something we'll fix eventually [05:04] by making initZopeless load in a subset of the zcml [05:05] like, just adapters and utilities and such [05:05] but not pages [05:05] it isn't a priority, though [05:06] SteveA: don't worry, it's already changed [05:06] so it's not a problem there [05:07] Merge to rocketfuel@canonical.com/launchpad--devel--0: forward-compatibility for functional test machinery (patch-920) [05:09] lifeless: can you please remind me where I can find the source code for the company-internal tla? [05:10] ddaa: people.nny.com/~robertc/rbtcollins@hotmail.com [05:10] or more easily, in my home dir on chinstrap === ddaa medidates on the uncessary confusion between archives names and locations... [05:11] I meant the namespace, the location is already registered in my stuff. [05:11] just grab the tarball [05:26] lulu__: ping! [05:27] BradB: hey Brad! [05:27] lulu__: hi :) i'm about to make the email validation change. have a min to test in about 2 mins? [05:27] sure Brad [05:29] lifeless: mailed you the zope svn details [05:29] lulu__: ok, it's changed, you can go ahead and try it out. [05:29] it prevents @ubuntu.com and @ubuntulinux.org addresses [05:29] BradB: ok. [05:29] what does it do if you use one of those? [05:30] same as if you don't include an "@" ? [05:30] SteveA: yes [05:30] great [05:30] SteveA: I have the basic daemon done [05:30] carlos: great [05:30] but I'm having problems with cached data [05:30] first import is done [05:30] but if I add a new one from launchpad [05:31] the daemon does not see it [05:31] BradB: vaildation check: error msg = The email address you specified is already in use or is not valid. Please choose another one. [05:31] looks fine on my side. [05:31] cool. did you reg with a normal address too? [05:31] just to be doubly sure. [05:32] BradB: I have one spare mailing address to test :o) [05:32] will do... [05:32] thanks [05:32] carlos: can I see the code? mail it to me, perhaps [05:32] sure [05:33] sabdfl: ping [05:34] BradB: you might need to actually phone mark [05:34] SteveA: sent [05:34] marks in a meeting just now [05:34] ok === BradB goes back to fixing broken CVE refs [05:35] carlos: module names should not contain a hyphen [05:35] right, I forgot it [05:35] will change it before commit [05:35] also... [05:36] no bare except: without a comment [05:36] and usually, you'll want to log a message, so use the logging api and set up a logger [05:36] use the logger api rather than printing things [05:37] SteveA: those prints are for debug [05:37] the code is not final [05:37] to see an example of the logger api, look in lib/canonical/lucille/uploader/server.py [05:37] ok [05:37] thanks [05:37] split the run method up into various other methods -- at least one method for what is inside the loop [05:38] perhaps [05:38] maybe not -- I think the print statements make it harder to follow, reading it [05:38] yeah, I think having a method called inside the inner for loop would help readability [05:39] SteveA: if you want I could finish the daemon and then you could read it.. (with comments and excepts...) [05:39] SteveA: I was thinking on move that code inside launchpad/database/pofile.py [05:40] so more or less is the same [05:40] BradB: ok - when I tried to join with a different full name and a current address (already used) it gave me "Our apologies " 404 error. Does our validation go on a combination of Full name and email address? to create a unique user? [05:40] it is good style that you wrote it using a small amount of code in the "if __name__ == '__main__':" part, and made it instantiate a class, rather than using many functions. [05:40] something like pofile.doRawImport() and potemplate.doRawImport() [05:41] lulu__: you login with an email address, so that's as unique as it gets [05:41] carlos: also, don't sleep after importing [05:41] do you remember the control flow I wrote down in our meeting? [05:42] SteveA: yeah, but I need to change the code to be able to do it [05:42] while True: [05:42] if file_to_import: [05:42] import_file() [05:42] else: [05:42] sleep(1 minute) [05:42] this way, there is no unnecessary sleeping [05:42] Merge to thelove@canonical.com/bazaar--devo--1.1: fix apply-changeset with no target parameter, bug #3584 (patch-3) [05:43] BradB: yes - so it doesn't matter about display name field at all then. - so the vaildation error should not have been 404 error, it should have been the "this user already exists".... [05:44] lulu__: yes, that's a problem with the auth server though, i believe [05:44] ok [05:45] BradB: ok. I will need spiv to clear out my test addresses - do you have others u can test? [05:45] lulu__: lulu@bbnet.ca :) (I have a catchall email so anything@bbnet.ca works :) [05:47] carlos: the zopeless transaction manager needs to clear the cache and maybe join the transaction on a new transaction, that is, after a commit or an abort [05:47] lifeless: is this what you had to do in your scripts? [05:47] I think we should change the zopeless transaction manager to do this, and not do this in the scripts. [05:48] SteveA: If I don't force the commit, the transaction is aborted by default [05:48] so that should be also changed [05:48] no [05:48] that is good [05:49] a commit is serious business [05:49] SteveA: what ? [05:49] you don't want that happening without saying so === lifeless has no context [05:49] lifeless: there was bob2's script that wasn't doing things right on the second transaction [05:49] you / he fixed it [05:49] I fixed it. [05:49] do you think the fix should move into the zopeless transaction manager [05:49] ? [05:49] it wasn't joined the connection data adapter to the new transaction. [05:49] *joining* [05:50] it is in the zopeless transaction manager. [05:50] your fix is in the zopeless transaction manager? [05:51] okay, I see it in there [05:51] maybe we need to nuke the sqlos cache as well [05:51] thanks lifeless [05:53] SteveA: how could I nuke it? [05:56] carlos: with some evil code [05:56] I need to look into it a bit [05:56] ok === carlos improves the code [05:58] SteveA: wouldn't have been muhc point patching around the problem ... [06:00] cprov: ping [06:09] New Malone bug #111: "Functional doctest diff output is incorrect", submitted by Brad Bollenbach [06:09] https://dogfood.ubuntu.com/malone/bugs/111 [06:10] BradB: pong [06:11] cprov: can you take a look at bug # 111 please? i fear the diff output situation is worse now. :/ [06:11] BradB: sure [06:11] thanks [06:14] BradB: do you mean malone ? it returns http://notready.ubuntu.com/ [06:15] BradB: btw, what is this ? === elmo [~james@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad [06:16] cprov: the URL is above [06:18] BradB: yep, I see ... is the launchpad.com obsolete ? [06:19] cprov: Yes, it has been for at least a week, I think. === kiko-afk is now known as kiko [06:23] BradB: ok, I'm aware of this bug related to , I've added myself in CC list and will wrok on it til ES-Conf [06:25] cprov: The only bug related to that I know if is if you go into a test, and replace a with a ..., the test will fail (last I tried that.) This behaviour is something I've definitely never seen before. :) [06:27] SteveA: what does __used_for__ inside a class? [06:28] BradB: I mean a bug inside my difflib patch, the test is correct, it should failed as it did, just the presented diff is wrong, did you get my point ? === carlos takes a break [06:29] carlos: it is for documentation [06:29] ok [06:29] it tells you what its self.context is supposed to be like [06:29] cprov: ok [06:33] BradB, cprov: I reposted to python-dev [06:33] I forgot to CC: you though :-( [06:35] Merge to thelove@canonical.com/bazaar--devo--1.1: rename tree-lint to lint (patch-4) === kiko is now known as kiko_bz === BradB is now known as BradB|lunch [06:41] Merge to thelove@canonical.com/bazaar--devo--1.1: when suggesting files be added, do not suggest taglines, closes bug #4257 (patch-5) [06:55] Merge to rocketfuel@canonical.com/pyarch--devel--0.5: revision-files support baz and tla archive formats (patch-55) [07:07] SteveA: ping [07:19] lifeless: since I expect you are not going to read the description of the bugzilla bug I just created, I tell it to you directly. The version string of baz devel builds should contain additional information (e.g. the patchlevel) for user support. [07:19] ddaa: dude, I read all the baz bugs. [07:19] Even those you already know about? [07:20] description != summary === Kinnison heads off. c'ya guys === elmo [~james@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad [07:39] ddaa: dude, yes. [07:39] night all :o) === lulu__ [~lu@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad [] === BradB|lunch is now known as BradB [08:06] Anyone know why source package name + distro doesn't uniquely identify a source package? Is SP + DR required to uniquely identify an SP? [08:08] err, yes [08:08] dpkg has two versions in ubuntu, one in warty, one in hoary [08:09] for example [08:10] ok [08:16] What do we lose if an SP points to a DR instead of merely a D? [08:18] elmo: Is SPR + D unique? [08:18] oh, blah, sorry I'm being confused by mark's insane terminology [08:18] Merge to thelove@canonical.com/bazaar--devo--1.1: unlock the revision in commits if gpg signature fails, to prevent later errors. fixes bug #3482 (patch-6) [08:18] SP+D probably is unique [08:19] elmo: It isn't though. :/ [08:19] SPR +D isn't [08:19] BradB: isn't in practice, or isn't in the SQL? [08:19] It isn't in practice. [08:19] err, xample? [08:21] I can't give you a very good answer, because I'm still trying to understand why this db schema is sane, but here's a blurb from a mail Mark sent to lp@ not long ago, related to how to figure out how a user can pick the correct sourcepackage to report a bug on in a distro: [08:21] > Breakage isn't really *required*. We could let the user enter the source [08:21] > package name, and assign it to the "obvious choice" which would be the [08:21] > source package with that name *last uploaded to that distribution*. The [08:21] > maintainer would then be in a good position to reassign the bug to the [08:21] > "other" sourcepackage with the same name, since the maintainer is going [08:21] > to be painfully aware of its existence, since that will be what he has [08:21] > forked off or what has forked off him. [08:21] jbailey's salary reqs? [08:21] oww ;-) [08:22] sabdfl! [08:22] sabdfl: got a few minutes to discuss a few things? [08:24] yes, what's your number? [08:26] +1.514.963.2567 [08:27] DUDE, that is an EXCESSIVE salary req === silbs [~sbsm0084@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad [] [08:32] Merge to rocketfuel@canonical.com/launchpad--devel--0: No more stuff in soyuz.browser. All classes has been moved too launchpad.browser (package.py and distro.py). The zcmls was also changed to import the view class from the right place. (patch-921) === salgado [~salgado@200-206-134-238.async.com.br] has joined #launchpad [08:42] Merge to rocketfuel@canonical.com/launchpad--devel--0: Added the raw po/pot import daemon (patch-922) [08:51] so sp +d is not unique in reality [08:51] say for example in hoary we start the dev process using package foo from debian [08:51] then at some stage we upload our own version [08:51] these are *different* sourcepackages [08:51] with the same name [08:51] in the same distro [08:51] e voila [08:51] same goes for sp + dr [08:52] reality is just ugly, there is no way to work around it [08:54] BradB: incoming call [08:57] ok === BradB has an idea for unique selection [08:59] SPR + DR [08:59] If /that's/ not unique, we're all doomed. [09:00] Behind the scenes, Malone would be smart enough to create the assignment and the infestation. Afterall, getting bugs reported without having any clue about affected versions is just a pain. [09:01] yes, that's unique [09:02] but not realistic to expect users to know it for, eg, filing bug reports [09:02] BradB: what's your canonical email? [09:02] brad.bollenbach [09:02] for your phone's address book? :P [09:03] yes :-) [09:03] heh [09:06] gah! [09:06] i lost network for a bit, sorry [09:06] sabdfl: ^ === Signon time : Wed Dec 1 08:21:15 2004 === Signoff time : Wed Dec 1 21:44:27 2004 === Total uptime : 0d 13h 23m 12s === warthylog [~warthylog@port49.ds1-van.adsl.cybercity.dk] has joined #launchpad === Topic for #launchpad: lunchpad: home of the sandwich artists | fogo na bomba | "qorking along happily, with SteveA egging us on" === Topic (#launchpad): set by sabdfl at Tue Oct 19 11:05:38 2004 === #launchpad [freenode-info] help freenode weed out clonebots, please register your IRC nick and auto-identify: http://freenode.net/faq.shtml#nicksetup [10:43] New Malone bug #112: "Functional doctest generator breaks on cve ref add test", submitted by Brad Bollenbach [10:43] https://dogfood.ubuntu.com/malone/bugs/112 [10:58] Merge to rocketfuel@canonical.com/launchpad--devel--0: reconnect the wires so that CVE ref adding and editing works again after the web link/cve ref refactoring that happened not too long ago (patch-923) [11:10] sabdfl: You said it's expected that the maintainer of foo has to go in and mark resolved all bugs that his brand new foo package upload fixes, right? [11:10] yes [11:10] so if ubuntu/hoary has a package foo inherited from somewhere else, with bugs [11:10] and the maintainer uploads a new package [11:11] then he can mark those bugs fixed [11:13] it gets a bit weird if a user files a bug-with-patch using the older source package of the same name, but i guess the maintainer'll realize that such things will happen when they upload a newly created package for foo [11:39] yes [11:39] basically, because life is shit, we can't have it perfect every time [11:39] if there was a law saying nobody could repeat a source package name, then this would be easy [11:39] but there isn't [11:39] and besides, if that law existed, then a bunch of things would be very difficult for the distro team [11:40] every time they wanted to inherit a package they would have to give it a new name [11:40] yeah, i can see why [11:40] yeah [11:50] there are many times in different pieces of software I'd like a "disambiguate" function. If there's just one of something, it shows you it as simply as possible. If there are several, it shows you the most appropriate distinguishing feature. [11:50] This is a problem in schooltool, for example, when you have several students who share the same names. [11:52] SteveA: the biggest problem is that user's generally aren't literate enough to be able to choose a precise version on which to file the bug. if they were able to do that, all would be well. [11:55] this will improve when we get more OS integration [11:56] you know, the "report a bug on this app" that goes into the issue tracker, and might make its way to the bug tracker [11:56] I missed the word "menu item" in there [11:56] :) [11:56] yeah, that'd be really neat [11:57] we'll be doing that [11:57] ubuntu will be the best supported os out there