(dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: fixed regression malone bugs; vastly simplified event handling in the process with multi-subscription adapters. no, seriously. (patch-659)12:28
(spiv/#launchpad) Woah, multi-subscription adapters.12:28
(spiv/#launchpad) I'm glad that they're actually useful :)12:29
BradByep, i just cut out a good 100 lines of code by using them12:31
BradBand a package12:31
BradBjblack: you can hammer my machine for a little while now, if you want12:34
=== BradB is now known as BradB|food
jblackbradb: Thanks12:38
jblackI HATE OS X12:51
ddaajblack: I suggest you mail Apple a request to assign copyright to the FSF :-P12:52
jblackNo. 12:52
ddaaHow is the profiling going?12:53
jblackI'd rather the os, the code, the developers, and everything else associated get buried in some unmarked mass grave in the middle of death valley12:53
jblackstill trying to compile tla. 12:53
ddaaFrankly macos is the only os around with a half decent user experience...12:56
ddaaToo bat it's non-free.12:56
ddaajblack: getting anywhere?12:56
ddaaLast time I tried to compile something my hand on osx (w/o using fink) I just hit a wall of mystery. But limi told me the situation has improved.12:56
jblackThought I was, but I'm stuck here: cc: Internal error: Bus error (program /usr/libexec/gcc/darwin/ppc/cpp-precomp)12:56
ddaaMh... there should be an option to disable precompiled headers somewhere.12:57
ddaaThat's a funky new features they 12:57
jblackis that what it is? 12:58
ddaapaid for, and which dramatically cut their build time, but it obviously was not well tested enough.12:58
ddaa"cpp-precomp" really sounds something like that has something to do with precompiled headers.12:58
jblack-no-cpp-precomp (APPLE ONLY)12:59
=== ddaa is just of out a class yoda-talk
jblacklets try that with CFLAGS12:59
jblackI think you're right12:59
=== jblack hugs ddaa
jblackddaa: I don't even need to profile this.01:07
jblackbadb's machine is taking about 3 seconds per unit-pow2-array tests01:07
jblackmeaning its a really slow, slow machine01:07
ddaaWhat model is it?01:07
jblackhow do I know? 01:08
ddaaMacOS X machines do not tend to be slow slow...01:08
ddaaAsk him...01:08
ddaaBradB|food: what model is your macintosh?01:08
jblacklet me put it this way. Make test has been running 5 minutes, and its still going01:09
ddaaOkay, started make test here, on my machine where tla performs reasonably well...01:11
jblacktotal wallclock exceeded 6 min01:13
jblackand make test didn't even pass01:13
ddaaho, has tla mv been fixed to behave more like regular mv in 1.2.2rc2?01:14
jblacknot that I remember01:15
ddaaWall clock time here 3m50, that does not account for 1hour star-merges.01:15
jblackwow. Takes me less than a minute01:16
ddaaI saw the mv test cases, so I was a bit surprised.01:16
ddaamy machine is a PIII 660 MHz... not exactly today's top of the line.01:16
ddaaBut quite top of the line when I bought it, five years ago.01:16
jblackFirst, I'm going to profile library-add rf/lp--d--0--patch-59901:16
=== debonzi goes for dinner
=== debonzi [~debonzi@] has left #launchpad ["Leaving"]
=== elmo_ [~james@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
BradB|foodddaa: the machine isn't slow, the filesystem is01:19
jblackhi elmo, how are you? 01:19
BradB|foodddaa: it's a pb g4, the second most recent 15"01:19
jblackbradb: Your processor is certainly slow. pow2 tests on my machine take about 1/2 a second each. on yours, about 3 seconds each. 01:19
ddaaBradB|food: duh and what ram do you have? 256M or something?01:19
ddaajblack: it's maybe just that gcc sucks.01:20
BradB|foodonly 256M, unfortunately01:20
ddaaBradB|food: what cpu freq.01:20
BradB|food867 MHz01:21
ddaaLaptops have slow disks, having a ton of ram us essential for decent performance.01:21
ddaaBah, I'm pretty convinced that the pb is the fs. But what exactly?01:21
BradB|fooddoes ext3 do zero-filling?01:22
jblackI doubt it01:22
BradB|foodhfs+ does; apple says that tends to be a bottleneck01:22
ddaaLike, we might find out that on warm cache stat() is one order of magnitude slower than on reiserfs.01:22
ddaaWhat's zero-filling?01:23
BradB|foodddaa: writing zeros on the unused part of a disk allocated to a given file01:23
ddaa??? you mean a part of the disk allocated to the file which is not actually used by the file?01:24
ddaaWhat purpose could that serve???01:24
BradB|foodsecurity, of course01:24
ddaaCome on...01:24
ddaaUnused disk space is unused. It's security neutral.01:25
=== ddaa switches
ddaaI do not see how that improves security, can you teach me?01:26
sabdflguys, we have a bunch of bad commits01:31
sabdfl def ProductBugAssignmentFactory(context, **kw):01:31
sabdfl-    pba = ProductBugAssignment(bug=context.context.bug, **kw)01:31
sabdfl-    product_assigned = BugAssignedProductAddedEvent(01:31
sabdfl-        Bug.get(context.context.bug), pba)01:31
sabdfl-    notify(product_assigned)01:31
sabdfl-    return pba01:31
sabdfl+    return ProductBugAssignment(bug=context.context.bug, **kw)01:31
sabdflthis was code that i merged into the file this afternoon01:33
BradB|foodsabdfl: dude, those are good commits. :)01:33
BradB|foodmajor simplifications.01:33
BradB|foodi undid what i did, because i found a much simpler way to do what i was trying to do with events.01:33
sabdflBradB|food: dude, i spent two hours merging your first round of changes01:33
BradB|foodouch. :/01:34
BradB|foodwell, the good news is that i cut out a good 100 lines of code and a package.01:34
BradB|foodi didn't know about "multi-subscription adapters" until jim told me :)01:34
sabdflso we both spent hours undoing one another's work :-)01:34
ddaa<troll>Maybe that's an argument against vcs tools which encourage too much concurrency, we need worse tool to prevent people from stepping on each others toes</troll>01:35
BradB|foodsabdfl: emmm, kind of, but you moved things around. i undid my work.01:35
sabdflno worries01:36
sabdfli'm relieved it wasn't a tla issue :-)01:36
sabdflat least the system works01:36
BradB|foodnope, it's all good. and simplified.01:36
sabdflcan you teach me about multi-subscription adapters?01:38
BradB|foodsure, to the extent that i understand them. :)01:38
BradB|foodso, basically, the problem to be solved was: "how do i send an email when foo is added to a bug?"01:38
BradB|foodthe answer was: events.01:38
BradB|foodthe next question became: how do i fire off an event when a foo is added to a bug?01:39
BradB|foodmy first answer was to create an IFooAddedEvent01:39
BradB|foodthen manually go into the FooFactory, and call notify(some_event_obj)01:39
BradB|foodwhich was an instance of an IFooAddedEvent01:39
BradB|foodthen have my handler, a simple python func, send of an email to CC'd people saying that a foo was added, providing the relevant details.01:40
BradB|foodat first, this seems pretty interesting.01:40
BradB|foodbut then you realize, crap, there's about 7-8 things that can be added to a bug. :/01:40
BradB|foodthis turns into a lot of code, zcml, and tediousness. every time you want to support sending a notification on something being added to a bug, you have to:01:41
BradB|food1. add and IFooAddedEvent.01:41
BradB|food2. Create a FooAddedEvent.01:41
BradB|food3. Modify the factory to create a FooAddedEvent and notify()01:41
BradB|food4. write the handler01:41
BradB|food5. configure the ZCML01:42
BradB|foodso, scrap that...multi-subscription adapters!01:42
BradB|foodwhen an object is added, z3 fires of an ObjectCreatedEvent01:42
BradB|foodso, forget added all those special event interfaces and classes, you can now do something like this in ZCML:01:42
sabdflz3? even if the object is an sqlobject?01:43
BradB|foodyes, it doesn't matter01:43
BradB|foodstorage is an implementation detail01:43
BradB|foodhere's the ZCML magic:01:44
BradB|food   for="canonical.launchpad.interfaces.IBugProductInfestation01:44
BradB|food        zope.app.event.interfaces.IObjectCreatedEvent"01:44
BradB|food   factory="canonical.launchpad.mailnotification.notify_bug_product_infestation_added" />01:44
BradB|foodthis says, "for an IObjectCreatedEvent that happened on an IBugProductInfestation, call notify_bug_product_infestation_added"01:44
BradB|foodso, cool, no more having to create a special event called "IBugProductInfestationAdded"01:45
BradB|foodnotify_bug_product_infestation_added is just a simple python func that sends an email. it gets called like notify_bug_product_infestation_added(product_infested, event)01:46
sabdflhow does zope know to pass a product to notify_bug_product_infestation_added01:48
BradB|foodthe for attribute in that config is the "multi-subscription adapter", because it's subscribing not just to the IObjectCreatedEvent, but the IObjectCreatedEvent for an IBugProductInfestation.01:48
BradB|foodwell, it passes an bugproductinfestation01:49
sabdfland that knows it's product01:49
ddaaBradB|food: about explicit tag01:50
ddaayou should now that they currently make tla actually run more slowly :-)01:50
BradB|foodsabdfl: so when i found this out, i was able to delete the whole events package i had created :)01:50
=== limi [~limi@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
=== BradB|food is now known as BradB
ddaaBradB|food: which i undertand is a major concern for you.01:51
BradBddaa: They're our policy.01:51
BradBBut that isn't the bottleneck. :)01:51
=== stub [~stub@dsl-] has joined #launchpad
BradBsabdfl: haven't quite figured out how i'll figure out what changed on edits though.01:52
sabdflddaa: the alternative is to make the launchpad team run much more slowly :-)01:52
ddaasabdfl: yeah... ideally tla 01:53
ddaarm and tla mv would be sane.01:53
ddaaBut unfortunately that is not an ideal world.01:53
sabdflsane? i think they work just fine01:53
ddaa"tla mv foo bar baz/" works01:54
sabdfli dn't think is't sensible to advocate mixing tht revision control system semantics into the actual files01:54
ddaaif you push explicit tags, people will have to use tla mv/rm anyway.01:54
sabdflfor example, we are currently serving up HTML that includes arch tags in it01:54
sabdflthat's not sane01:54
ddaaSo, if they "work just fine" they can handle mixed tagline/explict, and there is not point in using explicit tags.01:55
ddaaI mean, explicit tags as a policy.01:55
ddaaIt is sure not sane to serve arch-tag in html pages.01:55
BradBjblack: you're gonna start a fire in my apt, i think. :P01:55
ddaasabdfl: the only reason I understand behind that policy is that tla rm/mv would be too broken to handle tagline files transparently.01:57
limiBradB: he's bouncing on your poor PB? ;)01:57
limiBradB: what model is it?01:57
BradBpb g4, second most recent 15"01:58
sabdflddaa: there's more to it than that01:58
ddaaI'm sure there is.01:58
jblackbradb: how so? 02:17
jblackAll I did was library-add rocketfuel@canonical.com/launchpad--devel--0--patch-59902:17
jblackIt's up to 93, so its got about 5 hours to go. 02:18
ddaajblack: I believe 02:23
ddaaBradB got burnt...02:23
BradB:P my fan is going non-stop02:23
jblackbradb: I really don't see how you can call this a nice machine. :)02:24
BradBdid i call it a nice machine?02:24
BradBit's arse02:24
BradBi'm trying to not hate though02:24
jblackwant me to call it quits? 02:25
stubjblack: Let me know if you need some tests run on a gruntier OSX box - I can probably get access to one at old work (but I won't be able to give access from the internet)02:26
BradBit's up to you. :) there's clearly a lot to improve about tla/arch on os x, but i'm not one to belabour the point. i gave up long ago on it being sane to use on os x.02:27
limiBradB: have you tried UFS?02:27
BradBno, but i've thought about it02:27
=== limi suspects HFS+ is really crappy
BradByeah, we know that HFS+ sucks :)02:27
limiBradB: want a repartitioning tool?02:27
limiso you can test it?02:27
limiit works really well02:27
BradBlimi: i had that at mark's too :) didn't bother using it.02:27
limiI used it to make space for Ubuntu02:28
jblackstrub: Nah. Its the nongruntiness I was interested in.02:28
limisuper simple02:28
BradBi've only got one machine right now; if this thing dies, i'm taking my life with it.02:28
limiiSync ;)02:28
BradBiPod mini!02:28
BradBi've got a backup, but ach, i dunno02:28
limior that ;)02:28
limiBradB: it's pretty much foolproof02:28
jblackbradb: Actually, as I've chased this down, the ghost has evaporated.02:29
BradBlimi: famous last words!02:29
limiI can hold your hand over the phone if you want ;)02:29
BradBi'm not worried about how to use it :)02:29
BradBi'm worried about murphy's law02:29
limiI understand02:29
limiI'm in the same situation02:29
limibut decided "fuck it, all the important stuff is backed up or in an SVN repo anyway"02:30
stubBradB: An option might be an external firewire drive (which can double as backup for your life^h^h^h^hosx disk02:30
BradBstub: Yep, I already have an iPod mini02:30
=== limi has that too, but the 250GB of mp3 occupies that ;)
stubBradB: I meant installing Ubuntu on the external drive (heck... you might be able to get it to boot of the iPod for that matter.... but it might not play music any more ;) )02:31
limithe Mac can boot from iPod, yes02:31
BradBstub: heh, that'd be cool02:31
stubiBuntu :-)02:31
limiit's pretty nice when you're used to the moronic PC architecture02:31
stubSo.... all these events creating emails and whatnot... is this going to cause havoc with writing unit tests?02:37
BradBwith the functional tests, it's to be expected in a way.02:40
stubHmm... the email spoolie thing is good, as tests can check for new files and examine them. I had to implement that myself in Z2 :-)02:40
=== stub goes and reads the page test docs
BradBi'm not using z3's mail machinery right now02:40
BradBi wrote a little module to be the standard way to send email in LP. canonical.launchpad.mail02:41
=== ddaa [~ddaa@nemesis.xlii.org] has left #launchpad []
=== BradB is now known as BradB|away
sabdfllifeless: up?03:19
jblackI haven't seen him yet.03:32
stubSteveA: Ping04:38
=== cprov [~cprov@200-171-77-185.dsl.telesp.net.br] has joined #launchpad
stubBradB|away: I'm working on the Z3 transactional email now04:55
lifelesshost lifeless-38.ip6.progsoc.uts.edu.au06:17
jblackHey lifeless! 06:49
jblackHaving fun tonighbt? 06:49
(dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: Replace stub implementation in mail.py, now using transactional goodness (patch-660)06:50
(dilys/#launchpad) New bug 2127 for Launchpad/Launchpad: Simple configuration information07:02
(dilys/#launchpad) https://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=212707:02
=== mdz_ [~mdz@69-167-148-207.vnnyca.adelphia.net] has joined #launchpad
=== justdave [~dave@] has joined #launchpad
stubMorning Dave. I fixed up some bits and pieces in checkwatches.py yesterday, and plugged it into the main test runner so people now if they break it again.08:58
(dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: Mail stuff including stub implementation for development (patch-661)09:45
=== dda1 [~ddaa@nemesis.xlii.org] has joined #launchpad
=== ddaa [~ddaa@nemesis.xlii.org] has joined #launchpad
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
SteveAstub: ping10:47
SteveAstub: pong10:47
stubI forget10:48
SteveAAre the set of Person.ids of canonical staff the same in the production database as in the sample data we use while developing launchpad?11:04
=== SteveA pings stub to see if he knows
stubI doubt it11:14
stubAnd anything that relies on hardcoded id's is broken11:14
SteveAstub: see email to mark that I cc-ed you into just now.11:19
stubSteveA: Any idea which ftesting.zcml is being used? I've stuck deliberate syntax errors into it and nothing complains :-(11:34
SteveAthat's next on my "make tests better" list then11:34
stubI suspect that is why a lot of the tests are failing (unable to locate 'Utilities')11:35
SteveAwhich tests?11:37
sabdflmorning all11:40
sabdflyesterday i needed to tweak ftesting.zcml in the top directory to get page tests to work11:40
sabdflit was including an sql.zcml file from malone or doap that i'd eliminated11:41
sabdflstub, maybe that's the cause / solution to your test problem11:41
sabdfllifeless: any news on x.org in arch?11:46
sabdfland xfree86 too?11:46
stubsabdfl: Were you getting an error message before you removed the offending line?11:48
stubSteveA: Don't worry - I think I know what I was doing wrong11:49
sabdflstub: yes11:50
sabdfli reduced the sql.py to nothing and then removed it from it's local configure.zcml and deleted the file11:50
sabdflthen the tests all failed, when they had run before when it had nothing in it11:50
sabdflturns out the sql.py was being included from ftesting.zcml which was only being used in the tests11:51
sabdflso it would run fine, just not test fine11:51
sabdflediting ftesting and removing the import of that sql.zcml fixed it11:51
stubSteveA: Is there a way to use a Unittest test harness like FunctionalTestCase with doctests?11:53
SteveAstub: yes, there is.  I'd need to look it up, though.  There are examples in the zope3 source tree, for the .txt doctests.11:56
sabdflSteveA: any update on the moin / zwiki, and zwiki / preview status?12:03
SteveApreview is in the latest zwiki12:05
SteveAmoin without tables is in the latest zwiki.  Simon Michael hasn't done the tables work yet.  I've extended the bounty until Monday, but I don't think he'll do it, as he was asking questions about a larger bounty for it to be done quickly.12:07
SteveAI've been asking around to see if someone else wants to do the tables work.  It occured to me that lalo might want to do it...12:07
SteveAalthough getting him money is a pita12:08
=== Kinnison [~dsilvers@haddenham.pepperfish.net] has joined #launchpad
=== BradB|away is now known as BradB
=== elmo_ [~james@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
SteveAmorning brad12:28
SteveAroche's pointers on doing cacheing look pretty straightforward.  what do you think?12:29
luluBradB: Morning!  just spoke to Thom - he can do the first one, but needs you to help on 2&3 if you could, Brad.12:30
BradBSteveA, lulu: I'm not sure if that solution solves the full-page caching issues. (e.g. Apache caches /foo, accessed by an anon user, then I go to access /foo and get a cache hit, and it makes it look like i'm not logged in.)12:37
BradBSteveA: I don't understand how uncommenting that line of Python is of any use either, because it's setting Last-Modified to time.time().12:38
=== BradB takes a look at the code for context
BradBoh yeah, that makes more sense; still not sure about the full page caching problem though.12:44
SteveAthe main thing I'm concerned about is cacheing pages when someone is logged in12:49
BradBcaching not-logged-in pages is just as much of a problem though12:50
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
BradBbecause it gives the impression that "the plone site just logged me out" :)12:50
sabdflSteveA: w.r.t. moin in zwiki12:50
sabdflmoin tables suck12:50
BradBand prevents one from doing editing12:50
sabdflzwiki already supports html reStructuredText and StructuredText12:50
sabdflwhat are the tables like in ReST?12:51
lifelesssabdfl: not yet, will try that this tomorrow12:53
lifelessI have tarballs from daniels for it though12:53
SteveAsabdfl: http://docutils.sourceforge.net/docs/user/rst/quickref.html#tables12:58
SteveAso, similar, but not quite so annoying12:58
BradBSteveA: lulu said you were verifying the CC patch; did you take the thing that you used to see the base64 hole and try it again on site-edit now that the patch is in?01:07
SteveAwill do so shortly01:08
KinnisonPython idiom question... I have a dict of dicts. I want to to create entries in the first dict when I encounter them in the input data. In lua I'd do something like: foo[key]  = foo[key]  or {}01:10
KinnisonWhat's the python idiom?01:10
Kinnisonis it just:01:12
Kinnisonif key not in foo: foo[key]  = {}01:12
Kinnisonthat'd give the same dict to each new key wouldn't it?01:13
SteveAPlease please never use the boolean short-circuit stuff as a short-cut for an "if" statement.01:15
KinnisonSteveA: okay. It's a common Lua idiom you see :-)01:15
SteveALalo used loads of these in the rosetta code, and they are just so hard to read later.01:15
KinnisonSteveA: I will use the if statement01:15
SteveAsetdefault is probably the way to go, as elmo says01:15
SteveAit would give a new dict to each new key01:16
Kinnison>>> bar={}01:16
Kinnison>>> bar.setdefault({})01:16
KinnisonTypeError: dict objects are unhashable01:16
Kinnisonis that wrong?01:16
SteveAthe only time you'll get the same dict is if the dict constructor (that is, {}) appears at the module level or as the default value of a function argument.01:16
SteveAyou can't use a dict object as a key01:16
SteveAnor a list01:17
SteveAnor anything mutable01:17
SteveAit must be hashable01:17
Kinnisonoh, gotcha01:17
Kinnisonstub: I see01:17
=== Kinnison thought it was dict.setdefault(defaultvalue)
SteveAif you want to store a dict as a key, store tuple(mydict.items())01:17
Kinnisonand then dict[unknownkey]  would autovivify01:17
=== Kinnison thanks you
KinnisonIf I have a value and a dbschema class which maps name->value; is there an easy way to get a name back out of the class?01:29
KinnisonE.g. is there FooSchema.nameOf(thisvalue) or something?01:29
SteveAstub: I've looked at the cookies.  They're always the same, so open to a replay attack.01:31
=== limi [~limi@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
stubYes - can't avoid that01:31
SteveAcan't use the time as a salt, and reject too old cookies?01:31
stubIf you want to reject old cookies, that would work. Or you could just encode the time in with the rest of the encrypted data.01:32
KinnisonI'm not suggesting you *use* mdw's cookie program; but it's a good place to crib ideas from01:33
SteveAstill, it is better than plaintext.  the worst an attacker can do is write crap all over the UL website.01:33
SteveAthey can't easily get the password out to use against launchpad01:33
SteveAso, I'd be happy to go ahead and use what we have at the moment.01:34
sabdflis there a password on this channel?01:34
SteveAbut, it would be nice to put the time in there make only a small window for replays. 01:34
sabdfllimi's not able to get in at the mo01:34
SteveAlimi: ?01:34
SteveA--> limi (~limi@host217-37-231-28.in-addr.btopenworld.com) has joined #launchpad01:34
SteveAjust above stub saying "yes - can't avoid that01:35
BradBThis would seem to merit an emergency upgrade to plone.org01:37
BradB(just confirmed that is has the bug, but that's not surprising)01:38
SteveAplone.org sends plaintext passwords in cookies?01:38
BradBbase64 encoded u:p.01:38
SteveAwonder if zope.org does too01:38
lifelesswell at least its not plaintext :)01:39
SteveAlet's upgrade to rot1301:39
BradBlifeless: heh, might as well be :P01:39
=== lifeless was trolling
BradByeah yeah, i know :P01:39
stubHey - CookieCrumber has always worked like that. Its a feature :)01:39
=== BradB shreaks for having an account on plone.org
=== lifeless and is tired
BradBSteveA: yep, zope.org too. shit.01:42
=== limi [~limi@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
SteveAhello again limi01:43
limiSir Alexander01:43
limihow's Lithuania?01:43
SteveAless cold01:44
SteveAless wet01:44
SteveAnot so bad at the moment01:44
limiLondon also has strange weather01:45
limisun and stuff ;)01:45
BradBSteveA: there's a meeting shortly, eh?01:47
BradB(that was "woohoo" in base64)01:52
sabdfldo we expose dbschema ENUM's to tal in a way that makes it easy to get the value, title and description?02:00
BradBmeeting time?02:03
SteveAsabdfl: yes.  bug/severity/lp:BugSeverity/description  or something like that02:04
SteveABradB: I need to workrave for a couple of minutes02:04
sabdflSteveA: how do i add methods to that object?02:04
SteveABradB, lulu: I've copied you into an email to Viktorija Zaksiene, about making the cacheing work on the plone site.02:04
BradBah, ok, cool02:05
SteveABradB: copied you in in case there's changes that need to be made on the filesystem code.02:05
luluSteveA: saw that - thanks Stevo.02:05
SteveAsabdfl: not sure what you want to do. 02:05
limiSteveA: Mark is talking about the shorthand code I need for the portlets02:05
=== SteveA workraves for 3 mins
(spiv/#launchpad) Meeting time?02:05
SteveAin 3 mins, sharp!02:06
(spiv/#launchpad) Ok.02:07
SteveAhi everyone.  let's have a lunchpad meeting.02:09
=== Kinnison raises his hand to indicate presence
=== spiv is here
SteveAall present please follow Kinnison's example02:10
=== SteveA raises hand too
sabdfllet's go02:10
SteveAdebonzi sends apologies02:10
=== BradB ready to rock
=== carlos here too
SteveAKinnison needs to leave soon02:10
=== limi is here
SteveAMalone -- where are we at?02:10
BradBwe need to:02:11
SteveAwhat's been done since last week's meeting?02:11
limieek, the dash-dash is creeping into your everyday language, SteveA02:11
BradB1. implemented notification on edits02:11
sabdflcode has been restructured02:11
BradB2. implement incoming email02:11
limiMalone is more sexy!02:11
sabdfleye candy02:11
BradB3. get a doctest suite that is enough to avoid me spending more time on regression fixes02:11
BradB4. fix a bug such that ownerID isn't always set to 102:11
sabdflseveral page tests, not as many as doap02:11
sabdflBradB: throughout?02:12
limifirst static version of the search/selection widget is in, using dummy data at the moment02:12
BradBsabdfl: yeah02:12
sabdflBradB: great02:12
BradBthat might not be a problem specific to malone either02:12
SteveAso, you very much need me to fix the page test maker so that it doesn't break so much02:12
SteveA(I'm working on it)02:12
BradBsince last week, i've mainly spent time on keeping up with regression fixes from refactoring, and implemented notification for everything that can be added to a bug02:13
SteveAare you doing outgoing email too?02:13
BradB(and, of course, plone-related stuff)02:13
stubHmm.. I had owner working on Bug... so that can be used as a basis for the other objects.02:13
sabdflSteveA: instead of running launchpad and the proxy separately, can we have the pagetest script fire them up together?02:13
BradBSteveA: it's done for things that can be added; it's not done for edits yet.02:13
SteveAsabdfl: yes, we can02:14
stubI refactored the outgoing email sending stuff majorly today, but I don't think anyone else has had a change to look at it yet.02:14
BradByou mean mailnotification.py?02:14
stubmail.py 02:14
sabdflstub: looked good to me02:15
SteveAstub: I want to make outgoing email have a "pagetests" mode where it won't send the email, but will store it in a list of emails, that has views under /emails/...  so that it can be queried via pagetests02:15
stubThere is a test harness for email - just trying to get the tests for the testharness working now.02:15
limiwoo, offline mode - will we get MS Exchange support too? :] 02:15
stubEmails just get stored in memory, where the tests can find them trivially02:15
SteveAgreat.  I also want to make email easily tested via normal pagetests02:16
SteveAon releasing malone for use... 02:16
SteveAwhat things are left to do?02:16
BradBfor dogfooding, just testing02:17
BradBfor general release, the four things i mentioned above, plus more testing02:17
BradBand, of course, deciding on where to put it and who'll deploy it02:18
SteveAdo the rest of the team agree that we can start dogfooding right away?02:18
SteveAwe're going to put is on mawson, right?02:18
SteveAwho will do that?02:19
stubThe ownership bug could cause Mark to get spam atm...02:19
BradBfor dogfooding? i don't think so.02:20
stubOh... scratch that comment..02:20
SteveAwe need to decide on the port it will run on, and get elmo or thom to set up the vhosting appropriately02:20
Kinnisonsabdfl: lucille just created a set of warty overrides which look and smell almost perfect02:20
sabdflKinnison: d29vaG9v!02:21
=== Kinnison grins
SteveABradB: will you be in charge of deploying malone on mawson?02:21
=== sabdfl wonders how bad overrides really smell
BradBSteveA: sure02:21
SteveAstart it today?02:21
BradBSteveA: sure02:21
sabdflwe can use the bugzilla watch feature to watch older launchpad bugs02:22
SteveAok.  let's aim to have malone dogfood edition running by the end of (your) today02:22
stubI can take over my tomorrow if there are still things to do.02:22
limiDirector's Cut02:22
Kinnisonsabdfl: These ones smell like freshly baked bread when you're really hungry02:22
limiWarts & All02:22
sabdflstub: i just realised we probably need need to support authenticated connections to remote bug systems02:22
stubsabdfl: Tell me about it. The test suite is talking to bugzilla.org because our bugzillas are all protected.02:23
SteveAcan we wrap up the malone part of this meeting shortly?02:23
sabdflstub, ok let's discuss oob02:23
SteveAspiv and Kinnison: soyuz and lucille?02:24
sabdflBradB: can we set a systemwide cc for malone emails?02:24
Kinnisonlucille since last week....02:24
SteveAin case anyone missed it, spiv is the new doap dealer, and is a friend of foaf02:24
KinnisonI now have a cleaner dataset wrt. sections02:24
BradBsabdfl: sure02:24
(spiv/#launchpad) SteveA: :)02:24
Kinnisonlucille just completed a perfect publishOverrides() of the warty snapshot I'm working with02:24
KinnisonThere's now a pile of new views and stuff I'm going to ask stub to integrate into the db soon02:25
SteveAwhat does that mean?02:25
BradBsabdfl: it can be hacked in quickly and easily enough, but yeah, we need plenty more UI there for collector-wide config02:25
Kinnisonthe overrides tell the tools which build Sources and Packages files how/where to put everything02:25
KinnisonIt's the second-to-last stage in generating apt-gettable archives02:25
SteveAwhy is it called an override?02:25
SteveA(just trying to get my head around it)02:25
KinnisonIt's called an override because it theoretically differs from the values which may be stored in the package itself02:26
sabdflSteveA: the joys of Katie naming02:26
SteveAi see02:26
KinnisonE.g. the package may say "admin" but we put it in "libs"02:26
sabdfli think we should call it DistroPackagePolicy02:26
=== SteveA points at the glossary
Kinnisonsabdfl: In the db they're just the section columns etc in the Publishing tables02:26
sabdfli don't think we should be exporting the overrides terminology to end-user derivatives02:26
BradBsabdfl, stub: do you guys want to/have more time to test malone today before i put it on mawson?02:27
Kinnisonsabdfl: it's only at the level where we're outputting stuff for apt-ftparchive to work on that we touch the term 'override' at all02:27
sabdflit should be "Define your package selection policy"02:27
Kinnisonsabdfl: this is outside the scope of lucille currently02:27
sabdfldude, i know how this stuff works, the table names bubble up to the UI02:27
sabdfli just found a bunch of my own UI that talks about "product" and changed it to "upstream" because it's clearer in that context02:27
Kinnisonthe word 'override' only features in the views which lucille uses to pull the data out for the override files02:28
KinnisonI would hope that the UI will never touch those views02:28
stubBradB: I was just going to finish of the mail stuff before bed.02:28
sabdflKinnison: sure, but i think, since we are creating the tables, we should call them what we would be happy to expose02:28
sabdflKinnison: it always does though02:28
Kinnisonsabdfl: the tables are the publishing tables; or do you mean we should name the views as though we want to expose them too?02:28
sabdflpackagepolicy or something thereabouts please02:28
sabdflKinnison: if the views are good and useful, which i'm sure they are, new devs on lp will use them, and expose them, so yes02:29
BradBstub: ok, i'll do the testing then02:29
Kinnisonsabdfl: Okay, I'll ponder on a good name for them and do that change when I do the column-rename to make them consistent with the rest of soyuz02:29
sabdflanything else on lucille?02:30
stubBradB: If we are using autogenerated forms, the owner fix is a trivial bit of .zcml I think. I might do that too if I have time.02:30
KinnisonIt's been mostly cleaning up and doing the overrides02:30
SteveAgetting lucille in actual use... when where how?02:30
BradBstub: we are; it's getting set in all the factories02:30
Kinnisonstevea: I need to finish the bits of gina I have floating for making it safe for incremental use02:31
BradBstub: Either way it's just a query-replace in Emacs.02:31
Kinnisonstevea: then we're clear to use gina to import the archive into launchpad and use lucille to export it again02:31
KinnisonSteveA: Once I have the apt-gettable bits sorted of course02:31
sabdflagain, let's use mawson02:31
=== Kinnison nods. Mawson is a good plan
sabdflaim is to have katie managing that warty / hoary archives02:31
sabdfland gina running over them constantly to keep mawson's soyuz db up to date02:32
=== Kinnison nods
sabdflthen we should be able to publish a "lucille version" of the archives02:32
sabdflon mawson02:32
=== Kinnison has a couple of tweaks to gina sitting waiting for me to be ready to do a pqm merge
sabdfland do a lot of testing02:32
=== Kinnison nods
Kinnisonis it okay for me to continue using zhongshan for my experiments?02:32
sabdflhow the hell we'll cut over from katie to lucille for production i don't know :-)02:32
sabdflKinnison: fine by me02:33
Kinnisonsabdfl: we shouldn't worry about cutting over until lucille can do uploads :-)02:33
sabdflsure, and has been well, well tested02:33
=== Kinnison nods
sabdflalso, build management02:33
Kinnisonkatie may be a bit cranky; but she's very well tested02:33
sabdflthen we get to the point where maintainers can steer their package through the whole upload / build / deploy process trhough the web02:33
=== Kinnison nods
sabdflat that point we can figure out the transition02:34
SteveAKinnison: any rough idea when we'll see this stuff on mawson?02:34
KinnisonSteveA: My targets for lucille over the coming week... 1. Confirm the overrides look clean. 2. get apt-ftparchive doing its thing and again confirm it looks clean. 3. Get gina reliable on incremental updates. 4. Hopefully start getting it going on mawson02:34
sabdfls/overrrides/ packagepolicies/02:35
sabdflthat's great progress so far, thanks Kinnison02:36
SteveAnext, spiv02:37
limi(if they are here)02:37
=== SteveA pings carlos and daf for later
sabdflspiv: around?02:37
carlosSteveA: pong02:37
(spiv/#launchpad) Ok.02:38
SteveAspiv: foaf and doap plans?02:38
SteveAand soyuz status plase02:38
(spiv/#launchpad) I'll about to start tackling the doap todo list that sabdfl posted to the list yesterday.02:39
(spiv/#launchpad) (I've been spending an unexpectedly large aount of time chasing buttress/zopeless bugs for lifeless, which has in turn found an sqlos bug)02:40
SteveAwhat's happening with soyuz?02:41
sabdflspiv: do we have a good framework for zopeless access to the db? what's kinnison using?02:41
(spiv/#launchpad) I'm relatively out-of-the-loop on soyuz atm.02:41
(spiv/#launchpad) sabdfl: We will shortly.02:41
sabdflhow will it be different to what kinnison is using?02:42
SteveAI'll catch up with the other soyuz guys a bit later.02:42
(spiv/#launchpad) But debonzi has done some good work moving queries out of soyuz/sql.py into the SQLObject classes.02:42
sabdflKinnison seems to have become productive very quickly02:42
(spiv/#launchpad) The code is starting to look vaguely neat ;)02:42
=== Kinnison is using SQLObject stuff wherever possible
Kinnisonthe only non SQLObject stuff I've got is in gina02:43
stubspiv: There is a patch from Lalo that I think is still outstanding. Is that still relevant?02:43
(spiv/#launchpad) Kinnison: I'm familiar with what the librarian does, what does lucille do?02:43
KinnisonI'm currently driving most of my stuff using the db harness02:43
(spiv/#launchpad) stub: Yes, that's part of what I've got for lifeless.02:43
(spiv/#launchpad) That will probably get merged tomorrow unless lifeless finds more bugs.02:43
Kinnisonspiv: Lucille is the archive management component of soyuz. Her jobs include dealing with uploads, publishing packages to distro archives on disk etc.02:43
(spiv/#launchpad) Kinnison: I meant with respect to db access ;)02:44
Kinnisonspiv: Oh; she walks all sorts of tables all over the place and gathers data; etc.02:44
=== Kinnison ponders which tables lucille currently uses
(spiv/#launchpad) Kinnison: SQLObject?02:44
Kinnisonspiv: Oh yes; SQLObject all the way02:45
SteveAcan we move on to rosetta?02:46
(spiv/#launchpad) Ok. I'll catch up with Kinnison later.02:46
SteveAcarlos: how is the rosetta alpha going?02:46
carlosSteveA: well, as I said other times, we are not getting as many input as I thought we could get02:47
SteveAI wonder why02:47
carlosI think we should try to push real data in the game so they see it as a real system02:47
SteveAis it that there aren't the products people want to translate in the system? 02:47
sabdflcarlos: do we have any upstreams that are interested in using the system for their products?02:48
SteveAwe need to make it so that translators can scratch their own itches02:48
carloswell, we don't have all products imported, only two,02:48
SteveAwe need to do whatever is required to get translators using rosetta, otherwise there's no point having the alpha02:48
carlossabdfl: not upstreams as it, but Lliurex, a Debian derivated distributions asked us to implement some features so they could use Rosetta02:48
carlosfor they translation team02:49
carlos /s/they/their/02:49
SteveAhave the alpha translators been asked what they'd like to translate?02:49
sabdflit's not necessarily the upstream maintainer that needs to like rosetta02:49
sabdflit's just somene from theupstream translation team02:49
carlosSteveA: no, I will talk with daf about it02:50
=== limi can volunteer the Plone translation team
limi40+ languages02:50
carloslimi: that could be really good02:50
SteveAthere are not so many weeks left before we wnt to do a public beta of rosetta, so getting more use out of it now is important.02:50
sabdfljust need one person who can act as a gateway, moving pofile patches between rosetta and upstream02:50
limicarlos: shoot me a mail about it when you are ready, and I will organize it02:50
carloslimi: ok, thanks02:51
carlossabdfl, SteveA: What about get a small group of translators for Ubuntu?02:51
limiof course, it will take some time before people *trust* the system, but they should be willing to attempt it02:51
carlosI have some people at ubuntu-es asking for translate things02:51
sabdflcarlos: that's great, for things like the installer02:51
sabdflcarlos: yes, go for it02:52
SteveAzope3 has been released as a final, I think.  Maybe ask Phillip von W (who is on the rosetta testers list) if there's any interest getting people to translate it using rosetta?02:52
limi"zope3 has been released as a final, I think" - in the neverending series of proofs why Zope Corp's PR sucks :] 02:52
carlosSteveA: ok, added to my list02:52
sabdflis there a plan for us to update to zope3?02:53
SteveAwe should continue using snapshots of the trunk for a while yet.02:53
carloszope3, plone, ubuntu-installer and any other request from our alpha testers02:53
SteveAfor example, the fix to make debugging traversed things clearer will not be in this zope3 release, but on the trunk02:53
SteveAit will be in the next zope3 release02:53
SteveAwhat's been implemented recently for rosetta? what's the next lot of rosetta work to be done?02:55
carloswell, the main implementation02:55
carloswas the msgset split (it's being review by daf)02:55
carlosafter that merge we should not have big code changes02:56
carlosonly bug fixes and missing features implementation02:56
SteveAcarlos: Godefroid Chappelle, zope / plone /zope3 developer from Belgium, is interested in being a rosetta tester. gotcha@bubblenet.be02:56
carlosso I think we could also concentrate on the Beta release, and integration with soyuz02:56
carlosSteveA: ok, I willl add him to the alpha testers list, thanks02:57
SteveAlet's have a chat about rosetta tomorrow or monday02:58
SteveAlooking at still open bugs, things to implement next02:59
SteveAwe can arrange this when daf shows up02:59
SteveAAnything more for rosetta?02:59
carlosstub: could you review my last database request, please?02:59
carlosthat's all03:00
SteveALastly, general launchpad issues.03:00
SteveA* use tla add not arch-tag: from now on03:00
SteveAI'll make a checkin soon that will not allow commits that use new arch-tag:s03:00
BradB* please mail the list when you introduce a new dependency, kthnx03:00
SteveABradB: are you talking about the python-in-postgres stuff?03:01
sabdflespecially one that has issues on macosx03:01
BradBSteveA: or apt_pkg, or whatever03:01
SteveAwhat are we doing about apt_pkg on osx ?03:02
BradBkiko reported the bug; it won't get fixed anytime soon (realistically speaking)03:02
SteveAdoes this have any bad effects on you?03:03
BradBhe managed to fool it into compiling, but it hung on import; was trying to do some kind of threading calls. his bug report explains it more clearly, of course. :)03:03
BradBSteveA: it did, but not really anymore.03:03
elmo_not being funny, but why don't we just specify linux as the development platform?03:03
BradBelmo_: That was my suggestion. :)03:03
BradBI confirmed before I started that OS X would be okay, but it turns out that's not true. :)03:04
sabdfli have a workaround03:04
sabdflasimple stub implementation that we knocked up for limi03:04
sabdfldef ParseDepends(deptext):03:04
sabdfl    return [[('macosx', '', ''),] ] 03:05
sabdflsame for ParseSrcDepends03:05
sabdflshould basically work03:05
BradBI'm just setting them to None, and it works fine, because I don't use Soyuz anyway03:05
sabdfldont know if we can put a wrapper in launchpad which will use that implementation on macosx and the native full implementation on linux03:05
sabdflBradB: that will likely break when they have better page tests03:06
BradBit used to make the page tests fail, but they pass now, heh heh03:06
SteveAany other general launchpad things?03:06
SteveACan we have the next launchpad meeting on Wednesday next week, 12:00 UTC?03:07
(spiv/#launchpad) Suits me.03:07
SteveAI'll be on vacation from Thursday.  Back on Monday 8th.03:07
KinnisonShould be fine for me03:07
=== BradB might be in toronto next week
SteveAAny other business.  If not...03:08
carlosWednesday is fine03:08
SteveAThanks for your patience.  We managed it in under 1 hour this time.03:08
SteveAI'll summarize this meeting and send to the list for those who were absent.03:08
SteveAand for those that specially requested a summary, Kinnison03:09
=== BradB goes to grab a coffee, then come back for d-day (i.e. dogfood day)
=== SteveA declares the meeting over and goes to workrave a bit
carloslimi: where could we found the .pot / .po files from zope?03:11
=== Kinnison was about to say "Oddly, workrave hasn't bothered me today" but I just realised that means I quit it :-(
limicarlos: Zope 3?03:13
SteveAaw crap:  lib/canonical/browser-exception.zcml 0e25fabf-8d8b-4f3d-a88a-de12fc152573_-->03:14
SteveAyep -- the closing XML comment is part of the arch id03:14
carloslimi: thanks03:15
SteveAthere are quite a few of these03:16
SteveAI'm sort of inclined to remove the arch-tag: and make them have fileids03:16
SteveAany objections to losing some history from 17 zcml files?03:16
(spiv/#launchpad) Not from me.03:17
=== limi almost removed one yesterday, but didn't have the balls to do it ;)
limigotta keep the arch gods happy :] 03:19
=== BradB removed a package yesterday, sprouted a couple more chest hairs
=== BradB is now known as BradB|out
stubSteveA: I'm messing with the zcml atm - it might cause me merge grief03:42
SteveAI'm not altering those zcml files right now03:42
SteveAbut, maybe you'd like to?03:43
(dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: lucille override publishing work (patch-662)03:44
stubSteveA: I have a file in package-includes that will issue warnings if it is run in the test suite (spawns a thread). Should I turn it off by encoding that configuration directly in the zopeapp.zcml you think? (This actually looks like a z3 issue, as the z3 tests would also issue the spurious warning if the queued email delivery thingy is switched on)03:44
SteveAarch tags go on to the end of the line03:44
SteveAthey don't stop after a normal-looking uuid03:44
SteveAthey go to the end of the line, with odd characters (like spaces) turned into underscores.03:45
SteveA<bob2> it's a semi-bug03:45
stubCool... not only do they suck, they are buggy too :-)03:45
SteveA<ddaa> Tom likes the idea that you can put advertisements/propaganda in ids.03:45
SteveA<SteveA> argh!03:45
SteveA<SteveA> that is so fucking lame03:45
SteveA<SteveA> someone shoot tom03:45
stubMmm.... lose file revision history by trimming spurious whitespace from the end of the line, or changing character set encoding even.03:46
ddaaI am seriously puzzled by what makes you think that taglines suck...03:46
ddaaMh. Yeah. They are a bit more dangerous.03:47
stubBecause they make me have to worry about magic id tags, which is the job of the rcs system.03:48
ddaastub: in my experience, they do not.03:49
SteveAstub: can you kill the arch-tags in zcml files please?03:49
SteveAseeing as you're checking in soon anyway03:49
stubI havn't been game to try it, but I would assume you get into trouble if you delete them, copy files without changing them, accidently hit the wrong key and delete or change a letter. They scare me, and the whole point of rcs systems is to make you feel safe and secure.03:50
ddaaDelete: will make the file untagged. For other reasons "untagged-source unrecognized" is good, so tla won't let you commit it. Copy: will cause duplicate ids, which is an inventory error, tla won't let you commit. Modify: will cause a delete-add which is very easy to spot in the "changes" output that you (I hope) always check before commiting.03:53
ddaaThere should maybe be a finger guard to prevent add-remove of the same file. It's never what you want to do except when you know that is what you want to do.03:54
ddaasafeguard: prevent commit unless an option is given.03:55
=== SteveA adds to http://manifesto.gnuarch.org/moin.cgi/ArchWarts
sabdflddaa: (1) the revision control system should be an entirely hidden layer03:55
sabdflin other words, my content should be ignorant of the revision control system i am using03:56
ddaasabdfl: that's a valid point.03:56
ddaaThat philosophical, but valid,03:56
sabdflright now, for example, we are busily trying to convert thousands of files from CVS to Arch03:56
sabdflimagine if CVS REQUIRED the presence of some cvs-tag inside the file03:57
ddaasabdfl: yeah, I am aware of that :-)03:57
sabdfland Arch REQUIRED that you had something else03:57
sabdflthen we couldn't do that03:57
sabdflrevision control systems need to be invisible03:57
ddaaYup. The REQUIRED part is bad.03:57
sabdfl.arch-id's may be a poor implementation but they at least meet this criteria03:58
SteveAI'm somewhat gutted that there is no way of moving from tags inside files to explicit ids, while preserving history.03:58
sabdfl we can over time improve the implementation and use some other form of database than .arch-id's03:58
sabdflwhich is faster03:58
KinnisonSteveA: copying the arch tag into the .arch-ids/filefoo doesn't work?03:58
ddaaI'm not sure that .arch-ids is a bad idea per se.03:58
SteveAapparently not.03:58
sabdflbut at least, for the moment, they are correct03:58
sabdfl(14:57:51) ddaa: Yup. The REQUIRED part is bad.03:58
sabdflso that brings me to part (2)03:58
sabdflrevision control systems should be used consistently for different files03:59
sabdfl"i tried to move my file but arch doesn't see that it's been moved"03:59
ddaasabdfl: good ol' tactic. It's not bad per se efficiency-wise, which is what I was answering.03:59
sabdfl"did you use tla mv or just mv"03:59
(spiv/#launchpad) Kinnison: No. tla id some_file... you'll see a leading i_ or x_ depending on if it's implicit or explicit. i.e. what kind of tag it is is part of the id.03:59
sabdfl"just mv like I always do"04:00
Kinnisonspiv: oh poo04:00
sabdfl"it worked for half the files"04:00
sabdfl"which half?"04:00
sabdfl"everything except the jpg's"04:00
sabdfl"oh, the jpgs are different becuase we odn't have arch tags inside them"04:00
sabdfl"you have to work differently with arch tags"04:00
SteveAspiv: but, will tla complain if a fileid starts with an i_ ?04:00
sabdflthe fact that arch allows us to mv a file and preserve history is FANTASTIC04:01
SteveAspiv: if so, it is treating ids as containing semantics, which is kinda wrong.04:01
sabdflit's no hardship to require that, when you do this, you use tla mv04:01
sabdflyou are requiring consistent behaviour04:01
ddaasabdfl: so your point is that the fact "mv" works with tagline is a argument against using them?04:01
sabdflyes, exactly04:01
(spiv/#launchpad) My understanding is that "tla mv" is supposed to work for both, and the fact it doesn't is a bug.04:01
sabdflit's a cute feature that fucks you in the head with users04:02
SteveAhow do people write docs about "arch-tag: " and keep them in arch?  turn off the implicit tagging method?04:02
sabdflit's a switch that LOOKS easy but requires detailed implementation knowledge04:02
(spiv/#launchpad) SteveA: Not put the arch-tag text in the first or last 1k, perhaps ;)04:02
sabdflso, Canonical Arch will deprecate this altogether04:02
sabdflthere's another advantage to this04:02
(spiv/#launchpad) http://wiki.gnuarch.org/moin.cgi/ID_2dtagging_20methods has some discussion of this.04:03
sabdflif we (a) make .arch-id's the required behaviour for ALL files04:03
(spiv/#launchpad) Including "Why I Went From Loving Tagline To Disliking It, by Colin Walters"04:03
sabdfl(b) remove any mention of .archids's from the documentation, users will forget they exist04:03
sabdfland when we come up with a better implementation, users don't need to change or know anything different04:03
ddaasabdfl: users will not forget they exist, because they remove them by hand when tree-lint tells them there are explicit ids w/o associated file.04:04
(spiv/#launchpad) (Out of curiousity, what's the problem with .arch-ids that a different implementation could solve?)04:04
ddaasabdfl: I'm quite happy that we have a design discussion about arch, and I'd like to conduct that more in depth, but I think irc is not the best medium for that.04:05
sabdflddaa: that's a bug too04:05
sabdflremoving a file from the repo should be an explicit action04:06
sabdflddaa: we have a two week arch sprint planned for late november / early december04:06
ddaait is an explicit 04:06
KinnisonAs a small-time developer; if Canonical's arch didn't do tagline at all; I wouldn't use it04:06
ddaaYeah. Still I think mailing list is the best medium. It gives more time to deep thought.04:06
Kinnisondeprecate it by all-means; but don't prevent it04:07
stubddaa: They should have to remove them by hand. arch would bitch during commands and ask them to recover it or forget it.04:07
SteveAdoesn't "deprecate" mean "to be removed in a future version" ?04:07
SteveA(effectively speaking)04:07
ddaasabdfl: please do me a favor and write that in a mailing list post to warthogs or launchpad.04:08
stubKinnison: If it is there, users have to learn about it because they will see it in the wild. tla needs fewer features to learn, not more.04:08
Kinnison  deprecate04:08
Kinnison       v 1: express strong disapproval of; deplore04:08
ddaaAll the points you have raised.04:08
ddaaI'm sure you have talked with lifeless about it, so you know that Arch is a complex (in terms of rich interactions between simple components) 04:09
Kinnisonstub: I far prefer arch-tag to .arch-id wherever I can have them though :-(04:10
ddaaso design changes need a lot of cool-headed consideration.04:10
ddaaBecause it's easy to come up with changes which appear simple at first but have unexpected effects in corner cases.04:11
sabdflKinnison: http://wiki.gnuarch.org/moin.cgi/ID_2dtagging_20methods04:11
Kinnisonsabdfl: read it already04:11
Kinnisonsabdfl: doesn't stop me *personally* preferring arch-tag for my personal projects04:11
Kinnisonsabdfl: arch-tag is one of the reasons I decided to move my personal development into tla archives04:12
ddaasabdfl: I wrote most of this page.04:12
ddaaat least initially.04:12
sabdflthat's fine04:12
sabdfli've no problem preserving existing behaviour04:13
sabdflbut i think it's necessary to strongly encourage a use pattern that leaves the maximum flexibility for changes in implementation04:13
sabdfland arch-tag doesn't04:13
ddaaThat's a valid point.04:14
Kinnisonsabdfl: as I said; deprecate it by all-means; encourage .arch-ids by default; but don't remove arch-tag or it'll annoy too many people04:14
sabdflKinnison: agreed04:14
=== Kinnison decides that 'deprecate' is the word of the day
=== Kinnison wonders if he can get it into a conversation with his father later
ddaasabdfl: but please write this ML message, that will be much more conducive to a fruitful discussion than irc chat.04:14
stubSo if I want to stop things being sucked into our arch archive, all I would have to do is make sure I stick 'arch-tag: biteme' in every one of my source files?04:15
Kinnisonstub: yep04:15
(spiv/#launchpad) stub: Well, you can set tagging-method to ignore it, I think.04:16
(spiv/#launchpad) I think that's the default, even.04:16
(spiv/#launchpad) stub: see the docs for "tla id-tagging-method".04:17
ddaa"explicit" id-tagging method ignores taglines.04:19
=== SteveA -> food
=== debonzi [~debonzi@] has joined #launchpad
ddaaSteveA: "arch-tag: " is only used by tla when the leading chars are all whitespace or punctuation.04:32
=== BradB|out is now known as BradB
ddaaIn addition, an explicit tag always override a tagline.04:34
ddaaIn the past, (the now deprecated "implicit" tagging method), the marker was "tag: " which was found to be a practical problem.04:35
sabdflstub: where is the best place to learn about auto-generated forms?04:43
stubSecond half of the Z3 tutorial if it is still around. Otherwise the zope book from srichter available on the z3 wiki.04:44
sabdfli need to start work on some of the existing auto-generated forms04:45
sabdflmy inclination is just to re-do them as page templates but it may just be me being a luddite04:45
stubOnce the form machinery went into Z3, nobody used anything else ever again except for the most trivial pages.04:48
stubIts easy to knock up a simple form in the old style, but once you start adding validation, error handling etc. to make it actually look professional you see real benefits.04:49
=== Kinnison waves
=== Kinnison will check-in later from wales
stubAnd from page 27 onwards: http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/ProgrammerTutorial/programmers_tutorial.pdf04:54
(dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: fix enum descriptions for bug severity (patch-663)04:54
sabdflstub: thanks, will educate myself this evening04:59
BradBelmo: How do I get to mawson?05:01
BradB(via ssh'ing, to dogfood malone, that is)05:03
elmo_oh, except you have some prehistoric fucking ssh05:07
elmo_err, MachineOverview05:07
elmo_anyway, same way you get to gentoo05:08
elmo_bounce throught chinstrap05:08
=== wartylog [~warthylog@port49.ds1-van.adsl.cybercity.dk] has joined #launchpad
=== Topic for #launchpad: lunchpad: home of the sandwich artists | fogo na bomba | "qorking along happily, with SteveA egging us on"
=== Topic (#launchpad): set by sabdfl at Tue Oct 19 11:05:38 2004
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Now checks for new or changes tags on merge. (patch-668)07:54
SteveAthat was "changed"08:03
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad []
SteveAdaf: hello08:22
=== BradB|lunch is now known as BradB
=== mdz_ is now known as mdz
SteveAspiv: hello08:23
SteveAhave you done any more work on the xml-rpc auth server lately?08:26
spivNot since the nickname worth.k.08:26
spivwork, rather.08:26
SteveAthere's a job coming up to integrate the shipit database with the golden database08:27
SteveAand integrate shipit's auth with the golden database08:27
SteveAto do this, shipit should use the xml-rpc auth server08:27
SteveAbut, we should also improve the api of the auth server08:27
=== spiv nods
spivsabdfl wants the api to stop sending the salt.08:27
SteveAwe should do a new api08:28
SteveAand keep the old one around until we can get the plone ode changed08:28
SteveAthe new api could run on the same port with new method names08:28
SteveAor could run on a new port08:28
sabdflsame port08:28
sabdflno need to switch ports just because the api is evolving08:29
dafSteveA: hi08:29
SteveAit is easier to turn off the old one if they run on separate ports08:29
SteveAand it is clear which api is beign used -- all old or all new08:29
dafspiv: have you had a chance to look at those two test bugs I filed?08:29
sabdflSteveA: we just update the server not to export the old api08:29
SteveAimagine this: we get someone to update the code in plone so that it uses the new api08:30
SteveAwe test it, and it all works08:30
SteveAso we remove the old api08:30
spivdaf: The interface ones?08:30
dafspiv: yep08:30
SteveAand plone stops working, because one call to the old api was missed08:30
spivdaf: Not really.08:30
dafspiv: ok08:31
spivdaf: Except in the general, "Yep, these look like bugs alright" sense ;)08:31
SteveAdaf: I'd like to have a rosetta meeting either tomorrow or monday08:31
dafSteveA: any reason why we can't do tomorrow?08:32
SteveAspiv: which way would you do it?  new port or new api + old one on same port?08:32
SteveAanyhow, whichever way, are the requirements for the new api clear?08:32
spivSteveA: I'm ambivalent.  Code-wise for me, it's practically no difference.08:32
SteveAshould we make this available over ssl?08:33
dafspiv: for #2121, is it just a matter of the parameter being added to the interface?08:33
spivSo if someone has a firm opinion on which way will make the transition easier, I'm happy to go with that.08:33
spivdaf: I think so, judging from Steve's comment.08:33
dafok, I'll change the interface then08:33
daf#2122 seems less clear-cut08:34
SteveAdo it mark's way, unless we need to do it over ssl, in which case, we'll need a new port anyway08:34
spivI like SSL from the viewpoint of keeping our security code to a minimum.08:34
SteveAspiv: but, is the new api clear to you?08:34
=== BradB looks at Malone UI changes; "Sev", "Pri"...what gives? :)
SteveAwha giv?08:35
BradBwoohoo, more unbreaking to do08:35
spivSteveA: The only changes I'm aware of is sending passwords in plaintext rather than digests, and not returning salts.08:36
dafspiv: IBranch doesn't seem to have an __ne__, so I can't see why it's complaining08:37
SteveAok.  it occurs to me that you could avoid sending the salts too by always sending the same salt to plone, and decrypting in the xmlrpc auth server.08:37
SteveAthat meets the goal of not sending any salts from the database, but without altering plone auth code.08:37
SteveAdaf: does IBranch extend anything?08:38
spivThat doesn't work.08:38
SteveAI suppose it doesn't08:38
dafSteveA: oh, right, yes08:38
dafclass IBranch(ICategoryItem, IPackage, IVersionIterable):08:38
spivI can't transform SSHA(password, saltA) -> SSHA(password, saltB) without knowing the password.08:38
BradBstub: I don't have time to see why this is happening myself, but your mail changes don't seem to work here; I expected to get from/to of bradb@bbnet.ca, but instead got noreply/test respectively (as per what I last hardcoded in the Python code, but I expected that your changes subvert whatever the real email address was.)08:38
SteveAspiv: of course.  I'm being gosh-it-is-late-and-i-am-not-thinkin08:39
spivThat's ok :)08:39
=== BradB decides to deploy a Malone from yesterday
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
SteveAspiv: so, can you add to you todo list to make appropriate changes to the auth server.  add the new api, and I suppose also make it run ssl.  do it the way mark wants, because i can't think of a good enough reason not to ;-)08:41
spivI'll file a bug against myself.08:42
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
dafINamespaceObject -> IArchiveItem -> ICategoryItem -> IBranch08:42
dafand INamespaceObject requires __ne__08:42
SteveAlooks like a bug in code.  who owns that code? ddaa?08:43
SteveAdaf: what time tomorrow?08:43
dafI suggest 1400 or 1500 UTC08:44
SteveAok, 140008:45
SteveAcarlos:is that okay with you?08:45
BradBSteveA: presumably i'll use the same DB as rosetta on mawson eh?08:47
BradBew, hm, that might not work08:48
SteveAI'd suggest using a separate database08:48
BradByeah, easier08:48
SteveAyou'll want to update at different times etc.08:48
carlosSteveA: yes08:48
SteveAcarlos: great08:48
dafspiv: who owns that code?08:48
carlosDon't know if it could be of your interest, but I'm packaging sqlobject for Debian, hope this weekend I will have the packages ready08:49
dafcarlos: did you see my packages?08:49
carlosdaf: hmm, not, do you have them?08:50
dafI made them a while ago08:50
dafbut they may be of interest to you08:50
dafplease go ahead with you packages08:50
daf* your08:50
dafcarlos: I made the packages for company use08:51
carlosdaf: where do you have them?, perhaps I could reuse something. I have the basic packages done, I only need to split the documentation and add the suggestions for every backend supported08:52
dilysNew bug 2128 for Launchpad/Launchpad: Update authserver API to not expose salts08:52
dafcarlos: chinstrap:/home/daf/pacakges08:52
carlosdaf: hnmm, right, I just remembered it ...08:52
dafactually, there are only binary packages there08:52
SteveAspiv: can you also file a bug on you and mako for "get shipit talking to the xmlrpc auth server for Persons"08:53
carlosdaf: If you could send me the sources that could be really good, althought I think we have already the same done.08:54
dafcarlos: I'm uploading the sources to chinstrap now08:55
carlosok, thanks08:55
dafcarlos: the .diff.gz is ugly because it removes the existing debian/ directory from the SVN snapshot08:55
carlosI will look at them this weekend08:55
carlosdaf: I was using the final tar.gz and it didn't had it, so it's not a problem, don't worry08:56
carlosdaf: Did you saw the log of today's meeting?08:56
dafcarlos: right -- just a warning that reading the .diff.gz might be a bit troublesome :)08:57
dafcarlos: not yet08:57
carlosdaf: ok :-)08:57
carlosdaf: ok, if you have time to talk about it, just tell me it, or should we wait for tomorrow's meeting with Steve?08:57
daflet's talk about the message set split09:00
dafit took me a while to get a diff yesterday09:01
dafbecuase my revision library got corrupted09:01
dafand arch was misbahaving in other ways09:01
dafand then when I did get a diff, it was quite hard to read09:02
carloslots of changes...09:02
dafyou changed the class names so that s/Message/Msg/?09:02
carlosI fixed some of them, then you told me that those changes should be outside the changeset (my fault) and I stopped doing it09:03
carlosbut at that point was easy to fix the remaining renames than revert it09:03
carlos /s/easy/easier/09:03
dafright, better to be consistent09:03
dafand you're confident that all references to the old class names have been changed?09:04
carlosI think so, I fixed the unittests, the functional tests and did some testing from the webinterface09:04
dafsounds good09:05
dafhow do you store messages which appear in a PO file but not in the template?09:05
carlosI add the msgid to the potmsgset but with sequence=009:06
carlosthe potmsgset.sequence=0, the pomsgset.sequence = SOMETHING09:06
dafis it so that the message IDs are only stored in the potmsgset?09:07
dafi.e. you can't have a pomsgset without a potmsgset?09:08
carlosyes that was the idea behind the split09:08
carlosthe have pomsgset.potmsgset that is a FOREIGN KEY to potmsgset.id09:08
carlos /s/the/we/09:08
dafwell, the main idea behind the split is that we didn't have one class representing two things09:09
carlosyes, but in Oxford I remember that we talked about it also09:10
carlosis it a problem?09:10
carlosI thought we had consensus about it, that's why I wrote the SQL script that way 09:10
dilysNew bug 2129 for Launchpad/Launchpad: get shipit talking to the xmlrpc auth server for Persons09:10
dafI'm trying to decide about it09:11
carlosdaf: don't think it's too difficult to modify it09:11
carlosbut I think it's better as it's now09:11
carlosthat way, the export code is faster, you can get all pomsgset that have a potmsgset with sequence > 0 and you get the current msgsets09:13
dafI'm keeping an open mind about it09:13
dafbut I would make the reference from pomsgset to potmsgset optional09:13
dafperhaps your approach is better :)09:13
carloshmm, if we do it optional, we need pomsgidsighting for the pomsgset09:14
dafokay, I think you should merge the branch09:14
dafif you are happy with it09:14
carloscould you run the unittests and functional tests so I'm sure I'm not missing anything?09:15
dafddaa: around?09:15
=== BradB [~bradb@modemcable165.196-131-66.mc.videotron.ca] has joined #launchpad
dafcarlos: I'll also test a star-merge of the branch into a RF checkout09:16
carlosok, then let me do a star-merge from rocketfuel first so I see if there is any conflict09:17
dafhow come all the unit tests on the branch pass?09:19
dafoh, I know09:20
dafbecause the interface tests are not automatically generated09:20
carlosI was merging from rocketfuel from time to time09:20
carlosI did not changed it09:21
=== justdave [~dave@] has joined #launchpad
BradBelmo_: I need three things on mawson please: 1. a DB just for the malone alpha, 2. a port to listen on, 3. a URL at which to access the site (not sure what convention's in place for rosetta on URL names for the alphas.)09:24
dafBradB: for (2), all you need is to agree on a port the Apache proxy will forward to09:28
BradBsure, that's what i expected09:28
dafI wasn't sure09:29
dafI suggest 902009:29
BradBi get to punt apache config off to elmo_ though right? :)09:29
dafhttp://w.ul.o points to 9000 and http://r.sf.o points to 901009:29
dafyes, elmo will do the Apache config09:29
BradByeah, so 9020 sounds fine to me09:30
dafI tend to run debug servers on N+1 or N+209:31
elmo_you guys need to choose the URL, not me09:31
elmo_you can create a db as the launchpad use which you have access to09:31
dafso I can set up an SSH tunnel from localhost:9011 to mawson:9011 and use the debug server on mawson from my browser09:31
=== BradB chooses malone.ul.o
elmo_I don't think sabdfl will go for that kind of URL for a pre-alpha dogfood09:35
dafwhy not?09:36
BradBok, so we don't get to choose the URL then :)09:36
elmo_daf: same reason as rosetta was moved09:36
sabdflelmo_ it's fine, as long as we can put a client cert on it09:36
BradBi'll take whatever, as long it starts with malone09:36
sabdflguys, i think we should make mawson the same as rosetaa currently09:36
sabdfljust have everything accessible from /09:37
sabdflrosetta, soyuz, malone09:37
sabdflthen we can move seamlessly from doap to  packages to bugs to translations09:37
dafhow is that different from what we currently have?09:37
sabdflall talking to the same db09:37
BradBsabdfl: can't09:37
sabdflBradB: what am i missing?09:37
BradBsabdfl: e.g. the db the rosetta alpha's running on may not work with the schema i'm going to run with the version of malone i want to deploy09:38
sabdflBradB: the rosetta alpha uses a different db altogether09:38
sabdflu'm just saying use the same url layout09:38
dafsabdfl: use the same URL layout for what as what?09:39
BradBsabdfl: what did you mean by "all talking to the same db" then?09:39
sabdflrosetta-dogfood, malone-dogfood, soyuz-dogfood09:40
sabdflcurrently if I go to mawson.ubuntu.com09:40
sabdfli see the development sevrer09:40
BradBsabdfl: only one alpha app will be talking to one db (even though you may be able to access the other apps from within that alpha app, there's only meant to be one that's actually being alpha'd, since the others may be in a pre-alpha state at the time you took a snapshot of the app you're wanting to deploy as an alpha.)09:40
sabdflthe one that resets every 30 minutes09:40
dafit doesn't make sense for us to dogfood rosetta because we're not doing translation09:40
dafwe can dogfood Malone because we need a bug tracking system09:41
sabdfldaf: next step from the alpha would be to bring the user base to a more intense environment that includes the doap, package, bug stuff09:41
dafsabdfl: right, but that's not dogfood because it's not us using it09:41
sabdflfari 'nff09:42
sabdflit's kind of the "beta test next version" server09:42
dafsabdfl: maybe I'm being dim, but I can't grasp what you're saying about Mawson :)09:42
sabdfllook at the url table for https://mawson.ubuntu.com/09:43
sabdflit's the same as you get on your dev box09:43
sabdflbut different to the rosetta alpha09:43
carlosdaf: in launchpad meeting we talked about start some translations of ubuntu as people are requesting those kind of contributions09:43
sabdfli think the dogfood box should look the same as our dev boxen09:43
sabdfljust with a more serious db behind it09:44
sabdfli tihnk we should do daily code updates on the dogfood box09:44
dafoh, right09:44
dafI think I'm with you now09:44
sabdfleach day stub would update the dogfood db and code simultaneously unless we *know* it's busted09:44
dafso you're saying the Malone dogfooding should not be restricted to Malone?09:44
sabdfldafL: exactly09:44
dafwhy didn't you just say so? :)09:45
sabdfldaf: brain drain, i'm being a bit tired and dim :-)09:45
dafwe'll need to be careful with DB updates09:45
dafwe don't want to trash our bugs09:45
sabdflsure, but that care is needed anyhow09:45
sabdfllater we can also access the same machine through:09:46
sabdfl   malone-test.ubuntulinux.org09:47
sabdfl  rosetta-test.ubuntulinux.org09:47
sabdfland see the same codebase and same db, just with the url map structured appropriately09:47
sabdflfor a malone-only or rosetta-only view09:47
sabdflalso, we might get a partner project to let that be rosetta-test.project.org so their translators could use the bleeding edge stuff09:48
dafspiv: seems I'm getting functional tests failing because there's an existing authserver running09:48
dafspiv: this is rather annoying09:48
sabdfland we get to exercise the domain-specific branding code09:48
spivdaf: :(09:48
spivHmm, actually, I think I have an idea how to make that more robust.09:49
=== sabdfl is now known as sabdfl|food
BradBThis would make my job a helluva lot easier09:52
dafBradB: whose job would it make harder? ;)09:52
BradBheh heh09:52
=== carlos goes to have dinner
dafDatabaseException: ERROR:  relation "beer_id_seq" already exists09:52
BradBdaf: maybe me (as for who's job it would make harder.)09:52
carlosDo we have beers in launchpad?09:52
dafyes, we do09:53
dafCREATE TABLE beer (09:53
daf    id SERIAL PRIMARY KEY,09:53
daf    name TEXT NOT NULL UNIQUE,09:53
daf    rating INT09:53
BradBwe rank developers by how many beers they deserver09:53
BradBwishful thinking anyway :)09:53
dafI like that idea :)09:54
dafUPDATE Person SET beers = (beers + 5) WHERE nick = 'daf';09:55
BradBsabdfl|food: When and where do we deploy the dogfood LP and who's deploying it?09:55
BradBdaf: heh09:55
=== BradB ctrl-c's his build config, in any case
dafBradB: forget the "Donato to Ubuntu" portlet09:56
daf* Donate09:56
dafwe need a "Send Canonical Developers a Beer" portlet09:56
BradBthat'd be more practical09:56
BradByou can't get drunk off dollar bills, afterall09:56
=== SteveA [~steve@adsl-213-190-44-43.takas.lt] has joined #launchpad
BradBSteveA: i like sabdfl|food's idea: dogfood LP10:00
BradBit's a lot simpler10:01
SteveABradB: I think I missed something crucial to understanding that10:04
BradBSteveA: instead of dogfooding Malone, let's just have one dogfooded launchpad app10:05
BradBso instead of 4-5 dogfood apps, we'll just have one; instead of 4-5 dogfood db's, we'll just have one; etc.10:06
SteveAfor malone and soyuz combined?10:06
SteveArosetta isn't being dogfooded10:06
BradBit kind of should be though10:06
SteveAdoing malone and soyuz combined makes sense to me10:06
SteveAdon't know where 4-5 DBs came from10:06
SteveAI think your eggsagerating again ;-)10:07
=== SteveA mentions eggs
BradBrosetta, doap, foaf, soyuz, malone; i count 510:07
spivSteveA: egghead ;)10:07
SteveAI don't think there was ever any plan to dogfood doap and foaf separately10:07
BradBso, 1 instead of 3; the principle's the same :)10:09
SteveAanyhow, I think it is a good idea definitely for soyuz and malone (and doap and foaf).  It may be a good idea for rosetta.  Daf and carlos would need to decide that.10:11
=== SteveA goes to make evening food
BradBi get the impression they're in favour. daf, carlos?10:12
dafI'm not sure what the change is, exactly10:13
BradBall in favour of dogfood say "arf!"10:13
dafit involves having more domains names?10:13
BradBdaf: well, i'm not quite sure about the current rosetta. can it be considered to be dogfooding if we say it is, or are other people actually using it?10:14
daf"the current rosetta"?10:14
BradBdaf: the current alpha you guys have running, or "beta test new version" or whatever you were saying it was earlier10:15
dafthat's an Alpha10:16
BradBso there are outside users?10:16
BradBok, hm10:16
dafit makes inherent sense for us to dogfood malone, because we need a BTS while doing Launchpad development10:18
dafI'm not sure if Soyuz would be useful to use as Launchpad developers10:18
dafand I'm pretty usre that Rosetta wouldn't be10:19
BradBif our "dogs" include ubuntu developers, then i'd say dogfooding all three makes sense10:20
dafah, right, that would make more sense10:20
dafbut I'd still consider that an alpha (or whatever) rather than a dogfood, because the people using the system aren't the ones developing it10:21
BradBthen malone fits as much into that category as anything else ("alpha" not dogfooding :)10:22
BradBbecause malone isn't designed to be a BTS for malone bugs, it's designed to be a BTS for products and packages10:22
BradBwe'd shoehorn it into being a BTS for malone, just to make some use of it, but we won't touch 95% of the most interesting functionality while using it only for malone BT'ing10:23
=== kiko is now known as kiko-fud
BradBwhen it comes down to it, i think we need one dev LP instance, one testing LP instance, and one live LP instance; nothing more, nothing less10:30
=== carlos is back
carlosdaf: did you finished the tests in my branch? Can I merge it?10:36
dafthe functional tests are failing for me now10:37
dafI don't think it's because of your changes10:37
dafbut I'd like to be sure10:37
carloswhich ones?10:37
carlosI have two fails10:37
carlosbut I think they are failing also with rocketfuel's version10:37
carlosBrokenMethodImplementation: The implementation of newSourceSource violates its contract10:38
carlos            because implementation requires too many arguments.10:38
carlosand BrokenImplementation: An object has failed to implement interface <InterfaceClass canonical.launchpad.iandrew.IBranch>10:38
carlos            The __ne__ attribute was not provided.10:38
dafthose are unit test failures10:42
carloshmmm, I did not saw the "functional" word O:-)10:43
dafspiv: it says a twistd is already running, but the PID it mentions doesn't exist when I check10:43
carlosremember that you need to recreate the database with the schema from my branch10:43
spivdaf: Hmm10:43
dafcarlos: good idea O:-)10:44
carlosdaf: :-)10:44
spivdaf: I have a potential fix for that in my archive.10:44
spivMirroring now.10:44
daflovely, thanks10:45
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Remove small race in authserver ftests (patch-669)11:01
ddaa(20:43:00) daf: and INamespaceObject requires __ne__11:12
ddaa(20:43:27) SteveA: looks like a bug in code.  who owns that code? ddaa?11:12
dafhi ddaa 11:13
ddaaIt's probably some code dating back to when I first wrote canonical.arch.interfaces11:13
ddaaI do not see why that is a buf.11:13
ddaa* a bug11:14
dafit's a bug because the interface has an __ne__ method11:14
dafand the implementation does not11:14
ddaaYes, I had trouble defining those... was not sure what was the right way to define operator overloading in interfaces.11:14
ddaaThe pyarch implementation has one. That's the only one I wrote.11:14
dafwell, should IBranch have an __ne__ method?11:15
ddaaBut you can argue that is a misfeature.11:15
ddaaNamespaceObject do equality comparison on their type and their fullname.11:16
dafwell, I don't know enough about it to argue11:16
dafwhat I do know is that a test is failing because of this disparity11:16
ddaaEventually, the equality relation between objects of the same fullname might turn into an identity relation in pyarch.11:17
ddaaWhether or not that is appropriate to reflect that in launchpad I cannot tell.11:17
dafis there an appropriate short-term solution?11:17
dafe.g. either implement __ne__ in Branch or remove __ne__ from IBranch11:17
ddaaFix the implementation so the test case passes or modify the interface. I do not really care.11:18
ddaaI think you have to pick one.11:18
dafI think fixing the implementation would be easier11:18
dafbecause messing with IBranch's inheritance looks sticky11:18
ddaaSome people have been charging me with inheritance abuse.11:19
dafmaybe, but as I say, I have neither competence for or interest in arguing that11:20
ddaaI threatened to sue back with unit-testual harassment, and we reached an agreement :-)11:20
ddaadaf: at least, you can make the method raise UnimplementedError11:21
spivHah.  That's a cop-out. :)11:22
ddaaThat will pass until make check run pychecker.11:22
dafit is :-/11:22
ddaaWhich it will certainly do one day.11:22
dafI could also disable the test, but I'd rather not do that :)11:23
dafis anything actually using __ne__?11:23
ddaaif you have the time, just write the code and a test case for it, and be done with it forever.11:23
dafin any of the interfaces it's defined for?11:24
=== sabdfl|food is now known as sabdfl
dafspiv: any reason why iandrew.py is still around?11:26
spivNo good reason.11:28
sabdfldaf: how does rosetta.w.h.c reset its db? Seems that it's missing a few tables11:30
dafit doesn't reset its db11:31
dafthat would appear to be the problem :)11:31
carlossabdfl: it resets its db when you poke daf to do it :-)11:33
dafcreatelang: language installation failed: ERROR:  permission denied for language c11:34
sabdfldaf: poke :-)11:34
sabdflthis is why i want the dogfood server to be updated every day11:34
sabdflbut you can't have too many "production" instances or it gets a pain11:34
dafyeah, I was supposed to do this11:34
dafmea culpa11:34
daflooks like we have some problem with permissions at the moment, though11:35
sabdflwe can't have rosetta-alpha and separate dogfoods for each lp component and the staging and the production11:35
dafno, that would be silly11:35
sabdflour bdba would be running around all day11:35
dafalso, the diferent apps couldn't share data11:35
dafwhich means you can't test any integration features11:35
dafsabdfl: I've mailed launchpad about the DB reset problem11:40
dafsabdfl: I'll get a cron job set up to reset it regularly11:40
dafddaa: did you see my question?11:40
ddaaI did not, I am on the phone.11:41
lifelessddaa: isn't that uncomfortable ?11:52
BradBsabdfl: What's the pronouncement on the dogfooding then? I think we should have one dev LP, one test LP, and one live LP.11:57

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