Package: minitage.recipe.common
ContentsIntroductionMakina Corpus sponsored softwareOptions shared by all the recipesNotesOptionsOptions incidencesPatchesminitage.recipe API testsCHANGELOG1.90 (2013-06-26)1.89 (2013-06-22)1.88 (2013-06-02)1.87 (2013-04-14)1.86 (2013-03-28)1.85 (2013-03-24)1.84 (2013-02-13)1.83 (2012-09-12)1.82 (2012-08-31)1.81 (2012-03-24)1.80 (2012-01-24)1.79 (2011-11-28)1.78 (2011-03-31)1.421.41-> 1.401.361.35.34-> 1.201.141.131.11 - 1.121.-1.101.81.4->1.71.31.21.11.00.33->0.340.320.290.280.270.260.250.23->0.240.220.210.200.190.180.160.14 -> 0.150.130.120.110.100.90.7 -> 0.80.60.2 -> 0.50.10.0.130.0.110.0.100.0.90.0.80.0.70.0.60.0.30.0.20.0.1Introductionminitage.core.commonis an abstract recipe extendended by much of
minitage.recipe.*That’s why many options of the descendant recipes are from there.Makina Corpus sponsored softwarePlanet Makina CorpusContact usOptions shared by all the recipesNotesAll recipes inherit all these options, depending which you are using, those options will have an incidence on the build.Useless to say that the recipes code is not difficult, and as a deployer, its your job to have a look at the code to avoid surprises.If you are inside a minitage all recipes will look on your minibuild dependencies section to get things into the environment at execution time. Like feeding CFLAGS, pkgconfig, ldflags and so on.All recipes look for a minitage section in your buildout file and take dependencies and eggs as minitage projects to get into the environnment too:...
[minitage]
dependencies = postgresql-8.3
eggs = py-libxslt-1.1Optionsurls
A set of urls to checkout in the formThe last part or the urls will be the name of your checkout dir unless you have precised the name in “destination directory name”If you don’t specify any scm_type, it will be static unless you specify it in options (see scm)If you don’t specify any revision, it will be not set unless you specify it in options (see scm_revision)The form is a New line separated list of urls to fetcha in the following form (the | is part of the line ;)):url to checkout | fetch_type | revision | destination directory name | fetcher_argsHere are valid inputssvn://toto | svn | 666 | mydirectoryname | --ignore-externals
svn://toto | svn | 666 | mydirectoryname
svn://toto | svn | 666
svn://toto | svn | | | --ignore-externals
svn://toto | svn
file://toto
http://tata/toto.tgzWhere:fetch_type ::= bzr | hg | git | static (for ftp://, file://, http:// and local files) | svnUNAME is a platform identifier from:linuxdarwinfreebsdfreebsd(6,7,8)snowleopardleopardcygwinexecutablepython executable to useurl(-UNAME) (backward cmpatibility)url to get the source from, in the previous urls syntaxscmdefault scm to use (a valid minitage fetch factory to use (static, git, svn, bzr, hg).)
defaults to static.scm_revisiondefault revision to checkout if scm is not staticmd5summd5sum of the checkouted source [see cmmi recipe for documentation]patch-binarypath to the patch programpatch-optionsoptions to feed the patch program with [see cmmi recipe for documentation]patchespatches to apply [see cmmi recipe for documentation]patchA patch to apply, compatibility with zc.recipe.cmmipatches-UNAME / UNAME-patchespatches to apply to a system or a favor of this system (linux, darwin, freebsd, freebsd, freebsd(6,7,8), snowleopard, leopard, cygwin)locationwhere to put the build result. (default to parts/PART_NAME)cc(-UNAME)CC compiler to use (set env[‘CC’], default not setcpp(-UNAME)CPP compiler to use (set env[‘CPP’], default not setcplusplus(-UNAME)c++ compiler to use (set env[‘C++’], default not setincludes(-UNAME)directories to add to the include search (compatibility)ldflags(-UNAME)LDFLAGS to set at compilation timecflags(-UNAME)CFLAGS to give to the compilerincludes-dirs(-UNAME)Directories to add to the include paths  [see cmmi recipe for documentation]libraries(-UNAME)libraries to give to the linker eg: libiconvlibrary-dirs(-UNAME)Directories to add to the linker, and they will be added as -rpath too. [see cmmi recipe for documentation]rpath(-UNAME)Directories to add as -rpath.skip-flags: do not set CFLAGS/LDFLAGS/LD_RUN_PATH at all.environment(-UNAME)a part name where we can get key/values to add to the build environment [see cmmi recipe for documentation]path(-UNAME)line separated list of paths to append to $PATH during buildpkgconfigpath(-UNAME)line separated list of paths to append to $PKGCONFIGPATH during build [see cmmi recipe for documentation]pythonpath(-UNAME)line separated list of paths to append to $PYTHONPATH during buildosx-target: -mmacosx-version-min setting, wanting users will know what that means ;)minitage put -mmacosx-version-min in the env. if you dont set this to ‘false’
default value on leopard is 10.5.0 and on snowleopard 10.6.0force-osx-targetforce MACOSX_DEPLOYMENT_TARGET to value or default if ‘true’ (snowleopard (10.5) /leopard(10.6))Options incidencesminitage.recipe:cmmiexecutable is not taken in account.minitage.recipe:fetchonly the download related options are used.minitage.recipe:eggs,minitage.recipe:wsgi,minitage.recipe:scripts,minitage.recipe:printerthe configure-, and make-, and extra_options are not usedPatchesThey can be either a file or an url.You have means to specify options to the patch program, like -pXXX, abuses of it.minitage.recipe API testsThe divide url functionIf 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', '')CHANGELOG1.90 (2013-06-26)export back to buildout executable option1.89 (2013-06-22)osx targets fixes, handle default new mountainlion PATH mods1.88 (2013-06-02)specific uname envs1.87 (2013-04-14)better download handling1.86 (2013-03-28)better cache filename guessing, again1.85 (2013-03-24)better cache filename guessing1.84 (2013-02-13)buildout2 compat1.83 (2012-09-12)force no upgrade on minitage itself1.82 (2012-08-31)syntax error bugfix1.81 (2012-03-24)Add part/site-packages-pyver to pythonpath1.80 (2012-01-24)darwin fix for LDFLAGS1.79 (2011-11-28)add lion to macosx flavors1.78 (2011-03-31)python 2.4 retrocompatibities fixesadd os subrelease mecanism (cygwin2)snowleopard bugfix (match kernel version startswith 10)add an helper to write env filesfix for mercurial checkoutsadd many per/os optionswin32 fixAPI fixindentation fixmake things shut upadd patch flavors for darwin, now you have:darwin : all macsleopard, snowleopard for a specific oneAdd extra-paths to PYTHONPATH while setting PYTHONPATHAdd  part/site-pakckages-VER in PYTHONPATH if exists1.42API compatibility for cmmi1.41splitting cmmi stuff-> 1.40remove deprecationwarning1.36re namespacing1.35split all recipes into singles ones..34all:fix rst docaddldflagsandldflagsoptionsminitage.recipe.cmmi:install-in-placeoption added and pivot on make install slightly
modifiedskip-flagsoption addedprefixoption addedminitage.recipe.fetch:unpackoption addedmd5sum un revision for static fetcher check addedminitage.recipe.printer:remove fake eggs and develop eggs from fixed versions.-> 1.20Minitage.recipe.egg:better errors handlingIn 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 requirementIn 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-patchesFix some double spaces left in compilation flags which broke some exotic
system builders.1.14add enrionment file generation to the scripts recipe1.13cmmi buggy update methods1.11 - 1.12rescan 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..*script1.-1.10bugfix with cache and static distributions.1.8make patches go in a personnal directory with some md5 mecanism to redownload them.1.4->1.7x64 fixesbugfix in static distribution install when you have patches to apply.1.3release uncomitted unittests updates1.2make it compatible with zc.buildout 1.01.1md5 bug1.0first stable release.All recipe are documented and well tested.buildout.minitagificator is completed.stabilized and synced with other minitage componentsminitage.recipe:eggs has been drasticly improved in term of algorythms and speed.0.33->0.34Fix python executable computation0.32Documentation and tests release0.29Fix bug in recipes initialization because of buildout auto-ordering0.28Add another hook to the cmmi recipe: post-download0.27Fix 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.26Introduce the minitage.recipe:wsgi recipe wich wraps a paste wsgi application
in a script eatable by mod_wsgi0.25stop lowering project_name0.23->0.24Fix small bugs in printer0.22Introduce a new recipe : minitage.recipe:printer which prints/dumps to a
file all versions eggs needed to achieve requirements.0.21Fix bug in compilation  directory guessing0.20Fix bug in distribution reloadingBetter handling of pkg_resources’s working set0.19add a post build hook0.18Change installation order0.16Fix index and find links options0.14 -> 0.15logging output improvednewest mode handling0.13fix static dist install0.12bugfix for zipped eggs0.11import bugfix for minitagificator0.10Change some logging optionsfollow allow host option from buildout for eggs installation0.9Do not rely anymore on zc.buildout ez for script generation0.7 -> 0.8egg and scripts recipes were rewritten a lot to adapt their api to
zc.recipe.eggCommon to all recipes: all arguements are now identicak to zc.recipe.cmmi
or zc.recipe.eggDependencies resolver has been improved a lotFor static distribution, you can know speicify multiple urls with ‘urls’0.6fix bug in path generation in minitage.recipe:scripts0.2 -> 0.5add make-options for make option in minitage.recipe.cmmimultiple bugfixesmake things append in subprocess for environment conversationadd initiaiization code for generated python interpreter in
minitage.recipe:scripts0.1add fetch recipe0.0.13fix zip safe flag0.0.11Include eggs dependencies by defaultModulate the script recipe to append in the PYTHONPATH all egg dependencies
found into the local eggs cache.0.0.10Add pyc regeneration feature stolen from zc.buildout0.0.9minor fix for run without minitagefix for long path/compilation flags0.0.8minor fix for scm check outs0.0.7add C compiler cflags/ldflags/makeopts customistation options0.0.6Change 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.3fix scm choice when there are eggs and url in the same part0.0.2bugfix versionfix linking problem0.0.1Initial version