debian: copyright: add details for src/getopt*
[debian/dhcpd-pools.git] / README
1 This is dhcpd-pools which is made for ISC dhcpd pool range analysis.
2
3 == Quick start
4
5         ./autogen.sh
6         ./configure --prefix=/usr/local
7         make
8         make install
9
10
11 == General information
12
13         With this command you can check usage of pool addresses
14         when address space is great. Command is designed so that
15         it will not get slow even there is thousands of IPs in
16         lease file. This kind of huge dhcpd installation can be
17         near by DSL DSLAMs or some other public access connection
18         points.
19
20         This command will not print nice to know information like
21         DHCPStatus does. Output is limited only to list only
22         usage for ranges, shared network and total address space.
23         Limiting what is printed is the right thing to do when
24         there is thousands of addresses. If your address space is
25         small some other dhcp analyzer might be more suitable for
26         you.
27
28
29 == Test data wanted
30
31         Maintainer is interested to get copy of your dhcpd.conf
32         and dhcpd.leases file, with includes if you use them.
33         Intention is to collect large set of data to build
34         realistic regression test environment. By giving your
35         data to maintainer you can be sure that updates will work
36         for you.
37
38         If you are interested to help this way put all files into
39         tar.gz, and send them to kerolasa@iki.fi. It would be nice
40         that email subject line would have 'dhcpd-pools test data'.
41
42
43 == Instructions for developers
44
45 AUTOTOOLS:
46
47         * "./autogen.sh" generates all files needed to compile
48           and install the code (run it after checkout from git)
49
50         * "make distclean" removes all unnecessary files, but the
51           code can still be recompiled with "./configure; make"
52
53 PATCHES:
54
55         * First get familiar with git. In case you are completely
56           lost watch Greg Kroah-Hartman explaining the very
57           basics.
58           http://archive.fosdem.org/2010/schedule/events/linuxkernelpatch
59
60         * Get up to date version of the code base.
61
62           $ git clone git://dhcpd-pools.git.sourceforge.net/gitroot/dhcpd-pools/dhcpd-pools
63
64         * Don't include generated (autotools) stuff to your
65           patches (hint: use git-clean [-X])
66
67         * Add a Signed-off-by line, use "git commit -s"
68
69         * Patches are delivered via email only. The following
70           commands will do the correct thing.
71
72           $ git format-patch -C origin/master..yourbranch -o ~/patches
73
74           When you send only one patch use the following.
75
76           $ git send-email --to kerolasa@iki.fi 0001*
77
78           The command above expects you have configured email
79           sending properly. See git.wiki for help.
80           https://git.wiki.kernel.org/index.php/GitTips#Mail
81
82         * One patch per email, with the changelog in the body of
83           the email.
84
85         * When you send series of pathes include introductory
86           message.
87
88           $ git send-email --compose --to kerolasa@iki.fi ~/00*
89
90           Good introductory message will have at least
91
92           -- snip
93           Your Name (3):
94             firstfile.c: short description
95             secondfile.c: another description
96
97            firstfile.c                         |    2 +-
98            secondfile.c                        |    2 +-
99            secondfile.c                        |    2 +-
100            2 files changed, 3 insertions(+), 3 deletions(-)
101           -- snip
102
103           Above introductory can be generated with git.
104
105           $ git shortlog master..yourbranch
106           $ git diff --stat master..yourbranch
107
108         * Subject: [PATCH] subsystem: description. Following
109           ~/.gitconfig will help you a little.
110
111           -- snip
112           [user]
113                   name = Your Name
114                   email = your.name@example.com
115
116           [format]
117                   subjectprefix = PATCH
118                   numbered = auto
119                   signoff = yes
120
121           [sendemail]
122                   chainreplyto = false
123                   cc = your.name@example.com
124           -- snip
125
126         * If someone else wrote the patch, they should be
127           credited (and blamed) for it. To communicate this, add
128           a line:
129
130              From: John Doe <jdoe@wherever.com>
131
132           The sign-off is a simple line at the end of the
133           explanation for the patch, which certifies that you
134           wrote it or otherwise have the right to pass it on as a
135           open-source patch. The rules are pretty simple: if you
136           can certify the below:
137
138               By making a contribution to this project, I certify
139               that:
140
141               (a) The contribution was created in whole or in
142                   part by me and I have the right to submit it
143                   under the open source license indicated in the
144                   file; or
145
146               (b) The contribution is based upon previous work
147                   that, to the best of my knowledge, is covered
148                   under an appropriate open source license and I
149                   have the right under that license to submit
150                   that work with modifications, whether created
151                   in whole or in part by me, under the same open
152                   source license (unless I am permitted to submit
153                   under a different license), as indicated in the
154                   file; or
155
156               (c) The contribution was provided directly to me by
157                   some other person who certified (a), (b) or (c)
158                   and I have not modified it.
159
160               (d) I understand and agree that this project and
161                   the contribution are public and that a record
162                   of the contribution (including all personal
163                   information I submit with it, including my
164                   sign-off) is maintained indefinitely and may be
165                   redistributed consistent with this project or
166                   the open source license(s) involved.
167
168           then you just add a line saying
169
170           Signed-off-by: Random J Developer <random@developer.example.org>
171
172           using your real name (sorry, no pseudonyms or anonymous
173           contributions.)
174
175         * If the the business with git is too difficult just send
176           source code files as is as email attachment to
177           maintainer.
178
179 CODING STYLE:
180
181         * The preferred coding style is based on the linux kernel
182           Documentation/CodingStyle. For more details see:
183
184           http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/CodingStyle
185
186         * Source code is pretty printed by using two, and only
187           the two, indent command switches -kr -i8