On 04:49 pm, [EMAIL PROTECTED] wrote:
Josselin, Sam, Christopher and glyph, I put you on copy of this mail since I don't know if you are subscribed to this bug. Sorry for any
inconvenience.

I apologize again for the inconvenience, but in fact I was not subscribed to the bug, so I have to assume (some of) the other folks were not either.
OoO La nuit ayant déjà recouvert d'encre ce jour du vendredi 25 avril
2008, vers 23:41, [EMAIL PROTECTED] disait:

To summarize:
- we  can  fix the  problem  in  python-nevow  by using  python-central
  instead of python-support. I am OK with this but this won't fix other
  potential packages  that use python-support and want  to ship twisted
  plugins.

I think this is really the correct solution; if Twisted is packaged one way, then everything that provides plugins for it should be packaged the same way. We assume that this is the case (with distutils) in Twisted itself. In Debian, randomly using different paths is a problem.
- we can fix the problem in python-twisted-core by adding a hack to add
  /var/lib/python2.X/twisted/plugins  to __path__.   I  attach a  naive
  patch for this (I  am not sure this is the best  way to achieve this,
  feel free to propose another patch)

I do not think that this is a particularly good way to fix the issue. Do the unit tests pass when you do it? :) (run "trial twisted".)

However, it's at least a reasonable fix that does not seem like it will not introduce many new problems. One drawback is that this will need to be done for every other packages that uses the Twisted plugin system on its own package hierarchy, such as Nevow, Axiom, and Mantissa. Simply packaging these libraries the same way would not require any special fixes or patches.
- python-support  could   be  modified  to  not   use  __init__.py  for
  twisted/plugins. I  don't know  what are the  consequences of  such a
  modification

This suggestion would cause Debian to rely on a hack designed primarily to allow developers to keep their own non-packaged versions of Twisted plugins. It would probably work, and it would not change the code, but I also think this would probably affect a lot of other packages for no good reason. Also, we wrote the Twisted plugin system with the assumption that system installations would only have one plugin directory to check for new plugins; this would double the amount of work Twisted has to do to look for each plugin on Debian.

However, this other suggestion, from Josselin Mouette, is definitely wrong, and, as I have already attempted to explain, would introduce a regression:
I think the real solution is to fix python-twisted to use python modules
directories as God intended them to be. Removing the __init__.py check
is a really simple change and will fix the issue as well.

Please see this Twisted ticket - http://twistedmatrix.com/trac/ticket/2339 - which is a bug report that explains the broken behavior which happens with this exact change. There were tests, added in the fix for this bug, which will fail on Debian if Debian adds a patch to re-introduce the bug.

I don't know why you think "God intended" python packages to be considered in this manner. Without the Twisted plugin system and a specific __path__ hack included in Twisted, if Nevow wished to install a package under the twisted/ hierarchy, "God" (by which I guess you mean the default __import__) would not consider the module to be available.



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to