From bdd180bb7b3eca8622016067058c023cd11c0b5e Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 22 Mar 2013 03:45:09 +0100 Subject: initial version of the template --- docs/foo.pod | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 docs/foo.pod (limited to 'docs/foo.pod') diff --git a/docs/foo.pod b/docs/foo.pod new file mode 100644 index 0000000..c4cadb9 --- /dev/null +++ b/docs/foo.pod @@ -0,0 +1,113 @@ +=head1 NAME + +foo - A template project + +=head1 WTF? + +You may use this project in order to build your own Debian package for your own project. This has been tested with Debian GNU/Linux Squeeze and Debian GNU/Linux Wheezy. + +Feel free to modify any aspects. This project is just an empty example foo. + +Follow these steps: + +=head2 Install required packages + +Run the following: + + sudo aptitude install lintian devscripts dpkg-dev make perl + +Todo: Ensure this are the correct packages. In order to test that I would have to setup a blank Debian system. + +=head2 Compile the project + +Go to the to level directory and run + + make + +To test run + + ./bin/foo + +It should print out the version number of the project. + +=head2 Create a Debian package + +Go to the to level directory and run + + make deb + +It will create the files like: + + ../foo_0.0.0.0_all.deb + ../foo_0.0.0.0.dsc + ../foo_0.0.0.0_amd64.changes + ../foo_0.0.0.0.tar.gz + +It should create a debian package in ../. Check and install it, e.g: + + lintian --pedantic ../foo_0.0.0.0_all.deb + sudo dpkg -i ../foo_0.0.0.0_all.deb + +Run + + dpkg -L foo + +to see whats in there. You can now run + + /usr/bin/foo + +or for example + + man foo + +=head2 Read the Makefile + +Read the Makefile in order to understand what's going on. + +=head1 Customize + +Now, since you understood everything feel free to customize everything the way you want it. E.g.: + + Don't use POD for documentation but LaTeX + + Compile a C program + + Include a ./lib dir, add it to the 'install' Makefile rule + + etc etc. + +You should also consider the following: + +=head2 Manual page + +This template is using POD for creating manual pages. Edit ./docs/foo.pod and run + + make documentation + +in order to build ./docs/foo.1. The page will be included in the resulting debian package automatically. You can review the page with + + man ./docs/foo.1 + +=head2 Renaming foo into your project name + +Rename all files which have *foo* included into your own new package name. You can find them with + + find . -name \*foo\* + +Search all content and rename *foo* into your own new package name. You can find all files with + + grep -R foo . | grep -v .git + +=head2 Updating ./debian + +Edit the following files accordingly to your new project (e.g. with vim): + + ./debian/control + ./debian/copyright + ./debian/README + +=head2 Update changelog + +Go to the to level directory and run + + dch -i -- cgit v1.2.3