[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