bits-474 released with these changes:

This release of BITS includes many more modules from the Python standard library. Working Python modules:

  • abc
  • array
  • binascii
  • bisect
  • codecs, encodings, and the giant pile of encoding-specific modules
  • collections
  • copy
  • copy_reg
  • difflib
  • dis
  • dummy_thread
  • errno
  • fnmatch
  • functools
  • __future__
  • genericpath
  • heapq
  • inspect
  • itertools
  • keyword
  • linecache
  • opcode
  • operator
  • os.path
  • pkgutil
  • posixpath
  • pprint
  • pydoc (Some features work, requires setting TERM=dumb to prevent it from attempting to exec a pager or create a temporary file.)
  • repr
  • re, sre, and family
  • stat
  • string
  • StringIO and cStringIO
  • strop
  • token
  • tokenize
  • traceback
  • types
  • unittest
  • UserDict
  • warnings
  • weakref

The os, time, and signal modules exist but consist mostly of stubs to make other modules work; future versions of BITS will contain more complete versions of these modules, but some features will never work in their entirety due to lack of corresponding functionality in GRUB (fork, exec, threads, writable files, signals...). Note, though, that os.environ does work and can modify the GRUB environment.

  • Add a py_options command to set Python options (currently Py_VerboseFlag)
  • Start moving some tests over to Python, including the MSR consistency test
  • Support parsing and printing the ACPI DMAR table
  • Decode ACPI tables into Python namedtuple instances rather than just tuples, so that they have field names.
  • Update to ACPICA version 20110623.
  • Update to Python 2.7.2
  • Actually initialize the FPU with "finit", to get it into a sane state, rather than counting on the BIOS to leave it in such a state.