/srv/irclogs.ubuntu.com/2013/06/25/#launchpad-dev.txt

StevenKcjwatson: I've approved the review, and the API script looks brilliant too.00:30
cjwatsonThanks.  I reckon it ought to be possible to do setChroot(data=fileobj, sha1sum=foo), but life was a bit too short to get that done just now ...00:31
cjwatsonThat would make the progress bar a lot less painful.00:31
StevenKcjwatson: I'm also sure that one of us will take great joy in killing scripts/ftpmaster-tools/manage-chroot.py and related friends after your branch is deployed.00:33
cjwatsonI have a branch locally for that :)00:34
cjwatsonThough if you beat me to pushing, it's not like it's all that creative00:34
cjwatsonAnd you probably deserve the LoC credit more :)00:35
=== cyclicflux is now known as Guest36460
=== Guest36460 is now known as CyclicFlux
StevenKwgrant: I think your Zope upgrading has broken auditorfixture bootstrapping: http://pastebin.ubuntu.com/5797569/05:44
wgrantStevenK: Except I didn't touch auditorfixture05:48
wgrantWas it not pinned?05:48
wgrantThat zc.recipe.egg constraint is suspiciously high05:49
wgrantI'm pretty sure LP still uses 1.x05:49
wgrantztk-versions.cfg:zc.recipe.egg = 1.3.205:49
StevenKwgrant: Hm, it needs a versions.cfg?05:50
wgrantStevenK: Might be advisable. It possibly picked up buildout 2 if I left that in download-cache05:50
wgrantOr just specify an appropriate version constraint in setup.py05:50
wgrantPinning is probably less useful05:50
wgrantYou need to work out where that zc.recipe.egg > 2.0a3 constraint came from05:51
StevenKwgrant: Reverting to the bootstrap.py in the tree: http://pastebin.ubuntu.com/5797584/05:53
wgrantRight, you need to restrict your zc.buildout version05:53
wgrant        $(SHHH) PYTHONPATH= $(PYTHON) bootstrap.py\05:53
wgrant                --setup-source=ez_setup.py \05:53
wgrant                --download-base=download-cache/dist --eggs=eggs \05:53
wgrant                --version=1.7.105:53
wgrantThat's how LP invokes it05:54
StevenKError: There is a version conflict.05:56
StevenKWe already have: zc.buildout 1.7.105:56
StevenKbut z3c.recipe.tag 0.7 requires 'zc.buildout>=2.0'.05:56
StevenKGuess I need to clean harder05:57
StevenKHm, that doesn't help, but I can't see what is pulling in z3c.recipe.tag 0.706:04
wgrantStevenK: It will probably be trying to pick the latest version it can find06:08
StevenKOh, there is a 0.7 in download-cache06:10
StevenKwgrant: Hmm, adding 'z3c.recipe.tag == 0.6', to setup.py in install_requires still has it grabbing 0.706:16
wgrantStevenK: I don't know how well that will work. It may need to be versions.cfg06:17
StevenK% cat versions.cfg06:21
StevenK[versions]06:21
StevenKz3c.recipe.tag = 0.606:21
StevenK...06:21
StevenKGetting distribution for 'z3c.recipe.tag'.06:21
StevenKGot z3c.recipe.tag 0.7.06:21
* StevenK stabs buildout06:21
wgrantIs versions.cfg being used?06:21
wgrantAnd are you sure there are no other version dependencies that are pulling in z3c.recipe.tag?06:21
StevenKStop being obstreperous, damn it!06:21
StevenKwgrant: How do I check that?06:21
wgrant-vv?06:22
StevenKwgrant: Oh, it's direct, due to the buildout.cfg target [tags]06:28
wgrantSure, there's a direct dep06:31
wgrantBut your versions.cfg, if you've actually mentioned in buildout.cfg, should pin it to the right version06:32
wgrantUnless some other dep wants 0.706:32
StevenKOh, doh06:33
=== tasdomas_afk is now known as tasdomas
StevenKcjwatson: I accidently manage-chroot.py. But removeChroot() is on prod.10:59
cjwatsonI noticed, thanks10:59
ttxThe Launchpad testr run takes a looong time. What would be the proper syntax to run only lib/lp/blueprints/tests/test_webservice.py ? I'm fumbling the -t PATTERN apparently13:35
cjwatsonbin/test -vvct lp.blueprints.tests.test_webservice13:36
ttxcjwatson: are you on the Launchpad team those days or what ? :)13:36
ttxcjohnston: thx13:36
ttxoops13:36
ttxcjwatson: thx13:36
cjwatsonnot really, just an interested onlooker who sometimes finds it quicker to fix his own bugs :)13:36
cjwatsonthough I suppose https://dev.launchpad.net/Contributions might belie that slightly13:37
=== wedgwood_away is now known as wedgwood
ttxHmm... Looks like I could use some help. I'm working on exposing proposeGoal/acceptGoal/declineGoal methods in the specification API14:46
ttxI think I got the implementation right but i'm strugging with unit tests14:46
ttxSee https://code.launchpad.net/~ttx/launchpad/lp119338914:46
ttxspec.proposeGoal(goal=series) in the tests fails with 401 Unauthorized14:47
ttx('goalstatus', <Specification 13 u'name-100429' for u'product-name-100423'>)14:47
=== joeyfreenode is now known as joey
ttxIt feels like it doesn't like that the proposer (or driver) plays with goalstatus through proposeGoal().14:49
cjwatsonI think you need to move those methods to a new ISpecificationDriver interface and declare that as requiring launchpad.Driver14:53
cjwatsonI think you need to move those methods to a new ISpecificationDriver interface and declare that as requiring launchpad.Driver14:53
xnoxudd import script getting 401 from launchpad. Are "natty" branches frozen or something?14:53
xnoxhttp://package-import.ubuntu.com/status/eglibc.html#2013-06-25 06:22:30.57902414:53
cjwatsonAt the moment they only seem to be protected by browser code14:53
xnoxhttp://package-import.ubuntu.com/status/eglibc.html14:53
cjwatsonAlso there's nothing in lib/lp/blueprints/configure.zcml that declares permissions on goalstatus, so it'll default to closed14:54
cjwatsonThere's a comment about that though, but a strange one; goalstatus' security is going to be checked even if it's set via proposeGoal etc.14:55
cjwatsonYou may need somebody more expert than me to look at this14:55
ttxcjwatson: yeah, the model around series goal is a bit weird.14:56
cjwatsonWell, never mind model, the permissions seem mad14:56
cjwatsonWhich suggests to me I don't fully understand what's going on14:57
ttxthere is also a comment in .zcml : "NB: goals and goalstatus are not to be set directly, it should only be set through the proposeGoal / acceptBy / declineBy methods"... so you'd think the method access control should be enough14:57
cjwatsonthat was what I referred to above14:57
cjwatson15:55 <cjwatson> There's a comment about that though, but a strange one; goalstatus' security is going to be checked even if it's set via proposeGoal etc.14:57
cjwatsonsimply going through a call to .proposeGoal is not enough to magically strip access control off zope attribute access14:58
ttxcjwatson: ok14:58
cjwatsonbut that means I don't understand exactly why it's failing for you right now, because my argument is that this is dangerously open at the moment :)14:59
cjwatsonI do think that the permissions on browser methods should be carefully unified with those on the underlying interfaces as a prerequisite to exporting things over the API.  Why the test is failing, not entirely sure14:59
=== BradCrittenden is now known as bac
cjwatsonOr, rather, I think I understand why it's failing but I then don't understand why the normal browser view code works15:01
cjwatsonIt doesn't seem to be doing removeSecurityProxy or anything nasty like that15:02
ttxYeah. unfortunately we are quickly approaching the end of the timebox I can dedicate to fumbling my way through launchpad code... so let's see if someone can shine some light on this... otherwise i'll probably work around the missing feature from browser rather than API15:06
cjwatsonwgrant or StevenK should be able to answer when they show up15:11
cjwatsonYour change looks structurally roughly right to me, FWIW, it's just the legacy permissions weirdness ...15:11
ttxcjwatson: heh, so close and yet so far :)15:20
=== micahg_ is now known as micahg
=== tasdomas is now known as tasdomas_afk
=== dpm is now known as dpm-afk
=== heroux_ is now known as heroux
=== tasdomas_afk is now known as tasdomas
=== jelmer_ is now known as jelmer
=== tasdomas is now known as tasdomas_afk
=== wedgwood is now known as Guest19180
=== Guest19180 is now known as wedgwood
=== wedgwood is now known as wedgwood_away
wgrantttx, cjwatson: Managed to get a traceback out of that branch. It's lp.blueprints.subscribers.specification_goalstatus assuming that it will always get an unproxied object. I don't think that subscriber is ever actually used normally, since it's only triggered when distroseries or productseries on the spec change, and the only view that does that is SpecificationGoalProposeView, which doesn't call updateContextFromData, so doesn't fire an ...23:17
wgrant... ObjectModifiedEvent.23:17
wgrantThe model code seems to handle the goalstatus transitions correctly; I suspect you could just drop that subscriber entirely, since it's clearly broken23:17
wgrantSome of that subscriber still shows sabdfl in annotate, so it hasn't been touched in a while :)23:18

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