setup: properly install build_hgextindex for py2exe builds
authorGregory Szorc <gregory.szorc@gmail.com>
Thu, 07 Mar 2019 13:47:28 -0800
changeset 41917 ac32e04e887f
parent 41916 260305e8ddbd
child 41918 5d9fdc9b0178
setup: properly install build_hgextindex for py2exe builds Because the hgbuild class has a private copy of build.sub_commands, modifying build.sub_commands from this code effectively resulted in a no-op. Registering the sub-command on hgbuild actually results in the sub-command running when building Mercurial. Differential Revision: https://phab.mercurial-scm.org/D6093
setup.py
--- a/setup.py	Thu Mar 07 12:15:32 2019 -0800
+++ b/setup.py	Thu Mar 07 13:47:28 2019 -0800
@@ -1262,8 +1262,10 @@
         {'script':'hg',
          'copyright':'Copyright (C) 2005-2019 Matt Mackall and others',
          'product_version':version}]
-    # sub command of 'build' because 'py2exe' does not handle sub_commands
-    build.sub_commands.insert(0, ('build_hgextindex', None))
+    # Sub command of 'build' because 'py2exe' does not handle sub_commands.
+    # Need to override hgbuild because it has a private copy of
+    # build.sub_commands.
+    hgbuild.sub_commands.insert(0, ('build_hgextindex', None))
     # put dlls in sub directory so that they won't pollute PATH
     extra['zipfile'] = 'lib/library.zip'