- evolution-kolab - How to create Debian/Ubuntu packages
- Creating Ubuntu (debian) packages from evolution-kolab git Repo
evolution-kolab - How to create Debian/Ubuntu packages
Creating Ubuntu (debian) packages from evolution-kolab git Repo
Creating the source tarball
cd into the evolution-kolab git, checkout the desired branch. Clean up all remains of prior builds! Invoke autogen.sh and supply --enable-gtk-doc, otherwise building the tarball won't work. Remember: evo-kolab's autogen.sh currently requires to be called with absolute path. Then build the project with make, then make dist. If make dist runs successfully, a source tarball is created in the project (build) directory. It's name is derived from the package and version setting of AC_INIT in configure.ac.
Example: For the following we assume the release/version to be 0.0.7.
$ cd $EVO_KOLAB_PATH $ $EVO_KOLAB_PATH/autogen.sh --enable-gtk-doc $ make $ make dist $ ls evolution-kolab*.tar.gz evolution-kolab-0.0.7.tar.gz
make dist will not work, if plain make wasn't invoked before. This presumably is a bug, we ignore for the time being, in order to get things running. --enable-gtk-doc has to be set, too, else, make dist will fail. For further information about make dist, check out Automake dist section, Gnu Coding Standards.
Creating the source packages
Rename (copy) the source tarball to evolution-kolab_0.0.7.orig.tar.gz. Extract its content and change into the extracted directory. Create a new, empty directory debian there. Into the debian directory, recursively copy the contents of the debian directory from the evolution-kolab-packaging git repositository (get it from the evolution-kolab SourceForge page). Alternatively, you may just bindmount the latter to the former directory using mount --bind srcdir dstdir (see man 8 mount). Symlinking may work but can be a source of trouble with package building tools (YMMV).
Finally call debuild -S in the evolution-kolab-0.0.7 directory. You need a working GPG setup to successfully sign the source package files debuild creates.
Creating the binary packages
Change into the parent directory. There you will find the files belonging to the source package, e.g.:
evolution-kolab_0.0.7-2.dsc evolution-kolab_0.0.7-2.tar.gz evolution-kolab_0.0.7-2_source.build evolution-kolab_0.0.7-2_source.changes
If your pbuilder environment is already setup correctly, you can build the packages by entering:
$ sudo pbuilder build evolution-kolab_0.0.7-2.dsc
For more information on how to setup your build environment, take a look at HowtoSetupPbuilder
Addtional software to build, to satisfy the build requirements
Building packages required for evolution-kolab build
Get the files for the modified curl source package:
curl_7.19.7-1ubuntu3.diff.gz curl_7.19.7-1ubuntu3.dsc curl_7.19.7-1ubuntu3_source.build curl_7.19.7-1ubuntu3_source.changes
sudo pbuilder build curl_7.19.7-1ubuntu3.dsc
If this completed successfully, cd into /var/cache/pbuilder/results and invoke:
sudo dput -u -f local curl_7.19.7-1ubuntu3_i386.changes
You may need to run mini-dinstall as a daemon once, so it will create it's directory structures where it will store the package files. Once the directory layout is created, calling dput suffices (it will call mini-dinstall in batch mode as it moves along). Make sure the user you're calling the pbuilder tool as has sufficient permissions on the directory mini-dinstall places the packages in.
Remember to update your pbuilder environment to include the changes:
sudo pbuilder update
You may need to supply --overide-config here, too, for pbuilder to update it's base.tgz tarball, depending on your setup.