[Distutils] environment variables in buildout config files?

Marius Gedminas marius at pov.lt
Thu Jan 8 22:28:41 CET 2009


On Thu, Jan 08, 2009 at 04:12:11PM -0500, Barry Warsaw wrote:
> On Jan 8, 2009, at 1:24 PM, Marius Gedminas wrote:
> > On Mon, Jan 05, 2009 at 03:02:24PM -0500, Barry Warsaw wrote:
> >> I'm also wondering, does it make sense to put develop-eggs and parts
> >> in say ~/.buildout?
> >
> > No, since those are specific to a particular project and shouldn't be
> > shared.
> 
> Ok.
> 
> > (Actually, I don't understand what 'develop-eggs' is for, other than
> > that removing it tends to fix weird problems after switching from a
> > develop-egg to a normal egg.)

After Jim's explanation (thanks!) I don't see a reason why develop-eggs
couldn't also be shared... no, wait, perhaps I see one.

Imagine project A using a develop-egg of a *branch* of zope.frobozz,
while project B uses a develop-egg of the *trunk* of zope.frobozz.  In
that case /path/to/project-A/develop-eggs/zope.frobozz.egg-link will
contain a link to ~/src/zope.frobozz/random-feature-branch, while
/path/to/project-B/develop-eggs/zope.frobozz.egg-link would containt a
link to ~/src/zope.frobozz/trunk.  Same filename, different content --
ergo, develop-eggs cannot be shared between projects.

I have a couple of source trees in my home directory that contain an
actual example of this.

> >> I kind of dislike having artifacts like these live in my version
> >> controlled source directory (well, there's bin  too, but I can kind
> >> of live with that).  What's the best way of doing  that?
> >
> > echo 'bin parts develop-eggs' > .csvignore
> > svn propedit svn:ignore .
> > bzr ignore bin parts develop-eggs
> > or the equivalent for the VCS of your choice.
> 
> Actually, it's not so much 'bzr stat' that I care about since that's  
> easily ignored.

(in which case your wording misled me ;)

> It's 'ls' that I care about since that's tougher to  
> ignore.  I guess I could use dot-prefixes. ;)

Personally, I'm more bothered by the '*.egg-info' directories created by
setuptools.  Also, but to a somewhat lesser extent, the 'build' and 'dist'
ones created by distutils.

'bin' and 'parts' are something I need to deal with rather often.  I've
grown to like bin/$randomscript, and while 'parts/$whatever/$somefile'
is a bit too deep and nested, I appreciate the namespacing and
explicitness ("this is a directory managed by buildout; it may be wiped
out at any moment; don't touch it").  'develop-eggs' is something that
I'm not personally interested in and wouldn't mind hiding with a
dot-prefix, but since I can't do that with 'build' and 'dist', I don't
see much point.  As long as it doesn't interfere with my tab-completion,
I'm fine.

Regards,
Marius Gedminas
-- 
BASIC:
        A programming language.  Related to certain social diseases
        in that those who have it will not admit it in polite company.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20090108/c46534d9/attachment.pgp>


More information about the Distutils-SIG mailing list