Metadata-Version: 1.0
Name: minitage.recipe.printer
Version: 1.35
Summary: zc.buildout recipes to compile and install software or python packages and generate scripts or configuration files.
Home-page: http://cheeseshop.python.org/pypi/minitage.recipe.printer
Author: Mathieu Pasquet
Author-email: kiorky@cryptelium.net
License: BSD
Description: ******************************************************************************
        Recipe for compiling and installing software with or without minitage
        ******************************************************************************
        
        .. contents::
        
        =======================
        Introduction
        =======================
        
        
        The egg has those entry point:
        
        - *printer*: print or dump to a file all versions needed to achieve eggs
        
        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
        =======================
        
        UP
        ---
        
        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
        
        
        
        
Keywords: development buildout recipe
Platform: UNKNOWN
Classifier: Framework :: Buildout
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
