Buildout Release 1.2.1
Total Page:16
File Type:pdf, Size:1020Kb
Buildout Release 1.2.1 Jim Fulton Nov 20, 2017 Contents 1 Screencasts 1 1.1 A Brief Introduction to Buildout.....................................1 1.2 Using buildout to install Zope and Plone................................1 2 Talks 3 2.1 How AlterWay releases web applications using zc.buildout.......................3 2.2 Buildout for pure Python projects....................................3 2.3 Buildout lightning talk..........................................3 2.4 Delivering egg-based applications with zc.buildout, using a distributed model.............3 3 Slides 5 3.1 Django & Buildout............................................5 3.2 Delivering applications with zc.buildout and a distributed model....................5 3.3 Buildout and Plone............................................5 3.4 Python eggs, zc.buildout, zopeproject and zope3............................5 3.5 Reaching Deployment Nirvana Using Buildout.............................5 4 What people says about Buildout ?7 5 Overview of the Installation Process9 6 Directory Structure of a Buildout 11 7 Use Case - A Single Module 15 8 Buildout Documentation 17 8.1 Getting Started.............................................. 17 8.2 Tutorials................................................. 17 8.3 Creating Recipes............................................. 17 8.4 List of Recipes.............................................. 17 8.5 Links................................................... 18 9 Buildout Tutorial 19 9.1 What is zc.buildout?........................................... 19 9.2 Coarse-grained building......................................... 19 9.3 Python-based............................................... 20 9.4 Working with eggs............................................ 20 9.5 zc.buildout and eggs........................................ 20 i 9.6 zc.buildout current status......................................... 21 9.7 A Python Egg Primer........................................... 21 9.8 Egg jargon................................................ 21 9.9 Entry points............................................... 22 9.10 Buildout overview............................................ 23 9.11 Buildout overview (continued)...................................... 23 9.12 Quick intro................................................ 23 9.13 zope.event project files....................................... 24 9.14 zope.event buildout.cfg.......................................... 24 9.15 Buildout steps.............................................. 25 9.16 Exercise 1................................................ 26 9.17 buildout layout.............................................. 26 9.18 Common buildout use cases....................................... 26 9.19 Creating eggs............................................... 27 9.20 A Minimal/Develop setup.py ..................................... 27 9.21 Distributable setup.py ........................................ 27 9.22 Polished setup.py (1/3)........................................ 28 9.23 Polished setup.py (2/3)........................................ 29 9.24 Extras................................................... 29 9.25 zc.recipe.egg ............................................ 30 9.26 Installing eggs.............................................. 30 9.27 Installing scripts............................................. 30 9.28 Script initialization............................................ 30 9.29 Custom interpreters........................................... 31 9.30 Exercise 2................................................ 31 9.31 Custom egg building........................................... 31 9.32 Part dependencies............................................ 32 9.33 Custom develop eggs........................................... 32 9.34 Writing recipes.............................................. 32 9.35 Install Recipes.............................................. 33 9.36 mkdirrecipe.py continued...................................... 33 9.37 Uninstall recipes............................................. 34 9.38 Buildout entry points........................................... 34 9.39 Exercise 3................................................ 35 9.40 Command-line options.......................................... 35 9.41 Buildout modes.............................................. 35 9.42 ~/.buildout/default.cfg .................................... 35 9.43 Extending configurations......................................... 36 9.44 Bootstrapping from existing buildout.................................. 36 9.45 Example: ~/bin directory......................................... 37 9.46 Example: zc.sharing (1/2)........................................ 37 9.47 Example: zc.sharing (2/2)........................................ 38 9.48 Source vs Binary............................................. 38 9.49 RPM experiments............................................ 39 9.50 ZRS spec file (1/3)............................................ 39 9.51 ZRS spec file (2/3)............................................ 40 9.52 ZRS spec file (3/3)............................................ 40 9.53 Repeatability............................................... 41 9.54 Deployment issues............................................ 41 9.55 PyPI availability............................................. 41 9.56 For more information.......................................... 42 10 Developing Buildout Recipes 43 10.1 Introduction............................................... 43 ii 10.2 Initial steps................................................ 43 10.3 Packaging recipe............................................. 45 10.4 Using recipes............................................... 45 10.5 Publishing recipe to PyPI........................................ 47 10.6 Conclusion................................................ 47 11 Links 49 12 Buildout Recipes 51 12.1 zc.recipe.egg............................................... 51 12.2 zc.zope3recipes.............................................. 51 12.3 djangorecipe............................................... 51 12.4 plone.recipe.apache........................................... 51 12.5 z3c.recipe.ldap.............................................. 52 12.6 gp.recipe.pip............................................... 52 12.7 fez.djangoskel.............................................. 52 12.8 z3c.recipe.eggbasket........................................... 52 12.9 tl.buildout_gtk.............................................. 52 12.10 rod.recipe.appengine........................................... 52 12.11 buildout_script.............................................. 52 12.12 cc.buildout_reports............................................ 52 12.13 cc.gettext................................................. 52 12.14 Collective.recipe.ant........................................... 53 12.15 collective.recipe.backup......................................... 53 12.16 collective.recipe.bootstrap........................................ 53 12.17 collective.recipe.i18noverrides...................................... 53 12.18 collective.recipe.isapiwsgi........................................ 53 12.19 collective.recipe.libsvm......................................... 53 12.20 collective.recipe.minify......................................... 53 12.21 collective.recipe.modwsgi........................................ 53 12.22 collective.recipe.mxbase......................................... 53 12.23 collective.recipe.mxodbc......................................... 54 12.24 collective.recipe.omelette........................................ 54 12.25 collective.recipe.patch.......................................... 54 12.26 collective.recipe.platform........................................ 54 12.27 collective.recipe.plonesite........................................ 54 12.28 collective.recipe.rsync_datafs...................................... 54 12.29 collective.recipe.scriptgen........................................ 54 12.30 collective.recipe.seleniumrc....................................... 54 12.31 collective.recipe.solrinstance....................................... 55 12.32 collective.recipe.sphinxbuilder...................................... 55 12.33 collective.recipe.supervisor....................................... 55 12.34 collective.recipe.template........................................ 55 12.35 collective.recipe.updateplone...................................... 55 12.36 collective.recipe.vimproject....................................... 55 12.37 collective.recipe.z2testrunner...................................... 55 12.38 collective.recipe.zcml.......................................... 55 12.39 collective.recipe.zope2cluster...................................... 55 12.40 collective.recipe.zope2wsgi....................................... 56 12.41 collective.transcode.recipe........................................ 56 12.42 gocept.cxoracle.............................................. 56 12.43 gocept.download............................................. 56 12.44 iw.recipe.cmd............................................... 56 12.45 zc.recipe.cmmi.............................................. 56 iii 12.46 zc.recipe.filestorage........................................... 56 12.47 z3c.recipe.mkdir............................................. 56 12.48 z3c.recipe.sphinxdoc........................................... 56 12.49 z3c.recipe.template............................................ 57 12.50 zest.recipe.mysql............................................