# HG changeset patch # User Gregory Szorc # Date 1551995248 28800 # 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 -r 260305e8ddbd -r ac32e04e887f 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'