Skip to main content

ZC Buildout recipe for freezing buildouts in RPM's, tar.gz's, etc

Project description

Introduction
============

This recipe enables you to freeze your whole buildout in a RPM, tgz's, etc.
You can specify the package details, the installation prefix, and the eggs and
scripts that must be copied to the package.

Only RPM packing is currently implemented.

This recipe is EXPERIMENTAL and quite unstable, so use at your own risk...

.. contents::

- PyPI page: http://pypi.python.org/pypi?:action=display&name=as.recipe.frozenpkg

Options
=======

pkg-name
Mandatory. The package name.

pkg-version
The package version.

pkg-vendor
The package vendor.

pkg-packager
The packager.

pkg-url
The package URL.

pkg-license
The license.

pkg-deps
Package dependencies. It must be a space-separated list of RPM packages.

pkg-prefix
The installation prefix. Default: /opt/pkg-name

pkg-pre-install
Shell commands to run before installing the RPM

pkg-post-install
Shell commands to run after installing the RPM

eggs
The list of eggs that must be copied to the RPM package.

eggs-skip
A list of eggs to always skip when copying to the package.

scripts
The scripts that will be copied to the package. Tese scripts will have their paths relocated to the installation prefix.

extra-dirs
Any additional directories to create in the package (ie, _"logs"_).

extra-copies
Any additional extra copies. They must be specified as "orig -> dest", where orig can be any valid glob expression, and dest must be a path relative to install-prefix.

extra-cleanups
Any additional files that must be removed in the package.

attr-def-user
Default user for files ownership (defaults to "root").

attr-def-group
Default group for files ownership (defaults to "root").

attr-def-mode
Default mode for files ownership (defaults to 0755).

attr-conf
Matching files will be marked as configuration files.

dereference:
Derefence symbolic links, archieving the link target.

Example
=======


[rpm]
recipe = as.recipe.frozenpkg:rpm
pkg-name = testapp
pkg-version = 1.0
pkg-vendor = The Vendor
pkg-packager = My Company
pkg-url = http://www.mycomp.com
pkg-license = GPL
pkg-deps =
libevent
openssl
pkg-prefix = /opt/testapp
pkg-pre-install =
echo "Installing at ${buildout:pkg-prefix}"

pkg-post-install =
echo "Installed at ${buildout:pkg-prefix}"

eggs = ${main:eggs}

eggs-skip =
pip
extra-copies =
/usr/local/lib/mylib.so -> lib/
/usr/local/lib/myextras*.so -> lib/
conf/some-local-config.cfg -> conf/
extra-dirs =
logs
var/run
extra-cleanups =
bin/activate.*

debug = yes

attr-conf = conf/*.conf

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
as.recipe.frozenpkg-0.2.26-py2.7.egg (20.5 kB) Copy SHA256 hash SHA256 Egg 2.7
as.recipe.frozenpkg-0.2.26.tar.gz (8.2 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page