Important Bugs:

- Fix these 'ValueError: __loader__ is None' errors.

  These occur when ModuleFinder encounters an implicit namespace
  package.

  Fixed in rev. 755:
   First step: Catch this case and display a message (which includes
   the package name) that namespace packages are not yet supported.

  Second step: Make namespace packages work.  Actually they occur in
  two separate cases - the first one is matplotlib.mpl_toolkit which
  is a real namespace package becuase it has no __init__.py file.  The
  second case is zope.interface or wheezy.template, these packages
  have an __init__.py file in the sources, but setuptools installs a
  xxx-nspkg.pth file which puts an strange module into sys.modules
  even if nothing is imported.

  See also messages to the py2exe mailing list, and
  https://www.mail-archive.com/distutils-sig@python.org/msg20307.html
  as well as
  http://sourceforge.net/p/py2exe/bugs/136/

- Packages that use cffi do not work.

  Example: cryptography (which is use by OpenSSL).  The reason is that
  cffi uses imp.find_module() and later imp.load_dynamic() (in
  cffi.vengine_ypi.VCPythonEngine). These do only work for files
  and not for zipimport.
  pyInstaller has a hook that seems to work.  Can it be adapted for py2exe,
  or do we need to patch cffi at runtime?

- py2exe does not detect imports from six.moves.

- Implement a separate modulefinder for Python 3.4 and above which
  uses the PEP451 ModuleSpec type and avoids calling deprecated apis.

- Does probably not work with extensions built against the limited API
  (python3.dll)???

================================================================


Fixed in rev. 755: When running in a virtual environment, py2exe did
      not copy the tcl/tk files when 'import tkinter' is detected.

Fixed in rev. 755: When ModuleFinder encounters a PEP 420 implicit
      namespace package 'ValueError: __loader__ is None' exception is
      no longer raised; instead an error message is printed.

Fixed in rev. 751: ModuleFinder.import_package enumerates subpackages
      and imports modules from them recursively.

================================================================
Have to check which of the following is still needed:

Bugs:

- debug the 'verbose' argument to py2exe.  It defaults to 1, using
  '-q' sets it to 0, '-v' doesn't change it, '-vv' sets it to 2.
  Strange.

- Is this true any longer ???:
  ctypes com servers (inproc) do not work with bundle_files 2 or 3
  when the same Python version is used in the client.  Did this work
  at all with py2exe 0.6?

- distutils catches errors different from DistutilsError (or so)

- distutils_buildexe needs to import DistutilsOptionError (or so)

- py2exe for Python2 used an 'uac_info' string (exec_level) or tuple
  (exec_level, ui_access) attribute on the Target to include or patch
  a default manifest.

- custom_boot_script ?

- typelib ?

Ideas:

- clean up console output when building.

- add some scripts to inspect executables, like:
-     dump_manifest.py
-     dump_versioninfo.py
- or even a general resource dumper?
- or even a py2exe dumper?

TODO:

- services cmdline_style not yet implemented

================================================================

Fixed bugs:

  (The version numbers up tp 380 are probably from the former repository at
   https://ctypes-stuff.googlecode.com/svn/trunk/mf)

  rev 380: - ctypes DLL COM servers can now load dlls (like sqlite3.dll) correctly.
  rev 343: - DLL com servers are now implemented
  rev 336: - py2exe\dll.dll is not installed.
  rev 342: - when installed as egg, py2exe/boot_common.py is not a file and so not found.
  rev 342: - number of icons (or icon images) is limited for whatever reason.
  rev 342: - extensions are in the wrong directory when library is in a subdirectory
  rev 342: - (String) Versioninfo not build?  (Needs 'self.version = "6.5"' attribute in Target???)
              Must include this into setup_template.py!
  rev 342: - services not yet implemented

