summaryrefslogtreecommitdiff
path: root/docs/muttdelay.txt
blob: 08f2279daeece9f057c97e7b018b054649c47c53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
NAME
    muttdelay - A muttdelay 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
    muttdelay.

    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/muttdelay

    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:

        ../muttdelay_0.0.0.0_all.deb
        ../muttdelay_0.0.0.0.dsc
        ../muttdelay_0.0.0.0_amd64.changes
        ../muttdelay_0.0.0.0.tar.gz

    It should create a debian package in ../. Check and install it, e.g:

        lintian --pedantic ../muttdelay_0.0.0.0_all.deb 
        sudo dpkg -i ../muttdelay_0.0.0.0_all.deb

    Run

        dpkg -L muttdelay

    to see whats in there. You can now run

        /usr/bin/muttdelay

    or for example

        man muttdelay

  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 muttdelay is using POD for creating manual pages. Edit
    ./docs/muttdelay.pod and run

        make documentation

    in order to build ./docs/muttdelay.1. The page will be included in the
    resulting debian package automatically. You can review the page with

        man ./docs/muttdelay.1

  Renaming muttdelay into your project name
    Rename all files which have *muttdelay* included into your own new
    package name. You can do that with:

        PROJECTNAME=yourproject
        find . -name \*muttdelay\* | 
        while read muttdelay; do git mv $muttdelay ${muttdelay/muttdelay/$PROJECTNAME}; done

    Search all content and rename *muttdelay* into your own new package
    name. You can do that with:

        grep -R muttdelay . | grep -v .git | 
        cut -d: -f1 | uniq | xargs sed -i "s/muttdelay/$PROJECTNAME/g"

  Updating ./debian
    Edit the following files accordingly to your new project (e.g. with
    vim):

        vim ./debian/{control,copyright,README}

  Update changelog
    Go to the to level directory and run

        dch -i