# HG changeset patch # User Gregory Szorc # Date 2019-03-07 21:47:28 # Node ID ac32e04e887f4ca8ecc92c63bc4837df15b7d9d8 # Parent 260305e8ddbdb7940d0ab158a8d2d318cd712827 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 diff --git a/setup.py b/setup.py --- a/setup.py +++ b/setup.py @@ -1262,8 +1262,10 @@ if py2exeloaded: {'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'