~ubuntu-branches/ubuntu/utopic/developers-reference/utopic

« back to all changes in this revision

Viewing changes to .svn/text-base/beyond-pkging.dbk.svn-base

  • Committer: Bazaar Package Importer
  • Author(s): W. Martin Borgert, Andreas Barth, Raphael Hertzog
  • Date: 2008-02-28 10:16:40 UTC
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20080228101640-8z1schz46m5b0jrq
Tags: 3.3.9
[ Andreas Barth ]
* Packaging changes:
  - bump standards-version to 3.7.3 (no change)
  - fix debian/copyright
  - move debhelper to Build-Depends.
  - add pdf for French version.
* Document changes to stable release management. Closes: #414291
* Debconf error templates no longer discouraged. Thanks,
  Christian Perrier. Closes: #427832
* Keyring now uses RT. Closes: #428846
* Document -dbg-packages within BPs. Thanks, Joey Hess. Closes: #420540
* NMUs now also close bugs. Thanks, Lucas Nussbaum. Closes: #419507
* Fix documentation about gender neutral. Closes: #384178
* Fix typo. Closes: #405453
* More details on how to write documentation. Thanks, Josh Triplett.
  Closes: #422750
* Add XS-Vcs-*. Thanks to Stefano Zacchiroli. Closes: #391023
* Small brushup to debconf description. Thanks, Thomas Huriaux.
  Closes: #401415
* Document Team-Maintainence better. Thanks, Lucas Nussbaum.
  Closes: #410159
* Add link to more removal ressources. Thanks, Adam D. Barratt,
  Justin Pryzby. Closes: #412757, #356720
* Repacking source packages need to be documented in copyright.
  Thanks, Russ Allbery. Closes: #413320
* Better describe version of debian native packages NMUs. Closes: #405818
* Source, HTML and text are now encoded in UTF-8. Thanks, Jörg Sommer.
  Closes: #373816
* Source is now DocBook XML instead of debiandoc. Closes: #374220

[ Raphael Hertzog ]
* Add a link to enrico's excellent Debian Community Guidelines.
* Recommend the use of DSA's request tracker instead of mailing them.
* Remove reference to #debian-sf, #debian-bsd which don't exist anymore. Put
  a reference to #debian-dpkg instead.
* Remove all stuff concerning non-US.
* Update information concerning Alioth.
* Update information concerning the Package Tracking System.
* Mention Alioth as the main resource for VCS repositories and deprecate
  cvs.debian.org.
* Remove XS- prefix for Vcs-* fields since dpkg now supports them.
* Document the Homepage field. Thanks, Christian Perrier. Closes:
  #445642
* Add Vcs-Svn and Vcs-Browser fields pointing to the new SVN
  repository.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="utf-8"?>
 
2
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
 
3
    "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
 
4
  <!ENTITY % commondata SYSTEM "common.ent" > %commondata;
 
5
]>
 
6
<chapter id="beyond-pkging">
 
7
<title>Beyond Packaging</title>
 
8
<para>
 
9
Debian is about a lot more than just packaging software and maintaining those
 
10
packages.  This chapter contains information about ways, often really critical
 
11
ways, to contribute to Debian beyond simply creating and maintaining packages.
 
12
</para>
 
13
<para>
 
14
As a volunteer organization, Debian relies on the discretion of its members in
 
15
choosing what they want to work on and in choosing the most critical thing to
 
16
spend their time on.
 
17
</para>
 
18
<section id="submit-bug">
 
19
<title>Bug reporting</title>
 
20
<para>
 
21
We encourage you to file bugs as you find them in Debian packages.  In fact,
 
22
Debian developers are often the first line testers.  Finding and reporting bugs
 
23
in other developers' packages improves the quality of Debian.
 
24
</para>
 
25
<para>
 
26
Read the <ulink url="&url-bts-report;">instructions for
 
27
reporting bugs</ulink> in the Debian <ulink
 
28
url="&url-bts;">bug tracking system</ulink>.
 
29
</para>
 
30
<para>
 
31
Try to submit the bug from a normal user account at which you are likely to
 
32
receive mail, so that people can reach you if they need further information
 
33
about the bug.  Do not submit bugs as root.
 
34
</para>
 
35
<para>
 
