PaulHowarth/Blog/2006-01-10

Tuesday 10th January 2006

Fedora Extras

JPO kindly approved my perl-Digest-MD2 package.

Local Packages

BitTorrent 4.3.5 has a number of issues that prevent it working on python 2.2 like it's supposed to. Since I'm getting Connection refused when trying to connect to upstream's codeville server, I can't see if they've been addressed yet, so here's my patch (I'm not a python programmer so apologies if there's a better way):

--- BitTorrent-4.3.5/BitTorrent/RawServer.py    2006-01-07 01:10:52.000000000 +0000
+++ BitTorrent-4.3.5/BitTorrent/RawServer.py    2006-01-10 11:05:04.000000000 +0000
@@ -72,7 +72,7 @@
         self.port = None
 
 
-        if isinstance(addr, basestring):
+        if isinstance(addr, (str, unicode)):
             # UNIX socket, not really ip
             self.ip = addr
         else:
--- BitTorrent-4.3.5/bittorrent-curses  2006-01-07 01:10:55.000000000 +0000
+++ BitTorrent-4.3.5/bittorrent-curses  2006-01-10 11:21:46.000000000 +0000
@@ -1,4 +1,5 @@
-#!/usr/bin/env python
+#!/usr/bin/python
+
 
 # The contents of this file are subject to the BitTorrent Open Source License
 # Version 1.1 (the License).  You may not copy or use this file, in either
@@ -113,7 +114,10 @@
         self.spew_scroll_pos = 0
 
         self._remake_window()
-        curses.use_default_colors()
+        try:
+            curses.use_default_colors()
+        except:
+            pass
 
     def set_torrent_values(self, name, path, size, numpieces):
         self.file = name
--- BitTorrent-4.3.5/launchmany-curses  2006-01-10 11:38:00.000000000 +0000
+++ BitTorrent-4.3.5/launchmany-curses  2006-01-10 11:38:40.000000000 +0000
@@ -95,7 +95,10 @@
         signal(SIGWINCH, self.winch_handler)
         self.changeflag = Event()
         self._remake_window()
-        curses.use_default_colors()
+        try:
+            curses.use_default_colors()
+        except:
+            pass
 
     def winch_handler(self, signum, stackframe):
         self.changeflag.set()

I also needed to tweak the initscript for the tracker, as bittorrent-tracker now writes a pidfile to /var/run, which it's not normally allowed to do when running as a non-root user. Whilst tweaking the spec file, I also took the opportunity to merge the logrotate and sysconfig scripts for the tracker and seeder into single scripts. Don't know why I didn't do that in the first place since it's much neater.

Upgraded dovecot to the 1.0.alpha5 release, which now includes a bunch of plugins. I built packages for FC3, FC4, and RHEL4 only, as there's currently a buildreq on gettext-devel; it appears that this was split from gettext sometime after FC2, which currently precludes builds on older distros. Haven't had time yet to investigate what exactly is needed from gettext-devel to fine-tune the dependencies.

Mail Server

Upgraded my mail server to dovecot 1.0.alpha5 (from 1.0.alpha4). No problems (yet).


Recent