Ticket #563 (new enhancement)
Opened 12 months ago
During a MERGE build, a manifest file is created for the spec file, and is not used
| Reported by: | Dwig | Owned by: | matysek |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | PyInstaller | Version: | 1.5.1 |
| Severity: | normal | Keywords: | |
| Cc: |
Description
(I'm classifying this as an enhancement, because it doesn't affect the final result of building.)
I'm using MERGE to built a suite of applications. The spec file is called FalconApps.spec; none of the executables have the name FalconApps.
During the build, the manifest file FalconApps.exe.manifest gets created in the build folder, and rewritten for each executable. On subsequent builds, this causes the .pkg file to be rebuilt because the manifest file has changed, and that in turn causes the EXE.toc file to be rebuilt. To prevent this, I've created the following patch in build.py:
@@ -967,8 +967,9 @@ class EXE(Target):
self.toc.extend(arg)
if is_win:
filename = os.path.join(BUILDPATH, specnm + ".exe.manifest")
- self.manifest = winmanifest.create_manifest(filename, self.manifest,
- self.console)
+ if not os.path.exists(filename):
+ self.manifest = winmanifest.create_manifest(filename, self.manifest,
+ self.console)
self.toc.append((os.path.basename(self.name) + ".manifest", filename,
'BINARY'))
self.pkg = PKG(self.toc, cdict=kws.get('cdict', None),
I'm not necessarily proposing this as the best solution, although it does work for me.
There's another question here, though: should this file be created at all? Each executable gets its own manifest file, placed next to the executable, and as far as I can tell, nothing is done with FalconApps.exe.manifest.