36
You can use a tool like <citerefentry> <refentrytitle>reportbug</refentrytitle>
 
37
<manvolnum>1</manvolnum> </citerefentry> to submit bugs.  It can automate and
 
38
generally ease the process.
 
39
</para>
 
40
<para>
 
41
Make sure the bug is not already filed against a package.  Each package has a
 
42
bug list easily reachable at
 
43
<literal>http://&bugs-host;/<replaceable>packagename</replaceable></literal>
 
44
Utilities like <citerefentry> <refentrytitle>querybts</refentrytitle>
 
45
<manvolnum>1</manvolnum> </citerefentry> can also provide you with this
 
46
information (and <command>reportbug</command> will usually invoke
 
47
<command>querybts</command> before sending, too).
 
48
</para>
 
49
<para>
 
50
Try to direct your bugs to the proper location.  When for example your bug is
 
51
about a package which overwrites files from another package, check the bug
 
52
lists for <emphasis>both</emphasis> of those packages in order to avoid filing
 
53
duplicate bug reports.
 
54
</para>
 
55
<para>
 
56
For extra credit, you can go through other packages, merging bugs which are
 
57
reported more than once, or tagging bugs `fixed' when they have already been
 
58
fixed.  Note that when you are neither the bug submitter nor the package
 
59
maintainer, you should not actually close the bug (unless you secure permission
 
60
from the maintainer).
 
61
</para>
 
62
<para>
 
63
From time to time you may want to check what has been going on with the bug
 
64
reports that you submitted.  Take this opportunity to close those that you
 
65
can't reproduce anymore.  To find out all the bugs you submitted, you just have
 
66
to visit
 
67
<literal>http://&bugs-host;/from:<replaceable>&lt;your-email-addr&gt;</replaceable></literal>.
 
68
</para>
 
69
<section id="submit-many-bugs">
 
70
<title>Reporting lots of bugs at once (mass bug filing)</title>
 
71
<para>
 
72
Reporting a great number of bugs for the same problem on a great number of
 
73
different packages — i.e., more than 10 — is a deprecated practice.  Take
 
74
all possible steps to avoid submitting bulk bugs at all.  For instance, if
 
75
checking for the problem can be automated, add a new check to <systemitem
 
76
role="package">lintian</systemitem> so that an error or warning is emitted.
 
77
</para>
 
78
<para>
 
79
If you report more than 10 bugs on the same topic at once, it is recommended
 
80
that you send a message to &email-debian-devel; describing
 
81
your intention before submitting the report, and mentioning the fact in the
 
82
subject of your mail.  This will allow other developers to verify that the bug
 
83
is a real problem.  In addition, it will help prevent a situation in which
 
84
several maintainers start filing the same bug report simultaneously.
 
85
</para>
 
86
<para>
 
87
Please use the programms <command>dd-list</command> and if appropriate
 
88
<command>whodepends</command> (from the package devscripts) to generate a list
 
89
of all affected packages, and include the output in your mail to
 
90
&email-debian-devel;.
 
91
</para>
 
92
<para>
 
93
Note that when sending lots of bugs on the same subject, you should send the
 
94
bug report to <email>maintonly@&bugs-host;</email> so that the bug report
 
95
is not forwarded to the bug distribution mailing list.
 
96
</para>
 
97
</section>
 
98
 
 
99
</section>
 
100
 
 
101
<section id="qa-effort">
 
102
<title>Quality Assurance effort</title>
 
103
<section id="qa-daily-work">
 
104
<title>Daily work</title>
 
105
<para>
 
106
Even though there is a dedicated group of people for Quality Assurance, QA
 
107
duties are not reserved solely for them.  You can participate in this effort by
 
108
keeping your packages as bug-free as possible, and as lintian-clean (see <xref
 
109
linkend="lintian"/> ) as possible.  If you do not find that possible, then you
 
110
should consider orphaning some of your packages (see <xref
 
111
linkend="orphaning"/> ).  Alternatively, you may ask the help of other people
 
112
in order to catch up with the backlog of bugs that you have (you can ask for
 
113
help on &email-debian-qa; or
 
114
&email-debian-devel;).  At the same time, you can look for
 
115
co-maintainers (see <xref linkend="collaborative-maint"/> ).
 
116
</para>
 
117
</section>
 
118
 
 
119
<section id="qa-bsp">
 
120
<title>Bug squashing parties</title>
 
121
<para>
 
122
From time to time the QA group organizes bug squashing parties to get rid of as
 
123
many problems as possible.  They are announced on
 
124
&email-debian-devel-announce; and the announcement explains
 
125
which area will be the focus of the party: usually they focus on release
 
126
critical bugs but it may happen that they decide to help finish a major upgrade
 
127
(like a new perl version which requires recompilation of all the binary
 
128
modules).
 
129
</para>
 
130
<para>
 
131
The rules for non-maintainer uploads differ during the parties because the
 
132
announcement of the party is considered prior notice for NMU.  If you have
 
133
packages that may be affected by the party (because they have release critical
 
134
bugs for example), you should send an update to each of the corresponding bug
 
135
to explain their current status and what you expect from the party.  If you
 
136
don't want an NMU, or if you're only interested in a patch, or if you will deal
 
137
yourself with the bug, please explain that in the BTS.
 
138
</para>
 
139
<para>
 
140
People participating in the party have special rules for NMU, they can NMU
 
141
without prior notice if they upload their NMU to DELAYED/3-day at least.  All
 
142
other NMU rules apply as usually; they should send the patch of the NMU to the
 
143
BTS (to one of the open bugs fixed by the NMU, or to a new bug, tagged fixed).
 
144
They should also respect any particular wishes of the maintainer.
 
145
</para>
 
146
<para>
 
147
If you don't feel confident about doing an NMU, just send a patch to the BTS.
 
148
It's far better than a broken NMU.
 
149
</para>
 
150
</section>
 
151
 
 
152
</section>
 
153
 
 
154
<section id="contacting-maintainers">
 
155
<title>Contacting other maintainers</title>
 
156
<para>
 
157
During your lifetime within Debian, you will have to contact other maintainers
 
158
for various reasons.  You may want to discuss a new way of cooperating between
 
159
a set of related packages, or you may simply remind someone that a new upstream
 
160
version is available and that you need it.
 
161
</para>
 
162
<para>
 
163
Looking up the email address of the maintainer for the package can be
 
164
distracting.  Fortunately, there is a simple email alias,
 
165
<literal>&lt;package&gt;@&packages-host;</literal>, which provides a way to
 
166
email the maintainer, whatever their individual email address (or addresses)
 
167
may be.  Replace <literal>&lt;package&gt;</literal> with the name of a source
 
168
or a binary package.
 
169
</para>
 
170
<para>
 
171
You may also be interested in contacting the persons who are subscribed to a
 
172
given source package via <xref linkend="pkg-tracking-system"/> .  You can do so
 
173
by using the <literal>&lt;package&gt;@&pts-host;</literal> email
 
174
address.
 
175
</para>
 
176
<!-- FIXME: moo@packages.d.o is easily confused with moo@packages.qa.d.o -->
 
177
</section>
 
178
 
 
179
<section id="mia-qa">
 
180
<title>Dealing with inactive and/or unreachable maintainers</title>
 
181
<para>
 
182
If you notice that a package is lacking maintenance, you should make sure that
 
183
the maintainer is active and will continue to work on their packages.  It is
 
184
possible that they are not active any more, but haven't registered out of the
 
185
system, so to speak.  On the other hand, it is also possible that they just
 
186
need a reminder.
 
187
</para>
 
188
<para>
 
189
There is a simple system (the MIA database) in which information about
 
190
maintainers who are deemed Missing In Action is recorded.  When a member of the
 
191
QA group contacts an inactive maintainer or finds more information about one,
 
192
this is recorded in the MIA database.  This system is available in
 
193
/org/qa.debian.org/mia on the host qa.debian.org, and can be queried with a
 
194
tool known as <command>mia-query</command>.  Use <command>mia-query --help</command>
 
195
to see how to query the database.  If you find that no information has been
 
196
recorded about an inactive maintainer yet, or that you can add more
 
197
information, you should generally proceed as follows.
 
198
</para>
 
199
<para>
 
200
The first step is to politely contact the maintainer, and wait a reasonable
 
201
time for a response.  It is quite hard to define reasonable time, but it is
 
202
important to take into account that real life is sometimes very hectic.  One
 
203
way to handle this would be to send a reminder after two weeks.
 
204
</para>
 
205
<para>
 
206
If the maintainer doesn't reply within four weeks (a month), one can assume
 
207
that a response will probably not happen.  If that happens, you should
 
208
investigate further, and try to gather as much useful information about the
 
209
maintainer in question as possible.  This includes:
 
210
</para>
 
211
<itemizedlist>
 
212
<listitem>
 
213
<para>
 
214
The echelon information available through the <ulink
 
215
url="&url-debian-db;">developers' LDAP database</ulink>, which indicates
 
216
when the developer last posted to a Debian mailing list.  (This includes
 
217
uploads via debian-*-changes lists.) Also, remember to check whether the
 
218
maintainer is marked as on vacation in the database.
 
219
</para>
 
220
</listitem>
 
221
<listitem>
 
222
<para>
 
223
The number of packages this maintainer is responsible for, and the condition of
 
224
those packages.  In particular, are there any RC bugs that have been open for
 
225
ages?  Furthermore, how many bugs are there in general?  Another important
 
226
piece of information is whether the packages have been NMUed, and if so, by
 
227
whom.
 
228
</para>
 
229
</listitem>
 
230
<listitem>
 
231
<para>
 
232
Is there any activity of the maintainer outside of Debian?  For example, they
 
233
might have posted something recently to non-Debian mailing lists or news
 
234
groups.
 
235
</para>
 
236
</listitem>
 
237
</itemizedlist>
 
238
<para>
 
239
A bit of a problem are packages which were sponsored — the maintainer is not
 
240
an official Debian developer.  The echelon information is not available for
 
241
sponsored people, for example, so you need to find and contact the Debian
 
242
developer who has actually uploaded the package.  Given that they signed the
 
243
package, they're responsible for the upload anyhow, and are likely to know what
 
244
happened to the person they sponsored.
 
245
</para>
 
246
<para>
 
247
It is also allowed to post a query to &email-debian-devel;,
 
248
asking if anyone is aware of the whereabouts of the missing maintainer.  Please
 
249
Cc: the person in question.
 
250
</para>
 
251
<para>
 
252
Once you have gathered all of this, you can contact
 
253
&email-mia;.  People on this alias will use the
 
254
information you provide in order to decide how to proceed.  For example, they
 
255
might orphan one or all of the packages of the maintainer.  If a package has
 
256
been NMUed, they might prefer to contact the NMUer before orphaning the package
 
257
— perhaps the person who has done the NMU is interested in the package.
 
258
</para>
 
259
<para>
 
260
One last word: please remember to be polite.  We are all volunteers and cannot
 
261
dedicate all of our time to Debian.  Also, you are not aware of the
 
262
circumstances of the person who is involved.  Perhaps they might be seriously
 
263
ill or might even have died — you do not know who may be on the receiving
 
264
side.  Imagine how a relative will feel if they read the e-mail of the deceased
 
265
and find a very impolite, angry and accusing message!
 
266
</para>
 
267
<para>
 
268
On the other hand, although we are volunteers, we do have a responsibility.  So
 
269
you can stress the importance of the greater good — if a maintainer does not
 
270
have the time or interest anymore, they should let go and give the package to
 
271
someone with more time.
 
272
</para>
 
273
<para>
 
274
If you are interested in working in the MIA team, please have a look at the
 
275
README file in /org/qa.debian.org/mia on qa.debian.org where the technical
 
276
details and the MIA procedures are documented and contact
 
277
&email-mia;.
 
278
</para>
 
279
</section>
 
280
 
 
281
<section id="newmaint">
 
282
<title>Interacting with prospective Debian developers</title>
 
283
<para>
 
284
Debian's success depends on its ability to attract and retain new and talented
 
285
volunteers.  If you are an experienced developer, we recommend that you get
 
286
involved with the process of bringing in new developers.  This section
 
287
describes how to help new prospective developers.
 
288
</para>
 
289
<section id="sponsoring">
 
290
<title>Sponsoring packages</title>
 
291
<para>
 
292
Sponsoring a package means uploading a package for a maintainer who is not able
 
293
to do it on their own, a new maintainer applicant.  Sponsoring a package also
 
294
means accepting responsibility for it.
 
295
</para>
 
296
<!-- FIXME: service down
 
297
<para>
 
298
If you wish to volunteer as a sponsor, you can sign up at <ulink
 
299
url="http://www.internatif.org/bortzmeyer/debian/sponsor/">http://www.internatif.org/bortzmeyer/debian/sponsor/</ulink>.
 
300
</para>
 
301
-->
 
302
<para>
 
303
New maintainers usually have certain difficulties creating Debian packages —
 
304
this is quite understandable.  That is why the sponsor is there, to check the
 
305
package and verify that it is good enough for inclusion in Debian.  (Note that
 
306
if the sponsored package is new, the ftpmasters will also have to inspect it
 
307
before letting it in.)
 
308
</para>
 
309
<para>
 
310
Sponsoring merely by signing the upload or just recompiling is <emphasis
 
311
role="strong">definitely not recommended</emphasis>.  You need to build the
 
312
source package just like you would build a package of your own.  Remember that
 
313
it doesn't matter that you left the prospective developer's name both in the
 
314
changelog and the control file, the upload can still be traced to you.
 
315
</para>
 
316
<para>
 
317
If you are an application manager for a prospective developer, you can also be
 
318
their sponsor.  That way you can also verify how the applicant is handling the
 
319
'Tasks and Skills' part of their application.
 
320
</para>
 
321
</section>
 
322
 
 
323
<section id="s7.5.2">
 
324
<title>Managing sponsored packages</title>
 
325
<para>
 
326
By uploading a sponsored package to Debian, you are certifying that the package
 
327
meets minimum Debian standards.  That implies that you must build and test the
 
328
package on your own system before uploading.
 
329
</para>
 
330
<para>
 
331
You cannot simply upload a binary <filename>.deb</filename> from the sponsoree.
 
332
In theory, you should only ask for the diff file and the location of the
 
333
original source tarball, and then you should download the source and apply the
 
334
diff yourself.  In practice, you may want to use the source package built by
 
335
your sponsoree.  In that case, you have to check that they haven't altered the
 
336
upstream files in the <filename>.orig.tar.gz</filename> file that they're
 
337
providing.
 
338
</para>
 
339
<para>
 
340
Do not be afraid to write the sponsoree back and point out changes that need to
 
341
be made.  It often takes several rounds of back-and-forth email before the
 
342
package is in acceptable shape.  Being a sponsor means being a mentor.
 
343
</para>
 
344
<para>
 
345
Once the package meets Debian standards, build and sign it with
 
346
</para>
 
347
<screen>
 
348
dpkg-buildpackage -k<replaceable>KEY-ID</replaceable>
 
349
</screen>
 
350
<para>
 
351
before uploading it to the incoming directory.  Of course, you can also use any
 
352
part of your <replaceable>KEY-ID</replaceable>, as long as it's unique in your
 
353
secret keyring.
 
354
</para>
 
355
<para>
 
356
The Maintainer field of the <filename>control</filename> file and the
 
357
<filename>changelog</filename> should list the person who did the packaging,
 
358
i.e., the sponsoree.  The sponsoree will therefore get all the BTS mail about
 
359
the package.
 
360
</para>
 
361
<para>
 
362
If you prefer to leave a more evident trace of your sponsorship job, you can
 
363
add a line stating it in the most recent changelog entry.
 
364
</para>
 
365
<para>
 
366
You are encouraged to keep tabs on the package you sponsor using <xref
 
367
linkend="pkg-tracking-system"/> .
 
368
</para>
 
369
</section>
 
370
 
 
371
<section id="s7.5.3">
 
372
<title>Advocating new developers</title>
 
373
<para>
 
374
See the page about <ulink
 
375
url="&url-newmaint-advocate;">advocating a prospective
 
376
developer</ulink> at the Debian web site.
 
377
</para>
 
378
</section>
 
379
 
 
380
<section id="s7.5.4">
 
381
<title>Handling new maintainer applications</title>
 
382
<para>
 
383
Please see <ulink url="&url-newmaint-amchecklist;">Checklist
 
384
for Application Managers</ulink> at the Debian web site.
 
385
</para>
 
386
</section>
 
387
 
 
388
</section>
 
389
 
 
390
</chapter>
 
391