skip to navigation
skip to content

minitage.core 2.0.40

A meta package-manager to deploy projects on UNIX Systemes sponsored by Makina Corpus.

Latest Version: 2.0.57

  • minitage is a meta-package manager. It’s a package manager which install packages with the help of other build systems.

  • Its goal is to help you to deploy projects in a standardised layout and to build things quickly and in a simple manner by putting in environment all configurations. like:

    • cflags
    • ldflags
    • $PATH
  • The main documentation is not there but on, please go there for further instructions.

QuickStart with minitage

Check your Python

You need a python with setuptools, zlib, bz2 and ssl support.

Try that in your interpretery:

>>> import tarfile
>>> import zipfile
>>> import bz2
>>> import _ssl
>>> import zlib
>>> import setuptools

If you do not have that, you can give a try to my pyboostrapper that bootstrap a python somewhere:

chmod -x
bash ./ /path/to/pythonPrefix

Using virtualenv

You ‘d better to use virtualenv , minitage fits well with it.

virtualenv is a tool that allow you to create isolated Python environments.

Here is how to set up an environment with it:

  • Install virtualenv:

    easy_install virtualenv #(maybe use sudo ;))
  • Install minitage prefix:

    virtualenv --no-site-packages  ~/minitage
  • activate it:

    source ~/minitage/bin/activate


minitage installation

The whole doc is not there but on

Minitage is a classical python egg, you can get it throught easy_install.

To install minitage in a stable version, follow those steps:

  • Install minitage:

    easy_install -U mercurial minitage.core
  • Sync its packages (all its minilays in minitage terminology).:

    minimerge -s

Syncing packages

To sync all your minilays

If you need to, fire your virtualenv:

source ~/minitage/bin/activate


minimerge -s

Integrate your existing python project base on buildout

Idea is to make buildoutrs to all buildouts in the top directory to wrap the underlying minitage environment.

We will also make a a minilay with minibuilds pointing to those wrappers.

This will help you fastly integrating minitage !

If you project layout is something like:

| base.cfg
| buildout.cfg
| otherbuildout.cfg
| foo
     |  bar

You want it to be installed a a zope project, do the following:

cd ~/minitage
. bin/activate
mkdir -p zope
SCM clone URL zope/yourproject
minitagify -d zope/yourproject
. Wraping ~/minitage/zope/yourpoject/otherbuildout.cfg (minitage27.cfg) in ~/minitage/zope/yourpoject/minitage.otherbuildout.cfg->~/minitage/zope/yourpoject/.minitagecfg/otherbuildout.cfg
. Wraping ~/minitage/zope/yourpoject/buildout.cfg (minitage27.cfg) in ~/minitage/zope/yourpoject/minitage.buildout.cfg->~/minitage/zope/yourpoject/.minitagecfg/buildout.cfg
. Wraping ~/minitage/zope/yourpoject/base.cfg (minitage27.cfg) in ~/minitage/zope/yourpoject/minitage.base.cfg->~/minitage/zope/yourpoject/.minitagecfg/base.cfg
. Wroted minibuild yourpoject-otherbuildout in ~/minitage/minilays/05d75df848d13853578095d08f5c7253a/yourpoject-otherbuildout
. Wroted minibuild yourpoject-buildout in ~/minitage/minilays/05d75df848d13853578095d08f5c7253a/yourpoject-buildout
. Wroted minibuild yourpoject-base in ~/minitage/minilays/05d75df848d13853578095d08f5c7253a/yourpoject-base
. Wroted minibuild yourpoject in ~/minitage/minilays/05d75df848d13853578095d08f5c7253a/yourpoject

Yu will then have to use

  • minitage.buildout.cfg for buildout.cfg
  • minitage.otherbuildout.cfg for otherbuildout.cfg


cd zope/yourproject
bin/buildout -vvvvvvvNc minitage.buildout.cfg
bin/buildout -vvvvvvvNc minitage.otherbuildout.cfg

Changelog for minitage.core

2.0.40 (2012-08-28)

  • Fix minitage base buildouts

2.0.36 (2012-08-28)

  • Fix minitage base buildouts

2.0.35 (2012-08-28)

  • fix category minibuild in minitagify

2.0.34 (2012-08-28)

  • Added the minitagify command see: this doc

2.0.33 (2012-05-09)

  • revert Download helper subdir patch and handle it in buildout recipes

