How to install buildout.minitagificator
- Download and install ActivePython
- Buy and install the Business Edition license from account.activestate.com
- Open Command Prompt
- Type
pypm install buildout.minitagificator
Dependencies
- distribute
- minitage.recipe.cmmi
- minitage.recipe.common
- minitage.recipe.egg>=1.88
- minitage.recipe.scripts
- zc.buildout
- [test] IPython
- [test] mocker
- [test] virtualenv
- [test] zc.recipe.cmmi
- [test] zc.recipe.egg
- [test] zope.testing
- [test] ZopeSkel
Introduction
This packages aims to replace some buildout parts by minitage's ones.
It replaces:
- All zc.recipe.egg recipes but zc.recipe.custom:develop
- zc.buildout.easy_install.install.Installer
- zc.recipe.cmmi
Installation
just add buildout.minitagificator to your buildout 's extension variable like
[buildout] extensions = buildout.minitagificator
TIPS
set minitage-globalenv in buildout for the extension to set cflags and other things borrowed from the project minibuild if any:
[minitagificator]minitage-globalenv = true
it will look for a section [minitagificator] to have regular options like extra-flags, path or includes to add to the environment (see minitage.recipe.common):
[minitagificator] cflags = -I/foo/bar path = /foo/baz/bin
Tests for buildout.minitagificator buildout extension
Let's create a buildout configuration file:
>>> data = """ ... [buildout] ... parts = ... part ... extensions = buildout.minitagificator ... [part] ... recipe=iw.recipe.cmd ... on-install=true ... on-update=true ... cmds=ls ... [egg] ... recipe=zc.recipe.egg:eggs ... eggs=zc.buildout ... [script] ... recipe=zc.recipe.egg:scripts ... eggs=zc.buildout ... scripts=buildout ... """ >>> rmdir(tempdir, 'buildout.test') >>> cd(tempdir) >>> sh('mkdir buildout.test') mkdir buildout.test <BLANKLINE> >>> cd('buildout.test') >>> touch('buildout.cfg', data=data) >>> ls('.') buildout.cfg
Run the buildout and see the patch in action :=):
>>> a= [mkdir(d) for d in ('eggs', 'develop-eggs', 'bin', 'src')] >>> install_develop_eggs(['buildout.minitagificator']) >>> install_eggs_from_pathes(['buildout.minitagificator'], sys.path) >>> buildout('bootstrap') Creating directory '/tmp/buildout.test/parts'. Generated script '/tmp/buildout.test/bin/buildout'. >>> sh('bin/buildout -vvvvv') bin/buildout... Installing part. buildout.minitagificator: Minitaging some recipes buildout.minitagificator: !!!! Can't patch zc.recipe.egg.(Scripts|Eggs): No module named recipe.egg buildout.minitagificator: !!!! Can't patch zc.recipe.egg.custom.Custom. buildout.minitagificator: !!!! Can't patch zc.recipe.cmmi <BLANKLINE>
We also monkey patch zc.recipe.egg stuff, to get our eggs happily installed with minitage recipes.:
>>> sh('bin/buildout install egg') bin/buildout install egg... buildout.minitagificator: Minitaging Buildout Installer buildout.minitagificator: Minitaging Buildout scripts buildout.minitagificator: Minitaging Buildout Options buildout.minitagificator: Minitaging some recipes... minitage.recipe: Replaced ('zc.recipe.egg', 'eggs') with ('minitage.recipe.egg', 'default')... Installing egg... buildout.minitagificator: Minitaging some recipes... <BLANKLINE> >>> sh('bin/buildout install script') bin/buildout install script... buildout.minitagificator: Minitaging Buildout Installer buildout.minitagificator: Minitaging Buildout scripts buildout.minitagificator: Minitaging Buildout Options buildout.minitagificator: Minitaging some recipes... minitage.recipe: Replaced ('zc.recipe.egg', 'scripts') with ('minitage.recipe.scripts', 'default')... Installing script.... buildout.minitagificator: Minitaging some recipes minitage.recipe: Installing console scripts. minitage.recipe: Installing python egg(s). minitage.recipe: Picked: zc.buildout ... minitage.recipe: Picked: setuptools ... minitage.recipe: Generated scripts: 'buildout'. <BLANKLINE>
Changelog
2.4.29 (2013-06-26)
- fix cmmi API to use install-in-place by default
2.4.28 (2013-03-16)
- fix scripts api
2.4.27 (2013-02-25)
- fix cmmi api
2.4.26 (2013-02-21)
- fix release
2.4.25 (2013-02-19)
- buildout2 compat
2.4.24 (2012-09-02)
- add minitagificator section option reading
2.4.21 (2012-07-24)
- scripts bugfix
2.4.18 (2012-06-05)
- zc.buildout 1.5 support
- compatibility with buildout.dumppickedversions
- Drop unusued recipes dependency
- fix entry point parsing for scripts wrapper
2.4.9
- Snowleopard and crossplatform fix according to related minitage.recipe.egg improvments (r.platform_scan() adds)
2.4.8
- more distribute friendly
2.4.2
- offline mode bugfix
2.4.1
- up tests
2.4.0
- more robust code for monkey patch
2.3.9
- up to minitage.recipe.*
-> 2.3.8
- fix tests
- add minitage-globalenv
2.3.3 -> 2.3.5
- filtration of scripts
2.3
- fix buildout initialization problem
2.1 -> 2.2
- fix tests (the only 2.2 change is in the test;)
- bugfix on egg cache searching
- bugfix on scripts filtering
2.0
- 1.0 compatibility
- zc.recipe.cmmi is now wrapped
1.6
- Get an absolute path for python!
1.5
- Refactor code
- Add a wrapper to zc.buildout.easy_install.scripts
- Make it work with relative-paths
1.4
- code cometics
1.1 -> 1.2
- packaging
1.0
- Initial release