bzr-packagers team mailing list archive
-
bzr-packagers team
-
Mailing list archive
-
Message #00030
Understanding buildout - help please!
Hi Sidnei and other buildout gurus,
I want to love buildout - I really do - but I'm struggling to find much
affection for it right now. :-( My primary issue is that I don't fully
understand how it works and, despite reasonably good documentation, I'm
not sure where to look.
Here's the problem. buildout generates a build directory with the
various parts in it based on what's in a config file, e.g.:
build-win32/
bzr/
bzr-2.2/
bzrtools/
bzr-2.2/
bzr-foo/
bzr-2.2/
So far, so good. If I change the config file though so that bzr-foo is
no longer included in a particular build, then buildout insists on
trying to uninstall it. This nearly always fails, breaking the installer
build altogether. Likewise, if I have bzr-2.1 directories created under
each part (from a 2.1 installer build run), then it wants to uninstall
those directories as well when I build 2.2. Again, the installer build
falls over on something that has nothing to do with building a 2.2
installer. :-(
Why does it do this? Why can't it just leave stuff it doesn't need for a
particular build there? There's a magic .installed.cfg file inside the
build-win32 directory. Is it safe to delete that so that buildout loses
its knowledge of what's already there?
I've attached the buildout cfg files I'm using if they are any help. Is
the problem in how I'm using buildout or in how I'm using the bzr
recipe? In our case, we're using buildout as a tool for collecting
pieces rather than as a tool for reproducing a disk image. Maybe it's
just not designed for that?
Ian C.
[buildout]
newest = false
versions = versions
develop =
[versions]
zc.buildout = 1.2.1
setuptools = 0.6c11
z3c.recipe.filetemplate = 2.0.3
gf.recipe.bzr = 1.0rc8
hexagonit.recipe.download = 1.2.2
# Copyright (C) 2010 by Canonical Ltd
[buildout]
extends = buildout.cfg
parts =
svn-lib
svn-dev
svn-db4
svn-libintl
zlib
tortoise-overlays-win32
tortoise-overlays-x64
bzr-chm-en
bzr-chm-developers
bzr-chm-es
bzr-chm-ja
bzr-chm-ru
bzr
subvertpy
tortoisebzr
bzrtools
bzr-colo
bzr-explorer
bzr-fastimport
bzr-loom
bzr-rewrite
bzr-svn
bzr-upload
bzr-xmloutput
qbzr
[settings]
download-ignore-existing = true
download-chm-ignore-existing = true
[svn-lib]
recipe = hexagonit.recipe.download
url = http://subversion.tigris.org/files/documents/15/46880/svn-win32-1.6.6.zip
destination = svn
strip-top-level-dir = true
ignore-existing = ${settings:download-ignore-existing}
[svn-dev]
recipe = hexagonit.recipe.download
url = http://subversion.tigris.org/files/documents/15/46887/svn-win32-1.6.6_dev.zip
destination = svn
ignore-existing = true
strip-top-level-dir = true
[svn-db4]
recipe = hexagonit.recipe.download
url = http://subversion.tigris.org/files/documents/15/32472/db-4.4.20-win32.zip
destination = db4
strip-top-level-dir = true
ignore-existing = ${settings:download-ignore-existing}
[svn-libintl]
recipe = hexagonit.recipe.download
url = http://subversion.tigris.org/files/documents/15/20739/svn-win32-libintl.zip
destination = libintl
strip-top-level-dir = true
ignore-existing = ${settings:download-ignore-existing}
[zlib]
recipe = hexagonit.recipe.download
url = http://zlib.net/zlib124-dll.zip
destination = zlib
strip-top-level-dir = true
ignore-existing = ${settings:download-ignore-existing}
[tortoise-overlays-win32]
recipe = hexagonit.recipe.download
url = http://tortoisesvn.googlecode.com/svn/TortoiseOverlays/version-1.1.1/bin/TortoiseOverlays-1.1.1.19039-win32.msi
destination = tortoise-overlays
download-only = true
ignore-existing = ${settings:download-ignore-existing}
[tortoise-overlays-x64]
recipe = hexagonit.recipe.download
url = http://tortoisesvn.googlecode.com/svn/TortoiseOverlays/version-1.1.1/bin/TortoiseOverlays-1.1.1.19039-x64.msi
destination = tortoise-overlays
download-only = true
ignore-existing = ${settings:download-ignore-existing}
[bzr-chm-en]
recipe = hexagonit.recipe.download
url = http://doc.bazaar.canonical.com/bzr.dev/downloads/bzr-en.chm
ignore-existing = ${settings:download-chm-ignore-existing}
destination = chm-files
download-only = true
[bzr-chm-developers]
recipe = hexagonit.recipe.download
url = http://doc.bazaar.canonical.com/bzr.dev/downloads/bzr-developers.chm
ignore-existing = ${settings:download-chm-ignore-existing}
destination = chm-files
download-only = true
[bzr-chm-es]
recipe = hexagonit.recipe.download
url = http://doc.bazaar.canonical.com/bzr.dev/downloads/bzr-es.chm
ignore-existing = ${settings:download-chm-ignore-existing}
destination = chm-files
download-only = true
[bzr-chm-ja]
recipe = hexagonit.recipe.download
url = http://doc.bazaar.canonical.com/bzr.dev/downloads/bzr-ja.chm
ignore-existing = ${settings:download-chm-ignore-existing}
destination = chm-files
download-only = true
[bzr-chm-ru]
recipe = hexagonit.recipe.download
url = http://doc.bazaar.canonical.com/bzr.dev/downloads/bzr-ru.chm
ignore-existing = ${settings:download-chm-ignore-existing}
destination = chm-files
download-only = true
[bzr]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:bzr bzr-2.2
develop = false
[subvertpy]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:subvertpy bzr-2.2
develop = false
[tortoisebzr]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:tortoisebzr bzr-2.2
develop = false
[bzrtools]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:bzrtools bzr-2.2
develop = false
[bzr-colo]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:bzr-colo bzr-2.2
develop = false
[bzr-explorer]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:bzr-explorer bzr-2.2
develop = false
[bzr-fastimport]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:bzr-fastimport bzr-2.2
develop = false
[bzr-loom]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:bzr-loom bzr-2.2
develop = false
[bzr-rewrite]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:bzr-rewrite bzr-2.2
develop = false
[bzr-svn]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:bzr-svn bzr-2.2
develop = false
[bzr-upload]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:bzr-upload bzr-2.2
develop = false
[bzr-xmloutput]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:bzr-xmloutput bzr-2.2
develop = false
[qbzr]
recipe = gf.recipe.bzr:strict
shared-repo = false
format = 2a
urls = lp:qbzr bzr-2.2
develop = false
Follow ups