[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.

[part]
Foo-patch=/patch

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

[part]
eggs=myegg


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
> 

-- 
Cordialement,
KiOrKY
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