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
--- 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,