Phillip J. Eby wrote:
At 06:01 PM 7/3/2005 -0500, Ian Bicking wrote:
Hi; trying to get back into this again...
So, there's a package at http://svn.saddi.com/flup/trunk/ that I want to install, but it has no setup.py file. I think that file should look something like:
from setuptools import setup setup(name="flup", packages=['flup', 'flup.middleware', 'flup.resolver', 'flup.server'] version='0.0-devel-r???')
And I'd probably add other things, but I think that's all that's required. So... how should I make this happen? Should I hardcode 'http://svn.saddi.com/flup/trunk' into the setup.py file? Can I make the location overrideable with an option? How do I download the checkout?
Why don't you just use a subversion "external" to include the package in your own as a subdirectory? Then use the package_dir setting in setup to refer to the subdirectory.
I'd never looked at those before; that seems to be just right for this. In other cases I might just download the file(s) on my own (e.g., archives online, etc.).
You then publish your wrapping package as a subversion URL. This won't work for auto-discovery from PyPI unless your URL ends with Flup.egg or something like that, but you can always give it to EasyInstall as a URL, or build eggs and publish those.
Yes. Hmm... I suppose I could create something that redirected from a detectable URL to the actual URL. That's kind of hacky though. Only being able to list actual eggs decreases the utility of a custom index. Could it also look at title attributes or something? It would be neat if you could download a working development copy with easy_install too. I'd like to encourage, or at least assist, people who want to interact with the code itself; and if you use a checkout you can at least use things like svn diff, even if you can't necessarily commit.
Should I calculate r??? on my own, and if so where? Right before I call setup()? I need the repository location to do so, so if the repository location was overrideable then I'd need to get the real location.
Note that bdist_egg has an option to pull this for you, although currently it uses the setup.py directory so that doesn't actually help in this case.
Cool... though yes, it wouldn't work quite right here.
Once the files are checkout out, how do I put it in place? Is there a way to set the "base path" for the packages, so I could say "install these packages, found in /tmp/wherever-it-was-downloaded-to"?
I don't understand.
Nevermind that, I think externals will work for me. -- Ian Bicking / ianb@colorstudy.com / http://blog.ianbicking.org