Alex Rades wrote:
The approach I've used so far has been setting up a private
pypi-compatible repository, and recreate packages which fit my needs.
But it really feels like killing an ant with a sledgehammer. I don't
understand if there is a better way to:
- Patch packages before installing
- Fetch packages via git/svn/hg or via direct http link
What I do is check out the offending package, tweak the version in their
setup.py to include the identifier of the revision I checked out, then
do "python setup.py sdist" and put that sdist into my "egg server".
If I needed to apply patches that the packager won't accept (hasn't
happened yet!), I'd do an export of the upstream package into my source
control system, apply the patches and then do the process I've already
described.
My "egg server" is just an authentication-required folder on an https
web server, I use lovely.buildouthttp and a find-links to make this work.
This is actually even quicker and simpler than it looks.
[complex-deps]
interpreter = python
recipe = minitage.recipe.scripts
urls =
http://media.djangoproject.com/releases/1.1.1/Django-1.1.1.tar.gz
http://github.com/robhudson/django-debug-toolbar/commit/f36b72655349cf3b8e9105bed3be5cd065162476
Django-1.1.1-patches = ${buildout:directory}/patches/django-admin-fixes.diff
debug_toolbar-patches =
${buildout:directory}/patches/debug_toolbar_sqlpanel.diff
This kind of patching makes me nervous...
Which is very very handy, it handles all my use case in a compact and
nice way. The minitage.recipe.scripts is nice but is not widely used,
...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...
Chris
--
Simplistix - Content Management, Batch Processing & Python Consulting
- http://www.simplistix.co.uk
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig