mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
245 lines
14 KiB
Plaintext
245 lines
14 KiB
Plaintext
Changes from 4.0 to 4.0.1
|
|
1) Added support for Python 2.6. On Windows a manifest file is now required
|
|
because of the switch to using the new Microsoft C runtime.
|
|
2) Ensure that hooks are run for builtin modules.
|
|
|
|
Changes from 4.0b1 to 4.0
|
|
1) Added support for copying files to the target directory.
|
|
2) Added support for a hook that runs when a module is missing.
|
|
3) Added support for binary path includes as well as excludes; use sequences
|
|
rather than dictionaries as a more convenient API; exclude the standard
|
|
locations for 32-bit and 64-bit libaries in multi-architecture systems.
|
|
4) Added support for searching zip files (egg files) for modules.
|
|
5) Added support for handling system exit exceptions similarly to what Python
|
|
does itself as requested by Sylvain.
|
|
6) Added code to wait for threads to shut down like the normal Python
|
|
interpreter does. Thanks to Mariano Disanzo for discovering this
|
|
discrepancy.
|
|
7) Hooks added or modified based on feedback from many people.
|
|
8) Don't include the version name in the display name of the MSI.
|
|
9) Use the OS dependent path normalization routines rather than simply use the
|
|
lowercase value as on Unix case is important; thanks to Artie Eoff for
|
|
pointing this out.
|
|
10) Include a version attribute in the cx_Freeze package and display it in the
|
|
output for the --version option to the script.
|
|
11) Include build instructions as requested by Norbert Sebok.
|
|
12) Add support for copying files when modules are included which require data
|
|
files to operate properly; add support for copying the necessary files for
|
|
the Tkinter and matplotlib modules.
|
|
13) Handle deferred imports recursively as needed; ensure that from lists do
|
|
not automatically indicate that they are part of the module or the deferred
|
|
import processing doesn't actually work!
|
|
14) Handle the situation where a module imports everything from a package and
|
|
the __all__ variable has been defined but the package has not actually
|
|
imported everything in the __all__ variable during initialization.
|
|
15) Modified license text to more closely match the Python Software Foundation
|
|
license as was intended.
|
|
16) Added sample script for freezing an application using matplotlib.
|
|
17) Renamed freeze to cxfreeze to avoid conflict with another package that uses
|
|
that executable as requested by Siegfried Gevatter.
|
|
|
|
Changes from 3.0.3 to 4.0b1
|
|
1) Added support for placing modules in library.zip or in a separate zip file
|
|
for each executable that is produced.
|
|
2) Added support for copying binary dependent files (DLLs and shared
|
|
libraries)
|
|
3) Added support for including all submodules in a package
|
|
4) Added support for including icons in Windows executables
|
|
5) Added support for constants module which can be used for determining
|
|
certain build constants at runtime
|
|
6) Added support for relative imports available in Python 2.5 and up
|
|
7) Added support for building Windows installers (Python 2.5 and up) and
|
|
RPM packages
|
|
8) Added support for distutils configuration scripts
|
|
9) Added support for hooks which can force inclusion or exclusion of modules
|
|
when certain modules are included
|
|
10) Added documentation and samples
|
|
11) Added setup.py for building the cx_Freeze package instead of a script
|
|
used to build only the frozen bases
|
|
12) FreezePython renamed to a script called freeze in the Python distribution
|
|
13) On Linux and other platforms that support it set LD_RUN_PATH to include
|
|
the directory in which the executable is located
|
|
|
|
Changes from 3.0.2 to 3.0.3
|
|
1) In Common.c, used MAXPATHLEN defined in the Python OS independent include
|
|
file rather than the PATH_MAX define which is OS dependent and is not
|
|
available on IRIX as noted by Andrew Jones.
|
|
2) In the initscript ConsoleSetLibPath.py, added lines from initscript
|
|
Console.py that should have been there since the only difference between
|
|
that script and this one is the automatic re-execution of the executable.
|
|
3) Added an explicit "import encodings" to the initscripts in order to handle
|
|
Unicode encodings a little better. Thanks to Ralf Schmitt for pointing out
|
|
the problem and its solution.
|
|
4) Generated a meaningful name for the extension loader script so that it is
|
|
clear which particular extension module is being loaded when an exception
|
|
is being raised.
|
|
5) In MakeFrozenBases.py, use distutils to figure out a few more
|
|
platform-dependent linker flags as suggested by Ralf Schmitt.
|
|
|
|
Changes from 3.0.1 to 3.0.2
|
|
1) Add support for compressing the byte code in the zip files that are
|
|
produced.
|
|
2) Add better support for the win32com package as requested by Barry Scott.
|
|
3) Prevent deletion of target file if it happens to be identical to the
|
|
source file.
|
|
4) Include additional flags for local modifications to a Python build as
|
|
suggested by Benjamin Rutt.
|
|
5) Expanded instructions for building cx_Freeze from source based on a
|
|
suggestion from Gregg Lind.
|
|
6) Fix typo in help string.
|
|
|
|
Changes from 3.0 to 3.0.1
|
|
1) Added option --default-path which is used to specify the path used when
|
|
finding modules. This is particularly useful when performing cross
|
|
compilations (such as for building a frozen executable for Windows CE).
|
|
2) Added option --shared-lib-name which can be used to specify the name of
|
|
the shared library (DLL) implementing the Python runtime that is required
|
|
for the frozen executable to work. This option is also particularly useful
|
|
when cross compiling since the normal method for determining this
|
|
information cannot be used.
|
|
3) Added option --zip-include which allows for additional files to be added
|
|
to the zip file that contains the modules that implement the Python
|
|
script. Thanks to Barray Warsaw for providing the initial patch.
|
|
4) Added support for handling read-only files properly. Thanks to Peter
|
|
Grayson for pointing out the problem and providing a solution.
|
|
5) Added support for a frozen executable to be a symbolic link. Thanks to
|
|
Robert Kiendl for providing the initial patch.
|
|
6) Enhanced the support for running a frozen executable that uses an existing
|
|
Python installation to locate modules it requires. This is primarily of
|
|
use for embedding Python where the interface is C but the ability to run
|
|
from source is still desired.
|
|
7) Modified the documentation to indicate that building from source on
|
|
Windows currently requires the mingw compiler (http://www.mingw.org).
|
|
8) Workaround the problem in Python 2.3 (fixed in Python 2.4) which causes a
|
|
broken module to be left in sys.modules if an ImportError takes place
|
|
during the execution of the code in that module. Thanks to Roger Binns
|
|
for pointing this out.
|
|
|
|
Changes from 3.0 beta3 to 3.0
|
|
1) Ensure that ldd is only run on extension modules.
|
|
2) Allow for using a compiler other than gcc for building the frozen base
|
|
executables by setting the environment variable CC.
|
|
3) Ensure that the import lock is not held while executing the main script;
|
|
otherwise, attempts to import a module within a thread will hang that
|
|
thread as noted by Roger Binns.
|
|
4) Added support for replacing the paths in all frozen modules with something
|
|
else (so that for example the path of the machine on which the freezing
|
|
was done is not displayed in tracebacks)
|
|
|
|
Changes from 3.0 beta2 to 3.0 beta3
|
|
1) Explicitly include the warnings module so that at runtime warnings are
|
|
suppressed as when running Python normally.
|
|
2) Improve the extension loader so that an ImportError is raised when the
|
|
dynamic module is not located; otherwise an error about missing attributes
|
|
is raised instead.
|
|
3) Extension loaders are only created when copying dependencies since the
|
|
normal module should be loadable in the situation where a Python
|
|
installation is available.
|
|
4) Added support for Python 2.4.
|
|
5) Fixed the dependency checking for wxPython to be a little more
|
|
intelligent.
|
|
|
|
Changes from 3.0 beta1 to 3.0 beta2
|
|
1) Fix issues with locating the initscripts and bases relative to the
|
|
directory in which the executable was started.
|
|
2) Added new base executable ConsoleKeepPath which is used when an existing
|
|
Python installation is required (such as for FreezePython itself).
|
|
3) Forced the existence of a Python installation to be ignored when using the
|
|
standard Console base executable.
|
|
4) Remove the existing file when copying dependent files; otherwise, an error
|
|
is raised when attempting to overwrite read-only files.
|
|
5) Added option -O (or -OO) to FreezePython to set the optimization used when
|
|
generating bytecode.
|
|
|
|
Changes from 2.2 to 3.0 beta1
|
|
1) cx_Freeze now requires Python 2.3 or higher since it takes advantage of
|
|
the ability of Python 2.3 and higher to import modules from zip files.
|
|
This makes the freezing process considerably simpler and also allows for
|
|
the execution of multiple frozen packages (such as found in COM servers or
|
|
shared libraries) without requiring modification to the Python modules.
|
|
2) All external dependencies have been removed. cx_Freeze now only requires
|
|
a standard Python distribution to do its work.
|
|
3) Added the ability to define the initialization scripts that cx_Freeze uses
|
|
on startup of the frozen program. Previously, these scripts were written
|
|
in C and could not easily be changed; now they are written in Python and
|
|
can be found in the initscripts directory (and chosen with the
|
|
new --init-script option to FreezePython).
|
|
4) The base executable ConsoleSetLibPath has been removed and replaced with
|
|
the initscript ConsoleSetLibPath.
|
|
5) Removed base executables for Win32 services and Win32 COM servers. This
|
|
functionality will be restored in the future but it is not currently in a
|
|
state that is ready for release. If this functionality is required, please
|
|
use py2exe or contact me for my work in progress.
|
|
6) The attribute sys.frozen is now set so that more recent pywin32 modules
|
|
work as expected when frozen.
|
|
7) Added option --include-path to FreezePython to allow overriding of
|
|
sys.path without modifying the environment variable PYTHONPATH.
|
|
8) Added option --target-dir/--install-dir to specify the directory in which
|
|
the frozen executable and its dependencies will be placed.
|
|
9) Removed the option --shared-lib since it was used for building shared
|
|
libraries and can be managed with the initscript SharedLib.py.
|
|
10) MakeFrozenBases.py now checks the platform specific include directory as
|
|
requested by Michael Partridge.
|
|
|
|
|
|
Changes from 2.1 to 2.2
|
|
1) Add option (--ext-list-file) to FreezePython to write the list of
|
|
extensions copied to the installation directory to a file. This option is
|
|
useful in cases where multiple builds are performed into the same
|
|
installation directory.
|
|
2) Pass the arguments on the command line through to Win32 GUI applications.
|
|
Thanks to Michael Porter for pointing this out.
|
|
3) Link directly against the python DLL when building the frozen bases on
|
|
Windows, thus eliminating the need for building an import library.
|
|
4) Force sys.path to include the directory in which the script to be frozen
|
|
is found.
|
|
5) Make sure that the installation directory exists before attempting to
|
|
copy the target binary into it.
|
|
6) The Win32GUI base has been modified to display fatal errors in message
|
|
boxes, rather than printing errors to stderr, since on Windows the
|
|
standard file IO handles are all closed.
|
|
|
|
Changes from 2.0 to 2.1
|
|
1) Remove dependency on Python 2.2. Thanks to Paul Moore for not only
|
|
pointing it out but providing patches.
|
|
2) Set up the list of frozen modules in advance, rather than doing it after
|
|
Python is initialized so that implicit imports done by Python can be
|
|
satisfied. The bug in Python 2.3 that demonstrated this issue has been
|
|
fixed in the first release candidate. Thanks to Thomas Heller for pointing
|
|
out the obvious in this instance!
|
|
3) Added additional base executable (ConsoleSetLibPath) to support setting
|
|
the LD_LIBRARY_PATH variable on Unix platforms and restarting the
|
|
executable to put the new setting into effect. This is primarily of use
|
|
in distributing wxPython applications on Unix where the shared library
|
|
has an embedded RPATH value which can cause problems.
|
|
4) Small improvements of documentation based on feedback from several people.
|
|
5) Print information about the files written or copied during the freezing
|
|
process.
|
|
6) Do not copy extensions when freezing if the path is being overridden since
|
|
it is expected that a full Python installation is available to the target
|
|
users of the frozen binary.
|
|
7) Provide meaningful error message when the wxPython library cannot be
|
|
found during the freezing process.
|
|
|
|
Changes from 1.1 to 2.0
|
|
1) Added support for in process (DLL) COM servers using PythonCOM.
|
|
2) Ensured that the frozen flag is set prior to determining the full path for
|
|
the program in order to avoid warnings about Python not being found on
|
|
some platforms.
|
|
3) Added include file and resource file to the source tree to avoid the
|
|
dependency on the Wine message compiler for Win32 builds.
|
|
4) Dropped the option --copy-extensions; this now happens automatically since
|
|
the resulting binary is useless without them.
|
|
5) Added a sample for building a Win32 service.
|
|
6) Make use of improved modules from Python 2.3 (which function under 2.2)
|
|
|
|
Changes from 1.0 to 1.1
|
|
1) Fixed import error with C extensions in packages; thanks to Thomas Heller
|
|
for pointing out the solution to this problem.
|
|
2) Added options to FreezePython to allow for the inclusion of modules which
|
|
will not be found by the module finder (--include-modules) and the
|
|
exclusion of modules which will be found by the module finder but should
|
|
not be included (--exclude-modules).
|
|
3) Fixed typo in README.txt.
|
|
|