This page gives a good introduction to getting started with Parcel. This assumes you already have Parcel installed. If you do not, head over to the Installation section.
You will also need to have a build host set up that you can use to build some packages. You could setup a Debian machine to be a build host for this quickstart guide.
From here on in we assume that your build host is a Debian machine available with the name debian.localdomain. Replace that name where it occurs below with your own Debian machine’s hostname or IP address. Let’s get started with some simple examples.
Making a package is very simple. Begin by going to the base directory of your project and making a file fabfile.py.
Then in that file write the following:
from parcel.deploy import Deployment
env.app_name = "myapp"
@task
def deb():
deploy = Deployment(env.app_name)
deploy.prepare_app()
deploy.build_package()
Now save the fabfile and at the commandline issue:
$ fab -H debian.localdomain deb
When the build is finished you should have a file myapp_0.0.1_all.deb:
$ ls -l *.deb
If you want to see what’s been put in the package, use the deb_ls target found in parcel.probes. First add the following to fabfile.py:
from parcel.probes import *
Then you can use deb_ls to list the contents of the package:
$ fab -H debian.localdomain deb_ls:myapp_0.0.1_all.deb
You will see that the package consists of all the files in your source directory. This is the simplest form of packaging. This is not that useful as it is only the files. But from here your fabfile can expand to implement some deployment scenarios.
If you look at the packages control files with:
$ fab -H debian.localdomain deb_control:myapp_0.0.1_all.deb
you will notice the package we have built contains no install or remove scripts. You can also see a filesystem tree of the final installed package with:
$ fab -H debian.localdomain deb_tree:myapp_0.0.1_all.deb