Skip to main content

Recipe for generate buildout-cache.tar.gz2

Project description

.. contents::

Introduction
============

This recipe is used to generate buildout-cache.tar.gz2 file.

The recipe was inspired by update-packages script from Plone Installers-UnifiedInstaller (https://github.com/plone/Installers-UnifiedInstaller/blob/master/update_packages.py)
The recipe will start a buildout with forced eggs-directory and download-cache. After it will deleted eggs with binary components, make some cleanup, and finally generate compressed file contains buildout-cache.


Supported options
=================

The recipe supports the following optionnal options:

.. Note to recipe author!
----------------------
For each option the recipe uses you should include a description
about the purpose of the option, the format and semantics of the
values it accepts, whether it is mandatory or optional and what the
default value is if it is omitted.


target
Name of target compressed file. Default value is `buildout-cache.tar.bz2`.

buildout_file
Name of buildout file which be used for constuction of buildout cache. Default value is `buildout.cfg`.

work_dir
Directory where eggs are downloaded for creation of tar.gz2 file. This directroy is deleted before and after the script. Default value is `tmp`.

timeout
Timeout using for buildout in second. If no timeout define but a socket-timeout into buildout section, socket-timeout value is used. Default value is 10.

preremove_old_work_dir
Sometime we want to keep word_dir if a build failed. Default value is True, so work_dir will be deleted by default.


Example usage
=============

We'll start by creating a `buildout.cfg` file that uses the recipe:

::

[buildout]
parts = makebuildoutcache

[makebuildoutcache]
recipe = collective.recipe.buildoutcache
target = buildout-cache.tar.bz2
buildout_file = buildout.cfg
work_dir = my-temp-buildout-work-dir

For recipe installation you can make this command line:

::

./bin/buildout install makebuildoutcache

And start recipe script:

::

./bin/makebuildoutcache

Then all these packages will download temporally into the directory **my-temp-buildout-work-dir** defined and later it will create a **buildout-cache.tar.bz2** file in the Buildout directory.

buildout-cache.tar.bz2 archive
==============================

The **buildout-cache.tar.bz2** archive contains one single buildout-cache folder. In this folder, there are 2 folders:

* **eggs:** contains all eggs use by your buildout except eggs which have to be compiled.

* **downloads:** contains zip eggs which must be compiled (as AccessControl, lxml, Pillow, ZODB, ...).

Before starting a buildout, we download and extract buildout-cache and use it on our buildout directory. We add eggs-directory and download-cache parameters on buildout section like this:

::

[buildout]

eggs-directory = buildout-cache/eggs
download-cache = buildout-cache/downloads

Contributors
************

- Benoît Suttor, Original Author
Change history
**************

Changelog
=========

1.0.3 (2015-11-24)
------------------

- Fix way to get bool from a str.
[bsuttor]


1.0.2 (2015-11-24)
------------------

- Add preremove_old_work_dir option. You can now not delete work dir if a build failed.
[bsuttor]


1.0.1 (2015-11-19)
------------------

- Add timeout option
[bsuttor]

- Return code if bin/buildout do not work during construction of cache.
[bsuttor]


1.0 (2015-07-01)
----------------

- Package created using templer
[]

Download
********

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.recipe.buildoutcache-1.0.3.tar.gz (19.5 kB view details)

Uploaded Source

File details

Details for the file collective.recipe.buildoutcache-1.0.3.tar.gz.

File metadata

File hashes

Hashes for collective.recipe.buildoutcache-1.0.3.tar.gz
Algorithm Hash digest
SHA256 0f34a8f452e051380c8d6ce706c95b566c7ca8c4cc77ed11d7dda945da9ac454
MD5 abd3ba8531245e7ee17c9d6d1dc91dc4
BLAKE2b-256 ebb7673b863b265af137f9758f5d9bf57acb8d1b51a57d11a4968df3d25e2238

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page