On 1/28/2010 2:57 PM, Jonathan Ballet wrote:
Hello,
Le Thu, 28 Jan 2010 11:32:33 -0800, Sridhar Ratnakumar
<[email protected]> a écrit :
> The above buildout.cfg does none of the above. How do I make it work as
> intended?
For this particular usage, I would either:
* Clone the repository by myself, and develop it using Buildout's develop
option. This can be summarized like that::
$ hg clonehttp://bitbucket.org/srid/pyrtm pyrtm-repository
$ cat buildout.cfg
[buildout]
develop = pyrtm-repository
parts = part-that-need-pyrtm
[part-that-need-pyrtm]
recipe = zc.recipe.egg
eggs = pyrtm
Yes, this works (but not 100% flawlessly with mercurialrecipe).
* Use mr.developer [1] to automate this. I didn't find it very useful, though,
but this is closer to what you like to do using mercurialrecipe, despite
mr.developer looks more active and I know several developers which are using
it. It also has a comprehensive documentation, which mercurialrecipe doesn't
have!
This too works. mr.developer 1.9 is buggy and I had to pin version 1.7.
But I prefer the first option which sounds simpler to me.
Speaking for myself, I'm using the first option several times a day. The
"schemes" extension, which is part of Mercurial> 1.4.1, is a bless: I created
a shortcut which points to our internal repository, and so, I don't have to
enter the full URL (scheme + domain name + directories) of the component, only
"sact://foo.bar" ("sact://" is my custom scheme).
But doesn't manually cloning your dependent repositories beat the idea
of build automation?
> Note that `pyrtm' actually does not have any dependencies and I used it
> as an example only (In actuality, I want to rely on an internal package
> that has several installation requirements).
>
> Lennart originally suggested the "develop =" syntax which, as shown
> above, does not work. Any ideas?
I don't know how mercurialrecipe works, so I can't help you on this. Maybe the
output of Buildout may help us? (also, have a look at the output using multiple
-v and buildout:log-level=debug option)
mercurialreciple only does "hg clone". It does not automatically make it
a develop egg. When I tried your first option with mercurialrecipe, I
had to run bin/buildout twice to make it work as I expected:
1/ First run of bin/buildout: will use `pyrtm' egg from PyPI and will
for the first time, do a checkout of `pyrtm' from bitbucket to
pyrtm-repository
2/ Second run of bin/buildout: will use the local `pyrtm' checkout.
So one must remember to run bin/buildout twice, which is less than ideal
.. especially if someone forgets to do so, thus ending up with the PyPI
egg of pyrtm.
-srid
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig