[Distutils] zc.buildout usage in the real world

kiorky kiorky at cryptelium.net
Fri Nov 27 09:34:53 CET 2009

Chris Withers a écrit :
> kiorky wrote:
>>>> ${buildout:directory}/patches/debug_toolbar_sqlpanel.diff
>>> This kind of patching makes me nervous...
>> why ? patches are a common way to 'patch' code.
> Maybe 10 years ago. With a DVCS, or even a non-d VCS for that matter,
> why would you need to apply patches like this, which would need to be
> re-done with every release of the software you're patching, when you can
> let the (D)VCS do the hard work and cut your own sdist that has any
> patching done already the way you want it?

Just let everybody do what he want like he want.
I prefer to use forks, but sometime, it is just too much for a single patch.
More over if the patch is already distributed as-is an i just need to use it
without modifications.


is quickier that

SCM clone /
sed "s/version/specialversion/g" -i setup.py
patch < patch
SCM ci -m azer
SCM push /somewhere
python setup.py sdist
upload /somewhere

verify the url
make it indexed somehow


And making special dists everywhere make deployments tedious and add to you the
job to keep your house clean and to know what is where. With a lot of packages,
it is not that simple as integrating a single patch applied to a buildout which
will generate under the hood an egg with a special name which will be never used
even if you drop it in a shared cache unless you use the same patch in another
project (minitage.recipe generates an egg with a special version, when you
decide to install it with a patch, that s allow to use both the official egg and
patched eggs in the same sharedcache).

>>> ...but then minitage as a whole makes me nervous, I just don't trust it,
>>> but I'm afraid I couldn't tell you why. Gut feeling...
>> Do not spread your personal fud, Chris. Moreover without arguments.
> *shrugs* Everyone's entitled to their own opinion...

The fact that you are not knowing or understanding  what minitage is or what it
does or allow is not a reason to say something may not be a good choice to think on.

More over minitage "are":
	- paster templates (minitage.paste.*)
	- collection of recipes which also integrate system dependencies (making CFLAGS
and LDFLAGS pointing to your dependencies, for example.) (minitage.recipe.*).
	- a meta-package-manager with goal to isolate dependencies and projects from
the system and install them in a well know layout (minitage.core).

And there is http://minitage.org  + Pypi pages as a documentation.

> Chris

GPG Key FingerPrint: 0x1A1194B7681112AF

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20091127/087d748b/attachment-0001.pgp>

More information about the Distutils-SIG mailing list