Skip to main content

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

Project description

******************************************************************************
Recipe for compiling and installing software with or without minitage
******************************************************************************

.. contents::

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

<<<<<<< HEAD
=======
This was a collection of recipes which can be use inside or outside a minitage environment.

As they are now all splitted out from this package, we keep only left the
entry points for asccendant compatibility purpose.
the build environment automaticly.
>>>>>>> c5db49e522fdeacfa2feec4e3d2e390ab5382c3e

The egg has those entry point:

- *printer*: print or dump to a file all versions needed to achieve eggs
<<<<<<< HEAD
=======
requirements (versions.cfg made easy)
- *scripts*: install scripts from an egg and install egg dependencies if they
are not already in the cache
- *wsgi*: Make a Python paste configuration file eatable by mod_wsgi with
all the eggs dependencies you need.
>>>>>>> c5db49e522fdeacfa2feec4e3d2e390ab5382c3e

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

- http://git.minitage.org/git/minitage/eggs/minitage.recipe.printer/
- http://www.minitage.org/trac/browser/minitage/eggs/minitage.recipe.printer



===============================================
minitage.recipe.printer
===============================================


Abstract
-----------------

- This recipe intends to install eggs and python software and on top of installed stuff, generating KGS (Known good Set) versions file.
- This will help you to pin all the eggs used by a specific application by generating nicely configs with all eggs pinned insude?
- This recipe inherit from minitage;recipe:egg.

Specific options
-----------------

Please look for options at : http://pypi.python.org/pypi/minitage.recipe.common#options-shared-by-all-the-recipes
And also for options at :http://pypi.python.org/pypi/minitage.recipe.egg#specific-options

* quiet
if set: do not print anything to stdout
* file
file to write the version to

Detailled documentation
-------------------------

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.printer'])
>>> install_eggs_from_pathes(['zc.buildout'], sys.path)
>>> touch('buildout.cfg')
>>> sh('buildout -o bootstrap')
buildout -o bootstrap...
>>> index_url = start_server(os.path.sep.join(tempdir))

Initializing test env.
+++++++++++++++++++++++
::

>>> if os.path.exists('foo'): rmdir(foo)
>>> mkdir('foo')
>>> mkdir('foo/src/toto')
>>> touch('foo/setup.py', data="""
... from setuptools import setup, find_packages
... setup(name='foo', version='1.0',
... packages=find_packages('src'),
... package_dir = {'': 'src'},
... include_package_data=True,
... scripts=['src/toto/toto.py'],
... entry_points={'console_scripts': ['s=toto.toto:f']},
... )
... """)
>>> touch('foo/src/toto/__init__.py')
>>> touch('foo/src/toto/toto.py', data="""
... def f():
... print "foo"
... if __name__ == '__main__' :
... print 'called'
...
... """)
>>> noecho = [os.remove(d) for d in os.listdir('.') if '.tar.gz' in d]
>>> os.chdir('foo')
>>> sh('python setup.py sdist')
p...
>>> noecho = [shutil.copy(os.path.join('dist', d), os.path.join('..', d)) for d in os.listdir('dist')]
>>> os.chdir('..')

Writing only to output
+++++++++++++++++++++++++++++++
Do not specify the file option.

>>> data = """
... [buildout]
... download-cache=${buildout:directory}
... parts = part
... [part]
... recipe=minitage.recipe.printer
... find-links=%(index)s
... eggs=foo
... """%{'index': index_url}
>>> touch('buildout.cfg', data=data)
>>> sh('bin/buildout -vvvvv install')
b...
minitage.recipe: Maybe put this in a cfg like file ;)
#--- 8-< 8-< 8-< 8-< 8-< 8-< 8-< ---...
[versions]
foo=1.0...
[buildout]
versions=versions...
#--- 8-< 8-< 8-< 8-< 8-< 8-< 8-< ---...

Writing to a file
++++++++++++++++++++++++
Feed the part with the file option.

>>> data = """
... [buildout]
... download-cache=${buildout:directory}
... parts = part
... [part]
... recipe=minitage.recipe.printer
... find-links=%(index)s
... eggs=foo
... file=toto.cfg
... """%{'index': index_url}
>>> touch('buildout.cfg', data=data)
>>> sh('bin/buildout -vvvvv install')
b...
#--- 8-< 8-< 8-< 8-< 8-< 8-< 8-< ---
minitage.recipe: Generated: toto.cfg...

>>> cat('toto.cfg')
<BLANKLINE>
<BLANKLINE>
[versions]
foo=1.0
<BLANKLINE>
[buildout]
versions=versions
<BLANKLINE>
<BLANKLINE>

Be quiet please, baby is sleeping
++++++++++++++++++++++++++++++++++++++
Set the quiet flag.

>>> data = """
... [buildout]
... download-cache=${buildout:directory}
... parts = part
... [part]
... recipe=minitage.recipe.printer
... find-links=%(index)s
... eggs=foo
... quiet=1
... file=toto.cfg
... """%{'index': index_url}
>>> touch('buildout.cfg', data=data)
>>> sh('bin/buildout -vvvvv install')
b...
minitage.recipe: All egg dependencies seem to be installed!
minitage.recipe: Generated: toto.cfg...


=======================
CHANGELOG
=======================

1.36
---------

- decorator helper


1.35
--------

- splitted out from minitage.recipe

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.printer-1.36.zip (18.2 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