1. Download and install Virtualbox 4.2.12+ (This was made using 4.2.12) from their website. 2. Download and install Vagrant from www.vagrantup.com 3. Download the [http://dl.mapgears.com/ubuntugis/Vagrantfile Vagrantfile] and the[http://dl.mapgears.com/ubuntugis/bootstrap.sh boostrap.sh] script and put them in the directory where the VM will live, you'll be able to access any files in this directory from inside the VM /vagrant/. ie: ~/vm/ubuntugis/ 4. In the vm folder, run {{{ vagrant up }}} "{{{vagrant up}}}" will take care of installing everything you need for packaging. Once it's done you can access the vm with "{{{vagrant ssh}}}". 5. We need to setup the GPG key to sign the packages in the VM. On the host machine create a GPG key if you haven't already then do {{{ mkdir ~/vm/ubuntugis/keys gpg --export -o ~/vm/ubuntugis/keys/public_key gpg --export-secret-keys -o ~/vm/ubuntugis/keys/private_key }}} Then from inside the VM. {{{ cd /vagrant/keys gpg --import public_key gpg --import private_key }}} 6. We also have to add some environment variables. Let's modify our ~/.bashrc {{{ export DEBFULLNAME="Full Name" export DEBEMAIL="email@mail.com" export GPGKEY=YOURKEY export QUILT_PATCHES=debian/patches }}} You can get your GPGKEY using "{{{gpg --list-keys}}}" 7. You should also add the ubuntugis to your dput config file. Create and modify {{{~/.dput.cf}}} {{{ [ubuntugis-unstable] fqdn = ppa.launchpad.net method = ftp incoming = ~ubuntugis/ubuntugis-unstable/ubuntu/ login = jlarouche // change that! allow_unsigned_uploads = 0 }}} This will let you upload using "{{{dput ubuntugis-unstable package_sources.changes}}}" The environment is pretty much set now. I suggest using the /vagrant/packages directory (~/vm/ubuntugis/packages on the host) for your packages, that way you can edit some files from the host and only use Vagrant for the packaging/build. The pbuilder-dist environments that were setup by the bootstrap script are SID, Lucid, Precise, Quantal and Raring each in i386 and amd64.