Metadata-Version: 1.0
Name: rod.recipe.mongodb
Version: 1.2.0
Summary: ZC Buildout recipe for setting up mongoDB.
Home-page: http://pypi.python.org/pypi/rod.recipe.mongodb
Author: Tobias Rodaebel
Author-email: tobias (dot) rodaebel (at) googlemail (dot) com
License: LGPL 3
Description: ====================
        rod.recipe.mongodb
        ====================
        
        Buildout recipe for downloading and installing a mongodb binary package.
        
        
        Copyright and license
        =====================
        
        Copyright 2009, 2010 Tobias Rodaebel
        
        This software is released under the GNU Lesser General Public License,
        Version 3.
        
        
        Credits
        =======
        
        Thanks to Andreas Jung for provinding a patch to symlink all MongoDB binaries.
        
        Thanks to Stephan Hofmockel who contributed a patch for creating a start script
        with custom command line parameters specified as buildout options.
        
        A brief documentation
        =====================
        
        This recipe takes a number of options:
        
        darwin-32bit-url
        The URL to download the 32 bit binary package for the darwin platform.
        
        darwin-64bit-url
        The URL to download the 64 bit binary package for the darwin platform.
        
        linux2-32bit-url
        The URL to download the 32 bit binary package for the linux platform.
        
        linux2-64bit-url
        The URL to download the 64 bit binary package for the linux platform.
        
        (And all options of mongod version v1.4.2 as described below.)
        
        
        Tests
        =====
        
        We will define a buildout template used by the recipe:
        
        >>> buildout_cfg = """
        ... [buildout]
        ... parts = mongodb
        ...
        ... [mongodb]
        ... recipe = rod.recipe.mongodb
        ... darwin-32bit-url = http://downloads.mongodb.org/osx/mongodb-osx-i386-1.4.1.tgz
        ... darwin-64bit-url = http://downloads.mongodb.org/osx/mongodb-osx-x86_64-1.4.1.tgz
        ... linux2-32bit-url = http://downloads.mongodb.org/linux/mongodb-linux-i686-1.4.1.tgz
        ... linux2-64bit-url = http://downloads.mongodb.org/linux/mongodb-linux-x86_64-1.4.1.tgz
        ... """
        
        We'll start by creating a buildout:
        
        >>> import os.path
        >>> write('buildout.cfg', buildout_cfg)
        
        Running the buildout gives us:
        
        >>> output = system(buildout)
        >>> 'rod.recipe.mongodb: downloading mongoDB distribution...' in output
        True
        
        Check whether the binaries are copied:
        
        >>> set(os.listdir('bin')).issuperset(['mongo', 'mongod', 'mongodump', 'mongoexport', 'mongofiles', 'mongoimport', 'mongorestore', 'mongos', 'mongosniff', 'mongostat'])
        True
        
        A start script with the format 'start_PART-NAME_mongod.sh' should be generated.
        
        >>> 'start_mongodb_mongod.sh' in os.listdir('bin')
        True
        
        It is possible to change the name of this start script with the 'script_name'
        option. Furthermore all options of mongod (version v1.4.2) are supported via
        buildout options. A more comprehensive recipe could be for example:
        
        >>> buildout_cfg = """
        ... [buildout]
        ... parts = mongodb
        ... [mongodb]
        ... recipe = rod.recipe.mongodb
        ... linux2-32bit-url = http://downloads.mongodb.org/linux/mongodb-linux-i686-1.4.2.tgz
        ... script_name = start_master.sh
        ... quiet=true
        ... fork=true
        ... logpath=${buildout:parts-directory}/mongodb/log
        ... dbpath=${buildout:parts-directory}/mongodb/data
        ... directoryperdb=true
        ... master=true
        ... """
        
        Changes
        =======
        
        1.2.0 2010-05-16
        ----------------
        
        - Creating start script with command line parameters specified as buildout
        options.
        
        
        1.1.4 2010-04-18
        ----------------
        
        - Symlinking rather than copying binaries.
        
        
        1.1.0 2010-04-15
        ----------------
        
        - Copying all MongoDB binaries into the 'bin' folder of the buildout
        environment (ajung).
        
        
        1.0.1 2009-08-21
        ----------------
        
        - Removing part before updating.
        
        
        1.0.0 2009-08-14
        ----------------
        
        - Initial release.
        
Keywords: mongodb zc.buildout recipe
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Buildout
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
