diff options
Diffstat (limited to 'eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc')
16 files changed, 0 insertions, 2089 deletions
diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/__init__.py b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/__init__.py deleted file mode 100644 index de40ea7..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__import__('pkg_resources').declare_namespace(__name__) diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/__init__.pyo b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/__init__.pyo Binary files differdeleted file mode 100644 index 26cf973..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/__init__.pyo +++ /dev/null diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/__init__.py b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/__init__.py deleted file mode 100644 index de40ea7..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__import__('pkg_resources').declare_namespace(__name__) diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/__init__.pyo b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/__init__.pyo Binary files differdeleted file mode 100644 index b3c3c15..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/__init__.pyo +++ /dev/null diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/README.txt b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/README.txt deleted file mode 100644 index 1a43f9e..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/README.txt +++ /dev/null @@ -1,645 +0,0 @@ -Installation of distributions as eggs -===================================== - -The zc.recipe.egg:eggs recipe can be used to install various types if -distutils distributions as eggs. It takes a number of options: - -eggs - A list of eggs to install given as one or more setuptools - requirement strings. Each string must be given on a separate - line. - -find-links - A list of URLs, files, or directories to search for distributions. - -index - The URL of an index server, or almost any other valid URL. :) - - If not specified, the Python Package Index, - http://cheeseshop.python.org/pypi, is used. You can specify an - alternate index with this option. If you use the links option and - if the links point to the needed distributions, then the index can - be anything and will be largely ignored. In the examples, here, - we'll just point to an empty directory on our link server. This - will make our examples run a little bit faster. - -python - The name of a section to get the Python executable from. - If not specified, then the buildout python option is used. The - Python executable is found in the executable option of the named - section. - -We have a link server that has a number of distributions: - - >>> print get(link_server), - <html><body> - <a href="bigdemo-0.1-py2.3.egg">bigdemo-0.1-py2.3.egg</a><br> - <a href="demo-0.1-py2.3.egg">demo-0.1-py2.3.egg</a><br> - <a href="demo-0.2-py2.3.egg">demo-0.2-py2.3.egg</a><br> - <a href="demo-0.3-py2.3.egg">demo-0.3-py2.3.egg</a><br> - <a href="demo-0.4c1-py2.3.egg">demo-0.4c1-py2.3.egg</a><br> - <a href="demoneeded-1.0.zip">demoneeded-1.0.zip</a><br> - <a href="demoneeded-1.1.zip">demoneeded-1.1.zip</a><br> - <a href="demoneeded-1.2c1.zip">demoneeded-1.2c1.zip</a><br> - <a href="extdemo-1.4.zip">extdemo-1.4.zip</a><br> - <a href="index/">index/</a><br> - <a href="other-1.0-py2.3.egg">other-1.0-py2.3.egg</a><br> - </body></html> - -We have a sample buildout. Let's update its configuration file to -install the demo package. - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... - ... [demo] - ... recipe = zc.recipe.egg:eggs - ... eggs = demo<0.3 - ... find-links = %(server)s - ... index = %(server)s/index - ... """ % dict(server=link_server)) - -In this example, we limited ourselves to revisions before 0.3. We also -specified where to find distributions using the find-links option. - -Let's run the buildout: - - >>> import os - >>> print system(buildout), - Installing demo. - Getting distribution for 'demo<0.3'. - Got demo 0.2. - Getting distribution for 'demoneeded'. - Got demoneeded 1.2c1. - -Now, if we look at the buildout eggs directory: - - >>> ls(sample_buildout, 'eggs') - - demo-0.2-py2.3.egg - - demoneeded-1.2c1-py2.3.egg - - setuptools-0.6-py2.3.egg - - zc.buildout-1.0-py2.3.egg - -We see that we got an egg for demo that met the requirement, as well -as the egg for demoneeded, which demo requires. (We also see an egg -link for the recipe in the develop-eggs directory. This egg link was -actually created as part of the sample buildout setup. Normally, when -using the recipe, you'll get a regular egg installation.) - -Script generation ------------------ - -The demo egg defined a script, but we didn't get one installed: - - >>> ls(sample_buildout, 'bin') - - buildout - -If we want scripts provided by eggs to be installed, we should use the -scripts recipe: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... - ... [demo] - ... recipe = zc.recipe.egg:scripts - ... eggs = demo<0.3 - ... find-links = %(server)s - ... index = %(server)s/index - ... """ % dict(server=link_server)) - - >>> print system(buildout), - Uninstalling demo. - Installing demo. - Generated script '/sample-buildout/bin/demo'. - -Now we also see the script defined by the demo script: - - >>> ls(sample_buildout, 'bin') - - buildout - - demo - -The scripts recipe defines some additional options: - -entry-points - A list of entry-point identifiers of the form: - - name=module:attrs - - where name is a script name, module is a dotted name resolving to a - module name, and attrs is a dotted name resolving to a callable - object within a module. - - This option is useful when working with distributions that don't - declare entry points, such as distributions not written to work - with setuptools. - - Examples can be seen in the section "Specifying entry points" below. - -scripts - Control which scripts are generated. The value should be a list of - zero or more tokens. Each token is either a name, or a name - followed by an '=' and a new name. Only the named scripts are - generated. If no tokens are given, then script generation is - disabled. If the option isn't given at all, then all scripts - defined by the named eggs will be generated. - -dependent-scripts - If set to the string "true", scripts will be generated for all - required eggs in addition to the eggs specifically named. - -interpreter - The name of a script to generate that allows access to a Python - interpreter that has the path set based on the eggs installed. - (See the ``z3c.recipe.scripts`` recipe for a more full-featured - interpreter.) - -extra-paths - Extra paths to include in a generated script. - -initialization - Specify some Python initialization code. This is very limited. In - particular, be aware that leading whitespace is stripped from the - code given. - -arguments - Specify some arguments to be passed to entry points as Python source. - -relative-paths - If set to true, then egg paths will be generated relative to the - script path. This allows a buildout to be moved without breaking - egg paths. This option can be set in either the script section or - in the buildout section. - -Let's add an interpreter option: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... - ... [demo] - ... recipe = zc.recipe.egg - ... eggs = demo<0.3 - ... find-links = %(server)s - ... index = %(server)s/index - ... interpreter = py-demo - ... """ % dict(server=link_server)) - -Note that we omitted the entry point name from the recipe -specification. We were able to do this because the scripts recipe is -the default entry point for the zc.recipe.egg egg. - - >>> print system(buildout), - Uninstalling demo. - Installing demo. - Generated script '/sample-buildout/bin/demo'. - Generated interpreter '/sample-buildout/bin/py-demo'. - -Now we also get a py-demo script for giving us a Python prompt with -the path for demo and any eggs it depends on included in sys.path. -This is useful for debugging and testing. - - >>> ls(sample_buildout, 'bin') - - buildout - - demo - - py-demo - -If we run the demo script, it prints out some minimal data: - - >>> print system(join(sample_buildout, 'bin', 'demo')), - 2 2 - -The value it prints out happens to be some values defined in the -modules installed. - -We can also run the py-demo script. Here we'll just print out -the bits if the path added to reflect the eggs: - - >>> print system(join(sample_buildout, 'bin', 'py-demo'), - ... """import os, sys - ... for p in sys.path: - ... if 'demo' in p: - ... print os.path.basename(p) - ... - ... """).replace('>>> ', '').replace('... ', ''), - ... # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE - demo-0.2-py2.4.egg - demoneeded-1.2c1-py2.4.egg - -Egg updating ------------- - -The recipe normally gets the most recent distribution that satisfies the -specification. It won't do this is the buildout is either in -non-newest mode or in offline mode. To see how this works, we'll -remove the restriction on demo: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... - ... [demo] - ... recipe = zc.recipe.egg - ... find-links = %(server)s - ... index = %(server)s/index - ... """ % dict(server=link_server)) - -and run the buildout in non-newest mode: - - >>> print system(buildout+' -N'), - Uninstalling demo. - Installing demo. - Generated script '/sample-buildout/bin/demo'. - -Note that we removed the eggs option, and the eggs defaulted to the -part name. Because we removed the eggs option, the demo was -reinstalled. - -We'll also run the buildout in off-line mode: - - >>> print system(buildout+' -o'), - Updating demo. - -We didn't get an update for demo: - - >>> ls(sample_buildout, 'eggs') - - demo-0.2-py2.3.egg - - demoneeded-1.2c1-py2.3.egg - - setuptools-0.6-py2.3.egg - - zc.buildout-1.0-py2.3.egg - -If we run the buildout on the default online and newest modes, -we'll get an update for demo: - - >>> print system(buildout), - Updating demo. - Getting distribution for 'demo'. - Got demo 0.4c1. - Generated script '/sample-buildout/bin/demo'. - -Then we'll get a new demo egg: - - >>> ls(sample_buildout, 'eggs') - - demo-0.2-py2.3.egg - - demo-0.4c1-py2.3.egg - - demoneeded-1.2c1-py2.3.egg - - setuptools-0.6-py2.4.egg - - zc.buildout-1.0-py2.4.egg - -The script is updated too: - - >>> print system(join(sample_buildout, 'bin', 'demo')), - 4 2 - -Controlling script generation ------------------------------ - -You can control which scripts get generated using the scripts option. -For example, to suppress scripts, use the scripts option without any -arguments: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... - ... [demo] - ... recipe = zc.recipe.egg - ... find-links = %(server)s - ... index = %(server)s/index - ... scripts = - ... """ % dict(server=link_server)) - - - >>> print system(buildout), - Uninstalling demo. - Installing demo. - - >>> ls(sample_buildout, 'bin') - - buildout - -You can also control the name used for scripts: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... - ... [demo] - ... recipe = zc.recipe.egg - ... find-links = %(server)s - ... index = %(server)s/index - ... scripts = demo=foo - ... """ % dict(server=link_server)) - - >>> print system(buildout), - Uninstalling demo. - Installing demo. - Generated script '/sample-buildout/bin/foo'. - - >>> ls(sample_buildout, 'bin') - - buildout - - foo - -Specifying extra script paths ------------------------------ - -If we need to include extra paths in a script, we can use the -extra-paths option: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... - ... [demo] - ... recipe = zc.recipe.egg - ... find-links = %(server)s - ... index = %(server)s/index - ... scripts = demo=foo - ... extra-paths = - ... /foo/bar - ... ${buildout:directory}/spam - ... """ % dict(server=link_server)) - - >>> print system(buildout), - Uninstalling demo. - Installing demo. - Generated script '/sample-buildout/bin/foo'. - -Let's look at the script that was generated: - - >>> cat(sample_buildout, 'bin', 'foo') # doctest: +NORMALIZE_WHITESPACE - #!/usr/local/bin/python2.4 - <BLANKLINE> - import sys - sys.path[0:0] = [ - '/sample-buildout/eggs/demo-0.4c1-py2.4.egg', - '/sample-buildout/eggs/demoneeded-1.2c1-py2.4.egg', - '/foo/bar', - '/sample-buildout/spam', - ] - <BLANKLINE> - import eggrecipedemo - <BLANKLINE> - if __name__ == '__main__': - eggrecipedemo.main() - -Relative egg paths ------------------- - -If the relative-paths option is specified with a true value, then -paths will be generated relative to the script. This is useful when -you want to be able to move a buildout directory around without -breaking scripts. - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... - ... [demo] - ... recipe = zc.recipe.egg - ... find-links = %(server)s - ... index = %(server)s/index - ... scripts = demo=foo - ... relative-paths = true - ... extra-paths = - ... /foo/bar - ... ${buildout:directory}/spam - ... """ % dict(server=link_server)) - - >>> print system(buildout), - Uninstalling demo. - Installing demo. - Generated script '/sample-buildout/bin/foo'. - -Let's look at the script that was generated: - - >>> cat(sample_buildout, 'bin', 'foo') # doctest: +NORMALIZE_WHITESPACE - #!/usr/local/bin/python2.4 - <BLANKLINE> - import os - <BLANKLINE> - join = os.path.join - base = os.path.dirname(os.path.abspath(os.path.realpath(__file__))) - base = os.path.dirname(base) - <BLANKLINE> - import sys - sys.path[0:0] = [ - join(base, 'eggs/demo-0.4c1-pyN.N.egg'), - join(base, 'eggs/demoneeded-1.2c1-pyN.N.egg'), - '/foo/bar', - join(base, 'spam'), - ] - <BLANKLINE> - import eggrecipedemo - <BLANKLINE> - if __name__ == '__main__': - eggrecipedemo.main() - -You can specify relative paths in the buildout section, rather than in -each individual script section: - - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... relative-paths = true - ... - ... [demo] - ... recipe = zc.recipe.egg - ... find-links = %(server)s - ... index = %(server)s/index - ... scripts = demo=foo - ... extra-paths = - ... /foo/bar - ... ${buildout:directory}/spam - ... """ % dict(server=link_server)) - - >>> print system(buildout), - Uninstalling demo. - Installing demo. - Generated script '/sample-buildout/bin/foo'. - - >>> cat(sample_buildout, 'bin', 'foo') # doctest: +NORMALIZE_WHITESPACE - #!/usr/local/bin/python2.4 - <BLANKLINE> - import os - <BLANKLINE> - join = os.path.join - base = os.path.dirname(os.path.abspath(os.path.realpath(__file__))) - base = os.path.dirname(base) - <BLANKLINE> - import sys - sys.path[0:0] = [ - join(base, 'eggs/demo-0.4c1-pyN.N.egg'), - join(base, 'eggs/demoneeded-1.2c1-pyN.N.egg'), - '/foo/bar', - join(base, 'spam'), - ] - <BLANKLINE> - import eggrecipedemo - <BLANKLINE> - if __name__ == '__main__': - eggrecipedemo.main() - -Specifying initialialization code and arguments ------------------------------------------------ - -Sometimes, we need to do more than just calling entry points. We can -use the initialialization and arguments options to specify extra code -to be included in generated scripts: - - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... - ... [demo] - ... recipe = zc.recipe.egg - ... find-links = %(server)s - ... index = %(server)s/index - ... scripts = demo=foo - ... extra-paths = - ... /foo/bar - ... ${buildout:directory}/spam - ... initialization = a = (1, 2 - ... 3, 4) - ... arguments = a, 2 - ... """ % dict(server=link_server)) - - >>> print system(buildout), - Uninstalling demo. - Installing demo. - Generated script '/sample-buildout/bin/foo'. - - >>> cat(sample_buildout, 'bin', 'foo') # doctest: +NORMALIZE_WHITESPACE - #!/usr/local/bin/python2.4 - <BLANKLINE> - import sys - sys.path[0:0] = [ - '/sample-buildout/eggs/demo-0.4c1-py2.4.egg', - '/sample-buildout/eggs/demoneeded-1.2c1-py2.4.egg', - '/foo/bar', - '/sample-buildout/spam', - ] - <BLANKLINE> - a = (1, 2 - 3, 4) - <BLANKLINE> - import eggrecipedemo - <BLANKLINE> - if __name__ == '__main__': - eggrecipedemo.main(a, 2) - -Here we see that the initialization code we specified was added after -setting the path. Note, as mentioned above, that leading whitespace -has been stripped. Similarly, the argument code we specified was -added in the entry point call (to main). - -Specifying entry points ------------------------ - -Scripts can be generated for entry points declared explicitly. We can -declare entry points using the entry-points option: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... - ... [demo] - ... recipe = zc.recipe.egg - ... find-links = %(server)s - ... index = %(server)s/index - ... extra-paths = - ... /foo/bar - ... ${buildout:directory}/spam - ... entry-points = alt=eggrecipedemo:alt other=foo.bar:a.b.c - ... """ % dict(server=link_server)) - - >>> print system(buildout), - Uninstalling demo. - Installing demo. - Generated script '/sample-buildout/bin/demo'. - Generated script '/sample-buildout/bin/alt'. - Generated script '/sample-buildout/bin/other'. - - >>> ls(sample_buildout, 'bin') - - alt - - buildout - - demo - - other - - >>> cat(sample_buildout, 'bin', 'other') # doctest: +NORMALIZE_WHITESPACE - #!/usr/local/bin/python2.4 - <BLANKLINE> - import sys - sys.path[0:0] = [ - '/sample-buildout/eggs/demo-0.4c1-py2.4.egg', - '/sample-buildout/eggs/demoneeded-1.2c1-py2.4.egg', - '/foo/bar', - '/sample-buildout/spam', - ] - <BLANKLINE> - import foo.bar - <BLANKLINE> - if __name__ == '__main__': - foo.bar.a.b.c() - -Generating all scripts ----------------------- - -The `bigdemo` package doesn't have any scripts, but it requires the `demo` -package, which does have a script. Specify `dependent-scripts = true` to -generate all scripts in required packages: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = bigdemo - ... - ... [bigdemo] - ... recipe = zc.recipe.egg - ... find-links = %(server)s - ... index = %(server)s/index - ... dependent-scripts = true - ... """ % dict(server=link_server)) - >>> print system(buildout+' -N'), - Uninstalling demo. - Installing bigdemo. - Getting distribution for 'bigdemo'. - Got bigdemo 0.1. - Generated script '/sample-buildout/bin/demo'. - -Offline mode ------------- - -If the buildout offline option is set to "true", then no attempt will -be made to contact an index server: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... offline = true - ... - ... [demo] - ... recipe = zc.recipe.egg - ... index = eek! - ... scripts = demo=foo - ... """ % dict(server=link_server)) - - >>> print system(buildout), - Uninstalling bigdemo. - Installing demo. - Generated script '/sample-buildout/bin/foo'. - diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/__init__.py b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/__init__.py deleted file mode 100644 index b63fb85..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from zc.recipe.egg.egg import Egg, Scripts, Eggs -from zc.recipe.egg.custom import Custom, Develop diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/__init__.pyo b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/__init__.pyo Binary files differdeleted file mode 100644 index 73c3321..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/__init__.pyo +++ /dev/null diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/api.txt b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/api.txt deleted file mode 100644 index d3da306..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/api.txt +++ /dev/null @@ -1,152 +0,0 @@ -Egg Recipe API for other Recipes -================================ - -It is common for recipes to accept a collection of egg specifications -and generate scripts based on the resulting working sets. The egg -recipe provides an API that other recipes can use. - -A recipe can reuse the egg recipe, supporting the eggs, find-links, -index, extra-paths, and python options. This is done by creating an -egg recipe instance in a recipes's contructor. In the recipe's -install script, the egg-recipe instance's working_set method is used -to collect the requested eggs and working set. - -To illustrate, we create a sample recipe that is a very thin layer -around the egg recipe: - - >>> mkdir(sample_buildout, 'sample') - >>> write(sample_buildout, 'sample', 'sample.py', - ... """ - ... import logging, os - ... import zc.recipe.egg - ... - ... class Sample: - ... - ... def __init__(self, buildout, name, options): - ... self.egg = zc.recipe.egg.Scripts(buildout, name, options) - ... self.name = name - ... self.options = options - ... - ... def install(self): - ... extras = self.options['extras'].split() - ... requirements, ws = self.egg.working_set(extras) - ... print 'Part:', self.name - ... print 'Egg requirements:' - ... for r in requirements: - ... print r - ... print 'Working set:' - ... for d in ws: - ... print d - ... print 'extra paths:', self.egg.extra_paths - ... return () - ... - ... update = install - ... """) - -Here we instantiated the egg recipe in the constructor, saving it in -an attribute. This also initialized the options dictionary. - -In our install method, we called the working_set method on the -instance we saved. The working_set method takes an optional sequence -of extra requirements to be included in the working set. - - >>> write(sample_buildout, 'sample', 'setup.py', - ... """ - ... from setuptools import setup - ... - ... setup( - ... name = "sample", - ... entry_points = {'zc.buildout': ['default = sample:Sample']}, - ... install_requires = 'zc.recipe.egg', - ... ) - ... """) - - - >>> write(sample_buildout, 'sample', 'README.txt', " ") - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... develop = sample - ... parts = sample-part - ... - ... [sample-part] - ... recipe = sample - ... eggs = demo<0.3 - ... find-links = %(server)s - ... index = %(server)sindex - ... extras = other - ... """ % dict(server=link_server)) - - >>> import os - >>> os.chdir(sample_buildout) - >>> buildout = os.path.join(sample_buildout, 'bin', 'buildout') - >>> print system(buildout + ' -q'), - Part: sample-part - Egg requirements: - demo<0.3 - Working set: - demo 0.2 - other 1.0 - demoneeded 1.2c1 - extra paths: [] - -We can see that the options were augmented with additional data -computed by the egg recipe by looking at .installed.cfg: - - >>> cat(sample_buildout, '.installed.cfg') - ... # doctest: +NORMALIZE_WHITESPACE - [buildout] - installed_develop_eggs = /sample-buildout/develop-eggs/sample.egg-link - parts = sample-part - <BLANKLINE> - [sample-part] - __buildout_installed__ = - __buildout_signature__ = sample-6aWMvV2EJ9Ijq+bR8ugArQ== - zc.recipe.egg-cAsnudgkduAa/Fd+WJIM6Q== - setuptools-0.6-py2.4.egg - zc.buildout-+rYeCcmFuD1K/aB77XTj5A== - _b = /sample-buildout/bin - _d = /sample-buildout/develop-eggs - _e = /sample-buildout/eggs - bin-directory = /sample-buildout/bin - develop-eggs-directory = /sample-buildout/develop-eggs - eggs = demo<0.3 - eggs-directory = /sample-buildout/eggs - executable = /usr/local/bin/python2.3 - extras = other - find-links = http://localhost:27071/ - index = http://localhost:27071/index - python = buildout - recipe = sample - -If we use the extra-paths option: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... develop = sample - ... parts = sample-part - ... - ... [sample-part] - ... recipe = sample - ... eggs = demo<0.3 - ... find-links = %(server)s - ... index = %(server)sindex - ... extras = other - ... extra-paths = /foo/bar - ... /spam/eggs - ... """ % dict(server=link_server)) - -Then we'll see that reflected in the extra_paths attribute in the egg -recipe instance: - - >>> print system(buildout + ' -q'), - Part: sample-part - Egg requirements: - demo<0.3 - Working set: - demo 0.2 - other 1.0 - demoneeded 1.2c1 - extra paths: ['/foo/bar', '/spam/eggs'] diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/custom.py b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/custom.py deleted file mode 100644 index 6616ed1..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/custom.py +++ /dev/null @@ -1,170 +0,0 @@ -############################################################################## -# -# Copyright (c) 2006 Zope Corporation and Contributors. -# All Rights Reserved. -# -# This software is subject to the provisions of the Zope Public License, -# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED -# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS -# FOR A PARTICULAR PURPOSE. -# -############################################################################## -"""Install packages as eggs - -$Id: custom.py 84019 2008-02-18 12:41:04Z zagy $ -""" - -import logging, os, re, zipfile -import zc.buildout.easy_install - -logger = logging.getLogger(__name__) - - -class Base: - - def __init__(self, buildout, name, options): - self.name, self.options = name, options - - options['_d'] = buildout['buildout']['develop-eggs-directory'] - - python = options.get('python', buildout['buildout']['python']) - options['executable'] = buildout[python]['executable'] - - self.build_ext = build_ext(buildout, options) - - def update(self): - return self.install() - - -class Custom(Base): - - def __init__(self, buildout, name, options): - Base.__init__(self, buildout, name, options) - - links = options.get('find-links', - buildout['buildout'].get('find-links')) - if links: - links = links.split() - options['find-links'] = '\n'.join(links) - else: - links = () - self.links = links - - index = options.get('index', buildout['buildout'].get('index')) - if index is not None: - options['index'] = index - self.index = index - - environment_section = options.get('environment') - if environment_section: - self.environment = buildout[environment_section] - else: - self.environment = {} - environment_data = self.environment.items() - environment_data.sort() - options['_environment-data'] = repr(environment_data) - - options['_e'] = buildout['buildout']['eggs-directory'] - - assert options.get('unzip') in ('true', 'false', None) - - if buildout['buildout'].get('offline') == 'true': - self.install = lambda: () - - self.newest = buildout['buildout'].get('newest') == 'true' - - def install(self): - options = self.options - distribution = options.get('egg') - if distribution is None: - distribution = options.get('eggs') - if distribution is None: - distribution = self.name - else: - logger.warn("The eggs option is deprecated. Use egg instead") - - - distribution = options.get('egg', options.get('eggs', self.name) - ).strip() - self._set_environment() - try: - return zc.buildout.easy_install.build( - distribution, options['_d'], self.build_ext, - self.links, self.index, options['executable'], [options['_e']], - newest=self.newest, - ) - finally: - self._restore_environment() - - - def _set_environment(self): - self._saved_environment = {} - for key, value in self.environment.items(): - if key in os.environ: - self._saved_environment[key] = os.environ[key] - # Interpolate value with variables from environment. Maybe there - # should be a general way of doing this in buildout with something - # like ${environ:foo}: - os.environ[key] = value % os.environ - - def _restore_environment(self): - for key in self.environment: - if key in self._saved_environment: - os.environ[key] = self._saved_environment[key] - else: - try: - del os.environ[key] - except KeyError: - pass - - -class Develop(Base): - - def __init__(self, buildout, name, options): - Base.__init__(self, buildout, name, options) - options['setup'] = os.path.join(buildout['buildout']['directory'], - options['setup']) - - def install(self): - options = self.options - return zc.buildout.easy_install.develop( - options['setup'], options['_d'], self.build_ext, - options['executable'], - ) - - -def build_ext(buildout, options): - result = {} - for be_option in ('include-dirs', 'library-dirs', 'rpath'): - value = options.get(be_option) - if value is None: - continue - value = [ - os.path.join( - buildout['buildout']['directory'], - v.strip() - ) - for v in value.strip().split('\n') - if v.strip() - ] - result[be_option] = os.pathsep.join(value) - options[be_option] = os.pathsep.join(value) - - swig = options.get('swig') - if swig: - options['swig'] = result['swig'] = os.path.join( - buildout['buildout']['directory'], - swig, - ) - - for be_option in ('define', 'undef', 'libraries', 'link-objects', - 'debug', 'force', 'compiler', 'swig-cpp', 'swig-opts', - ): - value = options.get(be_option) - if value is None: - continue - result[be_option] = value - - return result diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/custom.pyo b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/custom.pyo Binary files differdeleted file mode 100644 index 4b4e883..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/custom.pyo +++ /dev/null diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/custom.txt b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/custom.txt deleted file mode 100644 index 0cf88e6..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/custom.txt +++ /dev/null @@ -1,579 +0,0 @@ -Creating eggs with extensions needing custom build settings -============================================================= - -Sometimes, It's necessary to provide extra control over how an egg is -created. This is commonly true for eggs with extension modules that -need to access libraries or include files. - -The zc.recipe.egg:custom recipe can be used to define an egg with -custom build parameters. The currently defined parameters are: - -include-dirs - A new-line separated list of directories to search for include - files. - -library-dirs - A new-line separated list of directories to search for libraries - to link with. - -rpath - A new-line separated list of directories to search for dynamic libraries - at run time. - -define - A comma-separated list of names of C preprocessor variables to - define. - -undef - A comman separated list of names of C preprocessor variables to - undefine. - -libraries - The name of an additional library to link with. Due to limitations - in distutils and desprite the option name, only a single library - can be specified. - -link-objects - The name of an link object to link against. Due to limitations - in distutils and desprite the option name, only a single link object - can be specified. - -debug - Compile/link with debugging information - -force - Forcibly build everything (ignore file timestamps) - -compiler - Specify the compiler type - -swig - The path to the swig executable - -swig-cpp - Make SWIG create C++ files (default is C) - -swig-opts - List of SWIG command line options - -In addition, the following options can be used to specify the egg: - -egg - An specification for the egg to be created, to install given as a - setuptools requirement string. This defaults to the part name. - -find-links - A list of URLs, files, or directories to search for distributions. - -index - The URL of an index server, or almost any other valid URL. :) - - If not specified, the Python Package Index, - http://cheeseshop.python.org/pypi, is used. You can specify an - alternate index with this option. If you use the links option and - if the links point to the needed distributions, then the index can - be anything and will be largely ignored. In the examples, here, - we'll just point to an empty directory on our link server. This - will make our examples run a little bit faster. - -python - The name of a section to get the Python executable from. - If not specified, then the buildout python option is used. The - Python executable is found in the executable option of the named - section. - -environment - The name of a section with additional environment variables. The - environment variables are set before the egg is built. - -To illustrate this, we'll define a buildout that builds an egg for a -package that has a simple extension module:: - - #include <Python.h> - #include <extdemo.h> - - static PyMethodDef methods[] = {}; - - PyMODINIT_FUNC - initextdemo(void) - { - PyObject *m; - m = Py_InitModule3("extdemo", methods, ""); - #ifdef TWO - PyModule_AddObject(m, "val", PyInt_FromLong(2)); - #else - PyModule_AddObject(m, "val", PyInt_FromLong(EXTDEMO)); - #endif - } - -The extension depends on a system-dependent include file, extdemo.h, -that defines a constant, EXTDEMO, that is exposed by the extension. - -The extension module is available as a source distribution, -extdemo-1.4.tar.gz, on a distribution server. - -We have a sample buildout that we'll add an include directory to with -the necessary include file: - - >>> mkdir('include') - >>> write('include', 'extdemo.h', - ... """ - ... #define EXTDEMO 42 - ... """) - -We'll also update the buildout configuration file to define a part for -the egg: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = extdemo - ... - ... [extdemo] - ... recipe = zc.recipe.egg:custom - ... find-links = %(server)s - ... index = %(server)s/index - ... include-dirs = include - ... - ... """ % dict(server=link_server)) - - >>> print system(buildout), - Installing extdemo. - zip_safe flag not set; analyzing archive contents... - -We got the zip_safe warning because the source distribution we used -wasn't setuptools based and thus didn't set the option. - -The egg is created in the develop-eggs directory *not* the eggs -directory because it depends on buildout-specific parameters and the -eggs directory can be shared across multiple buildouts. - - >>> ls(sample_buildout, 'develop-eggs') - d extdemo-1.4-py2.4-unix-i686.egg - - z3c.recipe.scripts.egg-link - - zc.recipe.egg.egg-link - -Note that no scripts or dependencies are installed. To install -dependencies or scripts for a custom egg, define another part and use -the zc.recipe.egg recipe, listing the custom egg as one of the eggs to -be installed. The zc.recipe.egg recipe will use the installed egg. - -Let's define a script that uses out ext demo: - - >>> mkdir('demo') - >>> write('demo', 'demo.py', - ... """ - ... import extdemo - ... def main(): - ... print extdemo.val - ... """) - - >>> write('demo', 'setup.py', - ... """ - ... from setuptools import setup - ... setup(name='demo') - ... """) - - - >>> write('buildout.cfg', - ... """ - ... [buildout] - ... develop = demo - ... parts = extdemo demo - ... - ... [extdemo] - ... recipe = zc.recipe.egg:custom - ... find-links = %(server)s - ... index = %(server)s/index - ... include-dirs = include - ... - ... [demo] - ... recipe = zc.recipe.egg - ... eggs = demo - ... extdemo - ... entry-points = demo=demo:main - ... """ % dict(server=link_server)) - - >>> print system(buildout), - Develop: '/sample-buildout/demo' - Updating extdemo. - Installing demo. - Generated script '/sample-buildout/bin/demo'. - -When we run the script, we'll 42 printed: - - >>> print system(join('bin', 'demo')), - 42 - -Updating --------- - -The custom recipe will normally check for new source distributions -that meet the given specification. This can be suppressed using the -buildout non-newest and offline modes. We'll generate a new source -distribution for extdemo: - - >>> update_extdemo() - -If we run the buildout in non-newest or offline modes: - - >>> print system(buildout+' -N'), - Develop: '/sample-buildout/demo' - Updating extdemo. - Updating demo. - - >>> print system(buildout+' -o'), - Develop: '/sample-buildout/demo' - Updating extdemo. - Updating demo. - -We won't get an update. - - >>> ls(sample_buildout, 'develop-eggs') - - demo.egg-link - d extdemo-1.4-py2.4-unix-i686.egg - - z3c.recipe.scripts.egg-link - - zc.recipe.egg.egg-link - -But if we run the buildout in the default on-line and newest modes, we -will. This time we also get the test-variable message again, because the new -version is imported: - - >>> print system(buildout), - Develop: '/sample-buildout/demo' - Updating extdemo. - zip_safe flag not set; analyzing archive contents... - Updating demo. - Generated script '/sample-buildout/bin/demo'. - - >>> ls(sample_buildout, 'develop-eggs') - - demo.egg-link - d extdemo-1.4-py2.4-linux-i686.egg - d extdemo-1.5-py2.4-linux-i686.egg - - z3c.recipe.scripts.egg-link - - zc.recipe.egg.egg-link - -Controlling the version used ----------------------------- - -We can specify a specific version using the egg option: - - >>> write('buildout.cfg', - ... """ - ... [buildout] - ... develop = demo - ... parts = extdemo demo - ... - ... [extdemo] - ... recipe = zc.recipe.egg:custom - ... egg = extdemo ==1.4 - ... find-links = %(server)s - ... index = %(server)s/index - ... include-dirs = include - ... - ... [demo] - ... recipe = zc.recipe.egg - ... eggs = demo - ... extdemo ==1.4 - ... entry-points = demo=demo:main - ... """ % dict(server=link_server)) - - >>> print system(buildout+' -D'), - Develop: '/sample-buildout/demo' - Uninstalling demo. - Uninstalling extdemo. - Installing extdemo. - zip_safe flag not set; analyzing archive contents... - Installing demo. - Generated script '/sample-buildout/bin/demo'. - - >>> ls(sample_buildout, 'develop-eggs') - - demo.egg-link - d extdemo-1.4-py2.4-linux-i686.egg - - z3c.recipe.scripts.egg-link - - zc.recipe.egg.egg-link - - -Controlling environment variables -+++++++++++++++++++++++++++++++++ - -To set additional environment variables, the `environment` option is used. - -Let's create a recipe which prints out environment variables. We need this to -make sure the set envirionment variables are removed after the egg:custom -recipe was run. - - >>> mkdir(sample_buildout, 'recipes') - >>> write(sample_buildout, 'recipes', 'environ.py', - ... """ - ... import logging, os, zc.buildout - ... - ... class Environ: - ... - ... def __init__(self, buildout, name, options): - ... self.name = name - ... - ... def install(self): - ... logging.getLogger(self.name).info( - ... 'test-variable left over: %s' % ( - ... 'test-variable' in os.environ)) - ... return [] - ... - ... def update(self): - ... self.install() - ... """) - >>> write(sample_buildout, 'recipes', 'setup.py', - ... """ - ... from setuptools import setup - ... - ... setup( - ... name = "recipes", - ... entry_points = {'zc.buildout': ['environ = environ:Environ']}, - ... ) - ... """) - - -Create our buildout: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... develop = recipes - ... parts = extdemo checkenv - ... - ... [extdemo-env] - ... test-variable = foo - ... - ... [extdemo] - ... recipe = zc.recipe.egg:custom - ... find-links = %(server)s - ... index = %(server)s/index - ... include-dirs = include - ... environment = extdemo-env - ... - ... [checkenv] - ... recipe = recipes:environ - ... - ... """ % dict(server=link_server)) - >>> print system(buildout), - Develop: '/sample-buildout/recipes' - Uninstalling demo. - Uninstalling extdemo. - Installing extdemo. - Have environment test-variable: foo - zip_safe flag not set; analyzing archive contents... - Installing checkenv. - checkenv: test-variable left over: False - - -The setup.py also printed out that we have set the environment `test-variable` -to foo. After the buildout the variable is reset to its original value (i.e. -removed). - -When an environment variable has a value before zc.recipe.egg:custom is run, -the original value will be restored: - - >>> import os - >>> os.environ['test-variable'] = 'bar' - >>> print system(buildout), - Develop: '/sample-buildout/recipes' - Updating extdemo. - Updating checkenv. - checkenv: test-variable left over: True - - >>> os.environ['test-variable'] - 'bar' - - -Sometimes it is required to prepend or append to an existing environment -variable, for instance for adding something to the PATH. Therefor all variables -are interpolated with os.environ before the're set: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... develop = recipes - ... parts = extdemo checkenv - ... - ... [extdemo-env] - ... test-variable = foo:%%(test-variable)s - ... - ... [extdemo] - ... recipe = zc.recipe.egg:custom - ... find-links = %(server)s - ... index = %(server)s/index - ... include-dirs = include - ... environment = extdemo-env - ... - ... [checkenv] - ... recipe = recipes:environ - ... - ... """ % dict(server=link_server)) - >>> print system(buildout), - Develop: '/sample-buildout/recipes' - Uninstalling extdemo. - Installing extdemo. - Have environment test-variable: foo:bar - zip_safe flag not set; analyzing archive contents... - Updating checkenv. - checkenv: test-variable left over: True - - >>> os.environ['test-variable'] - 'bar' - >>> del os.environ['test-variable'] - - -Create a clean buildout.cfg w/o the checkenv recipe, and delete the recipe: - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... develop = recipes - ... parts = extdemo - ... - ... [extdemo] - ... recipe = zc.recipe.egg:custom - ... find-links = %(server)s - ... index = %(server)s/index - ... include-dirs = include - ... - ... """ % dict(server=link_server)) - >>> print system(buildout), - Develop: '/sample-buildout/recipes' - Uninstalling checkenv. - Uninstalling extdemo. - Installing extdemo. - zip_safe flag not set; analyzing archive contents... - - >>> rmdir(sample_buildout, 'recipes') - - -Controlling develop-egg generation -================================== - -If you want to provide custom build options for a develop egg, you can -use the develop recipe. The recipe has the following options: - -path - The path to a setup script or directory containing a startup - script. This is required. - -include-dirs - A new-line separated list of directories to search for include - files. - -library-dirs - A new-line separated list of directories to search for libraries - to link with. - -rpath - A new-line separated list of directories to search for dynamic libraries - at run time. - -define - A comma-separated list of names of C preprocessor variables to - define. - -undef - A comman separated list of names of C preprocessor variables to - undefine. - -libraries - The name of an additional library to link with. Due to limitations - in distutils and desprite the option name, only a single library - can be specified. - -link-objects - The name of an link object to link against. Due to limitations - in distutils and desprite the option name, only a single link object - can be specified. - -debug - Compile/link with debugging information - -force - Forcibly build everything (ignore file timestamps) - -compiler - Specify the compiler type - -swig - The path to the swig executable - -swig-cpp - Make SWIG create C++ files (default is C) - -swig-opts - List of SWIG command line options - -python - The name of a section to get the Python executable from. - If not specified, then the buildout python option is used. The - Python executable is found in the executable option of the named - section. - -To illustrate this, we'll use a directory containing the extdemo -example from the earlier section: - - >>> ls(extdemo) - - MANIFEST - - MANIFEST.in - - README - - extdemo.c - - setup.py - - >>> write('buildout.cfg', - ... """ - ... [buildout] - ... develop = demo - ... parts = extdemo demo - ... - ... [extdemo] - ... setup = %(extdemo)s - ... recipe = zc.recipe.egg:develop - ... include-dirs = include - ... define = TWO - ... - ... [demo] - ... recipe = zc.recipe.egg - ... eggs = demo - ... extdemo - ... entry-points = demo=demo:main - ... """ % dict(extdemo=extdemo)) - -Note that we added a define option to cause the preprocessor variable -TWO to be defined. This will cause the module-variable, 'val', to be -set with a value of 2. - - >>> print system(buildout), - Develop: '/sample-buildout/demo' - Uninstalling extdemo. - Installing extdemo. - Installing demo. - Generated script '/sample-buildout/bin/demo'. - -Our develop-eggs now includes an egg link for extdemo: - - >>> ls('develop-eggs') - - demo.egg-link - - extdemo.egg-link - - z3c.recipe.scripts.egg-link - - zc.recipe.egg.egg-link - -and the extdemo now has a built extension: - - >>> ls(extdemo) - - MANIFEST - - MANIFEST.in - - README - d build - - extdemo.c - d extdemo.egg-info - - extdemo.so - - setup.py - -Because develop eggs take precedence over non-develop eggs, the demo -script will use the new develop egg: - - >>> print system(join('bin', 'demo')), - 2 diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/egg.py b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/egg.py deleted file mode 100644 index c19f757..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/egg.py +++ /dev/null @@ -1,230 +0,0 @@ -############################################################################## -# -# Copyright (c) 2006 Zope Corporation and Contributors. -# All Rights Reserved. -# -# This software is subject to the provisions of the Zope Public License, -# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED -# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS -# FOR A PARTICULAR PURPOSE. -# -############################################################################## -"""Install packages as eggs - -$Id: egg.py 115900 2010-08-23 20:26:07Z gary $ -""" - -import UserDict, logging, os, re, zipfile -import zc.buildout -import zc.buildout.easy_install - - -class Eggs(object): - - include_site_packages = allowed_eggs = None - - def __init__(self, buildout, name, options): - self.buildout = buildout - self.name = self.default_eggs = name - if getattr(options, 'query_bool', None) is None: - # Someone is not passing us a zc.buildout.buildout.Options - # object. Maybe we should have a deprecation warning. - # Whatever. - options = _BackwardsSupportOption(options) - self.options = options - b_options = buildout['buildout'] - links = options.get('find-links', b_options['find-links']) - if links: - links = links.split() - options['find-links'] = '\n'.join(links) - else: - links = () - self.links = links - - index = options.get('index', b_options.get('index')) - if index is not None: - options['index'] = index - self.index = index - - allow_hosts = b_options['allow-hosts'] - allow_hosts = tuple([host.strip() for host in allow_hosts.split('\n') - if host.strip()!='']) - self.allow_hosts = allow_hosts - - options['eggs-directory'] = b_options['eggs-directory'] - options['_e'] = options['eggs-directory'] # backward compat. - options['develop-eggs-directory'] = b_options['develop-eggs-directory'] - options['_d'] = options['develop-eggs-directory'] # backward compat. - - python = options.setdefault('python', b_options['python']) - options['executable'] = buildout[python]['executable'] - - def working_set(self, extra=()): - """Separate method to just get the working set - - This is intended for reuse by similar recipes. - """ - options = self.options - b_options = self.buildout['buildout'] - - distributions = [ - r.strip() - for r in options.get('eggs', self.default_eggs).split('\n') - if r.strip()] - orig_distributions = distributions[:] - distributions.extend(extra) - - if b_options.get('offline') == 'true': - ws = zc.buildout.easy_install.working_set( - distributions, options['executable'], - [options['develop-eggs-directory'], - options['eggs-directory']], - include_site_packages=self.include_site_packages, - allowed_eggs_from_site_packages=self.allowed_eggs, - ) - else: - kw = {} - if 'unzip' in options: - kw['always_unzip'] = options.query_bool('unzip', None) - ws = zc.buildout.easy_install.install( - distributions, options['eggs-directory'], - links=self.links, - index=self.index, - executable=options['executable'], - path=[options['develop-eggs-directory']], - newest=b_options.get('newest') == 'true', - include_site_packages=self.include_site_packages, - allowed_eggs_from_site_packages=self.allowed_eggs, - allow_hosts=self.allow_hosts, - **kw) - - return orig_distributions, ws - - def install(self): - reqs, ws = self.working_set() - return () - - update = install - - -class ScriptBase(Eggs): - - def __init__(self, buildout, name, options): - super(ScriptBase, self).__init__(buildout, name, options) - - b_options = buildout['buildout'] - - options['bin-directory'] = b_options['bin-directory'] - options['_b'] = options['bin-directory'] # backward compat. - - self.extra_paths = [ - os.path.join(b_options['directory'], p.strip()) - for p in options.get('extra-paths', '').split('\n') - if p.strip() - ] - if self.extra_paths: - options['extra-paths'] = '\n'.join(self.extra_paths) - - - relative_paths = options.get( - 'relative-paths', b_options.get('relative-paths', 'false')) - if relative_paths == 'true': - options['buildout-directory'] = b_options['directory'] - self._relative_paths = options['buildout-directory'] - else: - self._relative_paths = '' - assert relative_paths == 'false' - - parse_entry_point = re.compile( - '([^=]+)=(\w+(?:[.]\w+)*):(\w+(?:[.]\w+)*)$' - ).match - - def install(self): - reqs, ws = self.working_set() - options = self.options - - scripts = options.get('scripts') - if scripts or scripts is None or options.get('interpreter'): - if scripts is not None: - scripts = scripts.split() - scripts = dict([ - ('=' in s) and s.split('=', 1) or (s, s) - for s in scripts - ]) - - for s in options.get('entry-points', '').split(): - parsed = self.parse_entry_point(s) - if not parsed: - logging.getLogger(self.name).error( - "Cannot parse the entry point %s.", s) - raise zc.buildout.UserError("Invalid entry point") - reqs.append(parsed.groups()) - - if options.query_bool('dependent-scripts', 'false'): - # Generate scripts for all packages in the working set, - # except setuptools. - reqs = list(reqs) - for dist in ws: - name = dist.project_name - if name != 'setuptools' and name not in reqs: - reqs.append(name) - return self._install(reqs, ws, scripts) - return () - - update = install - - def _install(self, reqs, ws, scripts): - # Subclasses implement this. - raise NotImplementedError() - - -class Scripts(ScriptBase): - - def _install(self, reqs, ws, scripts): - options = self.options - return zc.buildout.easy_install.scripts( - reqs, ws, options['executable'], - options['bin-directory'], - scripts=scripts, - extra_paths=self.extra_paths, - interpreter=options.get('interpreter'), - initialization=options.get('initialization', ''), - arguments=options.get('arguments', ''), - relative_paths=self._relative_paths - ) - -Egg = Scripts - - -class _BackwardsSupportOption(UserDict.UserDict): - - def __init__(self, data): - self.data = data # We want to show mutations to the underlying dict. - - def query_bool(self, name, default=None): - """Given a name, return a boolean value for that name. - - ``default``, if given, should be 'true', 'false', or None. - """ - if default is not None: - value = self.setdefault(name, default) - else: - value = self.get(name) - if value is None: - return value - return _convert_bool(name, value) - - def get_bool(self, name): - """Given a name, return a boolean value for that name. - """ - return _convert_bool(name, self[name]) - - -def _convert_bool(name, value): - if value not in ('true', 'false'): - raise zc.buildout.UserError( - 'Invalid value for %s option: %s' % (name, value)) - else: - return value == 'true' diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/egg.pyo b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/egg.pyo Binary files differdeleted file mode 100644 index a683750..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/egg.pyo +++ /dev/null diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/selecting-python.txt b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/selecting-python.txt deleted file mode 100644 index dcf07e8..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/selecting-python.txt +++ /dev/null @@ -1,140 +0,0 @@ -Controlling which Python to use -------------------------------- - -The following assumes that you have Python 2.4 installed. - -We can specify the python to use by specifying the name of a section -to read the Python executable from. The default is the section -defined by the python buildout option. - -We have a link server: - - >>> print get(link_server), - <html><body> - <a href="bigdemo-0.1-py2.4.egg">bigdemo-0.1-py2.4.egg</a><br> - <a href="demo-0.1-py2.4.egg">demo-0.1-py2.4.egg</a><br> - <a href="demo-0.2-py2.4.egg">demo-0.2-py2.4.egg</a><br> - <a href="demo-0.3-py2.4.egg">demo-0.3-py2.4.egg</a><br> - <a href="demo-0.4c1-py2.4.egg">demo-0.4c1-py2.4.egg</a><br> - <a href="demoneeded-1.0.zip">demoneeded-1.0.zip</a><br> - <a href="demoneeded-1.1.zip">demoneeded-1.1.zip</a><br> - <a href="demoneeded-1.2c1.zip">demoneeded-1.2c1.zip</a><br> - <a href="extdemo-1.4.zip">extdemo-1.4.zip</a><br> - <a href="index/">index/</a><br> - <a href="other-1.0-py2.4.egg">other-1.0-py2.4.egg</a><br> - </body></html> - -We have a sample buildout. Let's update its configuration file to -install the demo package using Python 2.4. - - >>> write(sample_buildout, 'buildout.cfg', - ... """ - ... [buildout] - ... parts = demo - ... eggs-directory = eggs - ... index = http://www.python.org/pypi/ - ... - ... [python2.4] - ... executable = %(python24)s - ... - ... [demo] - ... recipe = zc.recipe.egg - ... eggs = demo <0.3 - ... find-links = %(server)s - ... python = python2.4 - ... interpreter = py-demo - ... """ % dict(server=link_server, python24=other_executable)) - -Now, if we run the buildout: - - >>> import os - >>> os.chdir(sample_buildout) - >>> buildout = os.path.join(sample_buildout, 'bin', 'buildout') - >>> print system(buildout), - Installing demo. - Getting distribution for 'demo<0.3'. - Got demo 0.2. - Getting distribution for 'demoneeded'. - Got demoneeded 1.2c1. - Generated script '/sample-buildout/bin/demo'. - Generated interpreter '/sample-buildout/bin/py-demo'. - -we'll get the Python 2.4 eggs for demo and demoneeded: - - >>> ls(sample_buildout, 'eggs') - - demo-0.2-py2.4.egg - - demoneeded-1.2c1-py2.4.egg - d setuptools-0.6-py2.5.egg - - zc.buildout-1.0-py2.5.egg - -And the generated scripts invoke Python 2.4: - - >>> import sys - >>> if sys.platform == 'win32': - ... script_name = 'demo-script.py' - ... else: - ... script_name = 'demo' - >>> f = open(os.path.join(sample_buildout, 'bin', script_name)) - >>> shebang = f.readline().strip() - >>> if shebang[:3] == '#!"' and shebang[-1] == '"': - ... shebang = '#!'+shebang[3:-1] - >>> shebang == '#!' + other_executable - True - >>> print f.read(), # doctest: +NORMALIZE_WHITESPACE - <BLANKLINE> - import sys - sys.path[0:0] = [ - '/sample-buildout/eggs/demo-0.2-py2.4.egg', - '/sample-buildout/eggs/demoneeded-1.2c1-py2.4.egg', - ] - <BLANKLINE> - import eggrecipedemo - <BLANKLINE> - if __name__ == '__main__': - eggrecipedemo.main() - - >>> if sys.platform == 'win32': - ... f = open(os.path.join(sample_buildout, 'bin', 'py-demo-script.py')) - ... else: - ... f = open(os.path.join(sample_buildout, 'bin', 'py-demo')) - - >>> shebang = f.readline().strip() - >>> if shebang[:3] == '#!"' and shebang[-1] == '"': - ... shebang = '#!'+shebang[3:-1] - >>> shebang == '#!' + other_executable - True - >>> print f.read(), # doctest: +NORMALIZE_WHITESPACE - <BLANKLINE> - import sys - <BLANKLINE> - sys.path[0:0] = [ - '/sample-buildout/eggs/demo-0.2-py2.4.egg', - '/sample-buildout/eggs/demoneeded-1.2c1-py2.4.egg', - ] - <BLANKLINE> - _interactive = True - if len(sys.argv) > 1: - _options, _args = __import__("getopt").getopt(sys.argv[1:], 'ic:m:') - _interactive = False - for (_opt, _val) in _options: - if _opt == '-i': - _interactive = True - elif _opt == '-c': - exec _val - elif _opt == '-m': - sys.argv[1:] = _args - _args = [] - __import__("runpy").run_module( - _val, {}, "__main__", alter_sys=True) - <BLANKLINE> - if _args: - sys.argv[:] = _args - __file__ = _args[0] - del _options, _args - execfile(__file__) - <BLANKLINE> - if _interactive: - del _interactive - __import__("code").interact(banner="", local=globals()) - - >>> f.close() diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/tests.py b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/tests.py deleted file mode 100644 index 3a65504..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/tests.py +++ /dev/null @@ -1,169 +0,0 @@ -############################################################################## -# -# Copyright (c) 2006 Zope Corporation and Contributors. -# All Rights Reserved. -# -# This software is subject to the provisions of the Zope Public License, -# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED -# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS -# FOR A PARTICULAR PURPOSE. -# -############################################################################## - -import os, re, shutil, sys -import zc.buildout.tests -import zc.buildout.testselectingpython -import zc.buildout.testing - -import unittest, doctest -from zope.testing import renormalizing - -os_path_sep = os.path.sep -if os_path_sep == '\\': - os_path_sep *= 2 - -def dirname(d, level=1): - if level == 0: - return d - return dirname(os.path.dirname(d), level-1) - -def testUsingDictAsOptions(): - """ -Some recipes using zc.recipe.egg have been passing dictionaries rather than -zc.buildout.buildout.Options objects. That's unexpected, but to save -complaints, we'll support it. - -Note that this test intends to show that a dictionary can be used as an -options object. It also uses a dictionary for the buildout object, which is -not intended. - - >>> import zc.buildout.buildout - >>> import zc.recipe.egg - >>> faux_egg_options = {'find-links': 'example.com'} - >>> faux_buildout_options = zc.buildout.buildout._unannotate_section( - ... zc.buildout.buildout._buildout_default_options.copy()) - >>> faux_buildout_options['bin-directory'] = '/somewhere/over/rainbow' - >>> faux_buildout = { - ... 'faux': faux_egg_options, 'buildout': faux_buildout_options} - >>> scripts = zc.recipe.egg.Scripts( - ... faux_buildout, 'faux', faux_egg_options) - >>> scripts.links - ['example.com'] - >>> import zc.buildout.easy_install - >>> old_install = zc.buildout.easy_install.install - >>> old_scripts = zc.buildout.easy_install.scripts - >>> def whatever(*args, **kwargs): pass - >>> zc.buildout.easy_install.install = whatever - >>> zc.buildout.easy_install.scripts = whatever - >>> scripts.install() # This used to fail! - >>> zc.buildout.easy_install.install = old_install - >>> zc.buildout.easy_install.scripts = old_scripts -""" - -def setUp(test): - zc.buildout.tests.easy_install_SetUp(test) - zc.buildout.testing.install_develop('zc.recipe.egg', test) - -def setUpSelecting(test): - zc.buildout.testselectingpython.setup(test) - zc.buildout.testing.install_develop('zc.recipe.egg', test) - -def test_suite(): - suite = unittest.TestSuite(( - doctest.DocFileSuite( - 'README.txt', - setUp=setUp, tearDown=zc.buildout.testing.buildoutTearDown, - checker=renormalizing.RENormalizing([ - zc.buildout.testing.normalize_path, - zc.buildout.testing.normalize_endings, - zc.buildout.testing.normalize_script, - zc.buildout.testing.normalize_egg_py, - zc.buildout.tests.normalize_bang, - zc.buildout.tests.hide_distribute_additions, - (re.compile('zc.buildout(-\S+)?[.]egg(-link)?'), - 'zc.buildout.egg'), - (re.compile('[-d] (setuptools|distribute)-[^-]+-'), - 'setuptools-X-'), - (re.compile(r'eggs\\\\demo'), 'eggs/demo'), - (re.compile(r'[a-zA-Z]:\\\\foo\\\\bar'), '/foo/bar'), - # Distribute unzips eggs by default. - (re.compile('\- demoneeded'), 'd demoneeded'), - ]) - ), - doctest.DocFileSuite( - 'api.txt', - setUp=setUp, tearDown=zc.buildout.testing.buildoutTearDown, - checker=renormalizing.RENormalizing([ - zc.buildout.testing.normalize_path, - zc.buildout.testing.normalize_endings, - zc.buildout.tests.hide_distribute_additions, - (re.compile('__buildout_signature__ = ' - 'sample-\S+\s+' - 'zc.recipe.egg-\S+\s+' - '(setuptools|distribute)-\S+\s+' - 'zc.buildout-\S+\s*' - ), - '__buildout_signature__ = sample- zc.recipe.egg-\n'), - (re.compile('executable = [\S ]+python\S*', re.I), - 'executable = python'), - (re.compile('find-links = http://localhost:\d+/'), - 'find-links = http://localhost:8080/'), - (re.compile('index = http://localhost:\d+/index'), - 'index = http://localhost:8080/index'), - ]) - ), - doctest.DocFileSuite( - 'custom.txt', - setUp=setUp, tearDown=zc.buildout.testing.buildoutTearDown, - checker=renormalizing.RENormalizing([ - zc.buildout.testing.normalize_path, - zc.buildout.testing.normalize_endings, - zc.buildout.tests.hide_distribute_additions, - zc.buildout.tests.hide_zip_safe_message, - (re.compile("(d ((ext)?demo(needed)?|other)" - "-\d[.]\d-py)\d[.]\d(-\S+)?[.]egg"), - '\\1V.V.egg'), - (re.compile('extdemo.c\n.+\\extdemo.exp\n'), ''), - (re.compile('extdemo[.]pyd'), 'extdemo.so') - ]), - ), - doctest.DocTestSuite( - setUp=setUp, tearDown=zc.buildout.testing.buildoutTearDown, - ), - )) - - if sys.version_info[:2] != (2, 4): - # Only run selecting python tests if not 2.4, since - # 2.4 is the alternate python used in the tests. - suite.addTest( - doctest.DocFileSuite( - 'selecting-python.txt', - setUp=setUpSelecting, - tearDown=zc.buildout.testing.buildoutTearDown, - checker=renormalizing.RENormalizing([ - zc.buildout.testing.normalize_path, - zc.buildout.testing.normalize_endings, - zc.buildout.testing.normalize_script, - zc.buildout.tests.hide_distribute_additions, - (re.compile('Got (setuptools|distribute) \S+'), - 'Got setuptools V'), - (re.compile('([d-] )?(setuptools|distribute)-\S+-py'), - 'setuptools-V-py'), - (re.compile('-py2[.][0-35-9][.]'), 'py2.5.'), - (re.compile('zc.buildout-\S+[.]egg'), - 'zc.buildout.egg'), - (re.compile('zc.buildout[.]egg-link'), - 'zc.buildout.egg'), - # Distribute unzips eggs by default. - (re.compile('\- demoneeded'), 'd demoneeded'), - ]), - ), - ) - - return suite - -if __name__ == '__main__': - unittest.main(defaultTest='test_suite') - diff --git a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/tests.pyo b/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/tests.pyo Binary files differdeleted file mode 100644 index 377e52e..0000000 --- a/eggs/zc.recipe.egg-1.3.2-py2.6.egg/zc/recipe/egg/tests.pyo +++ /dev/null |