[MERGE] optionally install tbzr binaries with bazaar binaries on Windows

John Arbash Meinel john at arbash-meinel.com
Tue Jul 22 16:05:54 BST 2008

John Arbash Meinel has voted comment.
Status is now: Waiting
+    # And it uses funky mappings to conver to 'Oldname' to 'newname'. 
+    # a result, packages like 'email.Parser' show as missing.  Tell 
+    # to exclude them.
+    import email
+    for oldname in getattr(email, '_LOWERNAMES', []):
+        excludes.append("email." + oldname)
+    for oldname in getattr(email, '_MIMENAMES', []):
+        excludes.append("email.MIME" + oldname)

^- Is it safe to assume that python2.4 just doesn't have these 
attributes? So it won't exclude them with those names?

+    if "TBZR" in os.environ:
+        # Eg: via SVN: 
+        if not os.path.isfile(os.environ.get('TOVMSI_WIN32', 
+            raise RuntimeError, "Please set TOVMSI_WIN32 to the 
location of " \
+                                "the TortoiseOverlays .msi 

^- This doesn't seem like a great way of defining that we want to 
include TBZR and how to find the overlay files.

Also, this function seems like it is getting really long, and a lot of 
this should be split out into helper functions.

I'm wondering if we couldn't just hard-code the path to the installers, 
and then just update it when necessary. It seems a bit better than 
requiring several different environment variables.

Also, why not go with options to 'setup.py py2exe' then it will at least 
be discoverable from 'python setup.py py2exe --help'. (That *may* be 
more trouble than it is worth, I'm not sure.)

+; # NOTE: A patch has been submitted to Paramika that will avoid use
+; # of the MFC DLL.  See 

^- I think you mean Paramiko

Anyway, I'm about 50% on this patch. It seems like a pretty heavy 
dependency in core bzr towards tbzr. Is there a reason we wouldn't just 
put this sort of code in the tbzr code itself? So you would have a tbzr 
installer that would then install all the dependencies and bzr itself, 
rather than having a bzr installer that includes tbzr.

For details, see: 

More information about the bazaar mailing list