Problem while upgrade to mailman 2.1 alpha
I am also triing to upgrade to never version and I have this troubles:
Upgrading from version 0x20005f0 to 0x20100a4 getting rid of old source files fixing all the perms on your old html archives to work with b6 If your archives are big, this could take a minute or two... hotovo Updating mailing list: test
- updating old private mbox file looks like you have a really recent CVS installation... you're either one brave soul, or you already ran me
- updating old public mbox file looks like you have a really recent CVS installation... you're either one brave soul, or you already ran me Fixing language templates: test Updating mailing list: kecy Traceback (most recent call last): File "./update", line 531, in ? errors = main() File "./update", line 413, in main errors = errors + dolist(listname) File "./update", line 183, in dolist mlist = MailList.MailList(listname, lock=0) File "../Mailman/MailList.py", line 101, in __init__ self.Load() File "../Mailman/MailList.py", line 543, in Load self.CheckVersion(dict) File "../Mailman/MailList.py", line 560, in CheckVersion self.Lock() File "../Mailman/MailList.py", line 154, in Lock self.Load() File "../Mailman/MailList.py", line 543, in Load self.CheckVersion(dict) File "../Mailman/MailList.py", line 563, in CheckVersion Update(self, stored_state) File "../Mailman/versions.py", line 53, in Update CanonicalizeUserOptions(l) File "../Mailman/versions.py", line 339, in CanonicalizeUserOptions if l.getMemberOption(k, mm_cfg.DisableDelivery): File "../Mailman/OldStyleMemberships.py", line 120, in getMemberOption self.__assertIsMember(member) File "../Mailman/OldStyleMemberships.py", line 113, in __assertIsMember raise Errors.NotAMemberError, member Mailman.Errors.NotAMemberError: fickman@atlas.cz
and it is alo true, that this user is listed only in section
'user_options': { '3zsmost@schoolnet.cz': 8,
'fickman@atlas.cz': 8,
of dump_db.
Sure, the database is corrupt, but it is not fatal, i think the upgrage should run OK.
cheers dan
--
________________________________________
DDDDDD
DD DD Dan Ohnesorg, supervisor on POWER
DD OOOO Dan@feld.cvut.cz
DD OODDOO Dep. of Power Engineering
DDDDDD OO CTU FEL Prague, Bohemia
OO OO work: +420 2 24352785;+420 2 24972109
OOOO home: +420 311 679679;+420 311 679311
________________________________________
Nezlob se na růži, že má trny; raduj se, že tak trnitý keř má růže. -- Arabské přísloví
"DO" == Dan Ohnesorg <dan@ohnesorg.cz> writes:
DO> I am also triing to upgrade to never version and I have this DO> troubles: DO> Mailman.Errors.NotAMemberError: fickman@atlas.cz DO> and it is alo true, that this user is listed only in section | 'user_options': { '3zsmost@schoolnet.cz': 8, | 'fickman@atlas.cz': 8, DO> of dump_db. DO> Sure, the database is corrupt, but it is not fatal, i think DO> the upgrage should run OK. I don't remember why, but I think it is possible in MM2.0.something for an address to get stuck in user_options but not be in members or digest_members. Here's a patch that I think I'm going to check in that does two things: - it puts a membership check for the keys in usr_options and if that fails, it removes the key from user_options. - it sets a `fence' in the list's attributes so that once CanonicalizeUserOptions() has been run on a list, it won't be run again. Comments are welcome, -Barry Index: versions.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/versions.py,v retrieving revision 2.21 diff -u -r2.21 versions.py --- versions.py 7 Mar 2002 22:24:03 -0000 2.21 +++ versions.py 9 Mar 2002 17:32:42 -0000 @@ -329,6 +329,10 @@ def CanonicalizeUserOptions(l): """Fix up the user options.""" + # I want to put a flag in the list database which tells this routine to + # never try to canonicalize the user options again. + if getattr(l, 'useropts_version', 0) > 0: + return # pre 1.0rc2 to 1.0rc3. For all keys in l.user_options to be lowercase, # but merge options for both cases options = {} @@ -346,10 +350,15 @@ # get/setDeilveryStatus(). This must be done after the addresses are # canonicalized. for k, v in l.user_options.items(): + if not l.isMember(k): + # There's a key in user_options that isn't associated with a real + # member address. This is likely caused by an earlier bug. + del l.user_options[k] if l.getMemberOption(k, mm_cfg.DisableDelivery): # Convert this flag into a legacy disable l.setDeliveryStatus(k, UNKNOWN) l.setMemberOption(k, mm_cfg.DisableDelivery, 0) + l.useropts_version = 1
participants (2)
-
barry@zope.com
-
Dan Ohnesorg