[Distutils] Location of generated buildout script

Jim Fulton jim at zope.com
Sun Jan 6 16:53:11 CET 2013


On Fri, Jan 4, 2013 at 9:44 AM, Lele Gaifax <lele at metapensiero.it> wrote:
> Jim Fulton <jim at zope.com> writes:
>
>> Please try it and let me know if you have any problems. If I don't
>> hear anything, I'll release 1.7.0 final in a week or so.
>
> I tried upgrading one of my projects to 1.7.0b2 (from 1.6.0), and
> something has changed wrt the location where the buildout script is
> written.
>
> I usually keep all buildout related stuff, including its configuration
> files, in a ``buildout`` subdirectory of the project's top level, such
> as::
>
>     .
>     ├── bin/
>     ├── buildout/
>     │   ├── buildout.cfg
>     │   ├── versions.cfg
>     │   └── ...
>     ├── src/
>     │   └── ...
>
> The top level ``Makefile`` takes care of bootstrapping and executing the
> buildout, with something like the following targets:
>
>     export TOPDIR := $(CURDIR)
>     BINDIR := $(TOPDIR)/bin
>
>     .PHONY: all
>     all: buildout
>
>     BUILDOUT := $(BINDIR)/buildout
>     BODIR := $(TOPDIR)/buildout
>     BOCFGS := $(wildcard $(BODIR)/*.cfg)
>     BOTSTAMP := $(BODIR)/timestamp
>     BOMAIN := $(BODIR)/buildout.cfg
>     BOCACHE := $(HOME)/.buildout/dlcache
>     BOPARTS := $(BODIR)/parts
>     BOSTATUS := $(BODIR)/status
>     BOFLAGS := -c $(BOMAIN) \
>                buildout:directory=$(TOPDIR) \
>                buildout:parts-directory=$(BOPARTS) \
>                buildout:download-cache=$(BOCACHE) \
>                buildout:installed=$(BOSTATUS)
>
>     .PHONY: buildout
>     buildout: $(BUILDOUT) $(BOTSTAMP)
>
>     $(BUILDOUT): bootstrap.py
>             mkdir -p $(BOCACHE)
>             python bootstrap.py -t $(BOFLAGS)
>
>     $(BOTSTAMP): $(BOCFGS)
>             $(BUILDOUT) $(BOFLAGS)
>             @touch $(BOTSTAMP)
>
>     clean:
>             rm -f $(BOTSTAMP)
>
>     realclean: clean
>             rm -f $(BOSTATUS)
>
>     distclean: realclean
>             rm -rf $(BOPARTS) $(BINDIR) develop-eggs

You know, one of the reasons I wrote buildout was so I
wouldn't have to look at Makefiles.

> Up to buildout version 1.6.0 this used to create a ``bin/buildout``
> script under the top level directory (the ``buildout:directory`` option
> is pointing to that directory).
>
> This is not the case anymore: I tried with both 1.7.0b2 and with
> 2.0.0a5, and the ``buildout`` script is created inconditionally *below*
> the ``buildout`` directory, that is ``buildout/bin/buildout``.
>
> It seems a regression to me, but maybe I missing some other option that
> controls the location...

I've uploaded a new buildout 1 bootstrap script:

  http://downloads.buildout.org/1/bootstrap.py

It should fix the problem you're having with buildout 1.7.

I'll release a new buildout 2 bootstrap script when I release
buildout 2.0.0a6.

Jim

-- 
Jim Fulton
http://www.linkedin.com/in/jimfulton
Jerky is better than bacon! http://zo.pe/Kqm


More information about the Distutils-SIG mailing list