summaryrefslogtreecommitdiff
path: root/docs/template.pod
diff options
context:
space:
mode:
authorPaul Buetow (mars.fritz.box) <paul@buetow.org>2014-03-16 15:29:03 +0100
committerPaul Buetow (mars.fritz.box) <paul@buetow.org>2014-03-16 15:29:03 +0100
commit97214d00d915e38f698fe6281651cc9aae2a4ee2 (patch)
tree7c7977ef3674bb7003759a00d78205cc04c2c9aa /docs/template.pod
parentd0de34d6cf41b2d1d4c2110ae507a790f91d1a67 (diff)
rename stuff from foo to template
Diffstat (limited to 'docs/template.pod')
-rw-r--r--docs/template.pod114
1 files changed, 114 insertions, 0 deletions
diff --git a/docs/template.pod b/docs/template.pod
new file mode 100644
index 0000000..76de14e
--- /dev/null
+++ b/docs/template.pod
@@ -0,0 +1,114 @@
+=head1 NAME
+
+template - 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 template.
+
+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/template
+
+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:
+
+ ../template_0.0.0.0_all.deb
+ ../template_0.0.0.0.dsc
+ ../template_0.0.0.0_amd64.changes
+ ../template_0.0.0.0.tar.gz
+
+It should create a debian package in ../. Check and install it, e.g:
+
+ lintian --pedantic ../template_0.0.0.0_all.deb
+ sudo dpkg -i ../template_0.0.0.0_all.deb
+
+Run
+
+ dpkg -L template
+
+to see whats in there. You can now run
+
+ /usr/bin/template
+
+or for example
+
+ man template
+
+=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/template.pod and run
+
+ make documentation
+
+in order to build ./docs/template.1. The page will be included in the resulting debian package automatically. You can review the page with
+
+ man ./docs/template.1
+
+=head2 Renaming template into your project name
+
+Rename all files which have *template* included into your own new package name. You can do that with:
+
+ PROJECTNAME=yourproject
+ find . -name \*template\* |
+ while read template; do git mv $template ${template/template/$PROJECTNAME}; done
+
+Search all content and rename *template* into your own new package name. You can do that with:
+
+ grep -R template . | grep -v .git |
+ cut -d: -f1 | uniq | xargs sed -i "s/template/$PROJECTNAME/g"
+
+=head2 Updating ./debian
+
+Edit the following files accordingly to your new project (e.g. with vim):
+
+ vim ./debian/{control,copyright,README}
+
+=head2 Update changelog
+
+Go to the to level directory and run
+
+ dch -i