summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul C. Buetow (mars.fritz.box) <paul@buetow.org>2014-06-22 11:14:32 +0200
committerPaul C. Buetow (mars.fritz.box) <paul@buetow.org>2014-06-22 11:14:32 +0200
commitfc4cb97144f62f07cf3d86052adf7f7b06267557 (patch)
treeffcddc5eb9946981849cd09c5a7b5f64168dcabf
parent6b3174a2c6760a0b42790bc12fd76f6e8ff10077 (diff)
add README.pod
-rw-r--r--README.pod114
1 files changed, 114 insertions, 0 deletions
diff --git a/README.pod b/README.pod
new file mode 100644
index 0000000..76de14e
--- /dev/null
+++ b/README.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