summaryrefslogtreecommitdiff
path: root/docs/foo.pod
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2013-03-22 03:45:09 +0100
committerPaul Buetow <paul@buetow.org>2013-03-22 03:45:09 +0100
commitbdd180bb7b3eca8622016067058c023cd11c0b5e (patch)
tree19c3da37e523066cf53e68da34e393bda52fa822 /docs/foo.pod
initial version of the template
Diffstat (limited to 'docs/foo.pod')
-rw-r--r--docs/foo.pod113
1 files changed, 113 insertions, 0 deletions
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