Metadata-Version: 1.0
Name: minitage.recipe.fetch
Version: 1.37
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.fetch
Author: Mathieu Pasquet
Author-email: kiorky@cryptelium.net
License: BSD
Description: ******************************************************************************
        Recipe for compiling and installing software with or without minitage
        ******************************************************************************
        
        .. contents::
        
        =======================
        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:
        
        - http://git.minitage.org/git/minitage/eggs/minitage.recipe.fetch/
        - http://www.minitage.org/trac/browser/minitage/eggs/minitage.recipe.fetch
        
        You can migrate your buldouts without any effort with buildout.minitagificator:
        
        * http://pypi.python.org/pypi/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.37
        -----
        
        - fix api
        
        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
        
        
        
        
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
