Skip to main content

zc.buildout recipes to compile and install software or python packages and generate scripts or configuration files.

Project description

Introduction

Please look for options at http://pypi.python.org/pypi/minitage.recipe.common

The egg has those entry point:

  • fetch: recipe for fetching something, somewhere, with git, http, frp, static, hg, svn or bzr.

You can browse the code on minitage’s following resources:

You can migrate your buldouts without any effort with buildout.minitagificator:

minitage.recipe.fetch

Abstract

  • This recipe can be used to fetch something from somewhere to some location of your local fileystem This something can be either an url or a set of urls.

  • Thus by:

    • git

    • svn

    • ftp, http, file:// (urllib)

    • bazaar

    • mercurial

Specific options

  • urls See the shared options for more information on how to set them.

  • For the static fetcher, you can precise md5sum in the ‘revision’ field.

  • set unpack to automaticly unpack a downloaded archive, like:

    [foo]
    unpack=True

Detailled documentation

The divide url function test:

- If you dont precise the directory, its the basename of the url::

    >>> divide_url ('http://foo/bar|svn|666||--ignore-externals')
    ('http://foo/bar', 'svn', '666', 'http.foo.bar', '--ignore-externals')

- Static as a default::

    >>> divide_url ('')
    ('', 'static', '', '', '')

- arguements can be optionnal::

    >>> divide_url ('http://foo/bar')
    ('http://foo/bar', 'static', '', 'http.foo.bar', '')

Let’s create a buildout configuration file:

>>> rmdir(tempdir)
>>> mkdir(tempdir)
>>> cd(tempdir)
>>> a = [mkdir(d) for d in ('eggs', 'develop-eggs', 'bin', 'src')]
>>> install_develop_eggs(['minitage.recipe'])
>>> install_eggs_from_pathes(['zc.buildout'], sys.path)
>>> touch('buildout.cfg')
>>> sh('buildout -o bootstrap')
buildout -o bootstrap...

Initializing test env.

>>> if not os.path.exists('foo'):
...     mkdir('foo')
... else:
...     rmdir(foo)
...     mkdir('foo')
>>> touch('foo/configure', data ="""echo configure $@\n""")
>>> sh('chmod +x foo/configure')
c...
>>> touch('foo/Makefile',
... data = """
... all:
... \t@echo all
...
... install:
... \t@echo install
...
... """)
>>> sh('tar cfz  foo.tgz foo')
tar cfz  ...
<BLANKLINE>

Downloading some urls, files, git checkouts with one in a particular checkout directory and a particular revision:

>>> data = """
... [buildout]
... download-cache=${buildout:directory}
... parts =
...     part
... [part]
... recipe=minitage.recipe.fetch
... urls =file://${buildout:directory}/foo.tgz
...        http://git.minitage.org/git/minitage/eggs/minitage.core|git
...        http://git.minitage.org/git/minitage/eggs/minitage.recipe|git|e1f30b9d7a89572fa87fe26f8e353304532a281c|minitage.recipe.alt
... """
>>> touch('buildout.cfg', data=data)
>>> sh('bin/buildout install part')
bin/buildout  install part...
minitage.recipe: Start checkouts
minitage.recipe: Download archive
minitage.recipe: Downloading file:///tmp/buildout.test/foo.tgz in /tmp/buildout.test/parts/part/foo.tgz
minitage.recipe: Completed dowbload of file:///tmp/buildout.test/foo.tgz in /tmp/buildout.test/parts/part/
minitage.recipe: Download archive
minitage.recipe: Setting path
Initialized empty Git repository in /tmp/buildout.test/parts/part/minitage.recipe.alt/.git/
HEAD is now at e1f30b9 0.28
minitage.recipe: Completed dowbload of http://git.minitage.org/git/minitage/eggs/minitage.recipe in /tmp/buildout.test/parts/part/minitage.recipe.alt
minitage.recipe: Download archive
minitage.recipe: Setting path
Initialized empty Git repository in /tmp/buildout.test/parts/part/http.git.minitage.org.git.minitage.eggs.minitage.core/.git/
HEAD is now at ...
minitage.recipe: Completed dowbload of
http://git.minitage.org/git/minitage/eggs/minitage.core in /tmp/buildout.test/parts/part/http.git.minitage.org.git.minitage.eggs.minitage.core
minitage.recipe: Finnished checkouts...
<BLANKLINE>
g...
<BLANKLINE>

CHANGELOG

1.36 —-.

  • forgot to version one file

1.35

  • splitted out from minitage.recipe

1.34

all:

  • fix rst doc

  • add ldflags and ldflags options

minitage.recipe.cmmi:

  • install-in-place option added and pivot on make install slightly modified

  • skip-flags option added

  • prefix option added

