summaryrefslogtreecommitdiff
path: root/eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/update.txt
diff options
context:
space:
mode:
Diffstat (limited to 'eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/update.txt')
-rw-r--r--eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/update.txt263
1 files changed, 0 insertions, 263 deletions
diff --git a/eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/update.txt b/eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/update.txt
deleted file mode 100644
index cab1610..0000000
--- a/eggs/zc.buildout-1.5.2-py2.6.egg/zc/buildout/update.txt
+++ /dev/null
@@ -1,263 +0,0 @@
-Automatic Buildout Updates
-==========================
-
-When a buildout is run, one of the first steps performed is to check
-for updates to either zc.buildout or setuptools. To demonstrate this,
-we've created some "new releases" of buildout and setuptools in a
-new_releases folder:
-
- >>> ls(new_releases)
- d setuptools
- - setuptools-99.99-py2.4.egg
- d zc.buildout
- - zc.buildout-100.0b1-pyN.N.egg
- - zc.buildout-99.99-py2.4.egg
-
-Let's update the sample buildout.cfg to look in this area:
-
- >>> write(sample_buildout, 'buildout.cfg',
- ... """
- ... [buildout]
- ... find-links = %(new_releases)s
- ... index = %(new_releases)s
- ... parts = show-versions
- ... develop = showversions
- ...
- ... [show-versions]
- ... recipe = showversions
- ... """ % dict(new_releases=new_releases))
-
-We'll also include a recipe that echos the versions of setuptools and
-zc.buildout used:
-
- >>> mkdir(sample_buildout, 'showversions')
-
- >>> write(sample_buildout, 'showversions', 'showversions.py',
- ... """
- ... import pkg_resources
- ...
- ... class Recipe:
- ...
- ... def __init__(self, buildout, name, options):
- ... pass
- ...
- ... def install(self):
- ... for project in 'zc.buildout', 'setuptools':
- ... req = pkg_resources.Requirement.parse(project)
- ... print project, pkg_resources.working_set.find(req).version
- ... return ()
- ... update = install
- ... """)
-
-
- >>> write(sample_buildout, 'showversions', 'setup.py',
- ... """
- ... from setuptools import setup
- ...
- ... setup(
- ... name = "showversions",
- ... entry_points = {'zc.buildout': ['default = showversions:Recipe']},
- ... )
- ... """)
-
-
-Now if we run the buildout, the buildout will upgrade itself to the
-new versions found in new releases:
-
- >>> print system(buildout),
- Getting distribution for 'zc.buildout'.
- Got zc.buildout 99.99.
- Getting distribution for 'setuptools'.
- Got setuptools 99.99.
- Upgraded:
- zc.buildout version 99.99,
- setuptools version 99.99;
- restarting.
- Generated script '/sample-buildout/bin/buildout'.
- Develop: '/sample-buildout/showversions'
- Installing show-versions.
- zc.buildout 99.99
- setuptools 99.99
-
-Notice that, even though we have a newer beta version of zc.buildout
-available, the final "99.99" was selected. If you want to get non-final
-versions, specify a specific version in your buildout's versions
-section, you typically want to use the --accept-buildout-test-releases
-option to the bootstrap script, which internally uses the
-``accept-buildout-test-releases = true`` discussed below.
-
-Our buildout script's site.py has been updated to use the new eggs:
-
- >>> cat(sample_buildout, 'parts', 'buildout', 'site.py')
- ... # doctest: +NORMALIZE_WHITESPACE +ELLIPSIS
- "...
- def addsitepackages(known_paths):
- """Add site packages, as determined by zc.buildout.
- <BLANKLINE>
- See original_addsitepackages, below, for the original version."""
- setuptools_path = '/sample-buildout/eggs/setuptools-99.99-pyN.N.egg'
- sys.path.append(setuptools_path)
- known_paths.add(os.path.normcase(setuptools_path))
- import pkg_resources
- buildout_paths = [
- '/sample-buildout/eggs/zc.buildout-99.99-pyN.N.egg',
- '/sample-buildout/eggs/setuptools-99.99-pyN.N.egg'
- ]
- for path in buildout_paths:
- sitedir, sitedircase = makepath(path)
- if not sitedircase in known_paths and os.path.exists(sitedir):
- sys.path.append(sitedir)
- known_paths.add(sitedircase)
- pkg_resources.working_set.add_entry(sitedir)
- sys.__egginsert = len(buildout_paths) # Support setuptools.
- original_paths = [
- ...
- ]
- for path in original_paths:
- if path == setuptools_path or path not in known_paths:
- addsitedir(path, known_paths)
- return known_paths
- ...
-
-Now, let's recreate the sample buildout. If we specify constraints on
-the versions of zc.buildout and setuptools (or distribute) to use,
-running the buildout will install earlier versions of these packages:
-
- >>> write(sample_buildout, 'buildout.cfg',
- ... """
- ... [buildout]
- ... find-links = %(new_releases)s
- ... index = %(new_releases)s
- ... parts = show-versions
- ... develop = showversions
- ... zc.buildout-version = < 99
- ... setuptools-version = < 99
- ... distribute-version = < 99
- ...
- ... [show-versions]
- ... recipe = showversions
- ... """ % dict(new_releases=new_releases))
-
-Now we can see that we actually "upgrade" to an earlier version.
-
- >>> print system(buildout),
- Upgraded:
- zc.buildout version 1.0.0,
- setuptools version 0.6;
- restarting.
- Develop: '/sample-buildout/showversions'
- Updating show-versions.
- zc.buildout 1.0.0
- setuptools 0.6
-
-There are a number of cases, described below, in which the updates
-don't happen.
-
-We won't upgrade in offline mode:
-
- >>> write(sample_buildout, 'buildout.cfg',
- ... """
- ... [buildout]
- ... find-links = %(new_releases)s
- ... index = %(new_releases)s
- ... parts = show-versions
- ... develop = showversions
- ...
- ... [show-versions]
- ... recipe = showversions
- ... """ % dict(new_releases=new_releases))
-
- >>> print system(buildout+' -o'),
- Develop: '/sample-buildout/showversions'
- Updating show-versions.
- zc.buildout 1.0.0
- setuptools 0.6
-
-Or in non-newest mode:
-
- >>> print system(buildout+' -N'),
- Develop: '/sample-buildout/showversions'
- Updating show-versions.
- zc.buildout 1.0.0
- setuptools 0.6
-
-We also won't upgrade if the buildout script being run isn't in the
-buildout's bin directory. To see this we'll create a new buildout
-directory:
-
- >>> sample_buildout2 = tmpdir('sample_buildout2')
- >>> write(sample_buildout2, 'buildout.cfg',
- ... """
- ... [buildout]
- ... find-links = %(new_releases)s
- ... index = %(new_releases)s
- ... parts =
- ... """ % dict(new_releases=new_releases))
-
- >>> cd(sample_buildout2)
- >>> print system(buildout),
- Creating directory '/sample_buildout2/bin'.
- Creating directory '/sample_buildout2/parts'.
- Creating directory '/sample_buildout2/eggs'.
- Creating directory '/sample_buildout2/develop-eggs'.
- Getting distribution for 'zc.buildout'.
- Got zc.buildout 99.99.
- Getting distribution for 'setuptools'.
- Got setuptools 99.99.
- Not upgrading because not running a local buildout command.
-
- >>> ls('bin')
-
-As mentioned above, the ``accept-buildout-test-releases = true`` means that
-newer non-final versions of these dependencies are preferred. Typically
-users are not expected to actually manipulate this value. Instead, the
-bootstrap script creates a buildout buildout script that passes in the
-value as a command line override. This then results in the buildout
-script being rewritten to remember the decision.
-
-We'll mimic this by passing the argument actually in the command line.
-
- >>> cd(sample_buildout)
- >>> write(sample_buildout, 'buildout.cfg',
- ... """
- ... [buildout]
- ... find-links = %(new_releases)s
- ... index = %(new_releases)s
- ... parts = show-versions
- ... develop = showversions
- ...
- ... [show-versions]
- ... recipe = showversions
- ... """ % dict(new_releases=new_releases))
-
- >>> print system(buildout +
- ... ' buildout:accept-buildout-test-releases=true'),
- ... # doctest: +NORMALIZE_WHITESPACE
- Getting distribution for 'zc.buildout'.
- Got zc.buildout 100.0b1.
- Upgraded:
- zc.buildout version 100.0b1,
- setuptools version 99.99;
- restarting.
- Generated script '/sample-buildout/bin/buildout'.
- NOTE: Accepting early releases of build system packages. Rerun bootstrap
- without --accept-buildout-test-releases (-t) to return to default
- behavior.
- Develop: '/sample-buildout/showversions'
- Updating show-versions.
- zc.buildout 100.0b1
- setuptools 99.99
-
-The buildout script shows the change.
-
- >>> buildout_script = join(sample_buildout, 'bin', 'buildout')
- >>> import sys
- >>> if sys.platform.startswith('win'):
- ... buildout_script += '-script.py'
- >>> print open(buildout_script).read() # doctest: +ELLIPSIS
- #...
- sys.argv.insert(1, 'buildout:accept-buildout-test-releases=true')
- print ('NOTE: Accepting early releases of build system packages. Rerun '
- 'bootstrap without --accept-buildout-test-releases (-t) to return to '
- 'default behavior.')
- ...