From 97214d00d915e38f698fe6281651cc9aae2a4ee2 Mon Sep 17 00:00:00 2001 From: "Paul Buetow (mars.fritz.box)" Date: Sun, 16 Mar 2014 15:29:03 +0100 Subject: rename stuff from foo to template --- Makefile | 2 +- debian/README | 2 +- debian/changelog | 2 +- debian/control | 4 +- debian/copyright | 2 +- debian/files | 2 +- debian/foo.manpages | 1 - debian/foo.substvars | 1 - debian/template.manpages | 1 + debian/template.substvars | 1 + docs/foo.1 | 268 ---------------------------------------------- docs/foo.pod | 114 -------------------- docs/foo.txt | 116 -------------------- docs/template.1 | 268 ++++++++++++++++++++++++++++++++++++++++++++++ docs/template.pod | 114 ++++++++++++++++++++ docs/template.txt | 116 ++++++++++++++++++++ src/foo | 5 - src/template | 5 + 18 files changed, 512 insertions(+), 512 deletions(-) delete mode 100644 debian/foo.manpages delete mode 100644 debian/foo.substvars create mode 100644 debian/template.manpages create mode 100644 debian/template.substvars delete mode 100644 docs/foo.1 delete mode 100644 docs/foo.pod delete mode 100644 docs/foo.txt create mode 100644 docs/template.1 create mode 100644 docs/template.pod create mode 100644 docs/template.txt delete mode 100755 src/foo create mode 100755 src/template diff --git a/Makefile b/Makefile index 625ca88..d233ef7 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -NAME=foo +NAME=template all: version docs build # THIS IS NEEDED BY THE DEBIAN TOOLS diff --git a/debian/README b/debian/README index 8edd461..328f773 100644 --- a/debian/README +++ b/debian/README @@ -1,4 +1,4 @@ -The Debian Package foo +The Debian Package template ---------------------------- This is just a humble go project. Not sure if everything meets the debian diff --git a/debian/changelog b/debian/changelog index 78faa32..d0e1435 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -foo (0.0.0) stable; urgency=low +template (0.0.0) stable; urgency=low * Initial version of the template diff --git a/debian/control b/debian/control index 1a33eb7..8bfb0f6 100644 --- a/debian/control +++ b/debian/control @@ -1,4 +1,4 @@ -Source: foo +Source: template Section: utils Priority: optional Maintainer: Paul Buetow @@ -8,7 +8,7 @@ Homepage: https://template.buetow.org Vcs-Git: git://git.buetow.org/template Vcs-Browser: http://web.buetow.org/git/?p=template.git;a=summary -Package: foo +Package: template Architecture: all Depends: Description: Small template package diff --git a/debian/copyright b/debian/copyright index 081a25d..7dcaec6 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,5 +1,5 @@ Format: http://dep.debian.net/deps/dep5 -Upstream-Name: foo +Upstream-Name: template Source: http://template.buetow.org Files: * diff --git a/debian/files b/debian/files index b1f79bd..059d85b 100644 --- a/debian/files +++ b/debian/files @@ -1 +1 @@ -foo_0.0.0.0_all.deb utils optional +template_0.0.0.0_all.deb utils optional diff --git a/debian/foo.manpages b/debian/foo.manpages deleted file mode 100644 index 3925962..0000000 --- a/debian/foo.manpages +++ /dev/null @@ -1 +0,0 @@ -docs/foo.1 diff --git a/debian/foo.substvars b/debian/foo.substvars deleted file mode 100644 index abd3ebe..0000000 --- a/debian/foo.substvars +++ /dev/null @@ -1 +0,0 @@ -misc:Depends= diff --git a/debian/template.manpages b/debian/template.manpages new file mode 100644 index 0000000..b4d53bb --- /dev/null +++ b/debian/template.manpages @@ -0,0 +1 @@ +docs/template.1 diff --git a/debian/template.substvars b/debian/template.substvars new file mode 100644 index 0000000..abd3ebe --- /dev/null +++ b/debian/template.substvars @@ -0,0 +1 @@ +misc:Depends= diff --git a/docs/foo.1 b/docs/foo.1 deleted file mode 100644 index 57ca229..0000000 --- a/docs/foo.1 +++ /dev/null @@ -1,268 +0,0 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "FOO 1" -.TH FOO 1 "2014-02-03" "foo 0.0.0.0" "User Commands" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -foo \- A template project -.SH "WTF?" -.IX Header "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. -.PP -Feel free to modify any aspects. This project is just an empty example foo. -.PP -Follow these steps: -.SS "Install required packages" -.IX Subsection "Install required packages" -Run the following: -.PP -.Vb 1 -\& sudo aptitude install lintian devscripts dpkg\-dev make perl -.Ve -.PP -Todo: Ensure this are the correct packages. In order to test that I would have to setup a blank Debian system. -.SS "Compile the project" -.IX Subsection "Compile the project" -Go to the to level directory and run -.PP -.Vb 1 -\& make -.Ve -.PP -To test run -.PP -.Vb 1 -\& ./bin/foo -.Ve -.PP -It should print out the version number of the project. -.SS "Create a Debian package" -.IX Subsection "Create a Debian package" -Go to the to level directory and run -.PP -.Vb 1 -\& make deb -.Ve -.PP -It will create the files like: -.PP -.Vb 4 -\& ../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 -.Ve -.PP -It should create a debian package in ../. Check and install it, e.g: -.PP -.Vb 2 -\& lintian \-\-pedantic ../foo_0.0.0.0_all.deb -\& sudo dpkg \-i ../foo_0.0.0.0_all.deb -.Ve -.PP -Run -.PP -.Vb 1 -\& dpkg \-L foo -.Ve -.PP -to see whats in there. You can now run -.PP -.Vb 1 -\& /usr/bin/foo -.Ve -.PP -or for example -.PP -.Vb 1 -\& man foo -.Ve -.SS "Read the Makefile" -.IX Subsection "Read the Makefile" -Read the Makefile in order to understand what's going on. -.SH "Customize" -.IX Header "Customize" -Now, since you understood everything feel free to customize everything the way you want it. E.g.: -.PP -.Vb 1 -\& Don\*(Aqt use POD for documentation but LaTeX -\& -\& Compile a C program -\& -\& Include a ./lib dir, add it to the \*(Aqinstall\*(Aq Makefile rule -\& -\& etc etc. -.Ve -.PP -You should also consider the following: -.SS "Manual page" -.IX Subsection "Manual page" -This template is using \s-1POD\s0 for creating manual pages. Edit ./docs/foo.pod and run -.PP -.Vb 1 -\& make documentation -.Ve -.PP -in order to build ./docs/foo.1. The page will be included in the resulting debian package automatically. You can review the page with -.PP -.Vb 1 -\& man ./docs/foo.1 -.Ve -.SS "Renaming foo into your project name" -.IX Subsection "Renaming foo into your project name" -Rename all files which have *foo* included into your own new package name. You can do that with: -.PP -.Vb 3 -\& PROJECTNAME=yourproject -\& find . \-name \e*foo\e* | -\& while read foo; do git mv $foo ${foo/foo/$PROJECTNAME}; done -.Ve -.PP -Search all content and rename *foo* into your own new package name. You can do that with: -.PP -.Vb 2 -\& grep \-R foo . | grep \-v .git | -\& cut \-d: \-f1 | uniq | xargs sed \-i "s/foo/$PROJECTNAME/g" -.Ve -.SS "Updating ./debian" -.IX Subsection "Updating ./debian" -Edit the following files accordingly to your new project (e.g. with vim): -.PP -.Vb 3 -\& ./debian/control -\& ./debian/copyright -\& ./debian/README -.Ve -.SS "Update changelog" -.IX Subsection "Update changelog" -Go to the to level directory and run -.PP -.Vb 1 -\& dch \-i -.Ve diff --git a/docs/foo.pod b/docs/foo.pod deleted file mode 100644 index e8c4172..0000000 --- a/docs/foo.pod +++ /dev/null @@ -1,114 +0,0 @@ -=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 do that with: - - PROJECTNAME=yourproject - find . -name \*foo\* | - while read foo; do git mv $foo ${foo/foo/$PROJECTNAME}; done - -Search all content and rename *foo* into your own new package name. You can do that with: - - grep -R foo . | grep -v .git | - cut -d: -f1 | uniq | xargs sed -i "s/foo/$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 diff --git a/docs/foo.txt b/docs/foo.txt deleted file mode 100644 index bf913ac..0000000 --- a/docs/foo.txt +++ /dev/null @@ -1,116 +0,0 @@ -NAME - foo - A template project - -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: - - 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. - - 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. - - 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 - - Read the Makefile - Read the Makefile in order to understand what's going on. - -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: - - 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 - - Renaming foo into your project name - Rename all files which have *foo* included into your own new package - name. You can do that with: - - PROJECTNAME=yourproject - find . -name \*foo\* | - while read foo; do git mv $foo ${foo/foo/$PROJECTNAME}; done - - Search all content and rename *foo* into your own new package name. You - can do that with: - - grep -R foo . | grep -v .git | - cut -d: -f1 | uniq | xargs sed -i "s/foo/$PROJECTNAME/g" - - Updating ./debian - Edit the following files accordingly to your new project (e.g. with - vim): - - ./debian/control - ./debian/copyright - ./debian/README - - Update changelog - Go to the to level directory and run - - dch -i - diff --git a/docs/template.1 b/docs/template.1 new file mode 100644 index 0000000..3e2d73d --- /dev/null +++ b/docs/template.1 @@ -0,0 +1,268 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "FOO 1" +.TH FOO 1 "2014-02-03" "template 0.0.0.0" "User Commands" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +template \- A template project +.SH "WTF?" +.IX Header "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. +.PP +Feel free to modify any aspects. This project is just an empty example template. +.PP +Follow these steps: +.SS "Install required packages" +.IX Subsection "Install required packages" +Run the following: +.PP +.Vb 1 +\& sudo aptitude install lintian devscripts dpkg\-dev make perl +.Ve +.PP +Todo: Ensure this are the correct packages. In order to test that I would have to setup a blank Debian system. +.SS "Compile the project" +.IX Subsection "Compile the project" +Go to the to level directory and run +.PP +.Vb 1 +\& make +.Ve +.PP +To test run +.PP +.Vb 1 +\& ./bin/template +.Ve +.PP +It should print out the version number of the project. +.SS "Create a Debian package" +.IX Subsection "Create a Debian package" +Go to the to level directory and run +.PP +.Vb 1 +\& make deb +.Ve +.PP +It will create the files like: +.PP +.Vb 4 +\& ../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 +.Ve +.PP +It should create a debian package in ../. Check and install it, e.g: +.PP +.Vb 2 +\& lintian \-\-pedantic ../template_0.0.0.0_all.deb +\& sudo dpkg \-i ../template_0.0.0.0_all.deb +.Ve +.PP +Run +.PP +.Vb 1 +\& dpkg \-L template +.Ve +.PP +to see whats in there. You can now run +.PP +.Vb 1 +\& /usr/bin/template +.Ve +.PP +or for example +.PP +.Vb 1 +\& man template +.Ve +.SS "Read the Makefile" +.IX Subsection "Read the Makefile" +Read the Makefile in order to understand what's going on. +.SH "Customize" +.IX Header "Customize" +Now, since you understood everything feel free to customize everything the way you want it. E.g.: +.PP +.Vb 1 +\& Don\*(Aqt use POD for documentation but LaTeX +\& +\& Compile a C program +\& +\& Include a ./lib dir, add it to the \*(Aqinstall\*(Aq Makefile rule +\& +\& etc etc. +.Ve +.PP +You should also consider the following: +.SS "Manual page" +.IX Subsection "Manual page" +This template is using \s-1POD\s0 for creating manual pages. Edit ./docs/template.pod and run +.PP +.Vb 1 +\& make documentation +.Ve +.PP +in order to build ./docs/template.1. The page will be included in the resulting debian package automatically. You can review the page with +.PP +.Vb 1 +\& man ./docs/template.1 +.Ve +.SS "Renaming template into your project name" +.IX Subsection "Renaming template into your project name" +Rename all files which have *template* included into your own new package name. You can do that with: +.PP +.Vb 3 +\& PROJECTNAME=yourproject +\& find . \-name \e*template\e* | +\& while read template; do git mv $template ${template/template/$PROJECTNAME}; done +.Ve +.PP +Search all content and rename *template* into your own new package name. You can do that with: +.PP +.Vb 2 +\& grep \-R template . | grep \-v .git | +\& cut \-d: \-f1 | uniq | xargs sed \-i "s/template/$PROJECTNAME/g" +.Ve +.SS "Updating ./debian" +.IX Subsection "Updating ./debian" +Edit the following files accordingly to your new project (e.g. with vim): +.PP +.Vb 3 +\& ./debian/control +\& ./debian/copyright +\& ./debian/README +.Ve +.SS "Update changelog" +.IX Subsection "Update changelog" +Go to the to level directory and run +.PP +.Vb 1 +\& dch \-i +.Ve 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 diff --git a/docs/template.txt b/docs/template.txt new file mode 100644 index 0000000..bd93178 --- /dev/null +++ b/docs/template.txt @@ -0,0 +1,116 @@ +NAME + template - A template project + +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: + + 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. + + 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. + + 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 + + Read the Makefile + Read the Makefile in order to understand what's going on. + +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: + + 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 + + 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" + + Updating ./debian + Edit the following files accordingly to your new project (e.g. with + vim): + + ./debian/control + ./debian/copyright + ./debian/README + + Update changelog + Go to the to level directory and run + + dch -i + diff --git a/src/foo b/src/foo deleted file mode 100755 index 8ccad18..0000000 --- a/src/foo +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -declare -r VERSION='VERSION_DEVEL' - -echo "This is version $VERSION of the example template project." diff --git a/src/template b/src/template new file mode 100755 index 0000000..8ccad18 --- /dev/null +++ b/src/template @@ -0,0 +1,5 @@ +#!/bin/bash + +declare -r VERSION='VERSION_DEVEL' + +echo "This is version $VERSION of the example template project." -- cgit v1.2.3