2.0.32 (2012-05-06)

  • Fix all tests
  • Dowload helper now downloads in downloadcache/netloc+urlpath/filename

2.0.31 (2012-03-26)

  • py27 deepcopy bugfix

2.0.30 (2012-03-24)

  • support py27
  • Force run buildout in upgrade mode for dependencies and eggs packages

2.0.29 (2012-03-05)

  • handle pil migration

2.0.28 (2012-01-23)

  • Support for in place git branches [kiorky]

2.0.27 (2011-02-25)

  • proper release


  • fix bug in pretend
  • move to github
  • add mercurial to dependencies to facillitate buildout integration
  • add python versions for pretend and ‘eggs’ packages
  • rebuild ‘eggs’ packages only if they need to be (markers are now in place for the particular python version)
  • remove useless mercurial dep



  • Auto Update system. When minimerge upgrade (easy_install -U), we have now the infrastructure to run update callbacks.
  • Now minibuilds have revisions, this can facilitate their reinstallation as reverse dependencies
  • give means to select the python to build against for python modules (–all-python-versions or specify python to use along with the package (minimerge -pv foo python-2.4)
  • force eggs category reinstallation
  • add an only dependencies switch to buld only dependencies
  • win32 compatibility (first rush, alpha quality)
  • add replace/per/os/dependencies mecanism in minibuilds
  • allow minibuild names with only major as version


  • support symlink in remove_path (API)
  • enhance remove_path function
  • fix a bug in bootstrapping buildout
  • rewrite fetchers
  • improve proxy handling
  • fix some tests
  • make parts shut up
  • test incomplete downloads and redownload them (package level)
  • make minibuild name more permissive
  • fix bug in new checkouts
  • fix a bug insde the get_from_cache helper when a fragmented url is used and the upstream server does not understand them
  • add a special exception for search_latest when error happen.
  • fake user agent in urlopen calls to prevent mad sysadmins restrictions on python useragent.
  • explicit error when the buildout configuration file is not there
  • use setuptools helper funtion instead of directly urllib2 to avoid sourceforge download errors


  • distribute fix


  • remove deprecationwarning


  • remove deprecationwarning


  • oups, left print


  • let the default minilay be at lower priority among all


  • desactivating updates manager for more tests.

-> 1.0.13

  • Minitage now allows binaries to be used instead of compiling programs, in the gentoo -k way.
  • Minitage has now also an update manager to run udpate functions on upgrade.


  • bugfix on url md5sum fragments


  • make conditionnal weither we are offline or not the download in the get_from_cache function.

1.0.0 -> 1.0.3

  • x64 enlightments
  • add optionnal force switch to the download cache function


  • some API adds like ‘search_latest’ and ‘which’
  • bugfix in interfaces for configuration handling
  • buildout maker can be given an optionnal config to build
  • code stabilization and sync with other minitage components
  • official documentation on


  • Fetch by default over http


  • Bind buildout newest mode with -u option


  • do not delete directories but overwrite when the package src uri change.


  • Make minitage lives on git


  • Make minitage git aware both in recipes and in core.


  • force setuptools version


  • bugfix on common functions (API)


  • quiet mode is now optionnal are there are numerous bugs with it.


  • Maintenance release

    • testruner
    • buildoutified
    • some refactor and code cleanings
    • logging is now better handled and your minimerge sessions will be as quiet as possible.


  • Bug in fetchers (not critical …)


  • Add an option (-f)
    • when set : fetch all before build
    • when not set : fetch and build each package one after another


  • Remove the category check


  • Remove the backtrace from the launcher when minimerge fails


  • Release version


  • Fix scm type validator


  • bzr DVCS integration


  • Add support for variables in minibuilds setted in minitage configuration file. Use $name in minibuilds and set it in the [minitage.variables] section.


  • reinforce buildout code


  • restore previous version scheme


  • add mercurial explicit dependency


  • remove old minilay


This is a pre release, minitage is working. But it is not empty from bugs. Feel free to give your feedback :)

  • Minimerge totally rewritten in python
  • Support for conditionnal dependencies toward python version
  • Support for eggs in addition of site-packages added to the PYTHONPATH
  • Support for conditionnal (OS) dependencies
  • Lot of improvments on error handling
  • Logging mode
  • Configuration via a file is now possible

up to 0.3

  • not public, nothing to see there.
File Type Py Version Uploaded on Size (md5) Source 2012-08-28 143KB