{ "info": { "author": "Grok Team", "author_email": "grok-dev@zope.org", "bugtrack_url": null, "classifiers": [ "Framework :: Buildout", "Intended Audience :: Developers", "License :: OSI Approved :: Zope Public License", "Topic :: Software Development :: Build Tools", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Change history\n**************\n\n.. Note: when releasing a new version of this package, also update the\n.. versions.cfg templates in grokproject as z3c.recipe.eggbasket is\n.. pinned there.\n\n\n0.4.3 (2009-09-15)\n==================\n\n- Stop using an API internal to zc.buildout for retrieving versions\n information. This fixes breakage with the latest buildout version.\n\n\n0.4.2 (2009-06-09)\n==================\n\n* Made the automated tests work when running bin/test.\n\n* Fixed Windows problem: sometimes on Windows temporary dirs/files\n cannot be removed while installing. Now a warning is issued and the\n process continues. Fix contributed by Ben Dadsetan.\n https://bugs.launchpad.net/grok/+bug/362833\n\n* Fixed another annoyance with duplicate output lines.\n https://bugs.launchpad.net/grok/+bug/321178\n\n* When the download-cache has been set in buildout.cfg or in\n .buildout/default.cfg in the user's home directory, download the\n tarball there and do not throw it away afterwards.\n\n* Fixed an issue with Windows interaction in the urllib module.\n https://bugs.launchpad.net/grok/+bug/362833\n\n* Fixed minor doctest issue where the expected output order\n was not respected on Mac.\n\n0.4.1 (2009-01-12)\n==================\n\n* Fixed temp dir removal error on Windows (fix makes the code saner\n for other systems too). Fixes\n https://bugs.launchpad.net/grok/+bug/315227\n\n* Windows compatibility fix: use ``'wb'`` for writing to make downloading\n of the egg tarball succeeds on Windows.\n\n0.4.0 (2008-09-22)\n==================\n\n* When the download fails, do not say \"Continuing with buildout\n instead\" as the downloader just exits then and it is up to the\n calling code or the user to continue the buildout if so wished.\n [maurits]\n\n* When installing the requirements from the tarball, we now look in\n the default index (python cheese shop usually) when the requirements\n can not be met by only the tarball. This should not happen, but it\n does. [maurits]\n\n0.3.1 (2008-07-13)\n==================\n\n* Got rid of annyoing \"Unused options for basket: url\" warning.\n\n0.3.0 (2008-05-30)\n==================\n\n* Now also downloading extra Windows specific eggs when creating the\n tarball, as long as they are on the cheese shop. [maurits]\n\n0.2.0 (2008-05-22)\n==================\n\n* Created script around create_source_tarball function with the\n z3c.recipe.eggbasket:creator recipe. Removed the releasemaker\n console script from setup.py for now as it was not handling command\n line arguments (yet). [maurits]\n\n* Added function create_source_tarball for creating the kind of source\n tarball that we are expecting. The releasemaker console script\n calls this. [maurits]\n\n0.1.0 (2008-05-06)\n==================\n\n* Added tests. [maurits]\n\n* Initial implementation. [maurits, timte]\n\n* Created recipe with ZopeSkel. [Grok Team].\n\nDetailed Documentation\n**********************\n\nGoal of this recipe\n===================\n\nYou have an egg (for example ``grok``) that has a lot of dependencies.\nOther eggs that it depends on are found on the cheeseshop, on\nsourceforge, and perhaps on some more servers. When even one of these\nservers is down, other people (or you yourself) cannot install that\negg. Or perhaps your egg depends on a specific version of another egg\nand that version is removed from the cheeseshop for some bad reason.\n\nIn other words: there are multiple points of failure. Interested\nusers want to try your egg, the install fails because a server is\ndown, they are disappointed, leave and never come back.\n\nThe goal of this recipe is to avoid having those multiple points of\nfailure. You create a tarball containing all eggs that your egg\ndepends on. A package like zc.sourcerelease_ can help here, but our\nrecipe can also create such a tar ball. Include it in a buildout like\nthis::\n\n [buildout]\n parts = bundlemaker\n\n [bundlemaker]\n recipe = z3c.recipe.eggbasket:creator\n egg = grok\n versionfile = http://grok.zope.org/releaseinfo/grok-0.12.cfg\n\nAfter you have made that tar ball, you need to upload it somewhere.\nIn your buildout you point this recipe to your egg and the url of the\ntarball, for example like this::\n\n [buildout]\n parts = eggbasket\n\n [eggbasket]\n recipe = z3c.recipe.eggbasket\n eggs = grok\n url = http://grok.zope.org/releaseinfo/grok-eggs-0.12.tgz\n\nThe part using this recipe should usually be the first in line. What\nthe recipe then does is install your egg and all its dependencies\nusing only the eggs found in that tarball. After that you can let the\nrest of the buildout parts do their work.\n\n.. _zc.sourcerelease: http://pypi.python.org/pypi/zc.sourcerelease\n\n\nLimitations\n===========\n\n1. This approach still leaves you with multiple points of failure:\n\n - the cheeseshop must be up so the end user can install this recipe\n\n - the server with your tarball must be up.\n\n2. Before buildout calls the install method of this recipe to do the\n actual work, all buildout parts are initialized. This means that\n all eggs and dependencies used by all recipes are installed. This\n can already involve a lot of eggs and also multiple points of\n failure. Workaround: you can first explicitly install the part\n that uses this recipe. So with the buildout snippet from above\n that would be::\n \n bin/buildout install eggbasket\n\n\nSupported options\n=================\n\nThe recipe supports the following options:\n\neggs\n One or more eggs that you want to install with a tarball.\n\nurl\n Url where we can get a tarball that contains the mentioned eggs\n and their dependencies.\n\n\nThe releasemaker script supports the following options:\n\negg\n The main egg that we want to bundle up with its dependencies.\n This is required.\n\nversionfile\n Config file that contains the wanted versions of the main egg and\n its dependencies. An example is the grok version file:\n http://grok.zope.org/releaseinfo/grok-0.12.cfg\n This file is parsed by zc.buildout, so you can for example extend\n other files. And the file can be a url or the name of a file in\n the current directory.\n\n\nExample usage\n=============\n\nWe have a package ``orange`` that depends on the package ``colour``::\n\n >>> import os.path\n >>> import z3c.recipe.eggbasket.tests as testdir\n >>> orange = os.path.join(os.path.dirname(testdir.__file__), 'orange')\n >>> colour = os.path.join(os.path.dirname(testdir.__file__), 'colour')\n\nWe create source distributions for them in a directory::\n\n >>> colours = tmpdir('colours')\n >>> sdist(colour, colours)\n >>> sdist(orange, colours)\n >>> ls(colours)\n - colour-0.1.zip\n - orange-0.1.zip\n\nWe will define a buildout template that uses the recipe::\n\n >>> buildout_template = \"\"\"\n ... [buildout]\n ... index = http://pypi.python.org/simple\n ... parts = basket\n ...\n ... [basket]\n ... recipe = z3c.recipe.eggbasket\n ... eggs = %(eggs)s\n ... url = %(url)s\n ... \"\"\"\n\nWe'll start by creating a buildout that does not specify an egg::\n\n >>> write('buildout.cfg', buildout_template % { 'eggs': '', 'url' : 'http://nowhere'})\n\nIn this case the recipe will do nothing. So the url does not get\nused. Running the buildout gives us::\n\n >>> print 'start..\\n', system(buildout)\n start.. \n ...\n Installing basket.\n \n\nNext we will specify an egg but refer to a bad url::\n\n >>> write('buildout.cfg', buildout_template % { 'eggs': 'orange', 'url' : 'http://nowhere'})\n >>> print system(buildout)\n Uninstalling basket.\n Installing basket.\n Couldn't find index page for 'orange' (maybe misspelled?)\n Getting distribution for 'orange'.\n eggbasket: Not all distributions are installed. A tarball will be downloaded.\n eggbasket: Downloading http://nowhere ...\n eggbasket: Url not found: http://nowhere.\n \n\nSo now we create a tar ball in a directory::\n\n >>> import tarfile\n >>> tarserver = tmpdir('tarserver')\n >>> cd(tarserver)\n >>> tarball = tarfile.open('colours.tgz', 'w:gz')\n >>> tarball.add(colours)\n\nNote: the order of the next listing is not guaranteed, so there might\nbe a test failure here:\n\n >>> tarball.list(verbose=False)\n tmp/tmpDlQSIQbuildoutSetUp/_TEST_/colours/\n tmp/tmpDlQSIQbuildoutSetUp/_TEST_/colours/colour-0.1.zip\n tmp/tmpDlQSIQbuildoutSetUp/_TEST_/colours/orange-0.1.zip\n\n >>> tarball.close()\n >>> ls(tarserver)\n - colours.tgz\n\nWe make it available on a url and use it in our buildout::\n\n >>> cd(sample_buildout)\n >>> tarball_url = 'file://' + tarserver + '/colours.tgz'\n >>> write('buildout.cfg', buildout_template % { 'eggs': 'orange', 'url' : tarball_url})\n >>> print system(buildout)\n Uninstalling basket.\n Installing basket.\n Couldn't find index page for 'orange' (maybe misspelled?)\n Getting distribution for 'orange'.\n eggbasket: Not all distributions are installed. A tarball will be downloaded.\n eggbasket: Downloading /tarserver/colours.tgz ...\n eggbasket: Finished downloading.\n eggbasket: Extracting tarball contents...\n eggbasket: Installing eggs to /sample-buildout/eggs which will take a while...\n Getting distribution for 'orange'.\n Got orange 0.1.\n Getting distribution for 'colour'.\n Got colour 0.1.\n \n\nContributors\n************\n\nGrok Team:\n\nMaurits van Rees\nTim Terlegard\n\nDownload\n********", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://launchpad.net/grok", "keywords": "", "license": "ZPL", "maintainer": null, "maintainer_email": null, "name": "z3c.recipe.eggbasket", "package_url": "https://pypi.org/project/z3c.recipe.eggbasket/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/z3c.recipe.eggbasket/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://launchpad.net/grok" }, "release_url": "https://pypi.org/project/z3c.recipe.eggbasket/0.4.3/", "requires_dist": null, "requires_python": null, "summary": "Install eggs from a tarball and create that egg.", "version": "0.4.3" }, "last_serial": 748454, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "98c0be58e43a0228a8d8bbf4658b271f", "sha256": "026411bfecb5a4792e48a4756f6459445e09a3106d3a4a540fa7493c2087f0f4" }, "downloads": -1, "filename": "z3c.recipe.eggbasket-0.1.0.tar.gz", "has_sig": false, "md5_digest": "98c0be58e43a0228a8d8bbf4658b271f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7981, "upload_time": "2008-05-05T23:56:41", "url": "https://files.pythonhosted.org/packages/86/f2/73ebcec36686f6aff99d8513952c79766b70512320cbbc85a4f3b4c7e08b/z3c.recipe.eggbasket-0.1.0.tar.gz" } ], "0.1.0dev-r86474": [], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4ed1c0737662387635c731ba63804e95", "sha256": "1216bb49ce4a7acf74e931c9bbd8389b688abe00e50ca8c06d343929634cfb3d" }, "downloads": -1, "filename": "z3c.recipe.eggbasket-0.2.0.tar.gz", "has_sig": false, "md5_digest": "4ed1c0737662387635c731ba63804e95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12384, "upload_time": "2008-05-21T22:19:11", "url": "https://files.pythonhosted.org/packages/3e/cb/db0c3ce3f0049cd8c098d4843f5aae5ae787a6be6e3f4578c4e848e24efd/z3c.recipe.eggbasket-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "09c22569ceff0dfe90b6d6c52bf55b15", "sha256": "5c142727fb9d859223a34657ca99e1226f40f4b307964dd605c452bd82480bdd" }, "downloads": -1, "filename": "z3c.recipe.eggbasket-0.3.0.tar.gz", "has_sig": false, "md5_digest": "09c22569ceff0dfe90b6d6c52bf55b15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13113, "upload_time": "2008-05-29T18:59:42", "url": "https://files.pythonhosted.org/packages/49/ba/837b319408cdcfa7f941db4f5b4cd79e35a78870b3eccee44b21091716d9/z3c.recipe.eggbasket-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "ed83172a13624fc47502c09a282e60ba", "sha256": "9f6e98f5591a4e36821e7325d1930438e5c973fbdb0b59bff747fbb235493637" }, "downloads": -1, "filename": "z3c.recipe.eggbasket-0.3.1.tar.gz", "has_sig": false, "md5_digest": "ed83172a13624fc47502c09a282e60ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13158, "upload_time": "2008-07-13T20:27:45", "url": "https://files.pythonhosted.org/packages/fd/c1/3f643a86f8fb458c7a3e2f285543487e44449682c5fe9a1cc23046ea6619/z3c.recipe.eggbasket-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "32263b1d68f4cf733ba638ca597758ec", "sha256": "dd0d47a3f7645e0676e93a3d456614af68fb76dfe2c5bb2e4bcf63a86f40f756" }, "downloads": -1, "filename": "z3c.recipe.eggbasket-0.4.0.tar.gz", "has_sig": false, "md5_digest": "32263b1d68f4cf733ba638ca597758ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11093, "upload_time": "2008-09-22T09:23:21", "url": "https://files.pythonhosted.org/packages/03/5f/08d4276f12abaf5945077c57408067718fe24bfa26f19d7989c5c2f2ef4b/z3c.recipe.eggbasket-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "4ba5e1e4b13f70101cba793f8a3fa6da", "sha256": "50927a59e516ddac1bec7e35dbb607b0452d29bf07bf822b99bb339fd40c99f1" }, "downloads": -1, "filename": "z3c.recipe.eggbasket-0.4.1.tar.gz", "has_sig": false, "md5_digest": "4ba5e1e4b13f70101cba793f8a3fa6da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11406, "upload_time": "2009-01-12T19:25:35", "url": "https://files.pythonhosted.org/packages/27/69/691a4c8cf8f12ae7f52a6bbf5d5871dfec3d7444cbdd867fcf40868b72f3/z3c.recipe.eggbasket-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "a9f804da773a94834b9d028501cfbdb3", "sha256": "8c943c2f0488003f586c6d218606a6a7f444b397e555f381a0246002db06ba92" }, "downloads": -1, "filename": "z3c.recipe.eggbasket-0.4.2.tar.gz", "has_sig": false, "md5_digest": "a9f804da773a94834b9d028501cfbdb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15335, "upload_time": "2009-06-09T23:53:54", "url": "https://files.pythonhosted.org/packages/fd/65/0580f04fc20cf98bb6acb8a275ec29fef66496c7f7cce6ce9f5666cf9f88/z3c.recipe.eggbasket-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "f3afab7e7557c01aa403baafec102c03", "sha256": "2f8fd3de2b614ee6e1a8a7ea3ee57372d1e7133a1aa256858877cd851c2cc50d" }, "downloads": -1, "filename": "z3c.recipe.eggbasket-0.4.3.tar.gz", "has_sig": false, "md5_digest": "f3afab7e7557c01aa403baafec102c03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14503, "upload_time": "2009-09-15T10:41:17", "url": "https://files.pythonhosted.org/packages/dd/6c/622d9ed6653e1b2d679cea5c8b11e645d5e9771456cd21e1a22996fabeb8/z3c.recipe.eggbasket-0.4.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f3afab7e7557c01aa403baafec102c03", "sha256": "2f8fd3de2b614ee6e1a8a7ea3ee57372d1e7133a1aa256858877cd851c2cc50d" }, "downloads": -1, "filename": "z3c.recipe.eggbasket-0.4.3.tar.gz", "has_sig": false, "md5_digest": "f3afab7e7557c01aa403baafec102c03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14503, "upload_time": "2009-09-15T10:41:17", "url": "https://files.pythonhosted.org/packages/dd/6c/622d9ed6653e1b2d679cea5c8b11e645d5e9771456cd21e1a22996fabeb8/z3c.recipe.eggbasket-0.4.3.tar.gz" } ] }