packaging: don't bundle DLLs in py2exe library.zip for x86 builds
authorGregory Szorc <gregory.szorc@gmail.com>
Thu, 14 Mar 2019 13:27:37 -0700
changeset 41953 d6e3c16d48ab
parent 41952 b83de9150c1c
child 41954 e5ac701e5b7c
packaging: don't bundle DLLs in py2exe library.zip for x86 builds I had ported the x86/x64 behavior difference from the Inno Setup installer files. Why things were this way, I'm not sure. The WiX configuration files are expecting to have standalone DLL files for both configurations. And the 32-bit WiX installers were broken due to missing DLLs. Let's standardize on standalone DLL files on all configurations for consistency. I /think/ this will be faster, as I /think/ py2exe binaries would have to extract the DLL to a temporary file in order to load it. But I'm not 100% sure about that. Differential Revision: https://phab.mercurial-scm.org/D6135
contrib/packaging/hgpackaging/py2exe.py
contrib/packaging/inno/mercurial.iss
setup.py
--- a/contrib/packaging/hgpackaging/py2exe.py	Thu Mar 14 18:14:33 2019 -0700
+++ b/contrib/packaging/hgpackaging/py2exe.py	Thu Mar 14 13:27:37 2019 -0700
@@ -128,7 +128,7 @@
     print('building Mercurial')
     subprocess.run(
         [str(venv_python), 'setup.py',
-         'py2exe', '-b', '3' if vc_x64 else '2',
+         'py2exe',
          'build_doc', '--html'],
         cwd=str(source_dir),
         env=env,
--- a/contrib/packaging/inno/mercurial.iss	Thu Mar 14 18:14:33 2019 -0700
+++ b/contrib/packaging/inno/mercurial.iss	Thu Mar 14 13:27:37 2019 -0700
@@ -71,10 +71,8 @@
 Source: contrib\win32\ReadMe.html; DestDir: {app}; Flags: isreadme
 Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt
 Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local')
-#if ARCH == "x64"
 Source: dist\lib\*.dll; Destdir: {app}\lib
 Source: dist\lib\*.pyd; Destdir: {app}\lib
-#endif
 Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
 Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
 Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
--- a/setup.py	Thu Mar 14 18:14:33 2019 -0700
+++ b/setup.py	Thu Mar 14 13:27:37 2019 -0700
@@ -1364,6 +1364,7 @@
       distclass=hgdist,
       options={
           'py2exe': {
+              'bundle_files': 3,
               'dll_excludes': py2exedllexcludes,
               'excludes': py2exeexcludes,
               'packages': py2exepackages,