Change History
**************

1.5.1 (2012-05-21)
==================

  - PEP8 / Pyflakes cleanup.
    [dokai]

  - Quote ``--prefix`` paths to support whitespace characters in
    the path. Closes https://github.com/hexagonit/hexagonit.recipe.cmmi/pull/4
    [galpin]

  - Fixed importing of the hook scripts on Windows. Closes
    https://github.com/hexagonit/hexagonit.recipe.cmmi/pull/6
    [grzn]

1.5.0 (2010-12-17)
==================

  - Refactored the environment variable handling logic. Python versions prior
    to 2.6 have an issue clearing the environment variables using
    ``os.environ.clear()`` (See http://bugs.python.org/issue3227). [dokai]

    Instead of modifying ``os.environ`` directly we use the ``subprocess``
    module to run the commands in child processes which are given an explicit
    environment which is a copy of the current ``os.environ`` augmented with
    the per-part overrides. As a result, ``os.environ`` is no longer modified
    by this recipe.

    The `Python hook scripts`_ are passed the augmented environment dictionary
    as a third parameter.

    .. warning:: Existing hook scripts accepting only two parameters
                 continue to work but they do not have access to the modified
                 environment variables. To fix this they should be refactored
                 to accept the third parameter.

    See https://github.com/hexagonit/hexagonit.recipe.cmmi/issues/issue/1/#issue/1/comment/605362
    for details.

1.4.0 (2010-08-27)
==================

  - Added support for passing options to ``make`` with the new
    ``make-options`` option. See the `Installing a package without an autoconf
    like system`_ section below for an example. [dokai]

  - The ``--prefix`` parameter will be automatically given to the configure
    command if and only if

      - the ``configure-command`` is not used to specify a custom configure command and

      - ``--prefix`` is not given explicitly in the ``configure-options`` option.

    [dokai]

  - Removed the ``is_build_dir()`` heuristic.

    Previously the recipe inspected the contents of the downloaded package to
    determine if it contained the necessary files for building the package (it
    checked if files named ``configure`` or ``Makefile.PL`` existed) and gave
    an error message if they were missing. However, the recipe is useful for
    building many different kinds of software packages and checking for
    particular files limited its use severely.

    Now the recipe omits any checks for particular files in the downloaded
    package. It is recommended that you use the ``md5sum`` option in your part
    configuration to assert that you are downloading the package you expect
    to. [dokai]

1.3.1 (2010-08-23)
==================

 - Refactored the ``is_build_dir()`` helper method to make it easier to test
   and override in customized recipes. [dokai]

 - Fixed the handling of the working directory so that it is restored to the
   state before executing the recipe regardless whether the recipe was
   successful or not. Thanks to Jonathan Ballet for the report and preliminary
   patch. [dokai]

 - Fixed http://github.com/hexagonit/hexagonit.recipe.cmmi/issues#issue/1
   Environment variables defined in one part will no longer leak to other
   subsequent parts. [dokai]

1.3.0 (2009-09-20)
==================

  - Added new options ``environment-section`` and ``environment`` to control
    environment variables before executing the recipe.

  - Added a new option, ``prefix``, to override the installation prefix.
    Defaults to the previously hardcoded value of the part location.

1.2.0
=====

  - Added new ``configure-command`` option to control the command used to
    generate the ``Makefile``. This makes it possible to build slightly
    different packages, e.g. Perl projects where Makefile.PL replaces the
    configure script.

1.1.1
=====

  - Don't try to execute hooks if the option is an empty string. This
    will make it possible to disable hooks when extending existing
    parts.

1.1.0
=====

 - Added new option ``path`` to allow building and installing local
   source trees. The ``path`` option is mutually exclusive with
   ``url``.

1.0.1
=====

 - Fixed a bug with 'keep-compile-dir' option. The location of the
   compilation directory was not available through the
   ``options['compile-directory']`` option as documented.

1.0.0
=====

 - Initial public release.
