Attempt to package 4.1.1 for debian - unofficial
Hi, As there has not been any upgrades to the debian package, with regards to major versions I decided to have a go at trying to find out the problems with the current released version 4.1.1. I am not the debian maintainer, nor a debian developer. I am working out some details but one thing I have not been able to bypass, and would like some advice : The server fails in : exceptions.RuntimeError: twisted.internet.addressalready loaded, cannot load required backport later other parts fail in : exceptions.AttributeError: 'module' object has no attribute 'backport' See backtrace below [1],[2] I have tried to locate the problem, but I am so far stuck. The __import__("twext") in caldav.py in twisted/plugins is supposed to ensure that twisted get update with the new ipv6 modules that the patches.py in twext is patching ? Loading the twext.backport module dynamically standalone is possible [3]. I run debian sid with Twisted 12.0.0 but as far as I can tell without the ipv6 patches that patches.py checks for. The (wild) ideas I have so far: - Twisted loads twisted.internet.tcp etc before starting caldav in version 12.0.0 ? - The many different modules (groupcacher, caldavd, notifications) race to patch twisted, and once it is done the others fails ? - Some other package that happens to be in the python path confuses caldavd ? I assume it is some simple bug, and if you have a hint to the direction I will try to track it down. It can be that the configuration is out of date, or a version problem with Debian sid. I am trying to upgrade the standard configuration as well. - I also have a vague memory that xmlfile directory is depricated/not up to date/not recommended ? What is best to use for testing ? I am using postgres as data backend and have already patches for debian done (database_bootstrap). If someone wants to help or try the changes I have made so far let me know. Once I have a working package I will post the details. Thank you Fredrik Unger [1] 2012-11-13 17:53:59+0100 [-] LimitingInheritingProtocolFactory starting on 8008 2012-11-13 17:54:00+0100 [-] [groupcacher] Unhandled Error 2012-11-13 17:54:00+0100 [-] [groupcacher] Traceback (most recent call last): 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 647, in run 2012-11-13 17:54:00+0100 [-] [groupcacher] config.parseOptions() 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 614, in parseOptions 2012-11-13 17:54:00+0100 [-] [groupcacher] usage.Options.parseOptions(self, options) 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/python/usage.py", line 261, in parseOptions 2012-11-13 17:54:00+0100 [-] [groupcacher] for (cmd, short, parser, doc) in self.subCommands: 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 631, in subCommands 2012-11-13 17:54:00+0100 [-] [groupcacher] for plug in sorted(plugins, key=attrgetter('tapname')): 2012-11-13 17:54:00+0100 [-] [groupcacher] --- <exception caught here> --- 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/plugin.py", line 213, in getPlugins 2012-11-13 17:54:00+0100 [-] [groupcacher] adapted = interface(plugin, None) 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/zope/interface/interface.py", line 631, in _call_conform 2012-11-13 17:54:00+0100 [-] [groupcacher] return conform(self) 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/plugin.py", line 68, in __conform__ 2012-11-13 17:54:00+0100 [-] [groupcacher] return self.load() 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/plugin.py", line 63, in load 2012-11-13 17:54:00+0100 [-] [groupcacher] return namedAny(self.dropin.moduleName + '.' + self.name) 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/python/reflect.py", line 463, in namedAny 2012-11-13 17:54:00+0100 [-] [groupcacher] topLevelPackage = _importAndCheckStack(trialname) 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/python/reflect.py", line 400, in _importAndCheckStack 2012-11-13 17:54:00+0100 [-] [groupcacher] return __import__(importName) 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/plugins/caldav.py", line 17, in <module> 2012-11-13 17:54:00+0100 [-] [groupcacher] __import__("twext") # install patches before doing anything 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twext/__init__.py", line 21, in <module> 2012-11-13 17:54:00+0100 [-] [groupcacher] from twext import patches 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twext/patches.py", line 78, in <module> 2012-11-13 17:54:00+0100 [-] [groupcacher] _addBackports() 2012-11-13 17:54:00+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twext/patches.py", line 73, in _addBackports 2012-11-13 17:54:00+0100 [-] [groupcacher] tiname + "already loaded, cannot load required backport") 2012-11-13 17:54:00+0100 [-] [groupcacher] exceptions.RuntimeError: twisted.internet.addressalready loaded, cannot load required backport [2] 2012-11-13 17:54:02+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/python/reflect.py", line 400, in _importAndCheckStack 2012-11-13 17:54:02+0100 [-] [groupcacher] return __import__(importName) 2012-11-13 17:54:02+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/plugins/caldav.py", line 17, in <module> 2012-11-13 17:54:02+0100 [-] [groupcacher] __import__("twext") # install patches before doing anything 2012-11-13 17:54:02+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twext/__init__.py", line 21, in <module> 2012-11-13 17:54:02+0100 [-] [groupcacher] from twext import patches 2012-11-13 17:54:02+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twext/patches.py", line 78, in <module> 2012-11-13 17:54:02+0100 [-] [groupcacher] _addBackports() 2012-11-13 17:54:02+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twext/patches.py", line 68, in _addBackports 2012-11-13 17:54:02+0100 [-] [groupcacher] for submod in backports.iterModules(): 2012-11-13 17:54:02+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/python/modules.py", line 128, in iterModules 2012-11-13 17:54:02+0100 [-] [groupcacher] for placeToLook in self._packagePaths(): 2012-11-13 17:54:02+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/python/modules.py", line 423, in _packagePaths 2012-11-13 17:54:02+0100 [-] [groupcacher] load = self.load() 2012-11-13 17:54:02+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/python/modules.py", line 383, in load 2012-11-13 17:54:02+0100 [-] [groupcacher] return self.pathEntry.pythonPath.moduleLoader(self.name) 2012-11-13 17:54:02+0100 [-] [groupcacher] File "/usr/lib/python2.7/dist-packages/twisted/python/reflect.py", line 474, in namedAny 2012-11-13 17:54:02+0100 [-] [groupcacher] obj = getattr(obj, n) 2012-11-13 17:54:02+0100 [-] [groupcacher] exceptions.AttributeError: 'module' object has no attribute 'backport' [3] Python 2.7.3 (default, Sep 9 2012, 17:41:34) [GCC 4.7.1] on linux2 Type "help", "copyright", "credits" or "license" for more information.
__import__("twext") <module 'twext' from 'twext/__init__.pyc'> o= __import__("twext") ob = getattr(o, 'backport') print ob <module 'twext.backport' from 'twext/backport/__init__.pyc'>
On Nov 13, 2012, at 11:17 AM, Fredrik Unger <fred@tree.se> wrote:
Hi,
As there has not been any upgrades to the debian package, with regards to major versions I decided to have a go at trying to find out the problems with the current released version 4.1.1. I am not the debian maintainer, nor a debian developer.
The debian maintainer (Rahul Amaram) did some work not too long ago packaging 3.2, so perhaps you should work with him. I think he's on this list. Due to that work, at least now Debian is on a version with an SQL-backed data store; 3.2 and 4.1 have similar enough structures that you shouldn't need to change much. (2.4->3.2 was a much bigger jump.)
I am working out some details but one thing I have not been able to bypass, and would like some advice :
The server fails in : exceptions.RuntimeError: twisted.internet.addressalready loaded, cannot load required backport later other parts fail in : exceptions.AttributeError: 'module' object has no attribute 'backport'
Can you attempt to reproduce this problem with trunk? Trunk should not be packaged, but I vaguely recall seeing this bug and fixing it, although I can't find it in subversion history at the moment. If it doesn't reproduce with trunk I will try to find and extract the fix for you. If it *does* reproduce, that's odd, because I've at least run Calendar Server on Debian; it could be that I had a different version of Twisted installed, though. Thanks, -glyph
Hi,
The debian maintainer (Rahul Amaram) did some work not too long ago packaging 3.2.
The attempt started from his 3.2 version.
Can you attempt to reproduce this problem with trunk?
Ok, will do, thanks for the pointer. /Fred
participants (2)
-
Fredrik Unger
-
Glyph