skip to navigation
skip to content

as.recipe.frozenpkg 0.2.13

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

Downloads ↓

Introduction

This recipe enables you to freeze your 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...

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.
install-prefix
The installation prefix. Default: /opt/pkg-name
eggs
The list of eggs that must be copied to the RPM package.
python-version
The python version that will be copied to the package.
sys-python
The python binary that we should copy to the package. Default: the python in the virtualenv.
sys-lib
The system libraries directory. Default: the library of the sys-python when provided, or the lib directory in the virtualenv otherwise.
scripts
The scripts from the bin directory that will be copied to the package. These scripts will have their paths relocated to the installation prefix.
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.
pre-install
Shell commands to run before installing the RPM
post-install
Shell commands to run after installing the RPM

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

install-prefix = /opt/testapp

eggs = ${buildout:eggs}

sys-python = /usr/lib/python2.6

scripts =
testapp
extra-copies =
/usr/lib/libpython* -> lib/ /usr/local/lib/mylib.so -> lib/ /usr/local/lib/myextras*.so -> lib/
pre-install =
echo "Installing at ${buildout:pkg-prefix}"
post-install =
echo "Installed at ${buildout:pkg-prefix}"

debug = yes

Known Bugs

  • You must comment out the prelink_undo_cmd at /etc/rpm/macros.prelink, or the RPM generated will fail to install.
 
File Type Py Version Uploaded on Size # downloads
as.recipe.frozenpkg-0.2.13-py2.6.egg (md5) Python Egg 2.6 2010-06-14 24KB 804
as.recipe.frozenpkg-0.2.13.tar.gz (md5) Source 2010-06-14 10KB 456