Hello, PyInstaller keeps an internal cache of binary files that have been processed through UPX and/or strip. The latter looks pretty useless (since strip is fast) but the former is indeed very useful because UPX can be very slow.
Currently, the binary cache was using a simple mtime check to verify if a file in the cache was up-to-date or needed to be recreated. The mtime check works well for Makefile-style generated files. For instance, if the binary file is part of the build process of your application; every time you build it, you want PyInstaller to recompress it. But this is not the only pattern of usage of binary files, at all. Most binary files come from external sources (like site-packages, or Windows system directory). For those files, checking mtime is wrong and prone to errors. Consider for instance if you have two wxPython versions installed in your site-packages dir, and switch between them (setuptools also makes it very easy to do keep multiple versions of libraries and switch between time). This was broken before, because if you already built an application using a *newer* version of wxPython, PyInstaller was always using those files even if you had switched to an *older* version of wxPython. The fix adds an index to the cache, which contains the MD5 signature of the source files (*before* being UPX'd/strip'd), so that it's possible to detect if a different version is then found. I *assume* that this fixes several unreproducible wxPython bug reports I got over the years. Surely, it can't hurt... http://pyinstaller.python-hosting.com/changeset/314 -- Giovanni Bajo --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "PyInstaller" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/PyInstaller?hl=en -~----------~----~----~----~------~----~------~--~---
