Skip to main content

This run-script URL allows you to specify an arbitrary script to do the work of the recipe.

Detailed Documentation

The runscript Buildout Recipe

Some software packages are not easily installed using established build patterns, such as “configure, make, make install”. In those cases you want to be able to use arbitrary scripts to build a particular part. This recipe provides a simple implementation to run a Python callable for each installing and updating a part.

>>> import os
>>> import z3c.recipe.runscript.tests
>>> scriptFilename = os.path.join(
...     os.path.dirname(z3c.recipe.runscript.tests.__file__), 'fooscripts.py')

Let’s create a sample buildout to install it:

>>> write('buildout.cfg',
... """
... [buildout]
... parts = foo
...
... [foo]
... recipe = z3c.recipe.runscript
... install-script = %s:installFoo
... """ %scriptFilename)

The install-script option specifies the module and the function to call during the part installation. The function takes the local and buildout options as arguments. See tests/fooscripts.py for details.

When running buildout, the installFoo() function is called:

>>> print system('bin/buildout')
Installing foo.
Now executing ``installFoo()``

If we run the buildout again, the update method will be called, but since we did not specify any, nothing happens:

>>> print system('bin/buildout')
Updating foo.

Let’s now specify the update script as well, causing the updateFoo() function to be called:

>>> write('buildout.cfg',
... """
... [buildout]
... parts = foo
...
... [foo]
... recipe = z3c.recipe.runscript
... install-script = %s:installFoo
... update-script = %s:updateFoo
... """ %(scriptFilename, scriptFilename))

But after a change like that, parts will be uninstalled and reinstalled:

>>> print system('bin/buildout')
Uninstalling foo.
Installing foo.
Now executing ``installFoo()``

Only now we can update the part:

>>> print system('bin/buildout')
Updating foo.
Now executing ``updateFoo()``

And that’s it.

CHANGES

0.1.3 (2011-10-07)

  • Bug: fix Windows path support (containing semicolon such as ‘c:')

0.1.2 (2010-09-22)

  • Added test extra to declare test dependency on zope.testing.

  • Using Python’s doctest module instead of depreacted zope.testing.doctest.

0.1.1 (2008-04-18)

  • Bug: Fix release to include CHANGES.txt.

0.1.0 (2007-07-30)

  • Initial Release.

Metadata

Release files for z3c.recipe.runscript 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for z3c.recipe.runscript 0.1.3
File Size Uploaded Provenance
z3c.recipe.runscript-0.1.3.tar.gz 5.9 kB Without provenance Details

Release files / z3c.recipe.runscript-0.1.3.tar.gz

Download URL z3c.recipe.runscript-0.1.3.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e93f2b2481ecdbf78b31771f07ab9f36ec393439753727df49a6536bff898f69
BLAKE2b-256 checksum
How to use checksums
c358346fee851292434fecf5d9381a9bff7d734da512ce2a700f9188033cedb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for z3c.recipe.runscript 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page