Status ****** The buildout system is under active development. Some near term priorities include: - Fixing `bugs <https://launchpad.net/products/zc.buildout/+bugs>`_ - Adding support for making distributions from buildouts Change History ************** 1.0.0b23 (2007-03-??) ===================== Bugs Fixed ---------- - It wasn't possible to give options on the command line for sections not defined in a configuration file. 1.0.0b22 (2007-03-15) ===================== Feature Changes --------------- - Improved error reporting and debugging support: - Added "logical tracebacks" that show functionally what the buildout was doing when an error occurs. Don't show a Python traceback unless the -D option is used. - Added a -D option that causes the buildout to print a traceback and start the pdb post-mortem debugger when an error occurs. - Warnings are printed for unused options in the buildout section and installed-part sections. This should make it easier to catch option misspellings. - Changed the way the installed database (.installed.cfg) is handled to avoid database corruption when a user breaks out of a buildout with control-c. - Don't save an installed database if there are no installed parts or develop egg links. 1.0.0b21 (2007-03-06) ===================== Feature Changes --------------- - Added support for repeatable buildouts by allowing egg versions to be specified in a versions section. - The easy_install module install and build functions now accept a versions argument that supplied to mapping from project name to version numbers. This can be used to fix version numbers for required distributions and their depenencies. When a version isn't fixed, using either a versions option or using a fixed version number in a requirement, then a debug log message is emitted indicating the version picked. This is useful for setting versions options. A default_versions function can be used to set a default value for this option. - Adjusted the output for verbosity levels. Using a single -v option no longer causes voluminous setuptools output. Uisng -vv and -vvv now triggers extra setuptools output. - Added a remove testing helper function that removes files or directories. 1.0.0b20 (2007-02-08) ===================== Feature Changes --------------- - Added a buildout newest option, to control whether the newest distributions should be sought to meet requirements. This might also provide a hint to recipes that don't deal with distributions. For example, a recipe that manages subversion checkouts might not update a checkout if newest is set to "false". - Added a *newest* keyword parameter to the zc.buildout.easy_install.install and zc.buildout.easy_install.build functions to control whether the newest distributions that meed given requirements should be sought. If a false value is provided for this parameter and already installed eggs meet the given requirements, then no attempt will be made to search for newer distributions. - The recipe-testing support setUp function now adds the name *buildout* to the test namespace with a value that is the path to the buildout script in the sample buildout. This allows tests to use >>> print system(buildout), rather than: >>> print system(join('bin', 'buildout')), Bugs Fixed ---------- - Paths returned from update methods replaced lists of installed files rather than augmenting them. 1.0.0b19 (2007-01-24) ===================== Bugs Fixed ---------- - Explicitly specifying a Python executable failed if the output of running Python with the -V option included a 2-digit (rather than a 3-digit) version number. 1.0.0b18 (2007-01-22) ===================== Feature Changes --------------- - Added documentation for some previously undocumented features of the easy_install APIs. - By popular demand, added a -o command-line option that is a short hand for the assignment buildout:offline=true. Bugs Fixed ---------- - When deciding whether recipe develop eggs had changed, buildout incorrectly considered files in .svn and CVS directories. 1.0.0b17 (2006-12-07) ===================== Feature Changes --------------- - Configuration files can now be loaded from URLs. Bugs Fixed ---------- - https://bugs.launchpad.net/products/zc.buildout/+bug/71246 Buildout extensions installed as eggs couldn't be loaded in offline mode. 1.0.0b16 (2006-12-07) ===================== Feature Changes --------------- - A new command-line argument, -U, suppresses reading user defaults. - You can now suppress use of an installed-part database (e.g. .installed.cfg) by sprifying an empty value for the buildout installed option. Bugs Fixed ---------- - When the install command is used with a list of parts, only those parts are supposed to be installed, but the buildout was also building parts that those parts depended on. 1.0.0b15 (2006-12-06) ===================== Bugs Fixed ---------- - Uninstall recipes weren't loaded correctly in cases where no parts in the (new) configuration used the recipe egg. 1.0.0b14 (2006-12-05) ===================== Feature Changes --------------- - Added uninstall recipes for dealing with complex uninstallation scenarios. Bugs Fixed ---------- - Automatic upgrades weren't performed on Windows due to a bug that caused buildout to incorrectly determine that it wasn't running locally in a buildout. - Fixed some spurious test failures on Windows. 1.0.0b13 (2006-12-04) ===================== Feature Changes --------------- - Variable substitutions now reflect option data written by recipes. - A part referenced by a part in a parts list is now added to the parts list before the referencing part. This means that you can omit parts from the parts list if they are referenced by other parts. - Added a develop function to the easy_install module to aid in creating develop eggs with custom build_ext options. - The build and develop functions in the easy_install module now return the path of the egg or egg link created. - Removed the limitation that parts named in the install command can only name configured parts. - Removed support ConfigParser-style variable substitutions (e.g. %(foo)s). Only the string-template style of variable (e.g. ${section:option}) substitutions will be supported. Supporting both violates "there's only one way to do it". - Deprecated the buildout-section extendedBy option. Bugs Fixed ---------- - We treat setuptools as a dependency of any distribution that (declares that it) uses namespace packages, whether it declares setuptools as a dependency or not. This wasn't working for eggs intalled by virtue of being dependencies. 1.0.0b12 (2006-10-24) ===================== Feature Changes --------------- - Added an initialization argument to the zc.buildout.easy_install.scripts function to include initialization code in generated scripts. 1.0.0b11 (2006-10-24) ===================== Bugs Fixed ---------- `67737 <https://launchpad.net/products/zc.buildout/+bug/67737>`_ Verbose and quite output options caused errors when the develop buildout option was used to create develop eggs. `67871 <https://launchpad.net/products/zc.buildout/+bug/67871>`_ Installation failed if the source was a (local) unzipped egg. `67873 <https://launchpad.net/products/zc.buildout/+bug/67873>`_ There was an error in producing an error message when part names passed to the install command weren't included in the configuration. 1.0.0b10 (2006-10-16) ===================== Feature Changes --------------- - Renamed the runsetup command to setup. (The old name still works.) - Added a recipe update method. Now install is only called when a part is installed for the first time, or after an uninstall. Otherwise, update is called. For backward compatibility, recipes that don't define update methiods are still supported. - If a distribution defines namespace packages but fails to declare setuptools as one of its dependencies, we now treat setuptools as an implicit dependency. We generate a warning if the distribution is a develop egg. - You can now create develop eggs for setup scripts that don't use setuptools. Bugs Fixed ---------- - Egg links weren't removed when corresponding entries were removed from develop sections. - Running a non-local buildout command (one not installed in the buildout) ket to a hang if there were new versions of zc.buildout or setuptools were available. Now we issue a warning and don't upgrade. - When installing zip-safe eggs from local directories, the eggs were moved, rather than copied, removing them from the source directory. 1.0.0b9 (2006-10-02) ==================== Bugs Fixed ---------- Non-zip-safe eggs were not unzipped when they were installed. 1.0.0b8 (2006-10-01) ==================== Bugs Fixed ---------- - Installing source distributions failed when using alternate Python versions (depending on the versions of Python used.) - Installing eggs wasn't handled as efficiently as possible due to a bug in egg URL parsing. - Fixed a bug in runsetup that caused setup scripts that introspected __file__ to fail. 1.0.0b7 ======= Added a documented testing framework for use by recipes. Refactored the buildout tests to use it. Added a runsetup command run a setup script. This is handy if, like me, you don't install setuptools in your system Python. 1.0.0b6 ======= Fixed https://launchpad.net/products/zc.buildout/+bug/60582 Use of extension options caused bootstrapping to fail if the eggs directory didn't already exist. We no longer use extensions for bootstrapping. There really isn't any reason to anyway. 1.0.0b5 ======= Refactored to do more work in buildout and less work in easy_install. This makes things go a little faster, makes errors a little easier to handle, and allows extensions (like the sftp extension) to influence more of the process. This was done to fix a problem in using the sftp support. 1.0.0b4 ======= - Added an **experimental** extensions mechanism, mainly to support adding sftp support to buildouts that need it. - Fixed buildout self-updating on Windows. 1.0.0b3 ======= - Added a help option (-h, --help) - Increased the default level of verbosity. - Buildouts now automatically update themselves to new versions of zc.buildout and setuptools. - Added Windows support. - Added a recipe API for generating user errors. - No-longer generate a py_zc.buildout script. - Fixed some bugs in variable substitutions. The characters "-", "." and " ", weren't allowed in section or option names. Substitutions with invalid names were ignored, which caused missleading failures downstream. - Improved error handling. No longer show tracebacks for user errors. - Now require a recipe option (and therefore a section) for every part. - Expanded the easy_install module API to: - Allow extra paths to be provided - Specify explicit entry points - Specify entry-point arguments 1.0.0b2 ======= Added support for specifying some build_ext options when installing eggs from source distributions. 1.0.0b1 ======= - Changed the bootstrapping code to only install setuptools and zc.buildout. The bootstrap code no-longer runs the buildout itself. This was to fix a bug that caused parts to be recreated unnecessarily because the recipe signature in the initial buildout reflected temporary locations for setuptools and zc.buildout. - Now create a minimal setup.py if it doesn't exist and issue a warning that it is being created. - Fixed bug in saving installed configuration data. %'s and extra spaces weren't quoted. 1.0.0a1 ======= Initial public version