/srv/irclogs.ubuntu.com/2005/07/11/#launchpad.txt

kikoI got the failure notice12:04
kikoI'm just wondering what happened to the one I sent right after the failure12:04
lifeless15:4912:05
lifelessit was recieved12:05
kikoand then?12:05
lifelesserm tz confusion12:06
lifelesslet me just check12:06
kikolifeless, never mind, I think -- let's see if this merge request goes through12:06
lifelessok12:06
kikosalgado says it's me!12:07
=== kiko waits
=== lifeless high fives salgado
salgadompt, around?12:08
bradbdaf: you removed findSourcesByName, right?12:17
dafbradb: yup12:18
dafbradb: trying to merge it now12:18
bradbdaf: did rosetta explode? i'm getting several large (3M+) batch error log emails12:25
bradbfrom a quick scan of about 10% of the file, it looks like it might be something to do with table perms12:25
dafoo12:26
dafmaybe stub changed some permissions12:26
bradbdaf: are you getting the error emails?12:27
dafyep12:27
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Long list of little UI tweaks and fixes that I've been working on for a week. r=BjornT on most of it. Fixes bug 1127, bug 1123 and possibly bug 688. Initial fix for bug 676, more work required there (patch-2022: christian.reis@canonical.com, bjorn.tillenius@canonical.com)12:30
kikoT L!12:41
kikowooooo12:43
=== mdz [~mdz@host217-37-231-22.in-addr.btopenworld.com] has joined #launchpad
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Require launchpad.Admin to the reassignment of teams. Otherwise team administrators will be able to change the owner of a team. (patch-2023)01:01
lifelessdaf: can you please ask rosetta to not mail 3MB spam at me ?01:06
kikohey 01:16
kikodoes anyone know if you can apply multiple fmt: rules to the same string?01:16
mdzprobably01:18
mdzthe first fmt should evaluate to a string, noL01:18
mdz?01:18
kikoyeah, that's how it looks here01:22
kikomy tests seem to say "it works"01:22
kikomy 1gig box is swapping, whee01:23
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Implements the karma framework (according to the KarmaImplementation spec) and hook it into Malone events. r=spiv,stub (patch-2024)01:25
mptkiko: https://wiki.launchpad.canonical.com/PageTemplateHacking#head-193daf137ed8b89de36d47c3df5fd8f66c0e1d1401:31
=== kiko looks
=== cprov -> night, "nice time" for who stays
kikompt, which are you pointing out to me01:33
kikotables or lists?01:33
mpttables01:33
kikooh!01:33
kikooh!01:33
kikothanks!01:33
mptspecifically the bit about using <thead>01:33
daflifeless: complain to stub01:35
=== debonzi [~debonzi@200-161-81-234.dsl.telesp.net.br] has joined #launchpad
lifelessdaf: ?01:36
kikompt, thead and tbody are correct, right?01:36
lifelessdaf: its not rosetta ?01:36
dafit is01:36
mptkiko: correct01:36
dafbut (a) stub controls the scripts and (b) I think it was him that broke it01:36
=== debonzi is looking for stub..
=== debonzi found that stub is not here...
=== debonzi will be back later
=== mpt refuels to look at this calendar stuff
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Small fixes: move some functions (createPerson, personFromPrincipal and traverseTeam) to their right places and remove dead code from pofile-export.pt and potemplate-export.pt. r=SteveA (patch-2025)01:48
=== bradb-away [~bradb@modemcable082.64-130-66.mc.videotron.ca] has joined #launchpad
=== koke_ [~koke@adsl229-164.unizar.es] has joined #launchpad
mpt* Searching for best merge point .../pqm/build_dir/thelove@canonical.com/thelove@canonical.com---bazaar--devo--1.5/src/baz/libarch/namespace.c:595:botched invariant01:57
mpt    !!version_end01:57
mptbaz: uncaught exception: -1:(exiting on botched invariant)01:57
=== mpt wonders whether he should Ctrl+C or not
lifelessmpt: its finished01:57
lifelessmpt: thats the second time I've seen that01:57
lifelessthis is very strange, I'm smelling a regression01:57
mptso it's fully merged?01:58
mptit didn't list any modified files01:59
lifelessno01:59
lifelessits failed01:59
lifelessbaz tree-id please01:59
mptmpt@canonical.com/launchpad--devel--0--patch-8401:59
lifelessand baz msissing rocketfuel@canonical.com/launchpad--devel--002:00
mptlifeless: everything from rocketfuel@canonical.com/launchpad--devel--0--patch-2011 to -patch-202502:02
lifelessthanks02:02
lifelessdo a star-merge02:02
mptyup02:02
mptI'm assuming that, though star-merge works in ~90% of the cases where normal merge does not, it works in less than ~80% of the cases where normal merge does work ... otherwise why not use star-merge by default :-)02:04
sabdflmpt: could you review a branch for me please, that has some new UI?02:05
sabdflneed it done today02:05
mptsabdfl: sure, what branch02:06
kikompt, star-merge worked02:06
kikofor me when that happened02:06
mptkiko: and it's just worked for me too02:06
kikosabdfl, I just added auto-linkifying to malone for links and bugtext :-)02:07
=== kiko is a tales hacker
=== mpt hugs kiko
mptthanks02:07
sabdflkiko: superb!02:08
sabdflhow do you guys like today's be landing? any conflicts?02:08
mptbe?02:08
kikoI landed like a baby today, only 8 conflicts :-P02:09
mptlike a defenestrated baby?02:10
kikoheh02:12
kikoKeybuk is such an australian timezoner02:12
Keybuklies02:12
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Fixed 100% #1036 + test added (but useless as the whitespaces are ignored :-( ) (patch-2026: carlos.perello@canonical.com)02:13
kikoand rosetta is SUCH A SPAMMER!02:13
kiko3.7MB OMG02:14
lifelessyes02:15
mptso where's all this calendar?02:20
mptI don't see links to calendars anywhere02:21
kikompt, click on the link to person1202:25
kikoor person1602:25
kikoone of the two have calendars02:25
mptaha02:26
mptSo, people have calendars, not distros/releases/products yet02:28
mptand I can add an event from the weekly/monthly calendar, but not from the daily/yearly calendar yet02:28
kikomaybe report bugs or write to jamesh cc launchpad-list02:30
jameshmpt: products and projects can have calendars -- however the owner of the product/project has to create it02:31
kikolifeless, can you please check if stub can work around the rosetta permissions problem that is spewing 3MB email every 5 minutes to me?02:31
lifelesskiko: me too02:31
kikoit's probably a set of grants and a slap on the wrist02:32
kikobut you know best02:32
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  use thead and tbody in assigned bugs page (patch-2027: christian.reis@canonical.com)02:42
kikompt, the spacing when using <li> is still not optimal, can you try tweaking it a bit?02:46
kikothe vertical alignment looks looks kinda fishy too02:47
mptYes, I think that's a problem with the GIFs02:47
kikoit's interesting that using the <img> tags it worked well, no?02:47
mptSome of them have padding on the top and bottom, so when the browser arranges their "bottom" on the baseline, it looks wrong02:48
mpt<img> was just closer, I think02:48
kikomaybe02:48
mpthorizontally better, but not vertically better02:48
kikofix that and rs=kiko02:48
mptbut I can fix that02:49
kikoI'll send you a screenshot02:49
kikompt, I'll also send you some tal changes to see if I'm doing the right thing or not in the portlets02:50
kikompt, sent02:52
sabdflnight all02:52
kikonight sab02:55
jameshkiko: figured out the datetime bug you found02:57
kikoyou are such a hacker02:59
kikothanks a million02:59
=== kiko hates tests
jameshthe timezone name was unknown02:59
jameshbut it worked for mark and pqm because unknown timezones were treated as localtime, which happened to match :)02:59
kikoit's great when at least the owner can run tests successfully :-)03:00
jameshso you can fix the problem by moving to sunny London03:01
sabdfljamesh: i have a zinger of a datatime bug for you03:03
kikogood weather can't be expensed03:03
sabdflkiko: cant be dispensed either03:03
jameshsabdfl: oh?03:03
sabdfljamesh: add a fmt:date to line 103 of templates/productseries-ubuntupkg.pt03:08
sabdflnow visit http://localhost:8086/products/evolution/+series/main/+ubuntupkg03:08
sabdfland change the source package to something like pmount03:09
sabdflboom03:09
sabdflyou get a security proxied thing in the result of a totally different query03:09
sabdfli've tried flush_database_updates and object.sync()03:09
sabdflwith no joy03:09
sabdflso... i just left the date unformatted, because that works (!)03:10
jameshI'll check in a sec.  Just want to get this test fixed03:10
sabdfljamesh: btw - very smooth landing of the calendar bits03:11
jameshthanks03:14
jameshsabdfl: the SQLConstant thing is almost definitely UTC_NOW03:19
jameshwhen I reload the page after changing the packaging, it displays a valid date03:20
=== stub [~stub@203-217-37-199.dyn.iinet.net.au] has joined #launchpad
sabdfljamesh: yes, but interestingly flush_database_updates does not convert it to a real sql object03:20
jameshyeah03:20
sabdfli was just amazed that it would come back like that through a totally different query03:21
jameshsabdfl: problem seems to go away when I add a line "pkg.sync()  # convert UTC_NOW to real datetime" at lone 145 in database/productseries.py03:25
sabdfljamesh: ah.... i tried it on line 152 and of course that's not the codepath for an update, but a create...03:28
sabdflcould you see if it's required for the create as well?03:28
sabdfland fix-n-land with your next landing, no rush?03:28
sabdfljust slip it into whatever branch you are currently working on?03:28
sabdfljamesh: and thank you!03:29
sabdflnow,.. night - for real!03:29
=== sabdfl [~mark@sabdfl.silver.supporter.pdpc] has left #launchpad []
kiko-zzzheh03:29
kiko-zzzjamesh, is the issue SQLObject not invalidating the cached object state?03:30
kiko-zzzanyway03:31
kiko-zzzNIGHT03:31
stubSQLObject should be clearing its caches on commit, and I think this is being/has been fixed upstream 03:35
stub(not that I have any idea if this is relevant, having missed the start of the conversation)03:35
jameshI think this is happening within a single transaction03:38
jameshset new package (which sets date), then display results03:38
jameshthe create new packaging code path seems broken too (in a different way)03:46
=== bradb-aw1y [~bradb@modemcable082.64-130-66.mc.videotron.ca] has joined #launchpad
kiko-zzzstub, any luck you can fix the permission issue generating 3MB email from rosetta? :-)03:55
stubkiko-zzz: In a tick ;)03:55
kiko-zzzheh03:56
kiko-zzzlifeless, is PQM busy? I've sent two merges and no output after a few hours...03:56
=== kiko-zzz should really go to bed
lifelesskiko-zzz: hung twisted process03:58
kiko-zzzaha03:58
lifelesskilled03:58
kiko-zzzthanks03:58
lifelesslunchtime03:58
lifelessbbiab03:58
kiko-zzztell this twisted dude to stop hanging03:58
kiko-zzzgone for good03:58
jameshkiko-zzz: he's on leave03:59
jamesh:)03:59
stubSomeone should review that autokill the tests patch I put in...03:59
debonzihi stub 05:26
stubdebonzi: Hi05:27
debonzistub, did you get the patch I did for your gina branch?05:28
dilysNew Malone bug 1246 filed on product The Launchpad by Matthew Paul Thomas: Events only addable from week/month views, not day/year05:28
dilyshttps://launchpad.ubuntu.com/malone/bugs/124605:28
stubdebonzi: Yes - looks good. Do you want to stick it in the review queue or should I?05:28
mptjamesh: What is the relationship between launchpad/lib/schoolbell/ and upstream schoolbell? Will they be merged regularly?05:29
stubdebonzi: Or maybe we should just commit it rs=kiko ;)05:29
mptdilys, you forgot bug 1244 and bug 124505:30
debonzistub, just the same for me.. as you prefer.. may be it is easy for you since you can commit on your branch and I can't05:30
debonzistub, hehe.. I like this rs=kiko :)05:30
jameshmpt: it is a fork at the moment that needs to be merged.  Once we have subversion syncing working, it should be a proper bazaar branch off the mainline05:30
stubdebonzi: oh - I thought you would have created a local branch in your own archive. I'll merge your patch and chase it through to rocketfuel.05:31
=== stub tries to remember how to apply patches manually
debonzistub, no, I worked in your branch05:31
debonzistub, maybe you want to change/remove the modification I did on launchpad.conf05:32
debonzistub, are you going to setup this "version" on staging/production or are you going to use the "old" gina?05:33
stubdebonzi: We need something there for documentation, even if it is specific to your workstation. This can be removed when we have a proper Gina functional test (which will pull its config out of the <canonical testrunner> section)05:33
stubdebonzi: I was going to run with this version against staging, and then production if people think its updates are sane. I don't know anything about old gina.05:33
debonzistub, uhmmm .. I think I was not clear :) this version = your branch ; old gina = gina before your changes 05:35
stubdebonzi: oh. I will run this version. I suspect the old version will generate too much noise to be useful. With the new version, I can run it with '-q' and ony the warnings get reported (and I can switch it to '-v' if things are screwing up and people need to see the debugging output).05:36
debonzistub, thats cool for me.. your changes realy rocks :)05:37
debonzistub, and how do you want to coordinate that? will you take responsability off it?05:38
stubShould it run now against the staging database? old gina died due to missing distro releases or something, and I'm not sure if these need to be created manually by somebody or if gina handles all that.05:38
debonzistub, right... good point05:39
stubdebonzi: I'll give it another run. If it looks like it needs more tweaking, I'll enable access to the staging database from gina@macquarie and hand it over to you and/or salgado to get going.05:39
stubdebonzi: All production code will be the joint responsibility of myself, lifeless and salgado once we have gangotri and launchpad.net all sorted.05:40
debonzistub, gina just creates: people and emails (maintainers), sourcepackage and binarypackage names, sourcepackagerelease, build, binarypackage, sourcepackagepublishinghistory, packagepublishinghistory, source and binarypackage files05:40
debonzistub, she needs:05:41
stubdebonzi: ok. We will need somebody to setup any missing distributions or distroreleases. I suspect Kinnison will be designated victim for this, unless you know enough about the Ubuntu distro to do it.05:42
debonzithe distribution, distrorelease, the distroarchreleases, the components, processor and processorfamily05:42
stubOr sabdfl05:42
debonzistub, does he (Kinninson) have access to do that?05:43
stubdebonzi: I think he is a Launchpad administrator, and I can make him one if he isn't already.05:43
stubdebonzi: Although I'll need to do anything that there is no web UI for.05:43
stubdebonzi: I could hack it up, but I'd rather get the descriptions, owners, maintainers etc. all sorted correctly because it is important to Mark.05:44
debonzistub, thats what I was writing to you about get me creating this stuff... but you are faster than me :)05:45
stubdebonzi: We should be able to get gina going for at least one distrorelease though - everything should be setup for Hoary already. 05:45
debonzistub, thats true... I think before cape town, salgado was working on that and created this stuff.05:46
debonzistub, for hoary05:46
stubok. I think I have enough to run with for now. I'll merge your patch and chase it through to Rocketfuel. You will need to write at least one test for the gina script (by setting up a miniature distro mirror in scripts/ftests/gina_test_archive or something) and running it.05:48
stubdebonzi: Either branching off my archive or rocketfuel if I can get it in today.05:49
stubdebonzi: This will involve setting up a <gina> section in the <canonical testrunner> part of launchpad.conf, which the test runner will use automatically. It might also need you to make Gina handle relative paths to the archive root properly.05:50
debonzistub, ok I will take care of it..05:51
debonzistub, but I am not sure about the test itself.. would the test be just a call to the gina script using the launchpad.conf section and the miniature distro mirror05:52
debonzi?05:52
stubdebonzi: Yes. subprocess.Popen([sys.executable, 'gina.py', 'porky'] , stdout=PIPE, stderr=PIPE).05:54
debonzistub, cool... 05:54
stubdebonzi: p.wait() for the process to terminate, p.returncode to check for major errors, ensure output is empty or contains the warnings or errors you expect to be triggered05:54
stubok05:55
stuberr. p.communicate() is better for this...05:55
stubwhatever )05:55
=== stub stops telling debonzi to suck eggs
mptarrrrrrr, crap06:00
debonzistub, ok.. I think I got it... again about the gina production run, something else I can do to help? can you check with Kinninson and/or mark about the distro,distrorelease,distroarchreleases production setup?06:01
stubI will chase that up with Kinnison and Mark when they come online this afternoon.06:02
stubBut don't worry, I'm sure there will be bugs for you to fix ;)06:03
debonzistub, as you cold see, kiko is in our back and It will start blocking people06:03
debonzistub, yes.. I think she is a bug :)06:03
debonzistub, well, I will get some sleep because a realy need it.. please, every problem I got from gina (I hope you get none) report to me.. 06:12
stubdebonzi: Yup. No problem.06:13
debonzistub, thanks dude.. 06:13
stublifeless: PQM is dead06:40
lifelesschecking06:41
lifelessoh wow06:41
lifelessit really is06:41
lifelessnukified06:42
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  linkify assignee's name in the bug task headlines (patch-2028: christian.reis@canonical.com)07:12
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [rs=stub]  Remove cruft from our Makefile; I should note I added a 'schema' shortcut target a while back (patch-2029)07:37
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  use rfc2822 date format to fix test failure (patch-2030: james.henstridge@canonical.com)08:07
SteveAstub: morning08:24
stubSteveA: Morning08:26
SteveAi tracked down a bug in sqlos / sqlobject yesterday08:26
SteveAwhere when an sqlobject transaction is GCed, it will often clear the in-progress transaction's stuff out of the object cache08:27
SteveAlook at the "rollback" method of 08:28
SteveATransaction, sqlobject/dbconnection.py08:28
SteveA        for subCache, ids in subCaches:08:28
SteveA            for id in ids:08:28
SteveA                inst = subCache.tryGet(id)08:28
SteveA                if inst is not None:08:28
stubSteveA: I think this has been discussed on the mailing list recently. The fix is to make commit() clear the caches.08:28
=== stub looks for the email he sent spiv
SteveA                        # so, we get an instance from this transaction's08:29
SteveA                        # cache.  then we tell the instance to expire itself.08:29
SteveA                        # The instance is from this dying transaction.08:29
SteveA                        # But, the instance will get hold of the current08:29
SteveA                        # connection to expire itself by its id.  So, it will08:29
SteveA                        # be expiring an equivalent object in the current08:29
SteveA                        # transaction's cache.08:29
SteveA                        #08:29
SteveA                        # To fix, consider in sqlos that once the connection08:29
SteveA                        # descriptor has been used on an object, that object08:29
SteveA                        # will always be associated with that connection.08:29
SteveAso, i'd say the fix is to write the connection to the instance the first time it is used with that instance.08:29
SteveAas, i don't know what other cases there are of an object being used with an inappropriate connection08:30
SteveAbut, the thread-bound connection descriptor that sqlos uses is prone to such bugs08:31
SteveAmaking commit() clear the caches would not be enough anyway.  rollback() would need to clear the caches too, and you'd always need to do an explicit commit or rollback before a transaction gets GCed08:32
SteveAi believe my proposed fix is more robust.08:33
stubhttp://sourceforge.net/mailarchive/forum.php?thread_id=7559932&forum_id=3026908:33
stubhttp://sourceforge.net/mailarchive/forum.php?thread_id=7559933&forum_id=3026908:33
stubrollback already does clear the caches. Not clearing them in commit is a bug (IMO, and will probably be fixed this way upstream if it hasn't already)08:34
SteveAthe issue is more one of threading08:37
stubYour fix would help the situation where you 'lose' a transaction without committing it or rolling it back (and in this case, you should bitch loudly!)08:37
SteveAif the commit or rollback occurs in a different thread than the transaction was operated in08:37
SteveAthen the wrong objects will be uncached08:38
stubSteveA: That is a bug - I don't think you should be sharing transactions across threads (?)08:38
SteveAso, for sqlos, making a transaction bound to an object once that object has been used with that transaction, avoids all such ambiguity08:39
SteveAthe code in dbconnection makes an assumption08:39
SteveAit assumes that when it gets an object, and calls that object's expire() method08:39
SteveAthat the object will expire itself08:39
SteveAright now, that is the assumption that is broken08:39
SteveAthe object will expire the object with that classname and id from the cache of the current transaction08:40
SteveAnot of the transaction the object was used in08:40
SteveAone fix for exactly this to to allow the transaction to be given in object.expire()08:40
SteveAanother fix is to ensure that an object always talks to the same transaction08:40
stubAn SQLObject instance will only get used with one transcation anyway (?)08:40
SteveAyeah, right08:41
SteveAnot when sqlos is in the mess^Wmix08:41
stubThat is the bug then.08:41
SteveAsqlos replaces the class-level connection object with a thread-local-style connection-lookup descriptor08:41
SteveAso, the object will be used with whatever transaction is associated with the current thread08:42
stubYes, but the cache is part of the connection, so objects cannot be pulled out of another threads cache08:42
SteveAthat sentence doesn't add up08:42
SteveAyes, the cache is part of the connection08:43
SteveAbut, an sqlos object can have an inappropriate ._connection08:43
SteveAwhen it is accessed outside of the thread it was first used in08:43
stubHow do you do that?08:43
SteveAor outside of the normal transaction boundary it was first used in08:43
SteveAin GC08:44
SteveAor, in the case of various errors that people might make08:44
SteveAsuch as keeping objects around between transactions / sharing them accidentally among threads08:44
SteveAyou can get objects with the wrong state associated with a transaction08:44
stubSo you forgot to call commit() or abort() in your thread (trying to rollback in the __del__ method is the real breakage IMHO)08:44
SteveAyes, that is one case08:45
stubok. I don't think the fix is to try and cope though. I think the fix is to bitch loudly and raise an exception.08:45
SteveAi agree08:45
SteveAthe current case is not to try and cope08:45
SteveAthe current behaviour is to happily remove another object from a different transaction from the cache08:45
SteveAwhat i am suggesting is not "coping"08:46
SteveAit is ensuring that an object does't shit over other transaction's caches08:46
SteveAto do that, i'd change sqlos's connection descriptor to write the connection to the instance the first time it is used with that instance08:47
SteveAinterestingly, this will also speed things up a little08:47
SteveAi consider this orthogonal to fixes in sqlobject to ensure the cache is cleared on commit08:48
SteveAand any refactoring to remove __del__08:48
SteveAthen, when you can reliably identify the transaction an object is associated with08:48
SteveAyou can raise errors if that object is used when its transaction is no longer the current one08:49
SteveAright now, such errors are not straightforward to detect08:49
SteveAbecause an object "pretends" it is part of whatever the current transaction is08:49
stubIf we replace the objects _connection with a real reference, when the transaction is committed what stops that instance continuing to use the same transaction? Is the transaction invalidated on commit/rollback? Or is the same one kept in use?08:49
SteveAit is invalidated08:50
SteveAthe transaction's _obsoete flag is set08:50
SteveAand guards at each method ensure it can no longer be used08:50
SteveAexactly appropriate "complaining loudly" behaviour08:50
SteveAand complaining with a useful message08:51
stubI think we also need to fix commit to nuke the caches though or else any instances left around for garbage collection are going to bitch in their __del__ methods.08:51
stubBecause they cannot rollback, because their transaction is obsolete08:51
SteveAyeah, that's fine.  but that's orthogonal to the issue i'm trying to get your support on ;-)08:51
=== SteveA is having an orthogonal day
SteveAalso, it's an sqlobject issue, and i'm talking about an sqlos issue.  although, it wouldn't be a bad thing to make sqlobject bind objects with the transaction they were first used in08:52
lifelessheres a square rule08:52
stubI agree that replacing the instances _connection is a good idea. We might lose some functionality, but I would call it dangerous functionality (being able to reuse an instance across transactions and/or threads)08:52
SteveAthat is not supported in sqlobject's model08:53
SteveAit is supported in the zodb, btw08:53
SteveAbecause the zodb has richer and better-defined semantics for when an object needs to get new state08:53
SteveAbut, has lead to "George Bailey" objects08:54
SteveAwhich was one of the more entertaining ZODB developers discussions08:54
=== SteveA digresses
stubIt is supported in SQLObject I think, provided your underlying database api does (such as psycopg). Probably not thread safe through without locking.08:54
SteveAokay, cool.08:54
SteveAit cannot be supported, because of how the caches work08:55
SteveAit cannot be supported because of what i'm describing.08:55
lifelessstub: I notice you went with pound, even after my extra data on the wiki :[08:55
SteveAmaybe it was designined in there, in a half-arsed way08:55
stubYour extra data on the wiki?08:55
lifelessstub: I updated the wiki page you put up with specifics for squid08:55
stubSteveA: Nah - it would have been purely by accident ;)08:55
SteveAbut, it is quarter-arsed support08:55
SteveAokay, so plan: make an object bound to the connection it is first used in.  make caches get cleared on commit.08:56
jameshstub: I suppose it would be a bad idea to make the test suite pick a random time zone for each run ...08:58
SteveArandom ain't good in tests08:58
SteveAjust ask tom lord08:58
jameshjust so long as we don't end up with tests that only pass in Calcutta.08:59
stubjamesh: I would support randomly choosing between Asia/Calcutta and Pacific/Pitcairn. Fully random has a chance of getting your current timezone ;)08:59
stubSteveA: Random test environment in an attempt to ensure things are environment neutral09:00
jameshPitcairn Island is where they molest children, right?09:00
stubjamesh: That is the one09:00
SteveAstub: no randomness in tests.09:01
SteveAif we need to do that, run the tests twice09:01
SteveAonce in each timezone09:01
SteveAbut don't introduce randomness09:01
SteveAunless you set the seed first ;-)09:01
stubSteveA: We already have randomness - every developer runs in a subtly different environment.09:03
stubBut I suspect running tests in a known timezone is good enough - it doesn't really matter if they are timezone specific tests, as long as the tests always run in that timezone09:04
SteveAthat is not randomness.  that is stable, but different in multiple locations.09:04
SteveAwe have randomness due to python's GC, though09:04
SteveAbut that only hurts when there's a bug in sqlobject, or other similar things.09:05
lifelessjamesh: do I have r=jamesh without mucking with that iterator foo ?09:07
jameshlifeless: yes.09:07
lifelessbtw you missed a PEP8 violation ;)09:08
lifelessthe sortedDictIterator's docstring was multiline - the ending """ should be on a line of its own09:08
lifelesshow is this for a docstring ?09:09
lifelessTopologically sort a list of dicts by the length of a a keyfield and provide an iterator to the result.09:09
jameshsounds good.09:09
lifelessok, can I ask a small favour ?09:10
jameshsure09:10
lifelesscan you review the patch robert.collins@canonical.com/cscvs--devel--1.0--patch-366 09:10
lifelessits mingled with the same branch - my bad - which is why its a favour that I am asking09:10
lifelessjamesh: also, your patch for added files is applied to mainline courtesy of matthieu moy09:13
lifelessstub: btw, rosetta script is triggering permissions09:13
lifeless3Mb emails are not cool. 09:13
SteveA the length of a a keyfield09:13
SteveAtwo "a" s09:14
stublifeless: It still happening? I fixed a permission issue for Carlos earlier.09:14
jameshlifeless: I'll get to the patch in a bit -- I've got some others I'm working on right now.09:14
lifelessstub: as of 1652 yes09:15
lifelessjamesh: thanks09:15
lifelessSteveA: good catch09:16
jameshstub: just looking at your branch testrunner branch.  I think it could easily deadlock while reading from the test script09:16
jameshsince it is doing blocking reads09:16
stubjamesh: That code is the same as the mechanism the subprocess module does it. If you do foo.read() it will block. If you do read(foo.fileno(),1024) it won't. 09:17
stubI think :-)09:17
SteveAlifeless: does it give a particular topological sort, where there's more than one possible sort?09:23
jameshstub: you are right09:25
lifelessSteveA: uhm09:26
SteveAjust curious09:26
lifelessSteveA: the interface is a topological sort09:27
lifelessthe implementation is key-length09:27
=== SteveA thinks he'd have to see the code to understand
jamesh"The main use for this is to keep the pqm queue flowing without having to give it a lifeless enema."09:31
stublifeless: fixed one more permission. No idea if it is the last one. *sigh*09:31
dilysNew Malone bug 1248 filed on product Registry by Morgan Collett: Bugs in RDF output09:32
dilyshttps://launchpad.ubuntu.com/malone/bugs/124809:32
lifelessjamesh: there are multiple deadlocks in the codebase09:32
lifelessjamesh: droopped connections to the local cvs in the tests, librarian connection issues, observed.09:32
jameshSteveA: the result is a topological sort of a set of path names.  It does it by sorting by string length, which works because the parent path name is always shorter than its children09:32
SteveAi see09:33
jameshlifeless: I just found stub's comment a little funny09:33
stublifeless doesn't find enemas funny - just a lifestyle choice09:34
lifelessstub: giving them is funny09:34
SteveAso you can get variable output depending on in what order the dict returns its items, when you have multiple keys of the same length.09:35
lifelessSteveA: right. and thats fine.09:35
stubWe have been on the public channel for 1 day and we are already discussing enemas.09:36
=== SteveA directs further discussion to ##personal-enema-stories
=== morgs [~morgan@wblv-146-236-76.telkomadsl.co.za] has joined #launchpad
=== morgs [~morgan@wblv-146-236-76.telkomadsl.co.za] has left #launchpad []
lifelessstub: your code won't fix the hangs09:44
lifelessstub: it needs to go into pqm, not launchpad.09:44
=== asmodai [~asmodai@sakko.demon.nl] has joined #Launchpad
stublifeless: What is the issue? Are the tests completing but PQM doesn't realize it or something?09:48
lifelessstub: there are three I've seen09:48
lifelesstwo are hangs in the test suite - one in the cscvs test suite, one in the lp test suite, and the third is the test suite dying off but leaving a stale process that is never reaped09:48
lifelessbasically the lp test runner is too deep in the stack09:49
stubok. I thought cscvs was being run from test_on_merge.py, but I see that isn't actually the case09:51
SteveAwhen i interrupt a test run, i often get a twistd process sitting around09:52
lifelessright09:53
SteveAany way to fix this?09:53
lifelessteach pqm to watch for output for 10 minutes, then kill all elements of the process group09:53
lifelessshould be much the same as the code stub wrote for the testrunner09:53
=== bradb-away [~bradb@modemcable082.64-130-66.mc.videotron.ca] has joined #launchpad
=== sabdf1 [~mark@217.205.109.249] has joined #launchpad
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
carlosmorning10:23
jameshlifeless: is there a more efficient way of getting the changes between two revisions of a branch than the commands I list at the end of this page? https://wiki.launchpad.canonical.com/TipsForReviewers10:24
jameshlifeless: the idea being to ignore merges from rocketfuel, and compare what the two different revisions look like merged to rocketfuel10:24
stublifeless: pqm has hung10:31
jameshon the subject of detecting test suite hangs, since the launchpad test suite doesn't print anything til it completes (both with and without stub's testrunner patch), pqm can't just check its stdout/stderr to detect whether it has hung or not10:33
stubjamesh: You can if you set the timeout to 40 mins or their abouts...10:34
stub(suboptimal, but still fulfills the basic requirements)10:34
jameshstub: sure, but it would be nice to have a shorter timeout than that10:34
stubyup10:35
jameshyou only want to kill the suite if things stop happenning; not if it takes longer than expected to run10:35
jamesh(I think)10:35
stubWe could redirect test output to stdout, then generate the end-of-test report to stderr. Might be best (?)10:35
stubjamesh: You didn't include a review in that message regarding Scott's branch10:38
carlosstub, I suppose I don't need to subscribe to the new topics you add if I didn't select any topic ever, right?10:47
carlosI mean, I should get all mails by default10:47
stubcarlos: That is correct. If you really want that much spam ;)10:47
carlosstub, well, atm we (Rosetta) are the kings of SPAM10:48
carlosso it's not a big issue, we are going to improve the log output so it gets reduced, but until that moment...10:48
lifelessstub enemad10:49
jameshstub: there wasn't really anything to review.10:57
stubjamesh: ok. it just read like there was supposed to be one ;)10:57
jameshstub: it was all conflicts (a lot of them being due to fixes on Mark's branch from my previous review)10:58
=== ddaa [~ddaa@marvin.xlii.org] has joined #launchpad
sabdf1mpt: thanks for the review11:03
mpta pleasure, sir11:06
=== mpt just saw WOTW, and will therefore be up working most of the night instead of futilely trying to get to sleep
sabdf1mpt: good?11:07
jameshmpt: was it any good?11:07
jordisabdf1: I just sent that mail.11:07
mptIt was better than ID4, which it most resembles11:07
jordimorning folks11:07
lifelessgreat movie, shame they fucked the plot11:08
mpt(in my *extremely* limited movie-viewing experience)11:08
sabdf1jordi!11:08
jordimpt: is ID4 "Independence Day"?11:08
mptjordi: yes11:08
lifelessjordi: yes11:08
jordimpt: I blogged about that one yesterday. So funny. :)11:08
jordisabdf1: hey mark11:08
mptThe ending was rushed11:09
jordiI haven't funny recovered from the early rise on Monday -- Stansted is *very* far away! I really need a nap...11:09
jordiI love when POTUS in person saves our asses.11:09
carlosjordi, morning11:11
SteveAi saw WOTW in sweden.  imo, the suckiest film i've seen in ages.  nice special effects, though.11:11
ddaaSteveA: even worse that THGTTG?11:11
ddaa'cause _that_ was baaaaaad...11:12
mptdeus ex machina!11:12
mptThat's what was wrong with WOTW, it was a big deus ex machina.11:12
jordicarlos: hola11:12
=== jamesh liked h2g2
mptdammit11:12
jordicarlos: when is "keys day", again?11:12
=== mpt liked h2g2 as well
jorditoday?11:12
=== Kinnison saw WotW last night. It was a perfectly acceptable hollywood candy sci-fi film. They butchered the plot a bit, but overall it was okay. The effects were good, the sound staging was thoroughly excellent.
Kinnisonh2g2 was fantastic11:13
carlosjordi, no, tomorrow11:13
Kinnisonddaa: I think that you simply haven't grown up with h2g2 in your national psyche and as such you don't understand why it is so good11:13
carlosjordi, I will try to prepare a lunch on Saturday there with some friends, If I get a table and some chairs... do you want to come?11:13
stubKinnison: How well do you know Gina? 11:14
jordicarlos: will be flying to .fi :/11:14
carlosoh, right!11:14
ddaaKinnison: I have been a h2g2 fan for years, although maybe my experience is a bit limited by being restricted to the novels.11:14
carlosjordi, have fun then ;-)11:14
jordicarlos: I was going to propose another day, but my nights are pretty busy this week.11:14
carlosjordi, well, I only have thursday and Friday night...11:14
jameshddaa: you need to realise that h2g2 has been subtly different in each incarnation, so the fact that the movie differed from the books a bit isn't necessarily bad11:14
jorditoday I invite some people for dinner, tomorrow I'll go to the cinema with beln and on Friday I should be busy packing11:15
ddaajamesh: no problem with that.11:15
ddaajamesh: my problem is about the movie being a BAD movie on its own merits.11:15
carlosjordi, btw, will I meet Belen ever?11:15
carlos;-)11:15
jameshddaa: okay ;)11:15
mptddaa: How good it is on its own merits doesn't matter, if it has a large target audience who are going to see it because it's a variation on the theme they know well11:16
jordicarlos: I guess. :)11:17
jordia few Canonical people did already. :)11:17
carlosjordi, really?11:17
jordisure, she was in London11:17
ddaampt: that it matters or not, does not matter, really :) I was just asking how bad WOTW was is comparison to h2g2, which prompted this discussion about whether h2g2 was really bad or merely sucky.11:17
jordiask mdz, we went out with him.11:18
carlosjordi, dude, I will not forget that, we live in the same city! ;-)11:18
jordila la la11:18
jordiQuim knows her too. :)11:18
=== ddaa suggests nobody tells him anything befor he had coffee and breakfast
Kinnisonstub: pretty well11:19
mptddaa: So you're asking people whose judgement you have good reason to doubt :-P11:19
Kinnisonstub: although I notice you and debonzi have been making more changes to her11:19
ddaampt: right11:19
ddaaYa11:19
ddaaYa all suck!11:19
dafmpt: you could equally argue that its own merits are even more important as it is a reworking of an existing plot and the audience will want it to live up to its predecessors :)11:20
KinnisonA lot of people don't realise that the film was meant to be the definitive plot rework by Adams11:20
KinnisonI.E. it is the story as he wanted to tell it11:21
stubKinnison: She is trying to read debian-installer/Packages.gz that doesn't exist. I just stuck an 'if os.path.exists' in there but don't know if that will cause other failures.11:21
mptWell, I've listened to the WOTW radio play, and the movie is completely different, it's not really worth comparing them.11:21
=== BjornT [10183@82-135-221-189.ip.takas.lt] has joined #launchpad
ddaaKinnison: I guess the poor lad was getting senile or something.11:21
dafsenile? he was 49 when he died!11:22
ddaathat's a bit premature for being senile, indee11:23
Kinnisonstub: that certainly sounds like what I would have done11:23
Kinnisonstub: essentially everything is keyed off what she reads from those Packages.gz files11:24
Kinnisonstub: and the d-i ones are "additional"11:24
stubOh joy! There is some Zopeless stuff in there too ;)11:25
KinnisonWell, she is a zopeless script11:26
stubKinnison: The DB-API level stuff isn't ;)11:27
Kinnisonstub: Remember she has to connect to two different dbs11:28
Kinnisonstub: But the KatieDB stuff is pretty irrelevant for us right now11:28
Kinnisonwe don't need it to do the imports we need currently11:28
stubKinnison: Yup. Sorted that. I was just surprised ;)11:28
stubKinnison: I expect that she will need some distributions, distroreleases, architectures, components and whatnot created on the production system. Are you designated victim for that?11:30
Kinnisonstub: *nod*11:30
Kinnisonstub: I guess so, I'll need access to an appserver to do that though won't I? (the UI isn't in place for it I don't think)11:30
=== matt_ [~mdke@81-178-116-62.dsl.pipex.com] has joined #launchpad
stubKinnison: I have no idea about the UI. Access can be arranged - I expect it will be simpler for you do do it directly rather than via me? Or better yet, do it on staging and cut & paste the the statements into a script to run on production?11:32
KinnisonSure, staging sounds sane11:33
=== Kinnison has never logged in there before
stubKinnison: I can give you access to the database from your mawson account.11:33
Kinnisonstub: that'll be grand11:33
Kinnisonstub: I'll construct a script to run and then punt it over to you11:34
Kinnisonstub: I'll need the commandline to run on mawson though since I'm not sure about remote pgsql connections11:35
dafpsql -h asuka.ubuntu.com -U ro launchpad_staging11:36
Kinnisonro?11:36
dafread only11:36
stublifeless: pqm has hung (22759 pqm       16   0     0    0    0 Z  0.0  0.0   0:00.01 make <defunct>)11:36
stubKinnison: What is your unix username again?11:37
dafyay pqm11:37
Kinnisonstub: dsilvers11:37
lifelesskilled11:37
Kinnisondaf: won't read-only mean I can't even test the inserts in a transaction though?11:38
dafdunno, ask stub11:38
carlosSteveA, sabdf1, stub we need gettext installed into production server or the .mo exports fail11:38
carlosdo you know if he will be available today?11:39
sabdf1elmo's moving today11:39
stubKinnison: psql -d launchpad_staging -U dsilvers -h asuka.ubuntu.com11:39
carloshmm, right, I forgot that :-(11:40
carlossabdf1, ok11:40
Kinnisonstub: yep, that seems to be good11:40
carlosthanks11:40
Kinnisonstub: I'll do everything inside a transaction to keep it clean11:40
sabdf1stub: can you install packages on macquarie?11:40
stubKinnison: You have write access to staging. Let me know if you screw it - I can reset the db (but it will take staging out for an hour)11:40
stubsabdf1: Nope11:41
Kinnisonstub: noted11:41
carlossabdf1, lifeless We have xchat and xchat2 products in launchpad. I think both should be merged as are the same...11:41
dafI asked elmo to install it on macquarie when I asked him to install it on staging11:41
Kinnisonstub: I have no access to things like processorfamily11:41
dafI guess there was a mixup11:41
stubWe will need it on asuka, macquarie, gangotri and mawson at a minimum. Possibly emperor too if it is required for build.11:43
carlosdaf, I think production is not on macquarie anymore. lifeless told me that we are moving into a clustering mode or something like that11:43
carlosstub, only at runtime11:43
carlosstub, for build we use an internal copy of gettext11:43
carlosstub, https://launchpad.ubuntu.com/errors/showEntry.html?id=1120642938.830.51439182828911:43
dafcarlos: arg, that could be it11:43
stubProduction is still on macquarie until elmo has time to sort the next steps of migration to gangotri11:43
dafstub: it's not required for build11:43
carlosstub, ^^^ Any idea to fix that?11:43
Kinnisonstub: I'll need fairly unrestricted access to make sure I hit all the right tables11:43
dafstub: it is listed on the Launchpad dependencies page11:43
Kinnisonstub: can you manage that easily, or do you need a list of tables from me?11:44
stubKinnison: You should have access to everything... hang11:44
stubcarlos: yes. Don't use selectOne if the query might return more than one result. Fix your where clause or use normal select and handle it returning 16000 rows.11:45
Kinnisonstub: Also, what "person" should be owning all of this?11:45
carlosstub, the selectOne is not used in my code11:45
stubKinnison: I have no idea. That was one of the things I was hoping you might be more familiar with ;)11:45
Kinnisonstub: Do we have a "nobody" type person?11:46
carlosok, it is11:46
stubcarlos: Then the code you are relying on is broken. Still needs to be fixed the same way.11:46
carlosstub, but it should not get more than one row11:46
carlossorry, I looked at it yesterday11:46
=== asmodai [~asmodai@sakko.demon.nl] has joined #Launchpad
stubKinnison: Nope - everything that can be owned should be owned by something sane. We can create groups, but the owner of the distros and distroreleases should probably be Mark for now.11:47
KinnisonSo at some point we'll go through everything owned by Mark?11:48
stubKinnison: What do you need to create besides the DistroReleases that have an owner?11:48
Kinnisonprocessor families, processors11:49
Kinnisondistributions11:49
Kinnisondistroarchrelease11:49
stubKinnison: They have owners??? Yech - I have *no* idea who/what should own them :-(11:49
KinnisonWell, right now I can't even select from person11:51
Kinnisonor distribution11:51
stubI can't think of a reason why processor families or processors should have an owner, or even what it would mean if they have one. I suspect these will need to have their owner set to 'admins' and we drop the owner columns after clarification with Mark.11:51
Kinnisonso I'll see what I can come up with, once I can read the data11:51
stubKinnison: I'll sort your perms now11:51
jameshdaf: your daf@c.c--2004/launchpad--trivial--0 branch has been sitting in merged-conditional state for a long time.  Is there anything that needs to be done before you can merge it?11:51
dafjamesh: Steve pointed out a bug in the algorithm -- I should probably just take it out of the queue11:52
dafuntil I have a fix for it11:52
dafSteveA: I believe you had a suggestion for a better fix11:52
carlosstub, isn't this method correct?: https://chinstrap.ubuntu.com/~dsilvers/paste/filefYmv0s.html11:52
SteveAfix to what?11:52
stubKinnison: Argh... I know. I needed to reset staging after PQM accepted my patch. Which it hasn't done yet. I'll get back to you.11:52
dafSteveA: this is to do with the tab escaping code11:53
Kinnisonstub: Right, so when will that be? 2h? 3h?11:53
carlosstub, with that code is impossible that we get more than one ProducRelease, right? or am I missing anything?11:53
dafSteveA: you pointed out that it it wouldn't round trip properly if you had an odd number of backslashes11:53
jameshdaf: I think Steve's explanation made sense (that only "[tab] " and "\[tab] " are important)11:53
jameshdaf: so not highlighting the extra backslashes is fine11:54
SteveAdaf: we discussed a new method of escaping, using [[tab] ]  or [[[tab] ] ]  and a way of using regular expressions + a simple function to match it11:54
SteveAjamesh: the existing \[tab]  thing is lossy :-(11:54
dafright, so I should merge that branch and change the escaping method later?11:54
stubcarlos: That code is broken. There is no product.id == productseries.product, or productrelease.productseries == productseries.id11:54
carlosstub, then we have more code broken inside vocabularies11:55
SteveAdaf: yeah, i think we need to change the escaping method, and what we intend to do should be written up somewhere.11:55
SteveAdaf: but it is good to merge the current improvements now.11:55
dafok, thanks for clarifying11:55
carlosDistroReleaseVocabulary11:56
carlosstub, is there an easy way to test a vocabulary?11:57
SteveAget the vocabulary, call its API11:58
SteveAa vocabulary is a named utility11:59
stubcarlos: Have a look at canonical/launchpad/doc/vocabulary.txt -- add more tests there11:59
carlosok12:00
carlosthanks12:00
daflifeless: can you tell me if I have a merge waiting in the queue, or did it get lost when PQM got booted?12:01
mptWho here is experienced with Debian elections?12:02
lifelessdaf: pqm boots don't lose merges - they either fail clean or retry12:02
daflifeless: ok, that's reassuring12:03
SteveAmpt: mako12:03
mptof course12:03
mptta12:03
=== jordi [~jordi@115.Red-213-96-69.pooles.rima-tde.net] has joined #launchpad
Kinnisonstub: from what I can find on the website, we might have a large proportion of the right stuff in the db already12:07
Kinnisonstub: all we need is to get the gaps filled for gina :-)12:07
stubKinnison: Yup. I think everything is there for hoary, which is what I'm running gina against for testing.12:08
Kinnisonstub: cool12:08
stubAt least until it died with a permission error ;)12:08
=== stub taps his foot impatiantly
=== Kinnison grins
=== jamesh looks at salgado's patch and boggles that we have two PersonSet.createPerson's
sabdf1jamesh: oops, pinged you on #ubuntu-devel12:31
stubKinnison: perms sorted.12:31
Kinnisonstub: cool thanks12:32
Kinnisonstub: So we're going with making everything owned by launchpad admins for now?12:32
Kinnisonstub: or by mark?12:32
stubKinnison: distros and distroreleases by mark, components, architectures, processors, processorfamilies by launchpad admins (unless you can think of a better idea) and drop the columns later. Don't know about anything else.12:33
Kinnisonokay12:33
stubKinnison: This only has to run on production, so you can use integer ids to keep things simple.12:34
Kinnisonseems sane12:34
sabdf1Kinnison: we need to find a relevant owner for the distros and distroreleases12:34
=== Kinnison nods
Kinnisonsabdf1: Clearly there should be an ubuntu team12:34
Kinnisonsabdf1: to own the project, product, distro etc12:34
stuberm - but don't assume stuff *you* insert will get the same integer id when run on production....12:34
sabdf1Kinnison: in production, there is already an ubuntucommunitycouncil12:34
sabdf1and an ubuntumembers12:34
Kinnisonstub: aye, I know12:34
sabdf1we should not be auto-creating distros and distroreleases in scripts12:35
Kinnisonsabdf1: I don't think either of them are quite right12:35
Kinnisonsabdf1: we're not12:35
=== Kinnison is writing an sql file for stub so we can get gina going on production ASAP
stubsabdf1: Kinnison is being my bitch12:35
sabdf1stub: good choice12:35
sabdf1kthkxbye....12:35
=== Kinnison only intends to enable x86,ppc,amd64
KinnisonWe're not importing ports.ubuntu.com for now12:37
KinnisonAs a comment, someone has chosen the shortname 'admin' (or been given it)12:39
KinnisonThis is a touch close to our 'admins' team for comfort12:39
stubWe have no blacklist - I can change it easily enough but someone else would get it again I think (or I could just create noise entries to chew up names?)12:39
KinnisonERROR:  permission denied for sequence component_id_seq12:40
dafI think PQM is wedged again12:41
daflooks like it's stuck in the hct/sourcerer tests12:42
stubKinnison: fixe12:42
Kinnisonstub: https://chinstrap.ubuntu.com/~dsilvers/paste/filepwdbDG.html12:43
Kinnisoneh?12:43
daflifeless: ^^12:44
stubKinnison: ERROR:  permission denied for sequence component_id_seq12:44
SteveAstub: we should have a blacklist system, but i don't think it is urgent.  a topic for brazil perhaps?12:44
Kinnisonstub: pardon?12:45
SteveAsabdf1: i don't see your topics for brazil on the wiki yet.  are they up there somewhere?12:45
sabdf1SteveA: sorry, i dropped the ball there12:45
sabdf1will do it shortly12:45
SteveAcheers12:45
sabdf1i'll just dump it in as plain text, for jazzing up later12:46
=== SteveA --> lunch with pseudo relatives
stubKinnison: I fixed the permission denied error you got12:46
Kinnisonstub: and subsequently I got that error I nopasted12:46
stubKinnison: The 'duplicate' error you pasted indicates the sequence got out of whack.12:46
stubKinnison: It should work if you try it again12:46
Kinnisonstub: okay12:46
Kinnisonstub: cool, seems good12:47
KinnisonINSERT 923517353 112:47
Kinnisoncor that's a big OID12:47
=== stub pokes the production sequence too...
KinnisonCan someone explain what the schema table is all about?12:50
ddaaKinnison: I think you should use a distinctive nickname if you are this annoyed by people calling you like that.12:54
ddaaKinnison: maybe something like danielss12:54
Kinnisonddaa: I got accused of being in the Nazi secret police when I did that12:55
stubsabdf1: ^^^ schema table? It ain't documented12:55
ddaaBTW, could anyone remind me what Gina does?12:55
Kinnisonddaa: I'm tempted to simply establish another connection to freenode as 'dsilvers'12:55
stubddaa: Not much at the moment ;)12:55
ddaaI hear of running gina on warty, so I'm wondering how that would be related to some sort of import work.12:56
stubddaa: It appears to dredge archive.ubuntu.com and extract information from all those source and binary packages.12:56
ddaaKinnison: as you as you don't mind people calling you deesilverz12:56
ddaastub: to what end?12:57
ddaaI guess that's the thing that has created those tons of dummy products and stupid "head" series in launchpad...12:58
stubddaa: To populate the launchpad database with interesting information, so hct can branch, so rosetta knows what can be translated, so malone knows what can have bugs reported on it and whom to notify.12:58
sabdf1SteveA: https://wiki.launchpad.canonical.com/BrazilTopics12:58
Kinnisonddaa: If it really has to be something I'm prepared to be referred to in speech then I guess I'll have to log in as 'GingerNinja' or something12:59
sabdf1i've put stuff there for mpt, stub, daf, carlos, spiv, bradb, keybuk and kinnison12:59
stubddaa: I don't think Gina knows about products - just sourcepackages and binarypackages. Nicole was going to link them to Products, but the data sources were too dirty12:59
Kinnisonsabdf1: thanks, I'll look in a sec12:59
sabdf1pelase could i ask you guys to break those things (that are understandable) into separate specs12:59
sabdf1also add your own specs for features you want to discuss12:59
Kinnison;nods12:59
sabdf1and label them BrazilTopic12:59
ddaastub: okaydokey, so that essentially does not interfere with the doap things we're doing here. Thanks.12:59
Kinnisonstub: I'm just pondering... distrorelease, distroarchrelease and component. I think that's all gina relies on and can't create01:00
sabdf1ddaa: i don't mind doing a mass rename of head to main...01:00
Kinnisonstub: other than that, she'll make people, sourcepackagereleases etc01:00
ddaasabdf1: not the right time for that, as importd cannot cope with job migration.01:00
sabdf1ddaa: ok01:01
sabdf1in due course01:01
stubKinnison: debonzi said t'he distribution, distrorelease, the distroarchreleases, the components, processor and processorfamily'01:01
Kinnisonstub: yeah, distribution is already there, as are the processor and processorfamily entries01:01
Kinnisonstub: care to cast your eyes over mawson:~dsilvers/add-distro-for-gina.sql and let me know if it looks complete to you?01:01
ddaaKinnison: that would be a reasonable thing to do (GingerNinja), or pick an _utterly_ unpronouceable nick like dnlslvrstn... though I can predict that people will then call you "danielsilverstone" or "all consonnants".01:03
stubsabdf1: What you talk about in cve handling makes it sound like it wants to be a bug watch01:03
sabdf1stub: hmmm.....01:03
=== Kinnison wonders why sabdf1 isn't sabdfl today
sabdf1Kinnison: nickjam01:05
ddaa"it's one for the money, two for the show"01:05
sabdf1i moved from home to the office01:05
Kinnisonsabdf1: is that like toejam?01:05
stubKinnison: Change your nick to kiko201:05
Kinnisonstub: *snigger*01:05
sabdf1Kinnison: just not as tasty01:05
=== Kinnison makes a mental note to cause sabdfl mental pain at some inopportune moment in the future
Kinnisonsabdf1: BTW, did anyone find 9 dead gay guys on your plane?01:05
sabdf1Kinnison: ?!?01:06
=== Kinnison thinks he left the DVD there after sydney
sabdf1we dumped the bodies over the atlantic!01:06
ddaathe right answere is:  :)01:06
Kinnisonddaa: mu to you too01:06
=== mdz [~mdz@217.205.109.249] has joined #launchpad
Kinnisonhi mdz01:07
mdzmorning01:07
Kinnisonstub: Does that patch look right?01:07
ddaaI've been learning how to type it in japanese, so happpy to have a chance to use it :)01:07
Kinnisonddaa: *g*01:07
stubPatch? I see no steenking patch?01:07
carlosddaa, just get daf's laptop and it will start printing japanese characters without any notice, you don't need to learn how to type them, they will just appear :-P01:08
=== ddaa wonders whether there are han ideogram subsitutes for common smilies
Kinnison12:01 < Kinnison> stub: care to cast your eyes over mawson:~dsilvers/add-distro-for-gina.sql and let me know if it looks complete to you?01:09
Kinnisoncarlos: mine does hebrew with little bidding01:09
carlosKinnison, another laptop I should not touch ;-)01:10
stubKinnison: That all looks fine thanks (although I guess that rollback will need to go ;) )01:11
Kinnisoncarlos: tbh, you have to manage to press both shift keys at the same time to change keymap01:11
Kinnisonstub: aye01:11
Kinnisonstub: that's just for testing01:11
dafis there anyone apart from lifeless who can boot pqm?01:13
Kinnisonelmo01:13
Kinnison(who is moving today)01:13
dafright01:13
dafapart from lifeless and elmo...01:14
Kinnison...what have the romans ever done for us?01:14
dafnothing!01:17
carlosKinnison, could you take care of https://launchpad.ubuntu.com/malone/bugs/1249/ ?01:17
KinnisonSorry, you don't have permission to access this page.01:17
KinnisonYou are logged in as Daniel Silverstone01:17
Kinnisonapparently not01:17
carlosKinnison, still outside the admin team?01:18
Kinnisonnope01:18
KinnisonDaniel Silverstone is01:19
KinnisonApproved Member of Launchpad Administrators01:19
Kinnison Administrator of The Aranha Team01:19
carlosKinnison, then it's a malone bug...01:19
carlosKinnison, retry now, please01:19
KinnisonI can see that now01:19
carlosbradb-away, BjornT did you changed anything about private bugs visibility?01:19
Kinnisoncarlos: I'm not in the launchpad developers team01:20
Kinnisoncarlos: only in the admin team01:20
=== Kinnison joins the developers team
carlosoh, I thought it was the same...01:20
Kinnisonnup01:20
=== Kinnison waits for stub to approve his membership
carlosKinnison, done01:21
=== stub waits for the notification to arrive (?)
carlosstub, I did it already01:22
stubYay - somebody else knows how to drive it!01:22
=== stub quickly revokes his admin roles
carlosx-)01:22
KinnisonHow do I unsubscribe my specific CC?01:22
carlosstub, I'm managing most of the Ubuntu l10n teams 01:22
carlosKinnison, there is no way, change it to Watch so you don't get the emails twice01:23
Kinnisonpity it uses my person number and not my name01:23
Kinnisoninthe URL01:23
KinnisonAnyway, I shall read the bug now01:23
carlosstub, would you apply to production the patchset I sent you some hours ago? Pretty please :-)01:24
stubnag, nag, nag ;)01:24
=== stub sends the merge request to pqm and waits until next week
carlos;-)01:24
stubGina is still a noise bitch01:26
stuberm... noisy01:26
Kinnisonstub: aye, but consider how annoying women are who won't actually *TELL YOU* when something is wrong01:27
stubKinnison: I've gone a fair way to making her shut up until you ask for her input ;)01:28
stubStill some subprocess output leaking through01:28
=== Kinnison nods
Kinnisondpkg-source -x mostly I guess01:28
sabdf1mpt: i'm afraid someone has revered the user_icon to the ShadowMan, could you fix it please?01:32
mptsabdf1: sure01:33
sabdf1thanks. re-revert it!01:33
carlosdid we lose the feature to move bugs from one product to another?01:35
carlosI'm not able to move https://launchpad.ubuntu.com/malone/bugs/893 from launchpad to Rosetta01:36
carlosat least I don't see where should I do it...01:36
Kinnisoncarlos: So, that bug01:37
Kinnisoncarlos: I think your answer looks good01:37
Kinnisoncarlos: although won't it need a clauseTables?01:37
carlosKinnison, I fixed the same problem with ProductReleaseVocabulary01:37
carlosKinnison, no, as the way it uses SQLBuilder01:37
Kinnisoncarlos: Right01:38
Kinnisoncarlos: Well, seems you know the answer and since I'm not an SQLObject guru, nor do I understand the Vocabulary objects right now, you're best placed to fix it01:38
Kinnisoncarlos: but agree with your concern and your proposed fix01:39
carlosok, not sure if that would break other things in Soyuz01:39
carlosif you think the fix is ok, will apply the fix now01:39
carlosthat vocabulary will break on production as soon as we import warty and breezy 01:40
KinnisonWell all of soyuz is meant to assume unique distroreleasename in distribution01:40
carloshmm,  perhaps it will not break with hoary and breezy as we only have one distribution, right01:41
carlosbut the DB model was changed to let us have two releases with the same name01:41
carlosstub, wasn't it?01:42
stubKinnison: What prints "Check Sourcepackage libtie-cache-perl Version 0.17-1 before process it01:42
stub"01:42
Kinnisoncarlos: aye, the UNIQUE is (name,distribution)01:42
Kinnisonstub: not a clue01:42
carlossabdf1, I need to add some sample data to add a test for that bug, did you merge your changes already?01:43
=== cprov [~cprov@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
cprovmorning all01:45
Kinnisonhi cprov01:45
cprovKinnison: hi there, how is it going, hopefully I'll be back to buildd review soon, gpg-ng is almost done01:46
cprovstub: ping 01:46
Kinnisoncprov: excellent news01:46
stubcprov: pong01:46
cprovstub: have you looked the patch to rename GPGkey.revoked to active ?01:47
stubcprov: Nope - my queue is empty. No idea where the patch is.01:48
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Rosetta permission updates (patch-2031: stuart.bishop@canonical.com)01:48
ddaaYiiiiiipeee!01:49
cprovstub: still in jamesh's .. but could you preempt the movement and goes there (celso.providelo@canonical.com/lauchpad--gpg--ng--0) ?01:49
ddaaEP finally rejected the swpat directive!!!!01:49
ddaahttp://mail.fsfeurope.org/pipermail/press-release/2005q3/000109.html01:49
Kinnisonddaa: Quite definitively too01:49
cprovstub: i'm finishing the last small changes required by jamesh ...only UI01:50
ddaaKinnison: they'll come back. But that's a significant victory, as the political class is now a bit more educated about the stakes and tricks involved in the issue.01:50
=== Kinnison nods
KinnisonHmm, London got the Olympics01:52
ddaaGood for you guys. The Paris campain was abysmal :)01:52
=== Kinnison yawns
=== Kinnison decides it's lunchtime
Kinnisonring me if you need me01:53
carlosKinnison, and software patents were rejected ;-)02:00
Kinnisoncarlos: yes, ddaa said02:08
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  sync with database after updating Packaging records for +ubuntupkg page (patch-2032: james.henstridge@canonical.com)02:12
daf/home/pqm/arch/queue/workdir/rocketfuel@canonical.com/rocketfuel@canonical.com--+-launchpad--devel--0/launchpad/lib/canonical/launchpad/ftests/../pagetests/foaf+/30-mergepeople.txt ... /bin/sh: line 1: 18718 Killed02:17
dafhumph02:17
carlosfuck, breezy has been imported already into launchpad...02:17
Kinnisoncarlos: pardon?02:17
carlosKinnison, breezy has been created into production02:17
carlosso all its transaltions are being imported atm 02:18
carlosand I was not ready02:18
Kinnisoncarlos: It has been created, yes02:18
Kinnisoncarlos: oh02:18
Kinnisonsorry02:18
carlosinstead of 41 reviews now I have 187...02:18
KinnisonMy patch created all the relevant bits of distroness for Ubuntu02:18
carlosKinnison, it's my fault I should did this review long time ago02:18
carlosso don't worry02:18
Kinnisonokay02:19
=== Kinnison ponders his lunch once more
=== debonzi [~debonzi@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
=== morg1 [~morgan@wblv-146-236-76.telkomadsl.co.za] has joined #launchpad
=== salgado [~salgado@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
debonzihi all02:23
=== carlos -> lunch
cprovstub: I've finished jamesh requests, should I move the branch to your queue just for registering or it's no necessary02:25
stubcprov: i have already created it in my queue02:26
cprovstub: I see, tks02:27
stubcprov: Do you know what is printing all these "Check Sourcepackage xtartan Version 2.3-10 before process it" lines in gina ?02:28
stubdebonzi: ^^^02:28
debonzistub, yep... on gina.py import_sourcepackage and import_binarypackage ... it still have some print calls 02:30
debonzistub, I didn't change they on my patch... sorry02:31
stubdebonzi: Ahhh! I was grepping in lib/canonical ;)02:32
debonzistub, heh.. do you want me to change then together with the test stuff or will you change them by tourself?02:33
debonzis/tourself/yourself02:33
debonzistub, did you get gina running for hoary?02:33
stubdebonzi: Looks like it, although it hasn't finished02:34
stubdebonzi: I'm make these last few tweaks and leave a run overnight02:35
kiko-zzzhere I am02:35
kiko-zzzo/~ rock you luck a hurricane o/~02:36
jameshkiko: are we having a reviewer meeting tonight?02:36
kikoI was supposing it would happen in 20m 02:37
jameshgood.  just checking.02:37
kiko(even though we didn't send out mail on the subject)02:37
debonzistub, cool... and how about warty and breezy? did you talk with Kinnison/mark?02:37
Kinnisondebonzi: myself and stub got things ready for the run today02:38
debonziKinnison, that is great.. tanks Kinnison 02:38
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Improved the test for #1036 so it detects future breakages (patch-2033: carlos.perello@canonical.com)02:39
sabdf1stub: your mod to -39-0.sql needs a tweak, i think02:42
stubsabdf1: eh?02:42
sabdf1 UPDATE CVERef SET cvestate=2 WHERE cveref LIKE 'CVE-%';02:42
sabdf1these lines will not work02:42
sabdf1there's only one of them, but for correctness...02:42
sabdf1so i guess the update has to be, like:02:43
sabdf1UPDATE CVERef SET cveref=substring(cveref from 5), cvestate=2 WHERE cveref LIKE 'CVE-%';02:43
sabdf1do them both at once02:43
sabdf1same for the CAN's02:43
sabdf1stub: make sense?02:45
stubsabdf1: yes - that is correct. I'll fix it now (I have that branch open)02:45
Kinnisoneww, is sql 1-based offsets too?02:45
sabdf1stub: ok cool02:45
sabdf1Kinnison: hideous, innit02:45
Kinnisonsabdf1: I'm shuddering as we speak02:46
Kinnisonicky02:46
sabdf1salgado: pls see mail02:47
salgadosabdf1, just saw it. (and I'm already taking care of it. ;)02:47
sabdf1salgado: thanks ;-)02:47
jameshlaunchpad looks really pretty now02:51
sabdf1jamesh: thanks :-)02:52
sabdf1salgado: i've just mirrored up a few more tests02:53
=== sabdf1 [~mark@217.205.109.249] has left #launchpad []
kikojamesh, salgado, SteveA, stub: it's that #canonical-meeting time03:02
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Permission and patch fixes (patch-2034)03:02
stubmeeting?03:02
kikoheh03:02
kikostub, it's the reviewer meeting; we had proposed to invite you to participate if you so wanted to03:03
=== stub can't seem to join
jameshstub: same password as for the other channels03:04
dafuse the password, luke^Wstub03:04
kikotalentlesstramps03:04
=== kiko ####
Kinnisongo kiko03:04
dafoh dear03:04
=== morg1 goes out for a bit...
SteveAkiko: 03:22
kikocanonical-meeting baby03:23
SteveAwhat's the password again?03:23
kikovery funny03:23
salgadojblack, around?03:25
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Fixed a bug with ProductReleaseVocabulary + test (patch-2035: carlos.perello@canonical.com)03:29
jblacksalgado: Sure am, though I'm a little hectic at the moment. WHat's up? 03:29
mptsalgado: Sorry I've taken so long to finish BasicVoting03:30
salgadojblack, had a problem trying to merge rocketfuel: https://chinstrap.ubuntu.com/~dsilvers/paste/filey9keu4.html03:30
salgadojblack, seems to be always reproductible, with baz COTM03:30
mptsalgado: My main blocker now is knowing exactly what is going to be presented when a preferential voting poll closes03:30
salgadompt, no worries. I still owe you some answers for questions you raised.03:32
mptsalgado: and thanks for your work on decruftify-b--103:32
jblacksalgado: Could you msg me the up for that url? A couple weeks ago I had a filesystem failure (two, actually) 03:38
salgadojblack, sure03:39
=== lamont [~lamont@mix.mmjgroup.com] has joined #launchpad
SteveAmpt: a table, 1st column is number of votes.  subsequent columns are the preferences.  one row in the table for each unique set of preferences observed.03:43
mpthmmm, that makes sense03:44
mptthough it might get very long03:44
SteveAyes03:44
SteveAbut short as can be, if we're not calculating the results03:44
SteveAi'd suggest sorting by number of votes.  not sure what to sort on after that.03:45
SteveAjamesh: would it be possible to have scripts that represent the operations in TipsForReviewers available in RocketFuel and on chinstrap as scripts that run with a few simple options?03:49
jameshSteveA: I suppose so.  Sounds like a good idea03:50
dilysNew Malone bug 1251 filed on product Bazaar by Guilherme Salgado: baz merge always failing with "exiting on botched invariant"03:51
dilyshttps://launchpad.ubuntu.com/malone/bugs/125103:51
mptCOW03:53
mptMoin ate my changes again03:53
SteveAyou have the moin editor backup thing?03:54
mptyes, but I hadn't clicked "Preview" yet for these changes, so the backup is even more out of date than the current version03:55
dilysMerge to rocketfuel@canonical.com/launchpad--production--1.24: Cherry pick patch-2026 into productin (patch-3: carlos.perello@canonical.com, rocketfuel@canonical.com)03:55
carlosstub, thanks03:55
salgadojamesh, I'm quite sure that extra createPerson() method is the result of a badly solved conflict. I'm merging from rocketfuel now and will reply to your review soon03:59
=== morgs [~morgan@wblv-146-236-76.telkomadsl.co.za] has joined #launchpad
jameshsalgado: yep.  There are two createPerson()'s in rocketfuel too (not just your branch)03:59
jameshsalgado: so fixing it is good.04:00
salgadojamesh, sure. I'll fix it. I think it's that because I don't have these two createPerson()s on my branch04:02
jameshsalgado: okay.  I assumed you'd removed one, rather than one being added on rocketfuel :(04:03
lifelessdilys: ping04:08
lifelessbah04:08
lifelessddaa: ping04:08
ddaalifeless: pouet04:08
ddaawazza?04:08
lifelessddaa: can you do your rollout foo for me, for robert.collins@canonical.com/cscvs--devel--0, and cherry pick robert.collins@canonical.com/launchpad--devel--0--patch-139 into the launchpad checkout on the importd machines ?04:09
ddaaduh launchpad is down :(04:09
lifelessddaa: I've been fighting test failures all evening on this :[04:10
lifeless- fixes svn update and the x bit.04:10
ddaaha, so you reckon update was broken?04:10
=== Keybuk [~scott@descent.netsplit.com] has joined #launchpad
lifelessyes04:10
ddaawhat's the status of /tmp cleanup? Just out of curiosity.04:11
ddaaIf I have to make a rollout, I'd rather roll that one out as well.04:11
lifelesscode for that was going to be written tonight, but after the test wrangling I went through, it ain't gonna happen04:11
ddaacause otherwise I expect we're going to have /tmp trouble on hoover soon04:11
lifelesswill be my first thing tomorrow morning though04:11
ddaamind if we delay that rollout until that is done too?04:12
bradbmorning all04:12
kikomorning bradb04:12
ddaalifeless: ?04:12
bradbhey kiko 04:14
lifelessddaa: yes04:14
ddaaokay will do04:14
lifelessddaa: kamion has a bunch of stuff pending04:14
=== bradb notes it's never fun to wake up to a pqm failure message in one's Inbox
=== ddaa wipes out tmp cruft from hoover slaves
kikojamesh, the header padding in PR could use some beautifying :-P04:15
kikoand I had an idea04:15
kikoif the branch had conflicts 04:15
kikoinstead of merge04:16
kikoprint "conflicts (23)" as the linktext04:16
jameshgood idea04:16
kikothat removes the need for the (conflicts) header04:16
kikoand then04:16
kikoaha04:16
kikoone way to solve the header padding04:16
kikoremove the header border04:16
kikoIOW the border only starts right under the "Date  Branch [...]  Full" header 04:17
kikojamesh, sound reasonable? the Run Date being so glued into the border was bothering me04:17
jblackis lp broken?04:18
jameshsounds like a good idea04:18
kikolp is down apparently04:18
kikolifeless?04:18
mptbradb: Better that it failed while you were sleeping than that it failed while you were waiting for it04:20
bradbindeed04:20
=== bradb hits the shower while make check runs
=== asgeirf [~asgeirf@203-206-229-169.dyn.iinet.net.au] has joined #launchpad
lifelesskiko: I don't have the account on the new box yet04:26
kikolifeless, uhm. can you elaborate?04:26
lifelesskiko: we're moving boxes04:26
lifelesskiko: but nm, it looks like prod is building a clean run now04:27
kikooh. right now?04:27
kikocool04:27
lifelessshould be up now04:29
=== lifeless larts stub
kikothanks mr.04:29
salgadolifeless, have you seen https://launchpad.ubuntu.com/products/bazaar/+bugs/1251 ?04:29
salgadojamesh, still around?04:30
jameshsalgado: yep04:30
salgadojamesh, would you like to have a look at the changes I did after your review of my smallfixes branch?04:30
jameshgrabbing them04:37
salgadojamesh, great. thank you04:38
mptwow, moin logged me out twice in two hours04:42
=== mpt applauds
jameshsalgado: your changes look good.04:47
jameshsalgado: I'll set your branch to merge-approved04:47
ddaalifeless: I see that your cscvs is not up to date with mine (i.e. production)04:47
ddaalifeless: is that intentional?04:48
salgadojamesh, cool. thanks04:48
lifelessddaa: I merged mainline in, 04:48
lifelessddaa: just merge mine into yours04:48
ddaaOkay, I'll do that and run the tests. That may take some doing though. Mesh merge sucks.04:48
ddaaNote that I do not say _your_ mesh merge.04:49
ddaaIt's just that it does not actually work as expected.04:49
=== mpt wonders why three-way diffs don't use lines that differ only by a small amount (e.g. indentation) as a guide to grouping and ordering chunks
ddaacause diff and friends are purposefully stupid04:52
=== SteveA valiantly resists the urge to rewrite large chunks of sqlos and sqlobject
jblack04:56
mpt[0014] 04:56
ddaa04:57
mptooo, pretty04:57
ddaa"appearance of a dragon walking" according to wikipedia04:57
ddaaor "here be a dragon" according to me :)04:57
jblacksorry for the reverse S. 04:57
mptit's a degrees symbol according to AbiWord :-/04:58
jblackI meant to switch over to go back to ddaa's email. : )04:58
jblackOoohhh. I wonder how I made it.04:58
jblack ? 04:58
mptno, 04:58
jblackI can't do ctrl-x. :( 04:59
mptand in OOo it's a box04:59
mptbah04:59
ddaahttp://en.wiktionary.org/wiki/%E9%BE%9804:59
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Fix patch-17-39-0 gooder (patch-2036: stuart.bishop@canonical.com)05:01
kikoSteveA, about linkifying, what do you suggest I do?05:07
SteveAkiko: which bit?05:07
kikothe escaping issue.05:08
SteveAi want to be the one to integrate your work into launchpad, as i want to take responsibility for the conceptual integrity of the TALES additions05:08
SteveAso, i'll happily handle that part05:08
SteveAmaybe you can do the bug lookup ?05:08
kikoyes05:08
kikoI'll handle that now05:08
SteveAcool05:08
kikocan I do a full import?05:08
kikoi.e. in the header05:08
SteveAof?05:08
kikowithout being concerned about dependencies 05:08
kikoof interfaces.bug05:08
SteveAyou can always import interfaces anywhere05:08
kikookay05:09
SteveAinterfaces.IBugSet05:09
SteveAthat's the beauty of interfaces05:09
kikoI thought it would be nice to be able to linkify to a task05:09
kikobug x task y05:09
SteveAcool.  anything goes if you use interfaces05:09
SteveAgo wild05:09
kikowhere y would be a context05:09
kikobut that won't ever work :-(05:09
kikobug 23 context product foo05:09
SteveA___bug_23_on_product_foo__ ?05:10
kikobug 23 product foo05:10
ddaamh... actually, "baz merge" seems to work better when merging by smaller steps...05:10
kikomaybe05:10
SteveAtalk to mpt05:10
SteveAhe will give ideas05:10
kikohe's the ideas man05:10
kikookay05:10
mpt_bug 123 in ubuntu hoary_05:10
kikoSteveA, let's try and get this in tonight so malone shines next week?05:10
mptmmmmm, brittle05:10
kikompt, how do I know what ubuntu hoary is?05:10
kikodistro or product?05:11
mptyou don't know whether it's a product or a distro05:11
mptsnap05:11
kikookay, that'll be step 205:11
kikoright05:11
SteveAkiko: depends how my database fixes and menus fixes go.  this is just polish, so it has to come at a lower priority than those.05:11
mptkiko: so, you can't05:11
SteveAkiko: i'll se what i can do, though05:11
kikoSteveA, but those aren't going to land today, are they?05:11
SteveAsure they are05:11
kikoaieee05:11
mptkiko: just link to the bug, and let Demystifying v2 sort out the workflow from there05:11
SteveAthere's a small menus fix05:11
kikompt, okay.05:11
SteveAand a pretty small database infrastructure change05:12
kikoSteveA, I'll get you the patch in a few minutes05:12
mptSteveA: Will the LaunchpadMenus spec need updating with new instructions, and if so will you have time to do so?05:12
SteveAi think landing your stuff won't take long, provided you have written tests05:12
lifelessnight all05:12
SteveAmpt: i won't have time for that today.  maybe daf can help?  what new destructions?05:12
jblacksleep well.05:12
mptSteveA: Only if you're making changes on how the menus are programmed05:13
mpton -> to05:13
kikobradb, can you write tests for the linkify thing?05:13
kikoi.e. do you have time to do this right about now05:13
mptSteveA: and document the +debug-menu thing perhaps05:13
kikoI'll send you the patch if so05:13
bradbkiko: not right now, sorry, desparately trying to merge FBN05:13
SteveAmpt: no API changes at present.  just implementation fix from a bug daf reported.  maybe you or daf can document the +debug-menus thing?05:14
bradbkiko: if it's something i can do later, i can do it later05:14
mptSteveA: ok05:15
ddaaThat's it :)05:17
=== elmo [~james@217.205.109.249] has joined #launchpad
ddaaHear! People of the launchpad!05:17
ddaawhen "baz merge" gives you grief05:17
ddaado "baz missing -s" for the target branch05:17
ddaaand then do stepwise "baz merge" at several points along the line05:18
ddaaparticularly around merge points05:18
ddaayou can tell merge points using "baz merges REVISION" (note the s)05:18
jblackAhhh. They've got a hole. 05:18
SteveAthere really should not be an API that is 'baz merge' and 'baz merges'05:19
ddaaso baz merge can pick a different ancestor each time (it's not-quite-deterministic, unlike star-merge).05:19
SteveAthat sucks so bad05:19
SteveAfrom a UI perspecvity05:19
SteveAperspective05:19
ddaaSteveA: yes it does, legacy UI cruft.05:19
ddaabaz merges predates baz merge, and it's a very little known command.05:19
SteveAdoes python ever fail for 'import thread' these days?05:21
SteveAjamesh: you'll know!05:21
kikompt!05:21
kikoI have a question for you05:21
kikothe linkify code I have currently does 05:21
kiko[www.foo.com]  for links to http://www.foo.com/baz/bar/boo05:21
kikois that acceptable?05:21
mptI saw that and thought it was odd05:21
kikoshould I just ellipsize?05:21
kikoI want to avoid URLs blowing up my video05:22
mptIsn't this covered by DisplayingParagraphsOfText?05:22
SteveAhmm, perhaps thread is missing on some micro platforms05:22
kikompt, if you want to help me, tell me exactly what I should do05:22
SteveAbut screw that.  we depend on '05:22
SteveAthread'05:22
mptkiko: ok, make linkifying run *before* DisplayingParagraphsOfText does05:22
mptkiko: then the URL will be wrapped, but the link will still work.05:23
SteveAkiko: i think it should be [foo.com] 05:23
mptbecause the link is based on the URL before it was wrapped.05:23
SteveAand [foo.co.uk] 05:23
SteveAmpt: putting <a> into DisplayingParagraphsOfText will break it05:24
mptbecause it'll become &lt;a&gt;?05:24
mptwhat fun05:24
SteveAthe interaction of linkifying stuff with other stuff is not trivial05:24
mpttrue05:24
kikoI was going to say just that05:24
mptIt seemed like the simplest, simplest spec to write05:24
kikoso the choices are -- link to hostname, or ellipsize the URL, or include the full link.05:24
mptwhen I first started05:24
SteveAand i have DisplayingParagraphsOfText ready to merge, it looks like05:24
jameshSteveA: I think threading is enabled for pretty much every Python build.  I wouldn't be surprised if --disable-thread is somewhat untested05:24
kikompt, you software engineer underestimator05:25
mptI thought it was going to be about two paragraphs05:25
mptok05:25
ddaathinking of it... this stepwise mesh merge is probably not to dissimilar to a poor-man cdv merge...05:25
SteveAlet's do linkifying little by little05:25
kikoright05:26
SteveAwe can start of with just converting text to a simple link05:26
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Fix patch-17-39-0.sql more gooder (patch-2037: stuart.bishop@canonical.com)05:26
mptkiko: I don't like [foo.com]  much at all05:26
SteveAand deal with goats.cx problems for now05:26
kikompt, give me a better suggestion05:26
=== SteveA --> sqlos bugfix
kikoSteveA, a simple link won't fix the problems I'm seeing in quite a few bugs and I'd love to land that too05:26
kikoI'll use common sense...05:26
SteveAkiko: i think we're at the stage where a spec would help explain things.05:27
SteveAneedn't be big05:27
SteveAbut there are enough interactions going on that we must capture the rationale05:27
kikoI can't do that SteveA, not today05:27
mptkiko: Anyway, [foo.com]  won't help you when it comes to [llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch.co.uk] 05:27
kikompt, stop strawmanning05:27
SteveAthen i think we can't land anything but the simplest link code05:27
kikookay05:27
SteveAkiko: work out the very simplest possible thing05:27
mptI'm not, that's a real domain05:27
mptAs I'm sure daf is aware, since it's Welsh05:28
kikompt, I know, but it's a minor issue we can surely live with05:28
SteveAyeah, i know about all the domains in .uk05:28
SteveAkiko: here's what i need to know05:29
mptkiko: The very simplest possible thing is to linkify after DPoT05:29
SteveA - what pages will you want to linkify things right now, in this first implementation ?05:29
mptActually, DPoT doesn't split anything anyway, does it?05:29
kikoSteveA, only bug pages for now05:29
SteveA - will the text that gets linkified also be passing through other formatters? (DPoT ?)05:29
mptonly bug pages? then what's the problem?05:29
mptjust implement exactly what I specced in the bug05:30
carlosdebonzi, https://launchpad.ubuntu.com/distros/ubuntu <-- I think we should sort that distrorelease list by version05:30
SteveAif so, why not just make DPoT do the work as an extra step, and make this available as DisplayingLinkifiedParagraphsOfText 05:30
SteveAthere is no need to generalize05:30
mptSteveA: agreed05:31
SteveAso, how does DPoT get accessed?  fmt:paragraph ?05:31
=== SteveA can't rememeber
SteveAif so, fmt:paragraph_with_links05:31
SteveAand we leave it up to the code to do the right thing05:31
debonzicarlos, you are right.. I will add it to my TODO list.. thanks05:31
SteveAno chaining of formatters05:31
carlosdebonzi, thank you ;-)05:31
SteveAno questions about whether the code is already escaped or not05:31
SteveAand, we have a chance of landing this today.05:32
kikocan somebody explain what you are suggesting?05:32
kikoin baby talk05:33
SteveAkiko: okay.  i will explain.05:33
SteveA1. we have DisplayingParagraphsOfText almost ready to merge.05:33
mptkiko: You could read the spec, it's in your queue anyway ;-)05:33
SteveA2. DisplayingParagraphsOfText adds tal:content="structure sometext/fmt:paragraph" (or something very similar)05:33
mpthttps://wiki.launchpad.canonical.com/DisplayingParagraphsOfText05:34
SteveA3. we're going to be using this for displaying a bunch of stuff05:34
mpt /fmt:text-to-html05:34
kikoso far so good05:34
SteveA4. so, let's also have /fmt:text-to-html-linked05:34
mptso it could include linkifying without being renamed anyway05:34
SteveA   rather than /fmt:linkify/fmt:text-to-html05:35
carlosmpt, daf https://launchpad.ubuntu.com/distros/ubuntu/hoary/+sources/gnome-panel has a bad link to +translations as part of the menu05:35
SteveAor anything more exotic05:35
kikoSteveA, does this work for nice_pre too?05:35
kikoor does this come after nice_pre?05:35
carlosmpt, daf it should be https://launchpad.ubuntu.com/distros/ubuntu/hoary/+sources/gnome-panel/+translations instead of https://launchpad.ubuntu.com/distros/ubuntu/hoary/+translations05:35
SteveAkiko: we can have nice-pre-linkified05:35
dafcarlos: that should be fixed by my menus branch05:35
kikookay05:35
carlosdaf, ok05:35
mptcarlos: That's very much daf05:35
SteveAthe point is, we don't want to chain fmt:this/fmt:that05:35
kikoBjornT?05:35
kikoSteveA, okay, accepted05:35
SteveAcool05:36
dafhmm, then, again, that's a source package05:36
kikothat way ensures escaping is done properly I see05:36
dafso perhaps it needs some more attention05:36
BjornTkiko: yes?05:36
kikoSteveA, that doesn't help me with the linktext though05:36
SteveAlinktext?05:36
kiko  File "lib/canonical/launchpad/webapp/tales.py", line 476, in linkify05:36
kiko    bug = getUtility(IBugSet)[bug_number] 05:36
kiko  File "/home/kiko/devel/rocketfuel/launchpad/lib/canonical/launchpad/database/bugset.py", line 18, in __getitem__05:36
kiko    item = self.table.selectOne(self.table.q.id == id)05:36
kikoAttributeError: 'BugSet' object has no attribute 'table'05:36
kikoBjornT, kinda weird, isn't it?05:36
SteveAthat looks well untested05:37
SteveAkiko: what do you mean 'linktext' ?05:37
kikothe text of the link, SteveA -- what is displayed to the end-user.05:37
SteveAalso, i need to stop talking about this, and get on with other work soon.05:37
mptkiko: Splitting long words is a separate problem that can be handled slowly05:37
SteveAkiko: what is the difficulty?05:37
mptor carefully, I should say05:38
mptIt doesn't need to be in today's landing05:38
kikoit annoys me that a large number of bug summaries contain links and blow up my video05:38
kikocan I not land an interim fix that makes my life as a triager less painful?05:38
kikomany rosetta bugs do this for instance05:38
SteveAblow up your video?05:38
kiko(nor that it's rosetta's fault)05:38
SteveAdo they contain links to launchpad?05:38
SteveAto localhost?05:38
kikoyes, scroll away into the netherland05:39
kikolinks to launchpad.ubuntu.com/bla bla bla yes05:39
mptIt is Rosetta's fault, Rosetta's URLs are too long :-)05:39
dafhorizontal scrolling is evil05:39
BjornTkiko: yes, that's bad... use .get(bug_number) instead. report a bug about it, and i'll have a look at it later05:39
dafcan we not use font-family: monospace + explicit line breaks?05:39
kikoBjornT, okay.05:39
dafor CSS for the wrapping behaviour we want, if there is some05:40
SteveAokay, i'm going to work on database code.  kiko, mpt: work out what you want to do.  keep it extremely simple.  i'll check back in an hour to chat about it.05:40
mptdaf: there isn't, and there won't be widely available for the next ~7 years05:40
dafmpt: any significant drawback to monospace + <br>?05:41
kikoI'm going to use the hostname unless mpt gives me a solution in 5 minutes :-P05:41
mptdaf: not that I can think of05:41
dafhmm, I guess it might cause adjacent spaces to collapse05:41
mptkiko, I shouldn't even be awake05:42
kikolalallalaa05:42
mptgrrrrr05:42
carlosgrrr kiko at this moment I wish tal had if/else clauses...05:42
SteveAcarlos: it does.  in python.  do it in python ;-)05:43
kikocarlos, tal is one big fat wart in zope and I will mail the loser who designed it with your comments05:43
carlosSteveA, in python? how?05:43
kikoSteveA, the lack of else in tal is a serious shortcoming05:43
carlosSteveA, if we have content, show this html code, if we don't have content, show this other code....05:44
SteveAtal:condition="view/have_content" .... tal:condition="not: view/have_content"05:44
mptcarlos: What's wrong with "not: ..."?05:44
SteveAcompute have_content in your view's class05:44
carloskiko, I introduced an extra textarea with #1036 fix because the missing else :-(05:44
kikompt, duplicating HTML content05:44
SteveAuse a macro05:45
carlosSteveA, I know, but that's exactly what an if/else does and it's more easy to detect errors with an if/else than with the foo and not foo05:45
SteveAput it in a separate view05:45
kikoSteveA, I find macros expensive 05:45
kikolike05:45
kikoVERY expensive05:45
SteveAeh?05:45
kikoif they were 5c macros I would agree05:45
kikodefining and using a macro makes you jump through hoops!05:45
SteveAmacros in the same page tempate are simple05:45
kikoreally?05:45
SteveAyes05:45
dafSteve pasted an example the other day05:46
mptkiko: Would you prefer your e-mail client to show long URLs as [hostname]  as well?05:46
kikompt, I use a text-based email client, but yes05:46
dafhttps://chinstrap.ubuntu.com/~dsilvers/paste/fileMpALym.html05:46
kikomy god05:46
mptkiko: as opposed to an audio-based one?05:46
kikothat is so cool05:46
kikompt, as opposed to a graphical client, you sleepless soon-to-be-barzilian-pure05:46
SteveAkiko: you've been damaged by zope205:47
kikoI love flowers05:47
mptkiko: The situation is exactly the same in a graphical one -- the window is still a particular size05:47
mptkiko: I guess we just disagree on this, and you're the coder, so there's nothing I can do05:47
=== debonzi -> Lunch
kikompt, in all truthfulness, I don't like [hostname]  very much either, but I hate it less than I hate horizontal scrolling05:48
kikompt, I'm accepting any interim solution you suggest05:48
mptkiko: If an URL is wider than the available space, it's on a line by itself, and once you implement linkifying, the whole of it will be clickable, so you don't need to scroll anyway05:49
mpt(unless you're actually interested in the contents of the URL)05:49
mptSo just linkifying will improve the situation05:50
dilysNew Malone bug 1253 filed on product Malone by Christian "kiko" Reis: The auto-summary code should only use the first paragraph of the description05:51
dilyshttps://launchpad.ubuntu.com/malone/bugs/125305:51
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [r=SteveA/trivial]  import fascism, kill translationeffort, kill sshkey browser code, add __all__s to interfaces, other cleanings-up (patch-2038: daf@canonical.com)05:52
dafhurrah!05:52
daf*finally*05:52
kikowoooo!05:52
bradboh god, i *beg* that not to mean that my merge request is going to fail again05:54
dafif it does, it'll probably because of conflicts05:56
daf(my changes were to do with complying with the fascist rather than enforcing the fascism)05:57
bradbyeah. /me does a quick merge to find out05:57
kikois there such a thing as a quick merge?05:58
bradb"quick", like 10 minutes05:59
bradb:)05:59
kikoheh05:59
SteveAdaf: what does the fascist output say now i wonder...  if it's sane enough, i'll merge the fascist06:00
bradb* Searching for best merge point .../home/pqm/thelove@canonical.com---bazaar--devo--1.5/src/baz/libarch/namespace.c:595:botched invariant06:00
=== SteveA proceeds to rip out half of sqlos
dafI'm just checking that now06:00
bradb    !!version_end06:00
bradbbaz: uncaught exception: -1:(exiting on botched invariant)06:00
bradb  please report this as a bug to bazaar@lists.canonical.com06:00
=== bradb falls back on --star-merge
mptbradb: you and everyone else06:01
dafSteveA: we still have about five browser code files importing the DB in order to use ObjectWidget/CustomWidget06:01
carloskiko, I think firefox is still broken with textareas06:01
ddaabradb: if that does not work, about 45 mins ago I explained a new merge trick I just found about.06:02
carloskiko, We still have the bug (and I think that FINALLY, I got it fixed) I start hating textareas06:02
ddaamight help06:02
kikocarlos, somehow, I doubt it :-)06:02
carloskiko-fud, https://chinstrap.ubuntu.com/~dsilvers/paste/file3RLcMa.html06:03
carloskiko-fud, from the HTML standard06:03
bradb********************************************************06:03
bradb*   2 conflicted items in this tree. Please            *06:03
bradb* resolve each conflict with "baz resolved 'filename'" *06:03
bradb********************************************************06:03
carlosthose textareas should be exactly the same, right?06:03
carloskiko-fud, they are not, first one adds an extra new line06:04
=== carlos prepares a .html just in case he can reproduce it easily...
kiko-fudcarlos, they seem to be quite different. html inside textareas is not very permissive wrt to whitespace, I told you...06:04
dafbinarypackagename, bounty, codeofconduct, distribution, product, project, sourcepackagename06:04
kiko-fudmaybe s/html/implementation of html parsing/06:05
dafand the rest are either uses of BugFactory06:05
dafor instantiating content classes directly06:05
carloskiko-fud, yeah, that's why I didn't fix it correctly first time, but anyway, the standard says:06:05
SteveAwhat about __all__ and import * ?06:05
carlosa line break immediately following a start tag must be ignored, as must a line break immediately before an end tag06:05
kiko-fudinteresting06:05
bradbdaf: 06:06
bradb=======06:06
bradb    bug = Int(title = _('Bug ID'), required = True, readonly = True)06:06
bradb    message = Int(title = _('Message ID'), required = True, readonly = True)06:06
bradb>>>>>>> MERGE-SOURCE06:06
bradbdid you throw those specs in there around the ='s?06:06
bradbspaces, even06:06
dafeww, no06:06
kiko-fudSteveA, sent patch06:07
kiko-fudthat was NOT ME EITHER06:07
=== kiko-fud holds nose
dafSteveA: just a second, I'll need to pull in the new fascist again06:07
carloskiko-fud, https://chinstrap.ubuntu.com/~dsilvers/paste/fileMpALym.html06:07
carloshmm06:07
carloswront link06:07
carloskiko-fud, http://people.ubuntu.com/~carlos/broken.html06:08
=== lamont is now known as lamont-away
carloskiko-fud, there you have, could you tell me what am I missing?06:08
carloskiko-fud, the first new line is ignored as the spec says, but the second one is not06:09
carlosdaf, kiko-fud please, could you confirm it's a bug so I can reopen the firefox's bug report?06:10
dafcarlos: they look the same to me06:10
carlosdaf, I get an extra new line with the first one06:10
carlosdaf, after foo06:10
dafSteveA: There were 32 imports 'from *' without an __all__.06:10
dafSteveA: There were 24 imports of names not appearing in the __all__.06:10
carlosdaf, you will see it if you select all text06:11
dafoh, an extra newline on the end?06:11
dafinteresting06:11
dafyes, I see that06:11
dafSteveA: the majority of the former seem to be in browser/06:12
carlosdaf, please, could you tell me if reading this: http://www.w3.org/TR/html4/appendix/notes.html#h-B.3.106:15
carlosdaf, you still think it's a bug?06:15
=== carlos wants to be as sure as possible
dafwell, how many newlines do you have in the first box?06:16
carlosdaf https://chinstrap.ubuntu.com/~dsilvers/paste/file3RLcMa.html06:17
carlosdaf, first one is the one on the left, second one is the one on the right06:18
dafhmm06:19
dafthat does indeed smell like a bug06:20
dafI suggest you send the source to the bug report06:20
dafand ask them if they can reproduce it06:20
carlosI'm doing it atm06:20
carlosthank you for your confirmation06:20
dafno worries06:20
bradbsalgado: https://launchpad.ubuntu.com/malone/bugs/873 is a bug that seems to be caused by the fact that the reporter doesn't have a validated (and therefore, no preferred) email address. what do you think is the appropriate way to "resolve" a bug like this? is it "fixed"? "rejected"? do i leave it "new" even though he can't possibly receive a comment? anyone else have any advice on what to do to consider resolved these bugs that app06:23
bradbBjornT: am i expected to be able to file and comment on a bug via email right now?06:25
bradblifeless: would it be unreasonable for pqm to send an email to confirm that it's received our merge request? i've sent two in the last couple hours, and have heard nothing.06:45
dafSteveA: no imports of * without an __all__ left06:49
dafSteveA: I'll merge this now06:49
bradbkiko-fud: should i mark you as having accepted: https://launchpad.ubuntu.com/malone/bugs/628 ?06:50
SteveAdaf: awesome work06:50
dafSteveA: if only we could shift these remaining DB imports06:51
kiko-fudbradb, I'll do it, thanks06:53
bradb-lunchok,t hanks06:53
dafSteveA: I suppose we can make import of * without __all__ raise an exception now, though06:53
salgadobradb, I think you should mark it fixed and explain the problem. even if the user doesn't get any notifications, the bug will be there and he'll be able to see it06:53
SteveAdaf: i'll do that when i merge the fascist06:53
bradb-lunchsalgado: ok, i'll do that06:54
=== bradb-lunch & # lunch
dafbradb-lunch: when you get back, can you tell me what the story is with BugFactory?06:54
salgadodaf, did carlos talked to you about the need of addLanguage() and removeLanguage() in IPerson?06:55
dafno06:56
dafwant to talk about it now?06:56
carlosdaf, I told you it06:56
carlosdaf, and gave you a trace06:56
carlosdaf, do you remember it?06:57
dafI remember that06:57
carlosdaf, it's related to rosetta's preferences page06:57
salgadodaf, so, you have a languages attribute in IPerson, which is MultipleJoin. if you want to use the addLanguage() and removeLanguage() facilities in a person object, you need to declare that in the IPerson interface06:57
salgadolooks like there places using it already, but the methods are not in the interface06:57
dafhmm, so it's just a problem with the interface?06:57
salgadoexactly06:57
dafthat's odd06:57
dafit was working before06:58
dafI wonder how it broke06:58
salgadoit'd be good to test that code too. ;)06:58
dafyes, you're right06:58
salgadoit probably broke because you were using an unproxied person object06:58
salgadoand now you're using a proxied one06:58
dafaha06:58
dafperhaps a switch from using IPerson() to ILaunchBag() caused it06:59
dafor something like that06:59
salgadothat's my best guess06:59
SteveAhmm07:00
salgadobut anyway, the code is not tested. :P07:00
dafright07:00
SteveAprobably IPerson is giving back a "naked" person07:00
SteveAthat is, the principal --> person adapter07:00
dafyep07:00
dafI suspect that somebody fixed a call to IPerson(request.principal) or something like that to use ILaunchBag instead07:00
dafand didn't notice when it broke07:00
dafI'll do a page test for it07:01
SteveAif so, then it's a problem.  the IPerson adapter must use getUtility07:01
salgadoah07:02
salgadothe problem could also have been caused when I moved the adapter from principal to person to components/person.py and made it use getUtility()07:02
salgadoit wasn't using getUtility() but not it is07:02
dafthat sounds like a likely candidate07:02
SteveAah, good07:03
SteveAthen all is as it should be07:03
=== sabdfl [~mark@217.205.109.249] has joined #launchpad
carlosdaf, the only solution for #1036 is to handle trailing and leading new lines directly inside Rosetta so the user don't care about that, as you suggested07:19
=== carlos -> out
dafgiven the browsers behave the way they do, yeah07:19
carlossee you tonight or tomorrow07:20
carlosdaf, yeah07:20
dafsee you07:20
kikocarlos, I'm going to talk to mrbkap today07:22
carloskiko, ok, thanks, I added all information I have to bugzilla07:22
kikothanks07:22
carlosthat should be enough to debug it07:22
kikodaf, I have a question for you07:38
kikohttps://chinstrap.ubuntu.com/~dsilvers/paste/fileMpALym.html07:39
kikodaf, can you explain how the tal:define for menus works here?07:39
jordikiko: DO IT07:41
kikojordi, every day, at 6am, I do07:41
SteveAkiko: <tal:block tal:define="menu context/menu:facet">  ?07:42
kikoyeah07:42
kikoSteveA, how does that interact with the menu used inside the macro07:42
kikoand the menu used when the macro is used07:42
SteveAso, this gets the facet menu that is approprate to the context07:42
jordikiko: ypu should be in finland next week07:42
jordiI'm going to run lots there07:42
SteveAokay.  macros all get processed first.  they are essentially #includes07:42
kikojordi, why didn't you invite me?07:42
kikookay so far, SteveA 07:43
SteveAonce you have macros sorted out, you have effectively a new page template07:43
jordikiko: everyone is invited!07:43
SteveAso, then you read this template with macros expanded07:43
kikoSteveA, so I'm confused. what is the first tal:define for in that example?07:44
kikothe one around the define-macro07:44
SteveAthat defines the name "menu" to be the facet menu.  you can iterate over the facet to get its links07:45
bradbdaf: the story with BugFactory is that it should probably be moved into in the IBugSet interface, possibly creating two different methods: one that creates just the IBug, and the other that Just Works (creates the subscriptions, etc.)07:46
SteveAbradb: this is similar to the IPersonSet pattern07:46
SteveAtalk to salgado07:46
bradbPQM WHY ARE YOU NOT WORKING07:46
bradbelmo: can you bounce pqm please? i've sent two merge requests over the last few hours and have heard nothing back. it appears to have hung.07:48
SteveAsalgado: talk to brad about the person creation API07:48
bradbSteveA: it's not something i had planned to look at pre-1.0, i was just answering daf's question07:49
ddaaKeybuk: ping07:49
SteveAi want IBugSet and IPersonSet to be consistent in this regard.  This is a pattern i want to generally apply.07:49
salgadoSteveA, the person creation API now is only a single method: IPersonSet.createPerson(). ;)07:49
SteveAsalgado: and, does that do all the necessary things?07:50
salgadothat's the only public API we have and it does everything07:50
SteveAthere was a newPerson or new() or something, for creating a Person without the rest of the crap07:50
salgadowe still have that, but it's not public. it's only used by the createPerson() method07:50
kikodaf, there's some crap called distrotool.py that needs to be moved to sets too07:50
salgado(although this is not merged yet. I'm waiting for pqm.)07:51
dafhmmm07:51
elmobradb: killed07:51
bradbcheers07:51
dafkiko: I didn't look at it too closely07:51
elmoI had to force kill it, not sure what lock files might be left behind07:51
kikodaf, I'm trying to get debonzi to do it07:51
bradbsalgado: ^^?07:51
dafelmo: can you install gettext on the productoin machines?07:51
dafkiko, bradb: I'm working on fixing up sets right now07:52
kikodaf, if you want to fix up distrotool.py to NO LONGER EXIST I'd be very appreciative07:52
salgadobradb, I send my merge request 5minutes ago. I don't think that could have caused pqm to hung07:52
dafkiko: I'll see what I can do once I've figured out what this bounty stuff is doing07:53
bradbsalgado: no, i mean, are there any lock files hanging around that elmo should know about?07:53
dafbradb: is the BugSet stuff underway or just scheduled for future cleanup?07:53
salgadobradb, it depends on what test pqm hang07:53
kikodaf, just delete the bounty stuff kthxbye07:53
dafkiko: yessir07:53
bradbdaf: future cleanup07:53
kikowho wrote that crud anyay?07:53
dafI don't think anybody uses it07:54
bradbdaf: if you want to fix it, i'd recommend creating just the method that Just Works, so as not bait a prospective user of the API into using the method that Just Doesn't Work (i.e. the theoretically, only-creates-the-IBug method)07:55
bradbs/cally/cal/07:55
=== terrex [~terrex@84-122-69-8.onocable.ono.com] has joined #launchpad
=== ddaa -> dinner
bradbif anyone knows of any lockfiles that may be left around because of kill -9'ing pqm, could i ask you to please pass that info onto elmo?07:58
salgadobradb, do you know in what test pqm was hang?08:00
salgadoI mean, when it was killed08:00
jblackddaa: ping08:00
jblacklifeless: ping08:00
bradbsalgado: no08:01
salgadothen it's hard to tell, because all scripts use lockfiles08:01
bradbsalgado: can you just tell him what they are anyway?08:02
bradbthe worst that would happen is that they aren't there, right?08:02
salgadoanyway, all scripts should've put their lockfiles in /var/lock, and there's nothing in there08:02
bradbinteresting08:03
salgadobradb, if you want to know what they are, you have to look into scripts/* and cronscripts/*08:03
bradbi don't want to know what they are, but the chinstrap admins probably do08:03
salgadonow you can tell them. :)08:04
bradbi'll leave that to the guys who wrote them :)08:06
sabdfldaf, carlos: you around for another hour?08:08
dafsabdfl: carlos has already left08:09
dafsabdfl: I'm going out for dinner in about 30 minutes08:09
sabdflok :-(08:09
sabdflit's almost pressie time08:09
dafoh, darn08:09
sabdflit'll land tonight then, you'll get it first thing in the morning08:09
dafok, cool08:10
=== lamont [~lamont@15.238.5.49] has joined #launchpad
kikoSteveA, I still don't understand the tal:define there08:15
kikooh!08:15
kikoSteveA, does metal:define not cause the block inside of it to be ignored (as a #include would?)08:16
SteveAmetal:define defines something to be included08:16
SteveAit marks a block of template, and gives it a name08:17
kikoaha08:17
SteveAmetal:define-macro that is08:17
SteveAthe tag name isn't important08:17
kikoit isn't?08:17
SteveAno08:17
SteveAjust the attribute name08:17
kikoso <metal:define and <metal:use are fluff?08:17
SteveAyes08:17
SteveAthere needs to be some element there08:17
SteveAand, if it is in the metal namespace08:17
SteveAit disappears08:17
SteveAfrom the output08:17
kikoI see08:17
kikoI see08:18
kikoso it /isn't/ like an #include08:18
kikoyou misled me08:18
kikoI thought the macro only expanded when using metal:use-macro08:18
kikonow I understand08:18
kikoit's a bit odd though08:18
SteveAyeah08:19
kikothanks08:19
SteveAit could be nested inside a tal:condition="nothing"08:19
SteveAto make the original disappear08:19
kikothat is SO WHAT I EXPECT FROM TAL08:19
kiko"need else? just use condition not:!"08:19
kiko"need to make a simple macro definition? just wrap it in condition nothing"! 08:20
dafbetter make sure you don't make any calls to any non-idempotent functions inside the macro definition, then08:20
SteveAwhy?08:20
kikono post processing!08:20
SteveAi so want to rewrite TAL/TALES using nevow08:21
SteveAi was talking to the nevow guys about it at EP08:21
SteveAit would rock, and probably be faster, once optimised08:21
kikothat would rock the boat08:21
dafor do the calls  ger made at macro definition time?08:21
SteveAno calls get made when the macros are defined or used08:21
SteveAcalls get made only when the template is rendered08:21
dafha, nevow is another divmod project08:22
dafwe'll be using all of their stuff before long08:22
SteveAnevow needs more work though08:23
SteveAit is still new, and various things are unfinished08:23
SteveAit will be cool when it's baked08:24
SteveAto mix metaphors a bit08:24
kikoSteveA, please don't forget linkify kthxbye08:30
bradbheh08:31
bradbdaf: i'm getting errors that i think are fascism related:08:31
bradbzope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/home/bradb/launchpad/site.zcml", line 11.4-11.3508:31
bradb    ZopeXMLConfigurationError: File "/home/bradb/launchpad/lib/canonical/configure.zcml", line 103.4-103.4308:31
bradb    ImportError: cannot import name IBugMessageSet08:31
SteveA<a href="/~elmo">kthxbye</a>08:31
bradb(when make run'ing)08:32
SteveA__all__ ?08:32
bradbi dunno, it didn't tell me08:32
bradbbut since you told me, yes, that appears to have fixed it08:33
bradbthanks08:33
dafwhich file was that in?08:33
jblackddaa : still ping.08:34
bradbdaf: interfaces/bugmessage.py08:34
SteveAthe fascist will tell you soon08:34
dafit was just an incomplete __all_ then?08:34
bradbit might have been a normal python error, to be honest08:34
bradbdaf: yeah08:34
dafok08:34
bradbin my test failure though (from pqm) it mentioned something about an "importd failure", which made me think fascist08:35
dafyeah, that will be due to me adding an __all__ so import * not importing it08:35
dafwhen you added it08:35
bradbyeah08:35
dafgood to see FooSets getting added08:36
bradber, importd == fascist? yeah, i'm on crack. anyway.08:37
kikothe fascist haxors yo mama08:37
kikoI'm submerging for a few hours, mail me if you need me08:37
bradbi will continue to take joy in python's ImportError message with an incomplete __all__08:37
=== bradb submits his merge request for a third time
SteveAnote that if you had no __all__ at all08:38
SteveAit would have worked08:38
SteveAbut the fascist would have forbidden it08:38
Keybukddaa: 'sup?08:43
jblackkeybuk: I don't think he's here. I've been watching out for him for... almost an hour08:48
Keybukhe ping'd me about an hour ago08:50
Keybukjust before I popped off for lunch08:50
dilysNew Malone bug 1255 filed on source package koffice by Sander van Loon: Karbon crashes when creating a new document08:52
dilyshttps://launchpad.ubuntu.com/malone/bugs/125508:52
dilysNew Malone bug 1256 filed on product The Launchpad by Matthias Urlichs: gpg key import does not ignore revoked UIDs08:54
dilyshttps://launchpad.ubuntu.com/malone/bugs/125608:54
ddaaKeybuk: jblack: guys, I'm back for a few minutes08:55
Keybukddaa: you ping'd?08:55
ddaaKeybuk: yes, hold on08:55
salgadobradb, being the assignee of a bugtask won't give me the rights to mark it fixed?08:55
bradbsalgado: it should, yeah. though assignee semantics for private bugs are, as yet, unclear.08:56
bradb(i.e. broken)08:56
bradbsalgado: what bug are you looking at?08:57
salgadobradb, https://launchpad.ubuntu.com/products/malone/+bugs/92608:57
ddaaKeybuk: when there is an upstream rcs, and tarballs, but the package comes directly from the rcs, we must not enter the tarballs, right?08:57
salgadowhere do I see if it's private or not?08:57
bradbdid you type that URL by hand?08:57
bradb /+edit is the edit view08:57
salgadoI can't see any link there pointing to the bug itself08:58
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  90% correct fix for #1036 (patch-2039: carlos.perello@canonical.com)08:58
ddaaKeybuk: otherwise sourcerer will incorrectly try to link the package to arelease tarball?08:58
salgadobradb, that was the url I got from bugmail08:58
Keybukinteresting question08:58
KeybukI'd enter the tarball anyway08:58
Keybuksourcerer should do the right thing08:58
Keybuk(but probably won't)08:58
bradbsalgado: from the *bugmail*? surely you jest. :)08:59
bradbcan i see that bugmail?08:59
salgadooh no. from the bugmail, of course, I got the url for the bug itself09:00
salgadothen when I went to the task I wasn't logged in09:00
ddaaKeybuk: why "probably won't"?09:00
salgadothen I logged in, reload the page hoping I would be able to edit the task09:01
bradbsalgado: ah, so, if we exposed an edit link on the page you're looking at, would that help?09:01
bradb(in the meantime, you can just manually add /+edit onto the end of the URL)09:02
salgadobradb, I used to think I'd be redirected to the /+edit if I were logged in09:02
salgadowas that true some time ago?09:02
bradbno09:03
bradbit's just that both pages used to be called +edit09:03
Keybukddaa: because I've never tested that it falls back from tarball to looking in CVS09:03
Keybukand untested code is broken code09:03
bradbsalgado: but, given the way things look, i can understand why you'd be confused. i would have been too.09:03
ddaaKeybuk: okay, but if you say you'd enter the tarball location anyway... you're authoritative in that matter.09:04
salgadobradb, have you realized already that in the bugtask listing, the "id" header is above the checkbox column instead of the id column?09:04
ddaaI'll have some more questions when I come back.09:05
bradbsalgado: yeah, i merged the fix for that yesterday09:05
Keybukddaa: yup, enter it09:05
salgadogreat. :)09:05
bradbsalgado: it appears to be specific to maintainers looking at listing of things they maintain09:05
bradbthe column header that used to be above the checkbox was inadvertently removed, thus everything shifted one column over09:06
salgadoI see.09:07
salgadobtw, those statistics in that right portlet are pretty helpful. 09:08
bradbthat's good to hear09:08
bradbanyone thought about google maps bling in launchpad?09:19
bradbmight be kind of cool to see a satellite view of where the person lives after you've just filed a bug on their package :P09:20
dilysNew Malone bug 1257 filed on product Bazaar by njt: export latest version09:21
dilyshttps://launchpad.ubuntu.com/malone/bugs/125709:21
dilysNew Malone bug 1258 filed on product Malone by Brad Bollenbach: Focus should land in the title field on the filebug screen09:23
dilyshttps://launchpad.ubuntu.com/malone/bugs/125809:23
salgadobradb, so, I have bug X which is a duplicate of bug Z. but the tasks of X still show up as new. should I reject all of X's tasks?09:24
salgadoor, even better, should this be done automatically when I mark a bug as a duplicate?09:24
bradbsalgado: i'd leave it for now. we haven't yet decided on the best plan forward for that. at the least, it's clearly marked on that page that one is looking at a dup.09:24
bradbyou've brought up something that will be important to think about after 1.0 though, IMHO09:25
salgadocool. I'll file a bug on that09:26
=== salgado is having some good time with malone this time. :)
bradbgreat, thanks09:26
bradbheh09:26
salgadobradb, from the task page, how do I go to the bug one? (I need the bug id)09:28
bradbinteresting question09:29
bradbyou're looking at the task page09:29
bradbyou need the bug id09:29
bradbok, i probably am breaking some rules in telling you this, but the ID you see on that page is the bug id09:30
bradbwhat's interesting here is that it wasn't obvious to you that it was the bug id09:30
salgadobecause they used to be different09:31
bradbthis may be an artifact of you being used to the days of two different IDs09:31
bradbindeed09:31
bradbsalgado: the good news is that the "task id" has been completely banished from userland Malone09:32
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [r=salgado]  FormattingBugNotifications implementation. requires some minor additions to be fully spec-compliant. (patch-2040: brad.bollenbach@canonical.com)09:32
=== bradb fistpumps
salgadobradb, I realized that. now we're using the context and the bug id09:33
salgadoto get the right task09:33
bradbright09:34
bradbsalgado: have i actually answered your question, btw? :)09:34
bradbfwiw, when i last checked, there was no actual link09:35
bradbbut ISTR kiko might have done something about that. i'd have to verify.09:35
salgadobradb, you mean, an actual link to go to the bug page from the task one?09:35
bradbright09:35
salgadois there any way to go to the bugtask page (not manually hacking the url) without first going to the bug page?09:38
bradbsalgado: no09:38
bradbsalgado: do you have a couple minutes? why don't you tell me a bit about the workflow you're in right now.09:39
salgadobecause right after asking that question I realized that I had come from the bug page, and thus I could go back to see the bug id (at that time I was thinking that the id I was seeing was the task id)09:39
bradbout of curiousity, why did you need the bug id?09:40
salgadoat this time I'm mainly doing some triaging. I look for foaf-related bugs reported either in the foaf or the launchpad products09:41
salgadoI wanted the bug id to mark another bug as a duplicate09:41
bradbso, you were looking at the task of the dup-target, right?09:42
bradber, n/m09:42
bradbi see then09:42
salgadoexactly. I wanted to accept the bug that was first reported, so I went to the task page09:43
salgadothen I realized there was a dupe and went to mark it as a dupe09:43
bradbright09:44
salgadoin the meantime I forgot that I went to the bug page before going to the task09:45
jblackstub: ping09:46
bradbinteresting09:46
bradbsalgado: when you wanted to go back to the bug page, what did you try to do to go back?09:47
bradb(it'd have been better if i were in front of you watching you do this, but oh well :)09:47
salgadoI looked for a link, then came here and asked09:48
bradbok09:48
salgadothen I realized how to do it, but waited to see your answer. ;)09:48
salgadobradb, the problem with dupes is that we don't have bug listing, like bugzilla09:49
salgadowe have task listings. then the tasks of the dupe will show up in these lists09:50
bradbthere's a bug open on that. we should be able to filter to not show tasks of dup bugs09:50
salgadoah, cool09:51
bradbbut, there's a risk that that breaks when one of the bugs has just one task and it's on Foo and the other has just one task on it's on Bar09:51
bradbit /probably/ won't be noticeable at the beginning, but it's a bit up-in-the-air until we nail down the task-merging semantics of dup bugs09:51
SteveAhas anyone been experiencing hangs when running the test suite on their own machine?10:01
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  add more __all__ statements, other minor tidyings-up (patch-2041: daf@canonical.com)10:04
ddaaKeybuk: so, other questions10:08
=== SteveA tries removing the locking from sqlobject caches
jblackddaa: Back? 10:10
ddaaSome projects have no rcs, but do have downloadable tarballs but: 1. they may have no indication of version (the latest version of drac is always available as drac.tar.Z), or the only tarball available may not be the one used by the package (like eject).10:10
SteveAas gdb showed the process to be blocked on a lock of some kind10:10
ddaaKeybuk: in those cases I have just not input the ftp details as I think that would cause sourcerer to go wrong.10:11
ddaajblack: I'm here.10:11
jblackOk. 10:12
ddaaKeybuk: sounds reasonable?10:12
jblackYou're either gonna love me, or you're gonna hate me. 10:12
Keybukthere's no way to input that into dyson anyway10:12
jblackI hope its the former. If just did a handful of commits. You may want to update. 10:12
Keybukit wouldn't be able to create a ProductRelease entry if it can't get a version10:12
ddaaKeybuk: what do you mean? sure I can file the ftp details so it will download such tarballs.10:12
Keybukdyson creates the database record for the product release10:12
jblackI also hit both or your trees, dumping cvsroots and descriptions into a bunch of files. 10:13
Keybukit can't do that if it can't parse the tarball filename to get a version10:13
ddaaKeybuk: okay that sorts out drac and a most of festival data packages...10:13
ddaabut not eject, where the available tarballs have versions, just not the one used by debian...10:13
ddaabut...10:14
ddaamh...10:14
ddaaKeybuk: I'd like to know more about this version matching thing, that can probably tell us important things about what is not worth bothering about.10:14
ddaas/debian/ubuntu/10:14
Keybuk"version matching thing" ?10:15
ddaadyson parse the tarball name to get a version10:15
ddaaI guess that is used when matching release tarballs to source packages, right?10:15
Keybukhuh?10:16
Keybuknothing to do with that10:16
ddaamh...10:16
ddaaI assumed that packages were associated to product releases10:17
Keybukdyson creates ProductRelease records, places the associated tarball in the librarian, and creates a ProductReleaseFile record to link the two10:17
Keybukone of the NOT NULL fields of ProductRelease is 'version'10:17
ddaamh... I think this line of discussion is not going to lead us anywhere.10:19
jblackWell, if you guys are done, I could use some time, ddaa? 10:20
ddaajblack: just ask10:20
jblackfirst, you may want to merge the import tree. 10:20
jblackI'll be pointing at specific things.10:20
jblack(btw, DUCK) 10:21
ddaaKeybuk: consider eject. breezy packages eject_2.0.13deb.orig.tar.gz, but the ftp repo only has eject-2.1.0.tar.gz. And there is no rcs. Would that be harfmul to enter that ftp data? Would that be useful?10:22
Keybukyes10:23
ddaajblack: okay, I'm eyeballing my uncommitted stuff, then I'll update.10:23
ddaaKeybuk: yes, harfmul? Or yes, useful?10:23
Keybukuseful10:23
ddaaand not harmful?10:23
jblackddaa: Ok. I walked into your tree too, btw. I came across a load of descriptions, and put them into the appropriate files in your queue dir. 10:23
ddaajblack: all that new data, is that some sort of automated collating?10:28
jblackNo sir. Thats me missing work. 10:28
ddaaYou mean, you've been essentially making info files instead of entering the data into launchpad?10:29
bradbanyone have the requisite computer science degree to tell me what i need to do to give a field focus (by default) in an autogenerated z3 form?10:42
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Simplify the people creation API a lot; now we have only IPersonSet.createPersonAndEmail() which will do everything that's needed. r=jamesh (patch-2042: guilherme.salgado@canonical.com)10:45
SteveAyou'll want a custom widget, and pass in a custom arg "tabfocus" or something like that10:48
bradbi tried "tabindex" earlier10:49
bradbin ZCML, tabindex=110:49
bradbit changed nothing in the rendered output10:50
bradbah, but the extra="" property may be the ticket10:50
bradbextra="tabindex=1" did it10:51
SteveAthat's the badget10:53
SteveAbadger10:53
=== bradb makes random squawking noises
SteveAKinnison: is archivepublisher/pool.py yours?11:11
bradbSteveA: got a minute for a quick question about making a custom SinglePopupWidget via the browser:widget directive?11:17
SteveAnot really11:17
SteveAgotta go to sleep11:17
bradbok :)11:18
SteveAbradb: have you had any hangs while running tests?11:19
SteveAi think i was getting one, and i think pqm's been getting them11:19
SteveAas an experiement, i've turned off a bunch of the locking in the sqlobject caches.11:19
SteveAit shouldn't matter for us anyway.11:19
SteveAnot in RF yet.11:19
bradbi believe i've seen them in pqm (which is why i got elmo to bounce pqm earlier)11:21
SteveAi'll bounce the "remove locks" idea off stub tomorrow11:22
SteveAand see if he thinks it is as sane as i think it is11:22
SteveAthe  new fascist will be landing shortly (i hope) (pqm permitting)11:51
SteveAdon't just add the names requested to __all__.  think carefully about whether they should be there or not.11:52
SteveAfor example, i need to fix up one case where Item is being imported from DBSchema11:52
SteveAfor an isinstance test11:52
SteveAwhereas, IItem should be used.  But, IItem does't yet exist.11:52
=== SteveA --> sleep

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