# HG changeset patch # User Michael Schloh von Bennewitz # Date 1316533068 -7200 # Node ID 3d7d8c68b2fcba1eff5414a207d694141092dd2f # Parent 6475ac4895a9831e8bbff2454352227c6b771c45 Update to new version of vendor software and adjust patch logic. diff -r 6475ac4895a9 -r 3d7d8c68b2fc mailman/mailman.patch --- a/mailman/mailman.patch Tue Sep 20 15:24:08 2011 +0200 +++ b/mailman/mailman.patch Tue Sep 20 17:37:48 2011 +0200 @@ -1,42 +1,44 @@ Index: Mailman/Archiver/pipermail.py ---- Mailman/Archiver/pipermail.py.orig 2008-06-30 18:29:46 +0200 -+++ Mailman/Archiver/pipermail.py 2008-07-01 20:48:10 +0200 -@@ -122,9 +122,9 @@ - parentID = article.parentID +--- Mailman/Archiver/pipermail.py.orig 2009-02-23 22:23:35 +0100 ++++ Mailman/Archiver/pipermail.py 2009-03-27 11:55:18 +0100 +@@ -123,9 +123,10 @@ if parentID is not None and self.articleIndex.has_key(parentID): parent = self.getArticle(archive, parentID) -- myThreadKey = parent.threadKey + article.date + '-' -+ myThreadKey = parent.threadKey + article.date + '/' + article.msgid + '-' + myThreadKey = (parent.threadKey + article.date + '.' +- + str(article.sequence) + '-') ++ + str(article.sequence) ++ + '/' + article.msgid + '-') else: -- myThreadKey = article.date + '-' -+ myThreadKey = article.date + '/' + article.msgid + '-' +- myThreadKey = article.date + '.' + str(article.sequence) + '-' ++ myThreadKey = article.date + '.' + str(article.sequence) + '/' + article.msgid + '-' article.threadKey = myThreadKey key = myThreadKey, article.msgid self.setThreadKey(archive, key, article.msgid) -@@ -418,7 +418,7 @@ - else: +@@ -420,7 +421,7 @@ parent = self.database.getArticle(self.archive, article.parentID) -- article.threadKey = parent.threadKey+article.date+'-' -+ article.threadKey = parent.threadKey + article.date + '/' + article.msgid + '-' + article.threadKey = (parent.threadKey + article.date + '.' +- + str(article.sequence) + '-') ++ + str(article.sequence) + '/' + article.msgid + '-') self.database.setThreadKey(self.archive, (article.threadKey, article.msgid), msgid) -@@ -632,9 +632,9 @@ - article.parentID = parentID = self.get_parent_info(arch, article) +@@ -635,10 +636,10 @@ if parentID: parent = self.database.getArticle(arch, parentID) -- article.threadKey = parent.threadKey + article.date + '-' -+ article.threadKey = parent.threadKey + article.date + '/' + article.msgid + '-' + article.threadKey = (parent.threadKey + article.date + '.' +- + str(article.sequence) + '-') ++ + str(article.sequence) + '/' + article.msgid + '-') else: -- article.threadKey = article.date + '-' -+ article.threadKey = article.date + '/' + article.msgid + '-' + article.threadKey = (article.date + '.' +- + str(article.sequence) + '-') ++ + str(article.sequence) + '/' + article.msgid + '-') key = article.threadKey, article.msgid self.database.setThreadKey(arch, key, article.msgid) Index: Mailman/Commands/cmd_subscribe.py ---- Mailman/Commands/cmd_subscribe.py.orig 2008-06-30 18:29:46 +0200 -+++ Mailman/Commands/cmd_subscribe.py 2008-07-01 20:48:10 +0200 +--- Mailman/Commands/cmd_subscribe.py.orig 2009-02-23 22:23:35 +0100 ++++ Mailman/Commands/cmd_subscribe.py 2009-03-27 11:55:18 +0100 @@ -84,6 +84,7 @@ if password is None: password = Utils.MakeRandomPassword() @@ -46,8 +48,8 @@ if not address: # Fall back to the sender address Index: Mailman/HTMLFormatter.py ---- Mailman/HTMLFormatter.py.orig 2008-06-30 18:29:46 +0200 -+++ Mailman/HTMLFormatter.py 2008-07-01 20:48:10 +0200 +--- Mailman/HTMLFormatter.py.orig 2009-02-23 22:23:35 +0100 ++++ Mailman/HTMLFormatter.py 2009-03-27 11:55:18 +0100 @@ -44,7 +44,7 @@ realname = self.real_name hostname = self.host_name @@ -58,9 +60,9 @@ return Container( '
', Index: Mailman/Handlers/Decorate.py ---- Mailman/Handlers/Decorate.py.orig 2008-06-30 18:29:46 +0200 -+++ Mailman/Handlers/Decorate.py 2008-07-01 20:48:10 +0200 -@@ -197,6 +197,7 @@ +--- Mailman/Handlers/Decorate.py.orig 2009-02-23 22:23:35 +0100 ++++ Mailman/Handlers/Decorate.py 2009-03-27 11:55:18 +0100 +@@ -205,6 +205,7 @@ del msg['content-transfer-encoding'] del msg['content-disposition'] msg['Content-Type'] = 'multipart/mixed' @@ -69,9 +71,9 @@ Index: Mailman/Handlers/Scrubber.py ---- Mailman/Handlers/Scrubber.py.orig 2008-06-30 18:29:46 +0200 -+++ Mailman/Handlers/Scrubber.py 2008-07-01 20:48:10 +0200 -@@ -385,6 +385,8 @@ +--- Mailman/Handlers/Scrubber.py.orig 2009-02-23 22:23:35 +0100 ++++ Mailman/Handlers/Scrubber.py 2009-03-27 11:55:18 +0100 +@@ -368,6 +368,8 @@ t = unicode(t, 'ascii', 'replace') try: # Should use HTML-Escape, or try generalizing to UTF-8 @@ -81,8 +83,8 @@ except (UnicodeError, LookupError, ValueError, AssertionError): Index: Mailman/Queue/OutgoingRunner.py ---- Mailman/Queue/OutgoingRunner.py.orig 2008-06-30 18:29:46 +0200 -+++ Mailman/Queue/OutgoingRunner.py 2008-07-01 20:48:10 +0200 +--- Mailman/Queue/OutgoingRunner.py.orig 2009-02-23 22:23:35 +0100 ++++ Mailman/Queue/OutgoingRunner.py 2009-03-27 11:55:18 +0100 @@ -89,6 +89,7 @@ syslog('error', 'Cannot connect to SMTP server %s on port %s', mm_cfg.SMTPHOST, port) @@ -92,8 +94,8 @@ except Errors.SomeRecipientsFailed, e: # Handle local rejects of probe messages differently. Index: Mailman/htmlformat.py ---- Mailman/htmlformat.py.orig 2008-06-30 18:29:46 +0200 -+++ Mailman/htmlformat.py 2008-07-01 20:48:10 +0200 +--- Mailman/htmlformat.py.orig 2009-02-23 22:23:35 +0100 ++++ Mailman/htmlformat.py 2009-03-27 11:55:18 +0100 @@ -300,7 +300,8 @@ charset = 'us-ascii' if self.language: @@ -105,8 +107,8 @@ kws.setdefault('bgcolor', self.bgcolor) tab = ' ' * indent Index: bin/check_perms ---- bin/check_perms.orig 2008-06-30 18:29:46 +0200 -+++ bin/check_perms 2008-07-01 20:48:10 +0200 +--- bin/check_perms.orig 2009-02-23 22:23:35 +0100 ++++ bin/check_perms 2009-03-27 11:55:18 +0100 @@ -82,7 +82,7 @@ return os.stat(path)[ST_MODE] @@ -117,8 +119,8 @@ seen = {} Index: bin/config_list ---- bin/config_list.orig 2008-06-30 18:29:46 +0200 -+++ bin/config_list 2008-07-01 20:48:10 +0200 +--- bin/config_list.orig 2009-02-23 22:23:35 +0100 ++++ bin/config_list 2009-03-27 11:55:18 +0100 @@ -307,6 +307,11 @@ in mm_cfg.OPTINFO.items() if validval & bitval] @@ -132,13 +134,12 @@ finally: if savelist and not checkonly: Index: bin/mailmanctl ---- bin/mailmanctl.orig 2008-06-30 18:29:46 +0200 -+++ bin/mailmanctl 2008-07-01 20:48:10 +0200 -@@ -417,6 +417,13 @@ - # won't be opening any terminal devices, don't do the ultra-paranoid - # suggestion of doing a second fork after the setsid() call. - os.setsid() -+ +--- bin/mailmanctl.orig 2009-02-23 22:23:35 +0100 ++++ bin/mailmanctl 2009-03-27 11:55:18 +0100 +@@ -424,6 +424,12 @@ + os.dup2(devnull, 1) + os.dup2(devnull, 2) + + # Be sure to close any open std{in,out,err} + devnull = os.open('/dev/null', 0) + os.dup2(devnull, 0) @@ -149,9 +150,9 @@ os.chdir(mm_cfg.PREFIX) # Set our file mode creation umask Index: bin/newlist ---- bin/newlist.orig 2008-06-30 18:29:46 +0200 -+++ bin/newlist 2008-07-01 20:48:10 +0200 -@@ -87,6 +87,9 @@ +--- bin/newlist.orig 2009-02-23 22:23:35 +0100 ++++ bin/newlist 2009-03-27 11:58:07 +0100 +@@ -88,12 +88,16 @@ defined in your Defaults.py file or overridden by settings in mm_cfg.py). Note that listnames are forced to lowercase. @@ -161,10 +162,9 @@ """ import sys -@@ -94,6 +97,7 @@ + import os import getpass import getopt - import sha +import grp import paths @@ -179,7 +179,7 @@ try: opts, args = getopt.getopt(sys.argv[1:], 'hql:u:e:', ['help', 'quiet', 'language=', -@@ -203,7 +210,7 @@ +@@ -204,7 +211,7 @@ except Errors.BadListNameError, s: usage(1, _('Illegal list name: %(s)s')) except Errors.EmailAddressError, s: @@ -189,9 +189,9 @@ usage(1, _('List already exists: %(listname)s')) Index: bin/update ---- bin/update.orig 2008-06-30 18:29:46 +0200 -+++ bin/update 2008-07-01 20:48:10 +0200 -@@ -552,9 +552,11 @@ +--- bin/update.orig 2009-02-23 22:23:35 +0100 ++++ bin/update 2009-03-27 11:55:18 +0100 +@@ -554,9 +554,11 @@ file20 = os.path.join(mm_cfg.DATA_DIR, 'pending_subscriptions.db') file214 = os.path.join(mm_cfg.DATA_DIR, 'pending.pck') db = None @@ -203,7 +203,7 @@ except IOError, e: if e.errno <> errno.ENOENT: raise else: -@@ -566,6 +568,7 @@ +@@ -568,6 +570,7 @@ # Try to load the Mailman 2.1.x where x < 5, file try: fp = open(file214) @@ -211,7 +211,7 @@ except IOError, e: if e.errno <> errno.ENOENT: raise else: -@@ -599,8 +602,12 @@ +@@ -601,8 +604,12 @@ # data[0] is the address being unsubscribed addrops_by_address.setdefault(data[0], []).append((key, val)) elif op == Pending.SUBSCRIPTION: @@ -227,9 +227,9 @@ elif op == Pending.RE_ENABLE: # data[0] is the mailing list's internal name Index: scripts/driver ---- scripts/driver.orig 2008-06-30 18:29:46 +0200 -+++ scripts/driver 2008-07-01 20:48:10 +0200 -@@ -95,6 +95,15 @@ +--- scripts/driver.orig 2009-02-23 22:23:35 +0100 ++++ scripts/driver 2009-03-27 11:55:18 +0100 +@@ -98,6 +98,15 @@ module = getattr(pkg, scriptname) main = getattr(module, 'main') try: diff -r 6475ac4895a9 -r 3d7d8c68b2fc mailman/mailman.spec --- a/mailman/mailman.spec Tue Sep 20 15:24:08 2011 +0200 +++ b/mailman/mailman.spec Tue Sep 20 17:37:48 2011 +0200 @@ -31,8 +31,8 @@ Class: EVAL Group: Mail License: GPL -Version: 2.1.11 -Release: 20090420 +Version: 2.1.14 +Release: 20110915 # list of sources Source0: http://switch.dl.sourceforge.net/mailman/mailman-%{version}.tgz @@ -70,6 +70,9 @@ %setup -q %setup -q -D -T -a 1 %patch -p0 + %{l_shtool} subst \ + -e 's;\(OWNERS_CAN_DELETE_THEIR_OWN_LISTS\) = No.*;\1 = Yes;' \ + Mailman/Defaults.py* %build # configure package @@ -156,6 +159,7 @@ # avoid root permissions on log file creation touch ${RPM_BUILD_ROOT}%{l_prefix}/var/mailman/logs/error + touch ${RPM_BUILD_ROOT}%{l_prefix}/var/mailman/logs/fromusenet # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \