The pkgme program is a framework for generating Debian packaging artifacts
from information gleaned from inspecting the code. The framework takes care
of the common tasks, and knows about packaging in general. It is extensible
so that programming language-specific conventions and rules can be supported.
pkgme development is hosted on Launchpad. Please see the project page
for downloads, bug reports, and accessing the latest code (available in the
Bazaar version control system). You can also subscribe to the pkgme mailing
list for discussions on using and extending pkgme. The archives are
also available on-line.
In addition to the various Python modules documented in setup.py,
pkgme depends on devscripts and debhelper.
To get a development environment set up (using buildout) run:
$ make bootstrap
You can then run the tests with
$ make check
The bootstrap will fail if you have a system-wide install of buildout that
is the same version as the one in use by this project. (You will see
DistributionNotFound: zc.buildout==<version>). If you encounter
that then you can either remove the site-wide install, or use a virtualenv
to run the bootstrap step.
You can get a shell to try code interactively by running ./bin/py.
Buildout uses two directories as caches that can be shared between branches.
The first is the download-cache directory. This contains all of the
distributions of the Python dependencies. You can get this from
lp:ca-download-cache, but the Makefile will grab it for you.
The other directory is the eggs directory that holds built versions
of the dependencies.
The default for both of these is to symlink them from the parent directory,
but if you wish to put them somewhere else you can set the locations with
the CA_DOWNLOAD_CACHE_DIR and CA_EGGS_DIR environment variables.
If you want to override the default location of the backends, set the
environment variable $PKGME_BACKEND_PATHS. This is a colon-separated list
of directories, for example:
% export PKGME_BACKEND_PATHS=/pkgme/foo-backends:/pkgme/bar-backends % cd my-about-to-be-packaged-code % ~/path/to/branch/bin/pkgme
If you have the Sphinx toolchain installed (on Debian/Ubuntu, the python-sphinx package), you can build the documentation like so:
% make html
You'll need to be in your virtualenv, and you should have installed pkgme
in that virtualenv before trying to build the documentation.