minitage.recipe.fetch:

  • unpack option added

  • md5sum un revision for static fetcher check added

minitage.recipe.printer:

  • remove fake eggs and develop eggs from fixed versions.

-> 1.20

Minitage.recipe.egg:

  • better errors handling

  • In particular for eggs and url, now md5 urls are preferred.

  • Also when we can’t download a distribution from somewhere, we try to fallback to other distributions which achieve the desired requirement

  • In the same way, try to compile eggs from any other sdist fullfilling the requirement if an error occurs on the first found.

Minitage.recipe.cmmi:

  • new patch selection for freebsd:

    freebsd-patches

  • Fix some double spaces left in compilation flags which broke some exotic system builders.

1.14

  • add enrionment file generation to the scripts recipe

1.13

  • cmmi buggy update methods

1.11 - 1.12

  • rescan egg direcrectories at install time because there may be new develop eggs or eggs installed by buildout extensions (mr.developer)

  • fix for interaction with buildout.minitagificator and zc.buildout.easy_install..*script

1.-1.10

  • bugfix with cache and static distributions.

1.8

  • make patches go in a personnal directory with some md5 mecanism to redownload them.

1.4->1.7

  • x64 fixes

  • bugfix in static distribution install when you have patches to apply.

1.3

  • release uncomitted unittests updates

1.2

  • make it compatible with zc.buildout 1.0

1.1

  • md5 bug

1.0

  • first stable release.

  • All recipe are documented and well tested.

  • buildout.minitagificator is completed.

  • stabilized and synced with other minitage components

  • minitage.recipe:eggs has been drasticly improved in term of algorythms and speed.

0.33->0.34

  • Fix python executable computation

0.32

  • Documentation and tests release

0.29

  • Fix bug in recipes initialization because of buildout auto-ordering

0.28

  • Add another hook to the cmmi recipe: post-download

0.27

  • Fix an annoying bug when you are using virtualenv and a classical python as executable in your recipe, it may occur that sometimes, the virtualenv site-packages is appended to PYTHONPATH. As a fix, we now filter all python core lib directories and site packages that are not relevant to the python used by the recipe.

0.26

  • Introduce the minitage.recipe:wsgi recipe wich wraps a paste wsgi application in a script eatable by mod_wsgi

0.25

  • stop lowering project_name

0.23->0.24

  • Fix small bugs in printer

0.22

  • Introduce a new recipe : minitage.recipe:printer which prints/dumps to a file all versions eggs needed to achieve requirements.

0.21

  • Fix bug in compilation directory guessing

0.20

  • Fix bug in distribution reloading

  • Better handling of pkg_resources’s working set

0.19

  • add a post build hook

0.18

  • Change installation order

0.16

  • Fix index and find links options

0.14 -> 0.15

  • logging output improved

  • newest mode handling

0.13

  • fix static dist install

0.12

  • bugfix for zipped eggs

0.11

  • import bugfix for minitagificator

0.10

  • Change some logging options

  • follow allow host option from buildout for eggs installation

0.9

  • Do not rely anymore on zc.buildout ez for script generation

0.7 -> 0.8

  • egg and scripts recipes were rewritten a lot to adapt their api to zc.recipe.egg

  • Common to all recipes: all arguements are now identicak to zc.recipe.cmmi or zc.recipe.egg

  • Dependencies resolver has been improved a lot

  • For static distribution, you can know speicify multiple urls with ‘urls’

0.6

  • fix bug in path generation in minitage.recipe:scripts

0.2 -> 0.5

  • add make-options for make option in minitage.recipe.cmmi

  • multiple bugfixes

  • make things append in subprocess for environment conversation

  • add initiaiization code for generated python interpreter in minitage.recipe:scripts

0.1

  • add fetch recipe

0.0.13

  • fix zip safe flag

0.0.11

  • Include eggs dependencies by default

  • Modulate the script recipe to append in the PYTHONPATH all egg dependencies found into the local eggs cache.

0.0.10

  • Add pyc regeneration feature stolen from zc.buildout

0.0.9

  • minor fix for run without minitage

  • fix for long path/compilation flags

0.0.8

  • minor fix for scm check outs

0.0.7

  • add C compiler cflags/ldflags/makeopts customistation options

0.0.6

  • Change the eggs installation way to do, now using easy_install everywhere Also include a buildout option to allow to include eggs dependencies (ez-dependencies-true)

  • Set the __doc__ variable in scripts to fix some scripts like bzr.

0.0.3

  • fix scm choice when there are eggs and url in the same part

0.0.2

  • bugfix version

  • fix linking problem

0.0.1

  • Initial version

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

minitage.recipe.fetch-1.36.zip (23.7 kB view hashes)

Uploaded Source

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