1 # Debian Developer's Reference (Japanese)
2 # Hideki Yamane (Debian-JP) <henrich@debian.or.jp>, 2008.
6 "Project-Id-Version: developers-reference 3.4.0\n"
7 "POT-Creation-Date: 2009-09-06 02:31+0900\n"
8 "PO-Revision-Date: 2008-03-05 18:30+0900\n"
9 "Last-Translator: Hideki Yamane (Debian-JP) <henrich@debian.or.jp>\n"
10 "Language-Team: Debian JP Project <debian-doc@debian.or.jp>\n"
12 "Content-Type: text/plain; charset=UTF-8\n"
13 "Content-Transfer-Encoding: 8bit\n"
15 # type: Content of: <chapter><title>
16 #. type: Content of: <chapter><title>
18 msgid "Managing Packages"
21 # type: Content of: <chapter><para>
22 #. type: Content of: <chapter><para>
25 "This chapter contains information related to creating, uploading, "
26 "maintaining, and porting packages."
28 "この章では、パッケージの作成、アップロード、メンテナンス、移植についての情報"
31 # type: Content of: <chapter><section><title>
32 #. type: Content of: <chapter><section><title>
37 # type: Content of: <chapter><section><para>
38 #. type: Content of: <chapter><section><para>
41 "If you want to create a new package for the Debian distribution, you should "
42 "first check the <ulink url=\"&url-wnpp;\">Work-Needing and Prospective "
43 "Packages (WNPP)</ulink> list. Checking the WNPP list ensures that no one is "
44 "already working on packaging that software, and that effort is not "
45 "duplicated. Read the <ulink url=\"&url-wnpp;\">WNPP web pages</ulink> for "
49 # type: Content of: <chapter><section><para>
50 #. type: Content of: <chapter><section><para>
53 "Assuming no one else is already working on your prospective package, you "
54 "must then submit a bug report (<xref linkend=\"submit-bug\"/> ) against the "
55 "pseudo-package <systemitem role=\"package\">wnpp</systemitem> describing "
56 "your plan to create a new package, including, but not limiting yourself to, "
57 "a description of the package, the license of the prospective package, and "
58 "the current URL where it can be downloaded from."
61 # type: Content of: <chapter><section><para>
62 #. type: Content of: <chapter><section><para>
65 "You should set the subject of the bug to <literal>ITP: <replaceable>foo</"
66 "replaceable> -- <replaceable>short description</replaceable></literal>, "
67 "substituting the name of the new package for <replaceable>foo</"
68 "replaceable>. The severity of the bug report must be set to "
69 "<literal>wishlist</literal>. Please send a copy to &email-debian-devel; by "
70 "using the X-Debbugs-CC header (don't use CC:, because that way the message's "
71 "subject won't indicate the bug number). If you are packaging so many new "
72 "packages (>10) that notifying the mailing list in seperate messages is too "
73 "disruptive, do send a summary after filing the bugs to the debian-devel list "
74 "instead. This will inform the other developers about upcoming packages and "
75 "will allow a review of your description and package name."
78 # type: Content of: <chapter><section><para>
79 #. type: Content of: <chapter><section><para>
82 "Please include a <literal>Closes: bug#<replaceable>nnnnn</replaceable></"
83 "literal> entry in the changelog of the new package in order for the bug "
84 "report to be automatically closed once the new package is installed in the "
85 "archive (see <xref linkend=\"upload-bugfix\"/> )."
88 #. type: Content of: <chapter><section><para>
91 "If you think your package needs some explanations for the administrators of "
92 "the NEW package queue, include them in your changelog, send to "
93 "ftpmaster@debian.org a reply to the email you receive as a maintainer after "
94 "your upload, or reply to the rejection email in case you are already re-"
98 # type: Content of: <chapter><section><para>
99 #. type: Content of: <chapter><section><para>
102 "When closing security bugs include CVE numbers as well as the Closes: "
103 "#nnnnn. This is useful for the security team to track vulnerabilities. If "
104 "an upload is made to fix the bug before the advisory ID is known, it is "
105 "encouraged to modify the historical changelog entry with the next upload. "
106 "Even in this case, please include all available pointers to background "
107 "information in the original changelog entry."
110 # type: Content of: <chapter><section><para>
111 #. type: Content of: <chapter><section><para>
114 "There are a number of reasons why we ask maintainers to announce their "
118 # type: Content of: <chapter><section><itemizedlist><listitem><para>
119 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
122 "It helps the (potentially new) maintainer to tap into the experience of "
123 "people on the list, and lets them know if anyone else is working on it "
127 # type: Content of: <chapter><section><itemizedlist><listitem><para>
128 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
131 "It lets other people thinking about working on the package know that there "
132 "already is a volunteer, so efforts may be shared."
135 # type: Content of: <chapter><section><itemizedlist><listitem><para>
136 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
139 "It lets the rest of the maintainers know more about the package than the one "
140 "line description and the usual changelog entry ``Initial release'' that gets "
141 "posted to &email-debian-devel-changes;."
144 # type: Content of: <chapter><section><itemizedlist><listitem><para>
145 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
148 "It is helpful to the people who live off <literal>unstable</literal> (and "
149 "form our first line of testers). We should encourage these people."
152 # type: Content of: <chapter><section><itemizedlist><listitem><para>
153 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
156 "The announcements give maintainers and other interested parties a better "
157 "feel of what is going on, and what is new, in the project."
160 # type: Content of: <chapter><section><para>
161 #. type: Content of: <chapter><section><para>
164 "Please see <ulink url=\"http://&ftp-master-host;/REJECT-FAQ.html\"></ulink> "
165 "for common rejection reasons for a new package."
168 # type: Content of: <chapter><section><title>
169 #. type: Content of: <chapter><section><title>
171 msgid "Recording changes in the package"
172 msgstr "パッケージの変更を記録する"
174 # type: Content of: <chapter><section><para>
175 #. type: Content of: <chapter><section><para>
178 "Changes that you make to the package need to be recorded in the "
179 "<filename>debian/changelog</filename>. These changes should provide a "
180 "concise description of what was changed, why (if it's in doubt), and note if "
181 "any bugs were closed. They also record when the package was completed. "
182 "This file will be installed in <filename>/usr/share/doc/"
183 "<replaceable>package</replaceable>/changelog.Debian.gz</filename>, or "
184 "<filename>/usr/share/doc/<replaceable>package</replaceable>/changelog.gz</"
185 "filename> for native packages."
188 # type: Content of: <chapter><section><para>
189 #. type: Content of: <chapter><section><para>
192 "The <filename>debian/changelog</filename> file conforms to a certain "
193 "structure, with a number of different fields. One field of note, the "
194 "<literal>distribution</literal>, is described in <xref linkend=\"distribution"
195 "\"/> . More information about the structure of this file can be found in "
196 "the Debian Policy section titled <filename>debian/changelog</filename>."
199 # type: Content of: <chapter><section><para>
200 #. type: Content of: <chapter><section><para>
203 "Changelog entries can be used to automatically close Debian bugs when the "
204 "package is installed into the archive. See <xref linkend=\"upload-bugfix\"/"
208 # type: Content of: <chapter><section><para>
209 #. type: Content of: <chapter><section><para>
212 "It is conventional that the changelog entry of a package that contains a new "
213 "upstream version of the software looks like this:"
216 # type: Content of: <chapter><section><screen>
217 #. type: Content of: <chapter><section><screen>
220 msgid " * new upstream version\n"
221 msgstr "* new upstream version"
223 # type: Content of: <chapter><section><para>
224 #. type: Content of: <chapter><section><para>
227 "There are tools to help you create entries and finalize the "
228 "<filename>changelog</filename> for release — see <xref linkend=\"devscripts"
229 "\"/> and <xref linkend=\"dpkg-dev-el\"/> ."
232 # type: Content of: <chapter><section><para>
233 #. type: Content of: <chapter><section><para>
235 msgid "See also <xref linkend=\"bpp-debian-changelog\"/> ."
236 msgstr "<xref linkend=\"bpp-debian-changelog\"/> も参照してください。"
238 # type: Content of: <chapter><section><title>
239 #. type: Content of: <chapter><section><title>
241 msgid "Testing the package"
244 # type: Content of: <chapter><section><para>
245 #. type: Content of: <chapter><section><para>
248 "Before you upload your package, you should do basic testing on it. At a "
249 "minimum, you should try the following activities (you'll need to have an "
250 "older version of the same Debian package around):"
253 # type: Content of: <chapter><section><itemizedlist><listitem><para>
254 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
257 "Install the package and make sure the software works, or upgrade the package "
258 "from an older version to your new version if a Debian package for it already "
262 # type: Content of: <chapter><section><itemizedlist><listitem><para>
263 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
266 "Run <command>lintian</command> over the package. You can run "
267 "<command>lintian</command> as follows: <literal>lintian -v "
268 "<replaceable>package-version</replaceable>.changes</literal>. This will "
269 "check the source package as well as the binary package. If you don't "
270 "understand the output that <command>lintian</command> generates, try adding "
271 "the <literal>-i</literal> switch, which will cause <command>lintian</"
272 "command> to output a very verbose description of the problem."
275 # type: Content of: <chapter><section><itemizedlist><listitem><para>
276 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
279 "Normally, a package should <emphasis>not</emphasis> be uploaded if it causes "
280 "lintian to emit errors (they will start with <literal>E</literal>)."
283 # type: Content of: <chapter><section><itemizedlist><listitem><para>
284 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
287 "For more information on <command>lintian</command>, see <xref linkend="
291 # type: Content of: <chapter><section><itemizedlist><listitem><para>
292 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
295 "Optionally run <xref linkend=\"debdiff\"/> to analyze changes from an older "
296 "version, if one exists."
299 # type: Content of: <chapter><section><itemizedlist><listitem><para>
300 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
303 "Downgrade the package to the previous version (if one exists) — this tests "
304 "the <filename>postrm</filename> and <filename>prerm</filename> scripts."
307 # type: Content of: <chapter><section><itemizedlist><listitem><para>
308 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
311 msgid "Remove the package, then reinstall it."
312 msgstr "パッケージを削除して、再インストールしてください。"
314 # type: Content of: <chapter><section><itemizedlist><listitem><para>
315 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
318 "Copy the source package in a different directory and try unpacking it and "
319 "rebuilding it. This tests if the package relies on existing files outside "
320 "of it, or if it relies on permissions being preserved on the files shipped "
321 "inside the .diff.gz file."
324 # type: Content of: <chapter><section><title>
325 #. type: Content of: <chapter><section><title>
328 msgid "Layout of the source package"
331 # type: Content of: <chapter><section><para>
332 #. type: Content of: <chapter><section><para>
334 msgid "There are two types of Debian source packages:"
335 msgstr "Debian のソースパッケージには 2 種類あります:"
337 # type: Content of: <chapter><section><itemizedlist><listitem><para>
338 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
341 "the so-called <literal>native</literal> packages, where there is no "
342 "distinction between the original sources and the patches applied for Debian"
345 # type: Content of: <chapter><section><itemizedlist><listitem><para>
346 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
349 "the (more common) packages where there's an original source tarball file "
350 "accompanied by another file that contains the patches applied for Debian"
353 # type: Content of: <chapter><section><para>
354 #. type: Content of: <chapter><section><para>
357 "For the native packages, the source package includes a Debian source control "
358 "file (<literal>.dsc</literal>) and the source tarball (<literal>.tar.gz</"
359 "literal>). A source package of a non-native package includes a Debian "
360 "source control file, the original source tarball (<literal>.orig.tar.gz</"
361 "literal>) and the Debian patches (<literal>.diff.gz</literal>)."
364 # type: Content of: <chapter><section><para>
365 #. type: Content of: <chapter><section><para>
368 "Whether a package is native or not is determined when it is built by "
369 "<citerefentry> <refentrytitle>dpkg-buildpackage</refentrytitle> "
370 "<manvolnum>1</manvolnum> </citerefentry>. The rest of this section relates "
371 "only to non-native packages."
374 # type: Content of: <chapter><section><para>
375 #. type: Content of: <chapter><section><para>
378 "The first time a version is uploaded which corresponds to a particular "
379 "upstream version, the original source tar file should be uploaded and "
380 "included in the <filename>.changes</filename> file. Subsequently, this very "
381 "same tar file should be used to build the new diffs and <filename>.dsc</"
382 "filename> files, and will not need to be re-uploaded."
385 # type: Content of: <chapter><section><para>
386 #. type: Content of: <chapter><section><para>
389 "By default, <command>dpkg-genchanges</command> and <command>dpkg-"
390 "buildpackage</command> will include the original source tar file if and only "
391 "if the Debian revision part of the source version number is 0 or 1, "
392 "indicating a new upstream version. This behavior may be modified by using "
393 "<literal>-sa</literal> to always include it or <literal>-sd</literal> to "
394 "always leave it out."
397 # type: Content of: <chapter><section><para>
398 #. type: Content of: <chapter><section><para>
401 "If no original source is included in the upload, the original source tar-"
402 "file used by <command>dpkg-source</command> when constructing the <filename>."
403 "dsc</filename> file and diff to be uploaded <emphasis>must</emphasis> be "
404 "byte-for-byte identical with the one already in the archive."
407 # type: Content of: <chapter><section><para>
408 #. type: Content of: <chapter><section><para>
411 "Please notice that, in non-native packages, permissions on files that are "
412 "not present in the .orig.tar.gz will not be preserved, as diff does not "
413 "store file permissions in the patch."
416 # type: Content of: <chapter><section><title>
417 #. type: Content of: <chapter><section><title>
419 msgid "Picking a distribution"
422 # type: Content of: <chapter><section><para>
423 #. type: Content of: <chapter><section><para>
426 "Each upload needs to specify which distribution the package is intended "
427 "for. The package build process extracts this information from the first "
428 "line of the <filename>debian/changelog</filename> file and places it in the "
429 "<literal>Distribution</literal> field of the <literal>.changes</literal> "
433 # type: Content of: <chapter><section><para>
434 #. type: Content of: <chapter><section><para>
437 "There are several possible values for this field: <literal>stable</literal>, "
438 "<literal>unstable</literal>, <literal>testing-proposed-updates</literal> and "
439 "<literal>experimental</literal>. Normally, packages are uploaded into "
440 "<literal>unstable</literal>."
443 # type: Content of: <chapter><section><para>
444 #. type: Content of: <chapter><section><para>
447 "Actually, there are two other possible distributions: <literal>stable-"
448 "security </literal> and <literal>testing-security</literal>, but read <xref "
449 "linkend=\"bug-security\"/> for more information on those."
452 # type: Content of: <chapter><section><para>
453 #. type: Content of: <chapter><section><para>
456 "It is not possible to upload a package into several distributions at the "
460 # type: Content of: <chapter><section><section><title>
461 #. type: Content of: <chapter><section><section><title>
464 "Special case: uploads to the <literal>stable</literal> and "
465 "<literal>oldstable</literal> distributions"
468 # type: Content of: <chapter><section><section><para>
469 #. type: Content of: <chapter><section><section><para>
472 "Uploading to <literal>stable</literal> means that the package will "
473 "transfered to the <literal>proposed-updates-new</literal> queue for review "
474 "by the stable release managers, and if approved will be installed in "
475 "<filename>stable-proposed-updates</filename> directory of the Debian "
476 "archive. From there, it will be included in <literal>stable</literal> with "
477 "the next point release."
480 # type: Content of: <chapter><section><section><para>
481 #. type: Content of: <chapter><section><section><para>
484 "To ensure that your upload will be accepted, you should discuss the changes "
485 "with the stable release team before you upload. For that, send a mail to the "
486 "&email-debian-release; mailing list, including the patch you want to apply "
487 "to the package version currently in <literal>stable</literal>. Always be "
488 "verbose and detailed in your changelog entries for uploads to the "
489 "<literal>stable</literal> distribution."
492 # type: Content of: <chapter><section><section><para>
493 #. type: Content of: <chapter><section><section><para>
496 "Extra care should be taken when uploading to <literal>stable</literal>. "
497 "Basically, a package should only be uploaded to <literal>stable</literal> if "
498 "one of the following happens:"
501 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
502 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
504 msgid "a truly critical functionality problem"
507 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
508 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
510 msgid "the package becomes uninstallable"
513 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
514 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
516 msgid "a released architecture lacks the package"
519 # type: Content of: <chapter><section><section><para>
520 #. type: Content of: <chapter><section><section><para>
523 "In the past, uploads to <literal>stable</literal> were used to address "
524 "security problems as well. However, this practice is deprecated, as uploads "
525 "used for Debian security advisories are automatically copied to the "
526 "appropriate <filename>proposed-updates</filename> archive when the advisory "
527 "is released. See <xref linkend=\"bug-security\"/> for detailed information "
528 "on handling security problems. If the security teams deems the problem to be "
529 "too benign to be fixed through a <literal>DSA</literal>, the stable release "
530 "managers are usually willing to include your fix nonetheless in a regular "
531 "upload to <literal>stable</literal>."
534 # type: Content of: <chapter><section><section><para>
535 #. type: Content of: <chapter><section><section><para>
538 "Changing anything else in the package that isn't important is discouraged, "
539 "because even trivial fixes can cause bugs later on."
542 # type: Content of: <chapter><section><section><para>
543 #. type: Content of: <chapter><section><section><para>
546 "Packages uploaded to <literal>stable</literal> need to be compiled on "
547 "systems running <literal>stable</literal>, so that their dependencies are "
548 "limited to the libraries (and other packages) available in <literal>stable</"
549 "literal>; for example, a package uploaded to <literal>stable</literal> that "
550 "depends on a library package that only exists in <literal>unstable</literal> "
551 "will be rejected. Making changes to dependencies of other packages (by "
552 "messing with <literal>Provides</literal> or <literal>shlibs</literal> "
553 "files), possibly making those other packages uninstallable, is strongly "
557 # type: Content of: <chapter><section><section><para>
558 #. type: Content of: <chapter><section><section><para>
561 "Uploads to the <literal>oldstable</literal> distributions are possible as "
562 "long as it hasn't been archived. The same rules as for <literal>stable </"
566 # type: Content of: <chapter><section><section><title>
567 #. type: Content of: <chapter><section><section><title>
570 "Special case: uploads to <literal>testing/testing-proposed-updates</literal>"
573 # type: Content of: <chapter><section><section><para>
574 #. type: Content of: <chapter><section><section><para>
577 "Please see the information in the <link linkend=\"t-p-u\">testing section</"
581 # type: Content of: <chapter><section><title>
582 #. type: Content of: <chapter><section><title>
584 msgid "Uploading a package"
585 msgstr "パッケージをアップロードする"
587 # type: Content of: <chapter><section><section><title>
588 #. type: Content of: <chapter><section><section><title>
590 msgid "Uploading to <literal>ftp-master</literal>"
591 msgstr "<literal>ftp-master</literal> にアップロードする"
593 # type: Content of: <chapter><section><section><para>
594 #. type: Content of: <chapter><section><section><para>
597 "To upload a package, you should upload the files (including the signed "
598 "changes and dsc-file) with anonymous ftp to <literal>&ftp-master-host;</"
599 "literal> in the directory <ulink url=\"ftp://&ftp-master-host;&upload-queue;"
600 "\">&upload-queue;</ulink>. To get the files processed there, they need to "
601 "be signed with a key in the Debian Developers keyring or the Debian "
602 "Maintainers keyring (see <ulink url=\"&url-wiki-dm;\"></ulink>)."
605 # type: Content of: <chapter><section><section><para>
606 #. type: Content of: <chapter><section><section><para>
609 "Please note that you should transfer the changes file last. Otherwise, your "
610 "upload may be rejected because the archive maintenance software will parse "
611 "the changes file and see that not all files have been uploaded."
614 # type: Content of: <chapter><section><section><para>
615 #. type: Content of: <chapter><section><section><para>
618 "You may also find the Debian packages <xref linkend=\"dupload\"/> or <xref "
619 "linkend=\"dput\"/> useful when uploading packages. These handy programs "
620 "help automate the process of uploading packages into Debian."
623 # type: Content of: <chapter><section><section><para>
624 #. type: Content of: <chapter><section><section><para>
627 "For removing packages, please see the README file in that ftp directory, and "
628 "the Debian package <xref linkend=\"dcut\"/> ."
631 # type: Content of: <chapter><section><section><title>
632 #. type: Content of: <chapter><section><section><title>
634 msgid "Delayed uploads"
637 #. type: Content of: <chapter><section><section><para>
640 "It is sometimes useful to upload a package immediately, but to want this "
641 "package to arrive in the archive only a few days later. For example, when "
642 "preparing a <link linkend=\"nmu\">Non-maintainer Upload</link>, you might "
643 "want to give the maintainer a few days to react."
646 #. type: Content of: <chapter><section><section><para>
649 "An upload to the delayed directory keeps the package in <ulink url=\"http://"
650 "ftp-master.debian.org/deferred.html\"> the deferred uploads queue\"</"
651 "ulink>. When the specified waiting time is over, the package is moved into "
652 "the regular incoming directory for processing. This is done through "
653 "automatic uploading to <literal>&ftp-master-host;</literal> in upload-"
654 "directory <literal>DELAYED/[012345678]-day</literal>. 0-day is uploaded "
655 "multiple times per day to <literal>&ftp-master-host;</literal>."
658 #. type: Content of: <chapter><section><section><para>
661 "With dput, you can use the <literal>--delayed <replaceable>DELAY</"
662 "replaceable></literal> parameter to put the package into one of the queues."
665 # type: Content of: <chapter><section><section><title>
666 #. type: Content of: <chapter><section><section><title>
668 msgid "Security uploads"
669 msgstr "セキュリティアップロード"
671 # type: Content of: <chapter><section><section><para>
672 #. type: Content of: <chapter><section><section><para>
675 "Do <emphasis role=\"strong\">NOT</emphasis> upload a package to the security "
676 "upload queue (<literal>oldstable-security</literal>, <literal>stable-"
677 "security </literal>, etc.) without prior authorization from the security "
678 "team. If the package does not exactly meet the team's requirements, it will "
679 "cause many problems and delays in dealing with the unwanted upload. For "
680 "details, please see section <xref linkend=\"bug-security\"/> ."
683 # type: Content of: <chapter><section><section><title>
684 #. type: Content of: <chapter><section><section><title>
686 msgid "Other upload queues"
689 # type: Content of: <chapter><section><section><para>
690 #. type: Content of: <chapter><section><section><para>
693 "The scp queues on <literal>&ftp-master-host;</literal>, and <literal> "
694 "security.debian.org</literal> are mostly unusable due to the login "
695 "restrictions on those hosts."
698 # type: Content of: <chapter><section><section><para>
699 #. type: Content of: <chapter><section><section><para>
702 "The anonymous queues on ftp.uni-erlangen.de and ftp.uk.debian.org are "
703 "currently down. Work is underway to resurrect them."
706 # type: Content of: <chapter><section><section><para>
707 #. type: Content of: <chapter><section><section><para>
710 "The queues on master.debian.org, samosa.debian.org, master.debian.or.jp, and "
711 "ftp.chiark.greenend.org.uk are down permanently, and will not be "
712 "resurrected. The queue in Japan will be replaced with a new queue on hp."
713 "debian.or.jp some day."
716 # type: Content of: <chapter><section><section><title>
717 #. type: Content of: <chapter><section><section><title>
719 msgid "Notification that a new package has been installed"
722 # type: Content of: <chapter><section><section><para>
723 #. type: Content of: <chapter><section><section><para>
726 "The Debian archive maintainers are responsible for handling package "
727 "uploads. For the most part, uploads are automatically handled on a daily "
728 "basis by the archive maintenance tools, <command>katie</command>. "
729 "Specifically, updates to existing packages to the <literal>unstable</"
730 "literal> distribution are handled automatically. In other cases, notably "
731 "new packages, placing the uploaded package into the distribution is handled "
732 "manually. When uploads are handled manually, the change to the archive may "
733 "take up to a month to occur. Please be patient."
736 # type: Content of: <chapter><section><section><para>
737 #. type: Content of: <chapter><section><section><para>
740 "In any case, you will receive an email notification indicating that the "
741 "package has been added to the archive, which also indicates which bugs will "
742 "be closed by the upload. Please examine this notification carefully, "
743 "checking if any bugs you meant to close didn't get triggered."
746 # type: Content of: <chapter><section><section><para>
747 #. type: Content of: <chapter><section><section><para>
750 "The installation notification also includes information on what section the "
751 "package was inserted into. If there is a disparity, you will receive a "
752 "separate email notifying you of that. Read on below."
755 # type: Content of: <chapter><section><section><para>
756 #. type: Content of: <chapter><section><section><para>
759 "Note that if you upload via queues, the queue daemon software will also send "
760 "you a notification by email."
763 # type: Content of: <chapter><section><title>
764 #. type: Content of: <chapter><section><title>
766 msgid "Specifying the package section, subsection and priority"
769 # type: Content of: <chapter><section><para>
770 #. type: Content of: <chapter><section><para>
773 "The <filename>debian/control</filename> file's <literal>Section</literal> "
774 "and <literal>Priority</literal> fields do not actually specify where the "
775 "file will be placed in the archive, nor its priority. In order to retain "
776 "the overall integrity of the archive, it is the archive maintainers who have "
777 "control over these fields. The values in the <filename>debian/control</"
778 "filename> file are actually just hints."
781 # type: Content of: <chapter><section><para>
782 #. type: Content of: <chapter><section><para>
785 "The archive maintainers keep track of the canonical sections and priorities "
786 "for packages in the <literal>override file</literal>. If there is a "
787 "disparity between the <literal>override file</literal> and the package's "
788 "fields as indicated in <filename>debian/control</filename>, then you will "
789 "receive an email noting the divergence when the package is installed into "
790 "the archive. You can either correct your <filename>debian/control</"
791 "filename> file for your next upload, or else you may wish to make a change "
792 "in the <literal>override file</literal>."
795 # type: Content of: <chapter><section><para>
796 #. type: Content of: <chapter><section><para>
799 "To alter the actual section that a package is put in, you need to first make "
800 "sure that the <filename>debian/control</filename> file in your package is "
801 "accurate. Next, send an email &email-override; or submit a bug against "
802 "<systemitem role=\"package\">ftp.debian.org</systemitem> requesting that the "
803 "section or priority for your package be changed from the old section or "
804 "priority to the new one. Be sure to explain your reasoning."
807 # type: Content of: <chapter><section><para>
808 #. type: Content of: <chapter><section><para>
811 "For more information about <literal>override files</literal>, see "
812 "<citerefentry> <refentrytitle>dpkg-scanpackages</refentrytitle> "
813 "<manvolnum>1</manvolnum> </citerefentry> and <ulink url=\"&url-bts-devel;"
814 "#maintincorrect\"></ulink>."
817 # type: Content of: <chapter><section><para>
818 #. type: Content of: <chapter><section><para>
821 "Note that the <literal>Section</literal> field describes both the section as "
822 "well as the subsection, which are described in <xref linkend=\"archive-"
823 "sections\"/> . If the section is main, it should be omitted. The list of "
824 "allowable subsections can be found in <ulink url=\"&url-debian-policy;ch-"
825 "archive.html#s-subsections\"></ulink>."
828 # type: Content of: <chapter><section><title>
829 #. type: Content of: <chapter><section><title>
831 msgid "Handling bugs"
834 # type: Content of: <chapter><section><para>
835 #. type: Content of: <chapter><section><para>
838 "Every developer has to be able to work with the Debian <ulink url=\"&url-bts;"
839 "\">bug tracking system</ulink>. This includes knowing how to file bug "
840 "reports properly (see <xref linkend=\"submit-bug\"/> ), how to update them "
841 "and reorder them, and how to process and close them."
844 # type: Content of: <chapter><section><para>
845 #. type: Content of: <chapter><section><para>
848 "The bug tracking system's features are described in the <ulink url=\"&url-"
849 "bts-devel;\">BTS documentation for developers</ulink>. This includes "
850 "closing bugs, sending followup messages, assigning severities and tags, "
851 "marking bugs as forwarded, and other issues."
854 # type: Content of: <chapter><section><para>
855 #. type: Content of: <chapter><section><para>
858 "Operations such as reassigning bugs to other packages, merging separate bug "
859 "reports about the same issue, or reopening bugs when they are prematurely "
860 "closed, are handled using the so-called control mail server. All of the "
861 "commands available on this server are described in the <ulink url=\"&url-bts-"
862 "control;\">BTS control server documentation</ulink>."
865 # type: Content of: <chapter><section><section><title>
866 #. type: Content of: <chapter><section><section><title>
868 msgid "Monitoring bugs"
871 # type: Content of: <chapter><section><section><para>
872 #. type: Content of: <chapter><section><section><para>
875 "If you want to be a good maintainer, you should periodically check the "
876 "<ulink url=\"&url-bts;\">Debian bug tracking system (BTS)</ulink> for your "
877 "packages. The BTS contains all the open bugs against your packages. You "
878 "can check them by browsing this page: <literal>http://&bugs-host;/"
879 "<replaceable>yourlogin</replaceable>@debian.org</literal>."
882 # type: Content of: <chapter><section><section><para>
883 #. type: Content of: <chapter><section><section><para>
886 "Maintainers interact with the BTS via email addresses at <literal>&bugs-host;"
887 "</literal>. Documentation on available commands can be found at <ulink url="
888 "\"&url-bts;\"></ulink>, or, if you have installed the <systemitem role="
889 "\"package\">doc-debian</systemitem> package, you can look at the local files "
893 # type: Content of: <chapter><section><section><para>
894 #. type: Content of: <chapter><section><section><para>
897 "Some find it useful to get periodic reports on open bugs. You can add a "
898 "cron job such as the following if you want to get a weekly email outlining "
899 "all the open bugs against your packages:"
902 #. type: Content of: <chapter><section><section><screen>
906 "# ask for weekly reports of bugs in my packages\n"
907 "&cron-bug-report;\n"
910 # type: Content of: <chapter><section><section><para>
911 #. type: Content of: <chapter><section><section><para>
914 "Replace <replaceable>address</replaceable> with your official Debian "
915 "maintainer address."
918 # type: Content of: <chapter><section><section><title>
919 #. type: Content of: <chapter><section><section><title>
921 msgid "Responding to bugs"
924 # type: Content of: <chapter><section><section><para>
925 #. type: Content of: <chapter><section><section><para>
928 "When responding to bugs, make sure that any discussion you have about bugs "
929 "is sent both to the original submitter of the bug, and to the bug itself (e."
930 "g., <email>123@&bugs-host;</email>). If you're writing a new mail and you "
931 "don't remember the submitter email address, you can use the <email>123-"
932 "submitter@&bugs-host;</email> email to contact the submitter <emphasis>and</"
933 "emphasis> to record your mail within the bug log (that means you don't need "
934 "to send a copy of the mail to <email>123@&bugs-host;</email>)."
937 # type: Content of: <chapter><section><section><para>
938 #. type: Content of: <chapter><section><section><para>
941 "If you get a bug which mentions FTBFS, this means Fails to build from "
942 "source. Porters frequently use this acronym."
945 # type: Content of: <chapter><section><section><para>
946 #. type: Content of: <chapter><section><section><para>
949 "Once you've dealt with a bug report (e.g. fixed it), mark it as "
950 "<literal>done</literal> (close it) by sending an explanation message to "
951 "<email>123-done@&bugs-host;</email>. If you're fixing a bug by changing and "
952 "uploading the package, you can automate bug closing as described in <xref "
953 "linkend=\"upload-bugfix\"/> ."
956 # type: Content of: <chapter><section><section><para>
957 #. type: Content of: <chapter><section><section><para>
960 "You should <emphasis>never</emphasis> close bugs via the bug server "
961 "<literal>close</literal> command sent to &email-bts-control;. If you do so, "
962 "the original submitter will not receive any information about why the bug "
966 # type: Content of: <chapter><section><section><title>
967 #. type: Content of: <chapter><section><section><title>
969 msgid "Bug housekeeping"
972 # type: Content of: <chapter><section><section><para>
973 #. type: Content of: <chapter><section><section><para>
976 "As a package maintainer, you will often find bugs in other packages or have "
977 "bugs reported against your packages which are actually bugs in other "
978 "packages. The bug tracking system's features are described in the <ulink "
979 "url=\"&url-bts-devel;\">BTS documentation for Debian developers</ulink>. "
980 "Operations such as reassigning, merging, and tagging bug reports are "
981 "described in the <ulink url=\"&url-bts-control;\">BTS control server "
982 "documentation</ulink>. This section contains some guidelines for managing "
983 "your own bugs, based on the collective Debian developer experience."
986 # type: Content of: <chapter><section><section><para>
987 #. type: Content of: <chapter><section><section><para>
990 "Filing bugs for problems that you find in other packages is one of the civic "
991 "obligations of maintainership, see <xref linkend=\"submit-bug\"/> for "
992 "details. However, handling the bugs in your own packages is even more "
996 # type: Content of: <chapter><section><section><para>
997 #. type: Content of: <chapter><section><section><para>
999 msgid "Here's a list of steps that you may follow to handle a bug report:"
1002 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
1003 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1006 "Decide whether the report corresponds to a real bug or not. Sometimes users "
1007 "are just calling a program in the wrong way because they haven't read the "
1008 "documentation. If you diagnose this, just close the bug with enough "
1009 "information to let the user correct their problem (give pointers to the good "
1010 "documentation and so on). If the same report comes up again and again you "
1011 "may ask yourself if the documentation is good enough or if the program "
1012 "shouldn't detect its misuse in order to give an informative error message. "
1013 "This is an issue that may need to be brought up with the upstream author."
1016 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
1017 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1020 "If the bug submitter disagrees with your decision to close the bug, they may "
1021 "reopen it until you find an agreement on how to handle it. If you don't "
1022 "find any, you may want to tag the bug <literal>wontfix</literal> to let "
1023 "people know that the bug exists but that it won't be corrected. If this "
1024 "situation is unacceptable, you (or the submitter) may want to require a "
1025 "decision of the technical committee by reassigning the bug to <systemitem "
1026 "role=\"package\">tech-ctte</systemitem> (you may use the clone command of "
1027 "the BTS if you wish to keep it reported against your package). Before doing "
1028 "so, please read the <ulink url=\"&url-tech-ctte;\">recommended procedure</"
1032 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
1033 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1036 "If the bug is real but it's caused by another package, just reassign the bug "
1037 "to the right package. If you don't know which package it should be "
1038 "reassigned to, you should ask for help on <link linkend=\"irc-channels"
1039 "\">IRC</link> or on &email-debian-devel;. Please inform the maintainer(s) "
1040 "of the package you reassign the bug to, for example by Cc:ing the message "
1041 "that does the reassign to <email>packagename@packages.debian.org</email> and "
1042 "explaining your reasons in that mail. Please note that a simple reassignment "
1043 "is <emphasis>not</emphasis> e-mailed to the maintainers of the package being "
1044 "reassigned to, so they won't know about it until they look at a bug overview "
1045 "for their packages."
1048 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
1049 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1052 "If the bug affects the operation of your package, please consider cloning "
1053 "the bug and reassigning the clone to the package that really causes the "
1054 "behavior. Otherwise, the bug will not be shown in your package's bug list, "
1055 "possibly causing users to report the same bug over and over again. You "
1056 "should block \"your\" bug with the reassigned, cloned bug to document the "
1060 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
1061 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1064 "Sometimes you also have to adjust the severity of the bug so that it matches "
1065 "our definition of the severity. That's because people tend to inflate the "
1066 "severity of bugs to make sure their bugs are fixed quickly. Some bugs may "
1067 "even be dropped to wishlist severity when the requested change is just "
1071 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
1072 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1075 "If the bug is real but the same problem has already been reported by someone "
1076 "else, then the two relevant bug reports should be merged into one using the "
1077 "merge command of the BTS. In this way, when the bug is fixed, all of the "
1078 "submitters will be informed of this. (Note, however, that emails sent to "
1079 "one bug report's submitter won't automatically be sent to the other report's "
1080 "submitter.) For more details on the technicalities of the merge command and "
1081 "its relative, the unmerge command, see the BTS control server documentation."
1084 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
1085 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1088 "The bug submitter may have forgotten to provide some information, in which "
1089 "case you have to ask them for the required information. You may use the "
1090 "<literal>moreinfo</literal> tag to mark the bug as such. Moreover if you "
1091 "can't reproduce the bug, you tag it <literal>unreproducible</literal>. "
1092 "Anyone who can reproduce the bug is then invited to provide more information "
1093 "on how to reproduce it. After a few months, if this information has not "
1094 "been sent by someone, the bug may be closed."
1097 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
1098 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1101 "If the bug is related to the packaging, you just fix it. If you are not "
1102 "able to fix it yourself, then tag the bug as <literal>help</literal>. You "
1103 "can also ask for help on &email-debian-devel; or &email-debian-qa;. If it's "
1104 "an upstream problem, you have to forward it to the upstream author. "
1105 "Forwarding a bug is not enough, you have to check at each release if the bug "
1106 "has been fixed or not. If it has, you just close it, otherwise you have to "
1107 "remind the author about it. If you have the required skills you can prepare "
1108 "a patch that fixes the bug and send it to the author at the same time. Make "
1109 "sure to send the patch to the BTS and to tag the bug as <literal>patch</"
1113 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
1114 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1117 "If you have fixed a bug in your local copy, or if a fix has been committed "
1118 "to the CVS repository, you may tag the bug as <literal>pending</literal> to "
1119 "let people know that the bug is corrected and that it will be closed with "
1120 "the next upload (add the <literal>closes:</literal> in the "
1121 "<filename>changelog</filename>). This is particularly useful if you are "
1122 "several developers working on the same package."
1125 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
1126 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1129 "Once a corrected package is available in the archive, the bug should be "
1130 "closed indicating the version in which it was fixed. This can be done "
1131 "automatically, read <xref linkend=\"upload-bugfix\"/>."
1134 # type: Content of: <chapter><section><section><title>
1135 #. type: Content of: <chapter><section><section><title>
1137 msgid "When bugs are closed by new uploads"
1138 msgstr "新規アップロードでバグがクローズされる時"
1140 # type: Content of: <chapter><section><section><para>
1141 #. type: Content of: <chapter><section><section><para>
1144 "As bugs and problems are fixed in your packages, it is your responsibility "
1145 "as the package maintainer to close these bugs. However, you should not "
1146 "close a bug until the package which fixes the bug has been accepted into the "
1147 "Debian archive. Therefore, once you get notification that your updated "
1148 "package has been installed into the archive, you can and should close the "
1149 "bug in the BTS. Also, the bug should be closed with the correct version."
1152 # type: Content of: <chapter><section><section><para>
1153 #. type: Content of: <chapter><section><section><para>
1156 "However, it's possible to avoid having to manually close bugs after the "
1157 "upload — just list the fixed bugs in your <filename>debian/changelog</"
1158 "filename> file, following a certain syntax, and the archive maintenance "
1159 "software will close the bugs for you. For example:"
1162 # type: Content of: <chapter><section><section><screen>
1163 #. type: Content of: <chapter><section><section><screen>
1167 "acme-cannon (3.1415) unstable; urgency=low\n"
1169 " * Frobbed with options (closes: Bug#98339)\n"
1170 " * Added safety to prevent operator dismemberment, closes: bug#98765,\n"
1171 " bug#98713, #98714.\n"
1172 " * Added man page. Closes: #98725.\n"
1174 "acme-cannon (3.1415) unstable; urgency=low\n"
1176 " * Frobbed with options (closes: Bug#98339)\n"
1177 " * Added safety to prevent operator dismemberment, closes: bug#98765,\n"
1178 " bug#98713, #98714.\n"
1179 " * Added man page. Closes: #98725."
1181 # type: Content of: <chapter><section><section><para>
1182 #. type: Content of: <chapter><section><section><para>
1185 "Technically speaking, the following Perl regular expression describes how "
1186 "bug closing changelogs are identified:"
1189 # type: Content of: <chapter><section><section><screen>
1190 #. type: Content of: <chapter><section><section><screen>
1193 msgid " /closes:\\s*(?:bug)?\\#\\s*\\d+(?:,\\s*(?:bug)?\\#\\s*\\d+)*/ig\n"
1194 msgstr "/closes:\\s*(?:bug)?\\#\\s*\\d+(?:,\\s*(?:bug)?\\#\\s*\\d+)*/ig"
1196 # type: Content of: <chapter><section><section><para>
1197 #. type: Content of: <chapter><section><section><para>
1200 "We prefer the <literal>closes: #<replaceable>XXX</replaceable></literal> "
1201 "syntax, as it is the most concise entry and the easiest to integrate with "
1202 "the text of the <filename>changelog</filename>. Unless specified different "
1203 "by the <replaceable>-v</replaceable>-switch to <command>dpkg-buildpackage</"
1204 "command>, only the bugs closed in the most recent changelog entry are closed "
1205 "(basically, exactly the bugs mentioned in the changelog-part in the "
1206 "<filename>.changes</filename> file are closed)."
1209 # type: Content of: <chapter><section><section><para>
1210 #. type: Content of: <chapter><section><section><para>
1213 "Historically, uploads identified as <link linkend=\"nmu\">Non-maintainer "
1214 "upload (NMU)</link> were tagged <literal>fixed</literal> instead of being "
1215 "closed, but that practice was ceased with the advent of version-tracking. "
1216 "The same applied to the tag <literal>fixed-in-experimental</literal>."
1219 # type: Content of: <chapter><section><section><para>
1220 #. type: Content of: <chapter><section><section><para>
1223 "If you happen to mistype a bug number or forget a bug in the changelog "
1224 "entries, don't hesitate to undo any damage the error caused. To reopen "
1225 "wrongly closed bugs, send a <literal>reopen <replaceable>XXX</replaceable></"
1226 "literal> command to the bug tracking system's control address, &email-bts-"
1227 "control;. To close any remaining bugs that were fixed by your upload, email "
1228 "the <filename>.changes</filename> file to <email>XXX-done@&bugs-host;</"
1229 "email>, where <replaceable>XXX</replaceable> is the bug number, and put "
1230 "Version: YYY and an empty line as the first two lines of the body of the "
1231 "email, where <replaceable>YYY</replaceable> is the first version where the "
1232 "bug has been fixed."
1235 # type: Content of: <chapter><section><section><para>
1236 #. type: Content of: <chapter><section><section><para>
1239 "Bear in mind that it is not obligatory to close bugs using the changelog as "
1240 "described above. If you simply want to close bugs that don't have anything "
1241 "to do with an upload you made, do it by emailing an explanation to "
1242 "<email>XXX-done@&bugs-host;</email>. Do <emphasis role=\"strong\">not</"
1243 "emphasis> close bugs in the changelog entry of a version if the changes in "
1244 "that version of the package don't have any bearing on the bug."
1247 # type: Content of: <chapter><section><section><para>
1248 #. type: Content of: <chapter><section><section><para>
1251 "For general information on how to write your changelog entries, see <xref "
1252 "linkend=\"bpp-debian-changelog\"/> ."
1255 # type: Content of: <chapter><section><section><title>
1256 #. type: Content of: <chapter><section><section><title>
1258 msgid "Handling security-related bugs"
1259 msgstr "セキュリティ関連バグの取扱い"
1261 # type: Content of: <chapter><section><section><para>
1262 #. type: Content of: <chapter><section><section><para>
1265 "Due to their sensitive nature, security-related bugs must be handled "
1266 "carefully. The Debian Security Team exists to coordinate this activity, "
1267 "keeping track of outstanding security problems, helping maintainers with "
1268 "security problems or fixing them themselves, sending security advisories, "
1269 "and maintaining <literal>security.debian.org</literal>."
1272 #. type: Content of: <chapter><section><section><para>
1275 "When you become aware of a security-related bug in a Debian package, whether "
1276 "or not you are the maintainer, collect pertinent information about the "
1277 "problem, and promptly contact the security team at &email-security-team; as "
1278 "soon as possible. <emphasis role=\"strong\">DO NOT UPLOAD</emphasis> any "
1279 "packages for <literal>stable</literal> without contacting the team. Useful "
1280 "information includes, for example:"
1283 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1284 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1287 "Which versions of the package are known to be affected by the bug. Check "
1288 "each version that is present in a supported Debian release, as well as "
1289 "<literal>testing</literal> and <literal>unstable</literal>."
1292 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1293 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1296 "The nature of the fix, if any is available (patches are especially helpful)"
1299 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1300 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1303 "Any fixed packages that you have prepared yourself (send only the <literal>."
1304 "diff.gz</literal> and <literal>.dsc</literal> files and read <xref linkend="
1305 "\"bug-security-building\"/> first)"
1308 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1309 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1312 "Any assistance you can provide to help with testing (exploits, regression "
1316 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1317 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1320 "Any information needed for the advisory (see <xref linkend=\"bug-security-"
1324 #. type: Content of: <chapter><section><section><para>
1327 "As the maintainer of the package, you have the responsibility to maintain "
1328 "it, even in the stable release. You are in the best position to evaluate "
1329 "patches and test updated packages, so please see the sections below on how "
1330 "to prepare packages for the Security Team to handle."
1333 #. type: Content of: <chapter><section><section><section><title>
1335 msgid "The Security Tracker"
1338 #. type: Content of: <chapter><section><section><section><para>
1341 "The security team maintains a central database, the <ulink url=\"http://"
1342 "security-tracker.debian.net/\">Debian Security Tracker</ulink>. This "
1343 "contains all public information that is known about security issues: which "
1344 "packages and versions are affected or fixed, and thus whether stable, "
1345 "testing and/or unstable are vulnerable. Information that is still "
1346 "confidential is not added to the tracker."
1349 #. type: Content of: <chapter><section><section><section><para>
1352 "You can search it for a specific issue, but also on package name. Look for "
1353 "your package to see which issues are still open. If you can, please provide "
1354 "more information about those issues, or help to address them in your "
1355 "package. Instructions are on the tracker web pages."
1358 # type: Content of: <chapter><section><section><section><title>
1359 #. type: Content of: <chapter><section><section><section><title>
1361 msgid "Confidentiality"
1364 # type: Content of: <chapter><section><section><section><para>
1365 #. type: Content of: <chapter><section><section><section><para>
1368 "Unlike most other activities within Debian, information about security "
1369 "issues must sometimes be kept private for a time. This allows software "
1370 "distributors to coordinate their disclosure in order to minimize their "
1371 "users' exposure. Whether this is the case depends on the nature of the "
1372 "problem and corresponding fix, and whether it is already a matter of public "
1376 # type: Content of: <chapter><section><section><section><para>
1377 #. type: Content of: <chapter><section><section><section><para>
1379 msgid "There are several ways developers can learn of a security problem:"
1382 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1383 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1385 msgid "they notice it on a public forum (mailing list, web site, etc.)"
1388 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1389 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1391 msgid "someone files a bug report"
1394 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1395 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1397 msgid "someone informs them via private email"
1400 # type: Content of: <chapter><section><section><section><para>
1401 #. type: Content of: <chapter><section><section><section><para>
1404 "In the first two cases, the information is public and it is important to "
1405 "have a fix as soon as possible. In the last case, however, it might not be "
1406 "public information. In that case there are a few possible options for "
1407 "dealing with the problem:"
1410 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1411 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1414 "If the security exposure is minor, there is sometimes no need to keep the "
1415 "problem a secret and a fix should be made and released."
1418 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1419 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1422 "If the problem is severe, it is preferable to share the information with "
1423 "other vendors and coordinate a release. The security team keeps in contact "
1424 "with the various organizations and individuals and can take care of that."
1427 # type: Content of: <chapter><section><section><section><para>
1428 #. type: Content of: <chapter><section><section><section><para>
1431 "In all cases if the person who reports the problem asks that it not be "
1432 "disclosed, such requests should be honored, with the obvious exception of "
1433 "informing the security team in order that a fix may be produced for a stable "
1434 "release of Debian. When sending confidential information to the security "
1435 "team, be sure to mention this fact."
1438 # type: Content of: <chapter><section><section><section><para>
1439 #. type: Content of: <chapter><section><section><section><para>
1442 "Please note that if secrecy is needed you may not upload a fix to "
1443 "<literal>unstable</literal> (or anywhere else, such as a public CVS "
1444 "repository). It is not sufficient to obfuscate the details of the change, "
1445 "as the code itself is public, and can (and will) be examined by the general "
1449 # type: Content of: <chapter><section><section><section><para>
1450 #. type: Content of: <chapter><section><section><section><para>
1453 "There are two reasons for releasing information even though secrecy is "
1454 "requested: the problem has been known for a while, or the problem or exploit "
1455 "has become public."
1458 #. type: Content of: <chapter><section><section><section><para>
1461 "The Security Team has a PGP-key to enable encrypted communication about "
1462 "sensitive issues. See the <ulink url=\"http://www.debian.org/security/faq.en."
1463 "html#contact\">Security Team FAQ</ulink> for details."
1466 # type: Content of: <chapter><section><section><section><title>
1467 #. type: Content of: <chapter><section><section><section><title>
1469 msgid "Security Advisories"
1472 # type: Content of: <chapter><section><section><section><para>
1473 #. type: Content of: <chapter><section><section><section><para>
1476 "Security advisories are only issued for the current, released stable "
1477 "distribution, and <emphasis>not</emphasis> for <literal>testing</literal> or "
1478 "<literal>unstable</literal>. When released, advisories are sent to the "
1479 "&email-debian-security-announce; mailing list and posted on <ulink url="
1480 "\"&url-debian-security-advisories;\">the security web page</ulink>. "
1481 "Security advisories are written and posted by the security team. However "
1482 "they certainly do not mind if a maintainer can supply some of the "
1483 "information for them, or write part of the text. Information that should be "
1484 "in an advisory includes:"
1487 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1488 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1490 msgid "A description of the problem and its scope, including:"
1493 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1494 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1496 msgid "The type of problem (privilege escalation, denial of service, etc.)"
1499 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1500 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1502 msgid "What privileges may be gained, and by whom (if any)"
1505 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1506 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1508 msgid "How it can be exploited"
1509 msgstr "どのようにして攻撃が可能なのか"
1511 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1512 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1514 msgid "Whether it is remotely or locally exploitable"
1515 msgstr "攻撃はリモートから可能なのかそれともローカルから可能なのか"
1517 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1518 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1520 msgid "How the problem was fixed"
1521 msgstr "どのようにして問題が修正されたのか"
1523 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1524 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1526 msgid "This information allows users to assess the threat to their systems."
1529 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1530 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1532 msgid "Version numbers of affected packages"
1533 msgstr "影響を受けるパッケージのバージョン番号"
1535 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1536 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1538 msgid "Version numbers of fixed packages"
1539 msgstr "修正されたパッケージのバージョン番号"
1541 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1542 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1545 "Information on where to obtain the updated packages (usually from the Debian "
1549 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1550 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1553 "References to upstream advisories, <ulink url=\"http://cve.mitre.org\">CVE</"
1554 "ulink> identifiers, and any other information useful in cross-referencing "
1558 # type: Content of: <chapter><section><section><section><title>
1559 #. type: Content of: <chapter><section><section><section><title>
1561 msgid "Preparing packages to address security issues"
1564 # type: Content of: <chapter><section><section><section><para>
1565 #. type: Content of: <chapter><section><section><section><para>
1568 "One way that you can assist the security team in their duties is to provide "
1569 "them with fixed packages suitable for a security advisory for the stable "
1573 # type: Content of: <chapter><section><section><section><para>
1574 #. type: Content of: <chapter><section><section><section><para>
1577 "When an update is made to the stable release, care must be taken to avoid "
1578 "changing system behavior or introducing new bugs. In order to do this, make "
1579 "as few changes as possible to fix the bug. Users and administrators rely on "
1580 "the exact behavior of a release once it is made, so any change that is made "
1581 "might break someone's system. This is especially true of libraries: make "
1582 "sure you never change the API or ABI, no matter how small the change."
1585 # type: Content of: <chapter><section><section><section><para>
1586 #. type: Content of: <chapter><section><section><section><para>
1589 "This means that moving to a new upstream version is not a good solution. "
1590 "Instead, the relevant changes should be back-ported to the version present "
1591 "in the current stable Debian release. Generally, upstream maintainers are "
1592 "willing to help if needed. If not, the Debian security team may be able to "
1596 # type: Content of: <chapter><section><section><section><para>
1597 #. type: Content of: <chapter><section><section><section><para>
1600 "In some cases, it is not possible to back-port a security fix, for example "
1601 "when large amounts of source code need to be modified or rewritten. If this "
1602 "happens, it may be necessary to move to a new upstream version. However, "
1603 "this is only done in extreme situations, and you must always coordinate that "
1604 "with the security team beforehand."
1607 # type: Content of: <chapter><section><section><section><para>
1608 #. type: Content of: <chapter><section><section><section><para>
1611 "Related to this is another important guideline: always test your changes. "
1612 "If you have an exploit available, try it and see if it indeed succeeds on "
1613 "the unpatched package and fails on the fixed package. Test other, normal "
1614 "actions as well, as sometimes a security fix can break seemingly unrelated "
1615 "features in subtle ways."
1618 # type: Content of: <chapter><section><section><section><para>
1619 #. type: Content of: <chapter><section><section><section><para>
1622 "Do <emphasis role=\"strong\">NOT</emphasis> include any changes in your "
1623 "package which are not directly related to fixing the vulnerability. These "
1624 "will only need to be reverted, and this wastes time. If there are other "
1625 "bugs in your package that you would like to fix, make an upload to proposed-"
1626 "updates in the usual way, after the security advisory is issued. The "
1627 "security update mechanism is not a means for introducing changes to your "
1628 "package which would otherwise be rejected from the stable release, so please "
1629 "do not attempt to do this."
1632 # type: Content of: <chapter><section><section><section><para>
1633 #. type: Content of: <chapter><section><section><section><para>
1636 "Review and test your changes as much as possible. Check the differences "
1637 "from the previous version repeatedly (<command>interdiff</command> from the "
1638 "<systemitem role=\"package\">patchutils</systemitem> package and "
1639 "<command>debdiff</command> from <systemitem role=\"package\">devscripts</"
1640 "systemitem> are useful tools for this, see <xref linkend=\"debdiff\"/> )."
1643 # type: Content of: <chapter><section><section><section><para>
1644 #. type: Content of: <chapter><section><section><section><para>
1646 msgid "Be sure to verify the following items:"
1649 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1652 "<emphasis role=\"strong\">Target the right distribution</emphasis> in your "
1653 "<filename>debian/changelog</filename>. For <literal>stable</literal> this "
1654 "is <literal>stable-security</literal> and for testing this is "
1655 "<literal>testing-security</literal>, and for the previous stable release, "
1656 "this is <literal>oldstable-security</literal>. Do not target "
1657 "<replaceable>distribution</replaceable><literal>-proposed-updates</literal> "
1658 "or <literal>stable</literal>!"
1661 # type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1662 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1666 "The upload should have <emphasis role=\"strong\">urgency=high</emphasis>."
1667 msgstr "アップロードは urgency=high で行う必要があります。"
1669 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1672 "Make descriptive, meaningful changelog entries. Others will rely on them to "
1673 "determine whether a particular bug was fixed. Add <literal>closes:</"
1674 "literal> statements for any <emphasis role=\"strong\">Debian bugs</emphasis> "
1675 "filed. Always include an external reference, preferably a <emphasis role="
1676 "\"strong\">CVE identifier</emphasis>, so that it can be cross-referenced. "
1677 "However, if a CVE identifier has not yet been assigned, do not wait for it "
1678 "but continue the process. The identifier can be cross-referenced later."
1681 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1684 "Make sure the <emphasis role=\"strong\">version number</emphasis> is "
1685 "proper. It must be greater than the current package, but less than package "
1686 "versions in later distributions. If in doubt, test it with <literal>dpkg --"
1687 "compare-versions</literal>. Be careful not to re-use a version number that "
1688 "you have already used for a previous upload, or one that conflicts with a "
1689 "binNMU. The convention is to append <literal>+</"
1690 "literal><replaceable>codename</replaceable><literal>1</literal>, e.g. "
1691 "<literal>1:2.4.3-4+etch1</literal>, of course increasing 1 for any "
1692 "subsequent uploads."
1695 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1698 "Unless the upstream source has been uploaded to <literal>security.debian.org "
1699 "</literal> before (by a previous security update), build the upload "
1700 "<emphasis role=\"strong\">with full upstream source</emphasis> "
1701 "(<literal>dpkg-buildpackage -sa</literal>). If there has been a previous "
1702 "upload to <literal>security.debian.org</literal> with the same upstream "
1703 "version, you may upload without upstream source (<literal> dpkg-buildpackage "
1707 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1710 "Be sure to use the <emphasis role=\"strong\">exact same <filename>*.orig.tar."
1711 "gz</filename></emphasis> as used in the normal archive, otherwise it is not "
1712 "possible to move the security fix into the main archives later."
1715 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1718 "Build the package on a <emphasis role=\"strong\">clean system</emphasis> "
1719 "which only has packages installed from the distribution you are building "
1720 "for. If you do not have such a system yourself, you can use a debian.org "
1721 "machine (see <xref linkend=\"server-machines\"/> ) or setup a chroot (see "
1722 "<xref linkend=\"pbuilder\"/> and <xref linkend=\"debootstrap\"/> )."
1725 # type: Content of: <chapter><section><section><section><title>
1726 #. type: Content of: <chapter><section><section><section><title>
1728 msgid "Uploading the fixed package"
1731 # type: Content of: <chapter><section><section><section><para>
1732 #. type: Content of: <chapter><section><section><section><para>
1735 "Do <emphasis role=\"strong\">NOT</emphasis> upload a package to the security "
1736 "upload queue (<literal>oldstable-security</literal>, <literal>stable-"
1737 "security </literal>, etc.) without prior authorization from the security "
1738 "team. If the package does not exactly meet the team's requirements, it will "
1739 "cause many problems and delays in dealing with the unwanted upload."
1742 # type: Content of: <chapter><section><section><section><para>
1743 #. type: Content of: <chapter><section><section><section><para>
1746 "Do <emphasis role=\"strong\">NOT</emphasis> upload your fix to <literal> "
1747 "proposed-updates</literal> without coordinating with the security team. "
1748 "Packages from <literal>security.debian.org</literal> will be copied into the "
1749 "<literal>proposed-updates</literal> directory automatically. If a package "
1750 "with the same or a higher version number is already installed into the "
1751 "archive, the security update will be rejected by the archive system. That "
1752 "way, the stable distribution will end up without a security update for this "
1756 # type: Content of: <chapter><section><section><section><para>
1757 #. type: Content of: <chapter><section><section><section><para>
1760 "Once you have created and tested the new package and it has been approved by "
1761 "the security team, it needs to be uploaded so that it can be installed in "
1762 "the archives. For security uploads, the place to upload to is "
1763 "<literal>ftp://security-master.debian.org/pub/SecurityUploadQueue/</"
1767 #. type: Content of: <chapter><section><section><section><para>
1770 "Once an upload to the security queue has been accepted, the package will "
1771 "automatically be built for all architectures and stored for verification by "
1772 "the security team."
1775 # type: Content of: <chapter><section><section><section><para>
1776 #. type: Content of: <chapter><section><section><section><para>
1779 "Uploads which are waiting for acceptance or verification are only accessible "
1780 "by the security team. This is necessary since there might be fixes for "
1781 "security problems that cannot be disclosed yet."
1784 # type: Content of: <chapter><section><section><section><para>
1785 #. type: Content of: <chapter><section><section><section><para>
1788 "If a member of the security team accepts a package, it will be installed on "
1789 "<literal>security.debian.org</literal> as well as proposed for the proper "
1790 "<replaceable>distribution</replaceable><literal>-proposed-updates</literal> "
1791 "on <literal>&ftp-master-host;</literal>."
1794 # type: Content of: <chapter><section><title>
1795 #. type: Content of: <chapter><section><title>
1797 msgid "Moving, removing, renaming, adopting, and orphaning packages"
1798 msgstr "パッケージの移動、削除、リネーム、変更、みなしご化"
1800 # type: Content of: <chapter><section><para>
1801 #. type: Content of: <chapter><section><para>
1804 "Some archive manipulation operations are not automated in the Debian upload "
1805 "process. These procedures should be manually followed by maintainers. This "
1806 "chapter gives guidelines on what to do in these cases."
1809 # type: Content of: <chapter><section><section><title>
1810 #. type: Content of: <chapter><section><section><title>
1812 msgid "Moving packages"
1815 # type: Content of: <chapter><section><section><para><footnote><para>
1816 #. type: Content of: <chapter><section><section><para><footnote><para>
1819 "See the <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for "
1820 "guidelines on what section a package belongs in."
1823 #. type: Content of: <chapter><section><section><para>
1826 "Sometimes a package will change its section. For instance, a package from "
1827 "the `non-free' section might be GPL'd in a later version, in which case the "
1828 "package should be moved to `main' or `contrib'.<placeholder type=\"footnote"
1832 # type: Content of: <chapter><section><section><para>
1833 #. type: Content of: <chapter><section><section><para>
1836 "If you need to change the section for one of your packages, change the "
1837 "package control information to place the package in the desired section, and "
1838 "re-upload the package (see the <ulink url=\"&url-debian-policy;\">Debian "
1839 "Policy Manual</ulink> for details). You must ensure that you include the "
1840 "<filename>.orig.tar.gz</filename> in your upload (even if you are not "
1841 "uploading a new upstream version), or it will not appear in the new section "
1842 "together with the rest of the package. If your new section is valid, it "
1843 "will be moved automatically. If it does not, then contact the ftpmasters in "
1844 "order to understand what happened."
1847 # type: Content of: <chapter><section><section><para>
1848 #. type: Content of: <chapter><section><section><para>
1851 "If, on the other hand, you need to change the <literal>subsection</literal> "
1852 "of one of your packages (e.g., ``devel'', ``admin''), the procedure is "
1853 "slightly different. Correct the subsection as found in the control file of "
1854 "the package, and re-upload that. Also, you'll need to get the override file "
1855 "updated, as described in <xref linkend=\"override-file\"/> ."
1858 # type: Content of: <chapter><section><section><title>
1859 #. type: Content of: <chapter><section><section><title>
1861 msgid "Removing packages"
1864 # type: Content of: <chapter><section><section><para>
1865 #. type: Content of: <chapter><section><section><para>
1868 "If for some reason you want to completely remove a package (say, if it is an "
1869 "old compatibility library which is no longer required), you need to file a "
1870 "bug against <literal>ftp.debian.org</literal> asking that the package be "
1871 "removed; as all bugs, this bug should normally have normal severity. The "
1872 "bug title should be in the form <literal>RM: <replaceable>package </"
1873 "replaceable> <replaceable>[architecture list]</replaceable> -- "
1874 "<replaceable>reason</replaceable></literal>, where <replaceable>package</"
1875 "replaceable> is the package to be removed and <replaceable>reason</"
1876 "replaceable> is a short summary of the reason for the removal request. "
1877 "<replaceable>[architecture list]</replaceable> is optional and only needed "
1878 "if the removal request only applies to some architectures, not all. Note "
1879 "that the <command>reportbug</command> will create a title conforming to "
1880 "these rules when you use it to report a bug against the <literal> ftp.debian."
1881 "org</literal> pseudo-package."
1884 # type: Content of: <chapter><section><section><para>
1885 #. type: Content of: <chapter><section><section><para>
1888 "If you want to remove a package you maintain, you should note this in the "
1889 "bug title by prepending <literal>ROM</literal> (Request Of Maintainer). "
1890 "There are several other standard acronyms used in the reasoning for a "
1891 "package removal, see <ulink url=\"http://&ftp-master-host;/removals.html\"></"
1892 "ulink> for a complete list. That page also provides a convenient overview of "
1893 "pending removal requests."
1896 # type: Content of: <chapter><section><section><para>
1897 #. type: Content of: <chapter><section><section><para>
1900 "Note that removals can only be done for the <literal>unstable </literal>, "
1901 "<literal>experimental</literal> and <literal>stable </literal> "
1902 "distribution. Packages are not removed from <literal>testing</literal> "
1903 "directly. Rather, they will be removed automatically after the package has "
1904 "been removed from <literal>unstable</literal> and no package in "
1905 "<literal>testing </literal> depends on it."
1908 # type: Content of: <chapter><section><section><para>
1909 #. type: Content of: <chapter><section><section><para>
1912 "There is one exception when an explicit removal request is not necessary: If "
1913 "a (source or binary) package is an orphan, it will be removed semi-"
1914 "automatically. For a binary-package, this means if there is no longer any "
1915 "source package producing this binary package; if the binary package is just "
1916 "no longer produced on some architectures, a removal request is still "
1917 "necessary. For a source-package, this means that all binary packages it "
1918 "refers to have been taken over by another source package."
1921 # type: Content of: <chapter><section><section><para>
1922 #. type: Content of: <chapter><section><section><para>
1925 "In your removal request, you have to detail the reasons justifying the "
1926 "request. This is to avoid unwanted removals and to keep a trace of why a "
1927 "package has been removed. For example, you can provide the name of the "
1928 "package that supersedes the one to be removed."
1931 # type: Content of: <chapter><section><section><para>
1932 #. type: Content of: <chapter><section><section><para>
1935 "Usually you only ask for the removal of a package maintained by yourself. "
1936 "If you want to remove another package, you have to get the approval of its "
1937 "maintainer. Should the package be orphaned and thus have no maintainer, you "
1938 "should first discuss the removal request on &email-debian-qa;. If there is a "
1939 "consensus that the package should be removed, you should reassign and "
1940 "retitle the <literal>O:</literal> bug filed against the <literal>wnpp</"
1941 "literal> package instead of filing a new bug as removal request."
1944 # type: Content of: <chapter><section><section><para>
1945 #. type: Content of: <chapter><section><section><para>
1948 "Further information relating to these and other package removal related "
1949 "topics may be found at <ulink url=\"http://wiki.debian.org/ftpmaster_Removals"
1950 "\"></ulink> and <ulink url=\"&url-debian-qa;howto-remove.html\"></ulink>."
1953 # type: Content of: <chapter><section><section><para>
1954 #. type: Content of: <chapter><section><section><para>
1957 "If in doubt concerning whether a package is disposable, email &email-debian-"
1958 "devel; asking for opinions. Also of interest is the <command>apt-cache</"
1959 "command> program from the <systemitem role=\"package\">apt</systemitem> "
1960 "package. When invoked as <literal>apt-cache showpkg <replaceable>package</"
1961 "replaceable></literal>, the program will show details for "
1962 "<replaceable>package</replaceable>, including reverse depends. Other useful "
1963 "programs include <literal>apt-cache rdepends</literal>, <command>apt-"
1964 "rdepends</command>, <command>build-rdeps</command> (in the <systemitem role="
1965 "\"package\">devscripts</systemitem> package) and <command>grep-dctrl</"
1966 "command>. Removal of orphaned packages is discussed on &email-debian-qa;."
1969 # type: Content of: <chapter><section><section><para>
1970 #. type: Content of: <chapter><section><section><para>
1973 "Once the package has been removed, the package's bugs should be handled. "
1974 "They should either be reassigned to another package in the case where the "
1975 "actual code has evolved into another package (e.g. <literal>libfoo12</"
1976 "literal> was removed because <literal>libfoo13</literal> supersedes it) or "
1977 "closed if the software is simply no longer part of Debian."
1980 # type: Content of: <chapter><section><section><section><title>
1981 #. type: Content of: <chapter><section><section><section><title>
1983 msgid "Removing packages from <filename>Incoming</filename>"
1984 msgstr "<filename>Incoming</filename> からパッケージを削除する"
1986 # type: Content of: <chapter><section><section><section><para>
1987 #. type: Content of: <chapter><section><section><section><para>
1990 "In the past, it was possible to remove packages from <filename>incoming</"
1991 "filename>. However, with the introduction of the new incoming system, this "
1992 "is no longer possible. Instead, you have to upload a new revision of your "
1993 "package with a higher version than the package you want to replace. Both "
1994 "versions will be installed in the archive but only the higher version will "
1995 "actually be available in <literal>unstable</literal> since the previous "
1996 "version will immediately be replaced by the higher. However, if you do "
1997 "proper testing of your packages, the need to replace a package should not "
1998 "occur too often anyway."
2001 # type: Content of: <chapter><section><section><title>
2002 #. type: Content of: <chapter><section><section><title>
2004 msgid "Replacing or renaming packages"
2005 msgstr "パッケージをリプレースあるいはリネームする"
2007 # type: Content of: <chapter><section><section><para>
2008 #. type: Content of: <chapter><section><section><para>
2011 "When the upstream maintainers for one of your packages chose to rename their "
2012 "software (or you made a mistake naming your package), you should follow a "
2013 "two-step process to rename it. In the first step, change the "
2014 "<filename>debian/control</filename> file to reflect the new name and to "
2015 "replace, provide and conflict with the obsolete package name (see the <ulink "
2016 "url=\"&url-debian-policy;\"> Debian Policy Manual</ulink> for details). "
2017 "Please note that you should only add a <literal>Provides</literal> relation "
2018 "if all packages depending on the obsolete package name continue to work "
2019 "after the renaming. Once you've uploaded the package and the package has "
2020 "moved into the archive, file a bug against <literal> ftp.debian.org</"
2021 "literal> asking to remove the package with the obsolete name (see <xref "
2022 "linkend=\"removing-pkgs\"/>). Do not forget to properly reassign the "
2023 "package's bugs at the same time."
2026 # type: Content of: <chapter><section><section><para>
2027 #. type: Content of: <chapter><section><section><para>
2030 "At other times, you may make a mistake in constructing your package and wish "
2031 "to replace it. The only way to do this is to increase the version number "
2032 "and upload a new version. The old version will be expired in the usual "
2033 "manner. Note that this applies to each part of your package, including the "
2034 "sources: if you wish to replace the upstream source tarball of your package, "
2035 "you will need to upload it with a different version. An easy possibility is "
2036 "to replace <filename>foo_1.00.orig.tar.gz</filename> with <filename>foo_1.00"
2037 "+0.orig.tar.gz</filename>. This restriction gives each file on the ftp site "
2038 "a unique name, which helps to ensure consistency across the mirror network."
2041 # type: Content of: <chapter><section><section><title>
2042 #. type: Content of: <chapter><section><section><title>
2044 msgid "Orphaning a package"
2045 msgstr "パッケージをみなしご化する"
2047 # type: Content of: <chapter><section><section><para>
2048 #. type: Content of: <chapter><section><section><para>
2051 "If you can no longer maintain a package, you need to inform others, and see "
2052 "that the package is marked as orphaned. You should set the package "
2053 "maintainer to <literal>Debian QA Group &orphan-address;</literal> and submit "
2054 "a bug report against the pseudo package <systemitem role=\"package\">wnpp</"
2055 "systemitem>. The bug report should be titled <literal>O: "
2056 "<replaceable>package</replaceable> -- <replaceable>short description</"
2057 "replaceable></literal> indicating that the package is now orphaned. The "
2058 "severity of the bug should be set to <literal>normal</literal>; if the "
2059 "package has a priority of standard or higher, it should be set to "
2060 "important. If you feel it's necessary, send a copy to &email-debian-devel; "
2061 "by putting the address in the X-Debbugs-CC: header of the message (no, don't "
2062 "use CC:, because that way the message's subject won't indicate the bug "
2066 # type: Content of: <chapter><section><section><para>
2067 #. type: Content of: <chapter><section><section><para>
2070 "If you just intend to give the package away, but you can keep maintainership "
2071 "for the moment, then you should instead submit a bug against <systemitem "
2072 "role=\"package\">wnpp</systemitem> and title it <literal>RFA: "
2073 "<replaceable>package</replaceable> -- <replaceable>short description</"
2074 "replaceable></literal>. <literal>RFA</literal> stands for <literal>Request "
2075 "For Adoption</literal>."
2078 # type: Content of: <chapter><section><section><para>
2079 #. type: Content of: <chapter><section><section><para>
2082 "More information is on the <ulink url=\"&url-wnpp;\">WNPP web pages</ulink>."
2084 "より詳細な情報は <ulink url=\"&url-wnpp;\">WNPP ウェブページ</ulink>にありま"
2087 # type: Content of: <chapter><section><section><title>
2088 #. type: Content of: <chapter><section><section><title>
2090 msgid "Adopting a package"
2091 msgstr "パッケージに変更を加える"
2093 # type: Content of: <chapter><section><section><para>
2094 #. type: Content of: <chapter><section><section><para>
2097 "A list of packages in need of a new maintainer is available in the <ulink "
2098 "url=\"&url-wnpp;\">Work-Needing and Prospective Packages list (WNPP)</"
2099 "ulink>. If you wish to take over maintenance of any of the packages listed "
2100 "in the WNPP, please take a look at the aforementioned page for information "
2104 # type: Content of: <chapter><section><section><para>
2105 #. type: Content of: <chapter><section><section><para>
2108 "It is not OK to simply take over a package that you feel is neglected — that "
2109 "would be package hijacking. You can, of course, contact the current "
2110 "maintainer and ask them if you may take over the package. If you have "
2111 "reason to believe a maintainer has gone AWOL (absent without leave), see "
2112 "<xref linkend=\"mia-qa\"/> ."
2115 # type: Content of: <chapter><section><section><para>
2116 #. type: Content of: <chapter><section><section><para>
2119 "Generally, you may not take over the package without the assent of the "
2120 "current maintainer. Even if they ignore you, that is still not grounds to "
2121 "take over a package. Complaints about maintainers should be brought up on "
2122 "the developers' mailing list. If the discussion doesn't end with a positive "
2123 "conclusion, and the issue is of a technical nature, consider bringing it to "
2124 "the attention of the technical committee (see the <ulink url=\"&url-tech-"
2125 "ctte;\">technical committee web page</ulink> for more information)."
2128 # type: Content of: <chapter><section><section><para>
2129 #. type: Content of: <chapter><section><section><para>
2132 "If you take over an old package, you probably want to be listed as the "
2133 "package's official maintainer in the bug system. This will happen "
2134 "automatically once you upload a new version with an updated "
2135 "<literal>Maintainer:</literal> field, although it can take a few hours after "
2136 "the upload is done. If you do not expect to upload a new version for a "
2137 "while, you can use <xref linkend=\"pkg-tracking-system\"/> to get the bug "
2138 "reports. However, make sure that the old maintainer has no problem with the "
2139 "fact that they will continue to receive the bugs during that time."
2142 # type: Content of: <chapter><section><title>
2143 #. type: Content of: <chapter><section><title>
2145 msgid "Porting and being ported"
2148 # type: Content of: <chapter><section><para>
2149 #. type: Content of: <chapter><section><para>
2152 "Debian supports an ever-increasing number of architectures. Even if you are "
2153 "not a porter, and you don't use any architecture but one, it is part of your "
2154 "duty as a maintainer to be aware of issues of portability. Therefore, even "
2155 "if you are not a porter, you should read most of this chapter."
2158 # type: Content of: <chapter><section><para>
2159 #. type: Content of: <chapter><section><para>
2162 "Porting is the act of building Debian packages for architectures that are "
2163 "different from the original architecture of the package maintainer's binary "
2164 "package. It is a unique and essential activity. In fact, porters do most "
2165 "of the actual compiling of Debian packages. For instance, when a maintainer "
2166 "uploads a (portable) source packages with binaries for the <literal>i386 </"
2167 "literal> architecture, it will be built for each of the other architectures, "
2168 "amounting to &number-of-arches; more builds."
2171 # type: Content of: <chapter><section><section><title>
2172 #. type: Content of: <chapter><section><section><title>
2174 msgid "Being kind to porters"
2177 # type: Content of: <chapter><section><section><para>
2178 #. type: Content of: <chapter><section><section><para>
2181 "Porters have a difficult and unique task, since they are required to deal "
2182 "with a large volume of packages. Ideally, every source package should build "
2183 "right out of the box. Unfortunately, this is often not the case. This "
2184 "section contains a checklist of ``gotchas'' often committed by Debian "
2185 "maintainers — common problems which often stymie porters, and make their "
2186 "jobs unnecessarily difficult."
2189 # type: Content of: <chapter><section><section><para>
2190 #. type: Content of: <chapter><section><section><para>
2193 "The first and most important thing is to respond quickly to bug or issues "
2194 "raised by porters. Please treat porters with courtesy, as if they were in "
2195 "fact co-maintainers of your package (which, in a way, they are). Please be "
2196 "tolerant of succinct or even unclear bug reports; do your best to hunt down "
2197 "whatever the problem is."
2200 # type: Content of: <chapter><section><section><para>
2201 #. type: Content of: <chapter><section><section><para>
2204 "By far, most of the problems encountered by porters are caused by "
2205 "<emphasis>packaging bugs</emphasis> in the source packages. Here is a "
2206 "checklist of things you should check or be aware of."
2209 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
2210 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2213 "Make sure that your <literal>Build-Depends</literal> and <literal>Build-"
2214 "Depends-Indep</literal> settings in <filename>debian/control</filename> are "
2215 "set properly. The best way to validate this is to use the <systemitem role="
2216 "\"package\">debootstrap</systemitem> package to create an <literal>unstable</"
2217 "literal> chroot environment (see <xref linkend=\"debootstrap\"/> ). Within "
2218 "that chrooted environment, install the <systemitem role=\"package\">build-"
2219 "essential</systemitem> package and any package dependencies mentioned in "
2220 "<literal>Build-Depends</literal> and/or <literal>Build-Depends-Indep</"
2221 "literal>. Finally, try building your package within that chrooted "
2222 "environment. These steps can be automated by the use of the "
2223 "<command>pbuilder</command> program which is provided by the package of the "
2224 "same name (see <xref linkend=\"pbuilder\"/> )."
2227 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
2228 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2231 "If you can't set up a proper chroot, <command>dpkg-depcheck</command> may be "
2232 "of assistance (see <xref linkend=\"dpkg-depcheck\"/> )."
2235 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
2236 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2239 "See the <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for "
2240 "instructions on setting build dependencies."
2243 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
2244 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2247 "Don't set architecture to a value other than <literal>all</literal> or "
2248 "<literal>any</literal> unless you really mean it. In too many cases, "
2249 "maintainers don't follow the instructions in the <ulink url=\"&url-debian-"
2250 "policy;\">Debian Policy Manual</ulink>. Setting your architecture to only "
2251 "one architecture (such as <literal>i386</literal> or <literal>amd64</"
2252 "literal>) is usually incorrect."
2255 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
2256 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2259 "Make sure your source package is correct. Do <literal>dpkg-source -x "
2260 "<replaceable>package</replaceable>.dsc</literal> to make sure your source "
2261 "package unpacks properly. Then, in there, try building your package from "
2262 "scratch with <command>dpkg-buildpackage</command>."
2265 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
2266 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2269 "Make sure you don't ship your source package with the <filename>debian/"
2270 "files</filename> or <filename>debian/substvars</filename> files. They "
2271 "should be removed by the <literal>clean</literal> target of <filename>debian/"
2275 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
2276 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2279 "Make sure you don't rely on locally installed or hacked configurations or "
2280 "programs. For instance, you should never be calling programs in <filename>/"
2281 "usr/local/bin</filename> or the like. Try not to rely on programs being "
2282 "setup in a special way. Try building your package on another machine, even "
2283 "if it's the same architecture."
2286 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
2287 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2290 "Don't depend on the package you're building being installed already (a sub-"
2291 "case of the above issue). There are, of course, exceptions to this rule, but "
2292 "be aware that any case like this needs manual bootstrapping and cannot be "
2293 "done by automated package builders."
2296 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
2297 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2300 "Don't rely on the compiler being a certain version, if possible. If not, "
2301 "then make sure your build dependencies reflect the restrictions, although "
2302 "you are probably asking for trouble, since different architectures sometimes "
2303 "standardize on different compilers."
2306 # type: Content of: <chapter><section><section><orderedlist><listitem><para>
2307 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2310 "Make sure your debian/rules contains separate <literal>binary-arch</literal> "
2311 "and <literal>binary-indep</literal> targets, as the Debian Policy Manual "
2312 "requires. Make sure that both targets work independently, that is, that you "
2313 "can call the target without having called the other before. To test this, "
2314 "try to run <command>dpkg-buildpackage -B</command>."
2317 # type: Content of: <chapter><section><section><title>
2318 #. type: Content of: <chapter><section><section><title>
2320 msgid "Guidelines for porter uploads"
2323 # type: Content of: <chapter><section><section><para>
2324 #. type: Content of: <chapter><section><section><para>
2327 "If the package builds out of the box for the architecture to be ported to, "
2328 "you are in luck and your job is easy. This section applies to that case; it "
2329 "describes how to build and upload your binary package so that it is properly "
2330 "installed into the archive. If you do have to patch the package in order to "
2331 "get it to compile for the other architecture, you are actually doing a "
2332 "source NMU, so consult <xref linkend=\"nmu-guidelines\"/> instead."
2335 # type: Content of: <chapter><section><section><para>
2336 #. type: Content of: <chapter><section><section><para>
2339 "For a porter upload, no changes are being made to the source. You do not "
2340 "need to touch any of the files in the source package. This includes "
2341 "<filename>debian/changelog</filename>."
2344 # type: Content of: <chapter><section><section><para>
2345 #. type: Content of: <chapter><section><section><para>
2348 "The way to invoke <command>dpkg-buildpackage</command> is as <literal>dpkg-"
2349 "buildpackage -B -m<replaceable>porter-email</replaceable></literal>. Of "
2350 "course, set <replaceable>porter-email</replaceable> to your email address. "
2351 "This will do a binary-only build of only the architecture-dependent portions "
2352 "of the package, using the <literal>binary-arch</literal> target in "
2353 "<filename>debian/rules </filename>."
2356 # type: Content of: <chapter><section><section><para>
2357 #. type: Content of: <chapter><section><section><para>
2360 "If you are working on a Debian machine for your porting efforts and you need "
2361 "to sign your upload locally for its acceptance in the archive, you can run "
2362 "<command>debsign</command> on your <filename>.changes</filename> file to "
2363 "have it signed conveniently, or use the remote signing mode of <command>dpkg-"
2367 # type: Content of: <chapter><section><section><section><title>
2368 #. type: Content of: <chapter><section><section><section><title>
2370 msgid "Recompilation or binary-only NMU"
2373 # type: Content of: <chapter><section><section><section><para>
2374 #. type: Content of: <chapter><section><section><section><para>
2377 "Sometimes the initial porter upload is problematic because the environment "
2378 "in which the package was built was not good enough (outdated or obsolete "
2379 "library, bad compiler, ...). Then you may just need to recompile it in an "
2380 "updated environment. However, you have to bump the version number in this "
2381 "case, so that the old bad package can be replaced in the Debian archive "
2382 "(<command>dak</command> refuses to install new packages if they don't have a "
2383 "version number greater than the currently available one)."
2386 # type: Content of: <chapter><section><section><section><para>
2387 #. type: Content of: <chapter><section><section><section><para>
2390 "You have to make sure that your binary-only NMU doesn't render the package "
2391 "uninstallable. This could happen when a source package generates arch-"
2392 "dependent and arch-independent packages that have inter-dependencies "
2393 "generated using dpkg's substitution variable <literal>$(Source-Version) </"
2397 # type: Content of: <chapter><section><section><section><para>
2398 #. type: Content of: <chapter><section><section><section><para>
2401 "Despite the required modification of the changelog, these are called binary-"
2402 "only NMUs — there is no need in this case to trigger all other architectures "
2403 "to consider themselves out of date or requiring recompilation."
2406 # type: Content of: <chapter><section><section><section><para>
2407 #. type: Content of: <chapter><section><section><section><para>
2410 "Such recompilations require special ``magic'' version numbering, so that the "
2411 "archive maintenance tools recognize that, even though there is a new Debian "
2412 "version, there is no corresponding source update. If you get this wrong, "
2413 "the archive maintainers will reject your upload (due to lack of "
2414 "corresponding source code)."
2417 # type: Content of: <chapter><section><section><section><para><footnote><para>
2418 #. type: Content of: <chapter><section><section><section><para><footnote><para>
2421 "In the past, such NMUs used the third-level number on the Debian part of the "
2422 "revision to denote their recompilation-only status; however, this syntax was "
2423 "ambiguous with native packages and did not allow proper ordering of "
2424 "recompile-only NMUs, source NMUs, and security NMUs on the same package, and "
2425 "has therefore been abandoned in favor of this new syntax."
2428 #. type: Content of: <chapter><section><section><section><para>
2431 "The ``magic'' for a recompilation-only NMU is triggered by using a suffix "
2432 "appended to the package version number, following the form <literal> "
2433 "b<replaceable>number</replaceable></literal>. For instance, if the latest "
2434 "version you are recompiling against was version <literal>2.9-3</literal>, "
2435 "your binary-only NMU should carry a version of <literal>2.9-3+b1</literal>. "
2436 "If the latest version was <literal>3.4+b1 </literal> (i.e, a native package "
2437 "with a previous recompilation NMU), your binary-only NMU should have a "
2438 "version number of <literal>3.4+b2</literal>. <placeholder type=\"footnote\" "
2442 # type: Content of: <chapter><section><section><section><para>
2443 #. type: Content of: <chapter><section><section><section><para>
2446 "Similar to initial porter uploads, the correct way of invoking <command>dpkg-"
2447 "buildpackage</command> is <literal>dpkg-buildpackage -B</literal> to only "
2448 "build the architecture-dependent parts of the package."
2451 # type: Content of: <chapter><section><section><section><title>
2452 #. type: Content of: <chapter><section><section><section><title>
2454 msgid "When to do a source NMU if you are a porter"
2457 # type: Content of: <chapter><section><section><section><para>
2458 #. type: Content of: <chapter><section><section><section><para>
2461 "Porters doing a source NMU generally follow the guidelines found in <xref "
2462 "linkend=\"nmu\"/> , just like non-porters. However, it is expected that the "
2463 "wait cycle for a porter's source NMU is smaller than for a non-porter, since "
2464 "porters have to cope with a large quantity of packages. Again, the "
2465 "situation varies depending on the distribution they are uploading to. It "
2466 "also varies whether the architecture is a candidate for inclusion into the "
2467 "next stable release; the release managers decide and announce which "
2468 "architectures are candidates."
2471 # type: Content of: <chapter><section><section><section><para>
2472 #. type: Content of: <chapter><section><section><section><para>
2475 "If you are a porter doing an NMU for <literal>unstable</literal>, the above "
2476 "guidelines for porting should be followed, with two variations. Firstly, "
2477 "the acceptable waiting period — the time between when the bug is submitted "
2478 "to the BTS and when it is OK to do an NMU — is seven days for porters "
2479 "working on the <literal>unstable</literal> distribution. This period can be "
2480 "shortened if the problem is critical and imposes hardship on the porting "
2481 "effort, at the discretion of the porter group. (Remember, none of this is "
2482 "Policy, just mutually agreed upon guidelines.) For uploads to "
2483 "<literal>stable</literal> or <literal>testing </literal>, please coordinate "
2484 "with the appropriate release team first."
2487 # type: Content of: <chapter><section><section><section><para>
2488 #. type: Content of: <chapter><section><section><section><para>
2491 "Secondly, porters doing source NMUs should make sure that the bug they "
2492 "submit to the BTS should be of severity <literal>serious</literal> or "
2493 "greater. This ensures that a single source package can be used to compile "
2494 "every supported Debian architecture by release time. It is very important "
2495 "that we have one version of the binary and source package for all "
2496 "architectures in order to comply with many licenses."
2499 # type: Content of: <chapter><section><section><section><para>
2500 #. type: Content of: <chapter><section><section><section><para>
2503 "Porters should try to avoid patches which simply kludge around bugs in the "
2504 "current version of the compile environment, kernel, or libc. Sometimes such "
2505 "kludges can't be helped. If you have to kludge around compiler bugs and the "
2506 "like, make sure you <literal>#ifdef</literal> your work properly; also, "
2507 "document your kludge so that people know to remove it once the external "
2508 "problems have been fixed."
2511 # type: Content of: <chapter><section><section><section><para>
2512 #. type: Content of: <chapter><section><section><section><para>
2515 "Porters may also have an unofficial location where they can put the results "
2516 "of their work during the waiting period. This helps others running the port "
2517 "have the benefit of the porter's work, even during the waiting period. Of "
2518 "course, such locations have no official blessing or status, so buyer beware."
2521 # type: Content of: <chapter><section><section><title>
2522 #. type: Content of: <chapter><section><section><title>
2524 msgid "Porting infrastructure and automation"
2527 # type: Content of: <chapter><section><section><para>
2528 #. type: Content of: <chapter><section><section><para>
2531 "There is infrastructure and several tools to help automate package porting. "
2532 "This section contains a brief overview of this automation and porting to "
2533 "these tools; see the package documentation or references for full "
2537 # type: Content of: <chapter><section><section><section><title>
2538 #. type: Content of: <chapter><section><section><section><title>
2540 msgid "Mailing lists and web pages"
2541 msgstr "メーリングリストとウェブページ"
2543 # type: Content of: <chapter><section><section><section><para>
2544 #. type: Content of: <chapter><section><section><section><para>
2547 "Web pages containing the status of each port can be found at <ulink url="
2548 "\"&url-debian-ports;\"></ulink>."
2551 # type: Content of: <chapter><section><section><section><para>
2552 #. type: Content of: <chapter><section><section><section><para>
2555 "Each port of Debian has a mailing list. The list of porting mailing lists "
2556 "can be found at <ulink url=\"&url-debian-port-lists;\"></ulink>. These "
2557 "lists are used to coordinate porters, and to connect the users of a given "
2558 "port with the porters."
2561 # type: Content of: <chapter><section><section><section><title>
2562 #. type: Content of: <chapter><section><section><section><title>
2564 msgid "Porter tools"
2567 # type: Content of: <chapter><section><section><section><para>
2568 #. type: Content of: <chapter><section><section><section><para>
2571 "Descriptions of several porting tools can be found in <xref linkend=\"tools-"
2575 # type: Content of: <chapter><section><section><section><title>
2576 #. type: Content of: <chapter><section><section><section><title>
2578 msgid "<systemitem role=\"package\">wanna-build</systemitem>"
2581 # type: Content of: <chapter><section><section><section><para>
2582 #. type: Content of: <chapter><section><section><section><para>
2585 "The <systemitem role=\"package\">wanna-build</systemitem> system is used as "
2586 "a distributed, client-server build distribution system. It is usually used "
2587 "in conjunction with build daemons running the <systemitem role=\"package"
2588 "\">buildd </systemitem> program. <literal>Build daemons</literal> are "
2589 "``slave'' hosts which contact the central <systemitem role=\"package\"> "
2590 "wanna-build</systemitem> system to receive a list of packages that need to "
2594 # type: Content of: <chapter><section><section><section><para>
2595 #. type: Content of: <chapter><section><section><section><para>
2598 "<systemitem role=\"package\">wanna-build</systemitem> is not yet available "
2599 "as a package; however, all Debian porting efforts are using it for automated "
2600 "package building. The tool used to do the actual package builds, "
2601 "<systemitem role=\"package\">sbuild</systemitem> is available as a package, "
2602 "see its description in <xref linkend=\"sbuild\"/> . Please note that the "
2603 "packaged version is not the same as the one used on build daemons, but it is "
2604 "close enough to reproduce problems."
2607 # type: Content of: <chapter><section><section><section><para>
2608 #. type: Content of: <chapter><section><section><section><para>
2611 "Most of the data produced by <systemitem role=\"package\">wanna-build </"
2612 "systemitem> which is generally useful to porters is available on the web at "
2613 "<ulink url=\"&url-buildd;\"></ulink>. This data includes nightly updated "
2614 "statistics, queueing information and logs for build attempts."
2617 # type: Content of: <chapter><section><section><section><para>
2618 #. type: Content of: <chapter><section><section><section><para>
2621 "We are quite proud of this system, since it has so many possible uses. "
2622 "Independent development groups can use the system for different sub-flavors "
2623 "of Debian, which may or may not really be of general interest (for instance, "
2624 "a flavor of Debian built with <command>gcc</command> bounds checking). It "
2625 "will also enable Debian to recompile entire distributions quickly."
2628 #. type: Content of: <chapter><section><section><section><para>
2631 "The wanna-build team, in charge of the buildds, can be reached at "
2632 "<literal>debian-wb-team@lists.debian.org</literal>. To determine who (wanna-"
2633 "build team, release team) and how (mail, BTS) to contact, refer to <ulink "
2634 "url=\"&url-wb-team;\"></ulink>."
2637 #. type: Content of: <chapter><section><section><section><para>
2640 "When requesting binNMUs or give-backs (retries after a failed build), please "
2641 "use the format described at <ulink url=\"&url-release-wb;\"/>."
2644 # type: Content of: <chapter><section><section><title>
2645 #. type: Content of: <chapter><section><section><title>
2647 msgid "When your package is <emphasis>not</emphasis> portable"
2650 # type: Content of: <chapter><section><section><para>
2651 #. type: Content of: <chapter><section><section><para>
2654 "Some packages still have issues with building and/or working on some of the "
2655 "architectures supported by Debian, and cannot be ported at all, or not "
2656 "within a reasonable amount of time. An example is a package that is SVGA-"
2657 "specific (only available for <literal>i386</literal> and <literal>amd64</"
2658 "literal>), or uses other hardware-specific features not supported on all "
2662 # type: Content of: <chapter><section><section><para>
2663 #. type: Content of: <chapter><section><section><para>
2666 "In order to prevent broken packages from being uploaded to the archive, and "
2667 "wasting buildd time, you need to do a few things:"
2670 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2671 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2674 "First, make sure your package <emphasis>does</emphasis> fail to build on "
2675 "architectures that it cannot support. There are a few ways to achieve "
2676 "this. The preferred way is to have a small testsuite during build time that "
2677 "will test the functionality, and fail if it doesn't work. This is a good "
2678 "idea anyway, as this will prevent (some) broken uploads on all "
2679 "architectures, and also will allow the package to build as soon as the "
2680 "required functionality is available."
2683 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2684 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2687 "Additionally, if you believe the list of supported architectures is pretty "
2688 "constant, you should change <literal>any</literal> to a list of supported "
2689 "architectures in <filename>debian/control</filename>. This way, the build "
2690 "will fail also, and indicate this to a human reader without actually trying."
2693 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2694 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2697 "In order to prevent autobuilders from needlessly trying to build your "
2698 "package, it must be included in <filename>packages-arch-specific</filename>, "
2699 "a list used by the <command>wanna-build</command> script. The current "
2700 "version is available as <ulink url=\"&url-cvsweb;srcdep/Packages-arch-"
2701 "specific?cvsroot=dak\"></ulink>; please see the top of the file for whom to "
2702 "contact for changes."
2705 # type: Content of: <chapter><section><section><para>
2706 #. type: Content of: <chapter><section><section><para>
2709 "Please note that it is insufficient to only add your package to Packages-"
2710 "arch-specific without making it fail to build on unsupported architectures: "
2711 "A porter or any other person trying to build your package might accidently "
2712 "upload it without noticing it doesn't work. If in the past some binary "
2713 "packages were uploaded on unsupported architectures, request their removal "
2714 "by filing a bug against <systemitem role=\"package\">ftp.debian.org</"
2718 # type: Content of: <chapter><section><title>
2719 #. type: Content of: <chapter><section><title>
2721 msgid "Non-Maintainer Uploads (NMUs)"
2724 #. type: Content of: <chapter><section><para>
2727 "Every package has one or more maintainers. Normally, these are the people "
2728 "who work on and upload new versions of the package. In some situations, it "
2729 "is useful that other developers can upload a new version as well, for "
2730 "example if they want to fix a bug in a package they don't maintain, when the "
2731 "maintainer needs help to respond to issues. Such uploads are called "
2732 "<emphasis>Non-Maintainer Uploads (NMU)</emphasis>."
2735 # type: Content of: <chapter><section><section><title>
2736 #. type: Content of: <chapter><section><section><title>
2739 msgid "When and how to do an NMU"
2740 msgstr "誰が NMU 可能なのか"
2742 #. type: Content of: <chapter><section><section><para>
2744 msgid "Before doing an NMU, consider the following questions:"
2747 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2750 "Does your NMU really fix bugs? Fixing cosmetic issues or changing the "
2751 "packaging style in NMUs is discouraged."
2754 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2757 "Did you give enough time to the maintainer? When was the bug reported to the "
2758 "BTS? Being busy for a week or two isn't unusual. Is the bug so severe that "
2759 "it needs to be fixed right now, or can it wait a few more days?"
2762 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2765 "How confident are you about your changes? Please remember the Hippocratic "
2766 "Oath: \"Above all, do no harm.\" It is better to leave a package with an "
2767 "open grave bug than applying a non-functional patch, or one that hides the "
2768 "bug instead of resolving it. If you are not 100% sure of what you did, it "
2769 "might be a good idea to seek advice from others. Remember that if you break "
2770 "something in your NMU, many people will be very unhappy about it."
2773 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2776 "Have you clearly expressed your intention to NMU, at least in the BTS? It is "
2777 "also a good idea to try to contact the maintainer by other means (private "
2781 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2784 "If the maintainer is usually active and responsive, have you tried to "
2785 "contact him? In general it should be considered preferable that a maintainer "
2786 "takes care of an issue himself and that he is given the chance to review and "
2787 "correct your patch, because he can be expected to be more aware of potential "
2788 "issues which an NMUer might miss. It is often a better use of everyone's "
2789 "time if the maintainer is given an opportunity to upload a fix on their own."
2792 #. type: Content of: <chapter><section><section><para>
2795 "When doing an NMU, you must first make sure that your intention to NMU is "
2796 "clear. Then, you must send a patch with the differences between the current "
2797 "package and your proposed NMU to the BTS. The <literal>nmudiff</literal> "
2798 "script in the <literal>devscripts</literal> package might be helpful."
2801 #. type: Content of: <chapter><section><section><para>
2804 "While preparing the patch, you should better be aware of any package-"
2805 "specific practices that the maintainer might be using. Taking them into "
2806 "account reduces the burden of getting your changes integrated back in the "
2807 "normal package workflow and thus increases the possibilities that that will "
2808 "happen. A good place where to look for for possible package-specific "
2809 "practices is <ulink url=\"&url-debian-policy;ch-source.html#s-readmesource"
2810 "\"><literal>debian/README.source</literal></ulink>."
2813 #. type: Content of: <chapter><section><section><para>
2816 "Unless you have an excellent reason not to do so, you must then give some "
2817 "time to the maintainer to react (for example, by uploading to the "
2818 "<literal>DELAYED</literal> queue). Here are some recommended values to use "
2822 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2824 msgid "Upload fixing only release-critical bugs older than 7 days: 2 days"
2827 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2829 msgid "Upload fixing only release-critical and important bugs: 5 days"
2832 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2834 msgid "Other NMUs: 10 days"
2837 #. type: Content of: <chapter><section><section><para>
2840 "Those delays are only examples. In some cases, such as uploads fixing "
2841 "security issues, or fixes for trivial bugs that blocking a transition, it is "
2842 "desirable that the fixed package reaches <literal>unstable</literal> sooner."
2845 #. type: Content of: <chapter><section><section><para>
2848 "Sometimes, release managers decide to allow NMUs with shorter delays for a "
2849 "subset of bugs (e.g release-critical bugs older than 7 days). Also, some "
2850 "maintainers list themselves in the <ulink url=\"&url-low-threshold-nmu;"
2851 "\">Low Threshold NMU list</ulink>, and accept that NMUs are uploaded without "
2852 "delay. But even in those cases, it's still a good idea to give the "
2853 "maintainer a few days to react before you upload, especially if the patch "
2854 "wasn't available in the BTS before, or if you know that the maintainer is "
2858 #. type: Content of: <chapter><section><section><para>
2861 "After you upload an NMU, you are responsible for the possible problems that "
2862 "you might have introduced. You must keep an eye on the package (subscribing "
2863 "to the package on the PTS is a good way to achieve this)."
2866 #. type: Content of: <chapter><section><section><para>
2869 "This is not a license to perform NMUs thoughtlessly. If you NMU when it is "
2870 "clear that the maintainers are active and would have acknowledged a patch in "
2871 "a timely manner, or if you ignore the recommendations of this document, your "
2872 "upload might be a cause of conflict with the maintainer. You should always "
2873 "be prepared to defend the wisdom of any NMU you perform on its own merits."
2876 #. type: Content of: <chapter><section><section><title>
2878 msgid "NMUs and debian/changelog"
2881 #. type: Content of: <chapter><section><section><para>
2884 "Just like any other (source) upload, NMUs must add an entry to "
2885 "<literal>debian/changelog</literal>, telling what has changed with this "
2886 "upload. The first line of this entry must explicitely mention that this "
2887 "upload is an NMU, e.g.:"
2890 # type: Content of: <chapter><section><section><screen>
2891 #. type: Content of: <chapter><section><section><screen>
2894 msgid " * Non-maintainer upload.\n"
2895 msgstr "* Non-maintainer upload"
2897 #. type: Content of: <chapter><section><section><para>
2899 msgid "The way to version NMUs differs for native and non-native packages."
2902 #. type: Content of: <chapter><section><section><para>
2905 "If the package is a native package (without a debian revision in the version "
2906 "number), the version must be the version of the last maintainer upload, plus "
2907 "<literal>+nmu<replaceable>X</replaceable></literal>, where <replaceable>X</"
2908 "replaceable> is a counter starting at <literal>1</literal>. If the last "
2909 "upload was also an NMU, the counter should be increased. For example, if "
2910 "the current version is <literal>1.5</literal>, then an NMU would get version "
2911 "<literal>1.5+nmu1</literal>."
2914 #. type: Content of: <chapter><section><section><para>
2917 "If the package is a not a native package, you should add a minor version "
2918 "number to the debian revision part of the version number (the portion after "
2919 "the last hyphen). This extra number must start at 1. For example, if the "
2920 "current version is <literal>1.5-2</literal>, then an NMU would get version "
2921 "<literal>1.5-2.1</literal>. If a new upstream version is packaged in the "
2922 "NMU, the debian revision is set to <literal>0</literal>, for example "
2923 "<literal>1.6-0.1</literal>."
2926 #. type: Content of: <chapter><section><section><para>
2929 "In both cases, if the last upload was also an NMU, the counter should be "
2930 "increased. For example, if the current version is <literal>1.5+nmu3</"
2931 "literal> (a native package which has already been NMUed), the NMU would get "
2932 "version <literal>1.5+nmu4</literal>. ."
2935 #. type: Content of: <chapter><section><section><para>
2938 "A special versioning scheme is needed to avoid disrupting the maintainer's "
2939 "work, since using an integer for the Debian revision will potentially "
2940 "conflict with a maintainer upload already in preparation at the time of an "
2941 "NMU, or even one sitting in the ftp NEW queue. It also has the benefit of "
2942 "making it visually clear that a package in the archive was not made by the "
2943 "official maintainer."
2946 #. type: Content of: <chapter><section><section><para>
2949 "If you upload a package to testing or stable, you sometimes need to \"fork\" "
2950 "the version number tree. This is the case for security uploads, for "
2951 "example. For this, a version of the form <literal>+deb<replaceable>XY</"
2952 "replaceable>u<replaceable>Z</replaceable></literal> should be used, where "
2953 "<replaceable>X</replaceable> and <replaceable>Y</replaceable> are the major "
2954 "and minor release numbers, and <replaceable>Z</replaceable> is a counter "
2955 "starting at <literal>1</literal>. When the release number is not yet known "
2956 "(often the case for <literal>testing</literal>, at the beginning of release "
2957 "cycles), the lowest release number higher than the last stable release "
2958 "number must be used. For example, while Etch (Debian 4.0) is stable, a "
2959 "security NMU to stable for a package at version <literal>1.5-3</literal> "
2960 "would have version <literal>1.5-3+deb40u1</literal>, whereas a security NMU "
2961 "to Lenny would get version <literal>1.5-3+deb50u1</literal>. After the "
2962 "release of Lenny, security uploads to the <literal>testing</literal> "
2963 "distribution will be versioned <literal>+deb51uZ</literal>, until it is "
2964 "known whether that release will be Debian 5.1 or Debian 6.0 (if that becomes "
2965 "the case, uploads will be versioned as <literal>+deb60uZ</literal>."
2968 # type: Content of: <chapter><section><section><title>
2969 #. type: Content of: <chapter><section><section><title>
2972 msgid "Using the <literal>DELAYED/</literal> queue"
2973 msgstr "<literal>ftp-master</literal> にアップロードする"
2975 #. type: Content of: <chapter><section><section><para>
2978 "Having to wait for a response after you request permission to NMU is "
2979 "inefficient, because it costs the NMUer a context switch to come back to the "
2980 "issue. The <literal>DELAYED</literal> queue (see <xref linkend=\"delayed-"
2981 "incoming\"/>) allows the developer doing the NMU to perform all the "
2982 "necessary tasks at the same time. For instance, instead of telling the "
2983 "maintainer that you will upload the updated package in 7 days, you should "
2984 "upload the package to <literal>DELAYED/7</literal> and tell the maintainer "
2985 "that he has 7 days to react. During this time, the maintainer can ask you "
2986 "to delay the upload some more, or cancel your upload."
2989 #. type: Content of: <chapter><section><section><para>
2992 "The <literal>DELAYED</literal> queue should not be used to put additional "
2993 "pressure on the maintainer. In particular, it's important that you are "
2994 "available to cancel or delay the upload before the delay expires since the "
2995 "maintainer cannot cancel the upload himself."
2998 #. type: Content of: <chapter><section><section><para>
3001 "If you make an NMU to <literal>DELAYED</literal> and the maintainer updates "
3002 "his package before the delay expires, your upload will be rejected because a "
3003 "newer version is already available in the archive. Ideally, the maintainer "
3004 "will take care to include your proposed changes (or at least a solution for "
3005 "the problems they address) in that upload."
3008 #. type: Content of: <chapter><section><section><title>
3010 msgid "NMUs from the maintainer's point of view"
3013 #. type: Content of: <chapter><section><section><para>
3016 "When someone NMUs your package, this means they want to help you to keep it "
3017 "in good shape. This gives users fixed packages faster. You can consider "
3018 "asking the NMUer to become a co-maintainer of the package. Receiving an NMU "
3019 "on a package is not a bad thing; it just means that the package is "
3020 "interesting enough for other people to work on it."
3023 #. type: Content of: <chapter><section><section><para>
3026 "To acknowledge an NMU, include its changes and changelog entry in your next "
3027 "maintainer upload. If you do not acknowledge the NMU by including the NMU "
3028 "changelog entry in your changelog, the bugs will remain closed in the BTS "
3029 "but will be listed as affecting your maintainer version of the package."
3032 #. type: Content of: <chapter><section><section><title>
3034 msgid "Source NMUs vs Binary-only NMUs (binNMUs)"
3037 #. type: Content of: <chapter><section><section><para>
3040 "The full name of an NMU is <emphasis>source NMU</emphasis>. There is also "
3041 "another type, namely the <emphasis>binary-only NMU</emphasis>, or "
3042 "<emphasis>binNMU</emphasis>. A binNMU is also a package upload by someone "
3043 "other than the package's maintainer. However, it is a binary-only upload."
3046 #. type: Content of: <chapter><section><section><para>
3049 "When a library (or other dependency) is updated, the packages using it may "
3050 "need to be rebuilt. Since no changes to the source are needed, the same "
3051 "source package is used."
3054 #. type: Content of: <chapter><section><section><para>
3057 "BinNMUs are usually triggered on the buildds by wanna-build. An entry is "
3058 "added to debian/changelog, explaining why the upload was needed and "
3059 "increasing the version number as described in <xref linkend=\"binary-only-nmu"
3060 "\"/>. This entry should not be included in the next upload."
3063 #. type: Content of: <chapter><section><section><para>
3066 "Buildds upload packages for their architecture to the archive as binary-only "
3067 "uploads. Strictly speaking, these are binNMUs. However, they are not "
3068 "normally called NMU, and they don't add an entry to debian/changelog."
3071 #. type: Content of: <chapter><section><section><title>
3073 msgid "NMUs vs QA uploads"
3076 #. type: Content of: <chapter><section><section><para>
3079 "NMUs are uploads of packages by somebody else than their assigned "
3080 "maintainer. There is another type of upload where the uploaded package is "
3081 "not yours: QA uploads. QA uploads are uploads of orphaned packages."
3084 #. type: Content of: <chapter><section><section><para>
3087 "QA uploads are very much like normal maintainer uploads: they may fix "
3088 "anything, even minor issues; the version numbering is normal, and there is "
3089 "no need to use a delayed upload. The difference is that you are not listed "
3090 "as the Maintainer or Uploader for the package. Also, the changelog entry of "
3091 "a QA upload has a special first line:"
3094 #. type: Content of: <chapter><section><section><screen>
3097 msgid " * QA upload.\n"
3100 #. type: Content of: <chapter><section><section><para>
3103 "If you want to do an NMU, and it seems that the maintainer is not active, it "
3104 "is wise to check if the package is orphaned (this information is displayed "
3105 "on the package's Package Tracking System page). When doing the first QA "
3106 "upload to an orphaned package, the maintainer should be set to "
3107 "<literal>Debian QA Group <packages@qa.debian.org></literal>. Orphaned "
3108 "packages which did not yet have a QA upload still have their old maintainer "
3109 "set. There is a list of them at <ulink url=\"&url-orphaned-not-qa;\"/>."
3112 #. type: Content of: <chapter><section><section><para>
3115 "Instead of doing a QA upload, you can also consider adopting the package by "
3116 "making yourself the maintainer. You don't need permission from anybody to "
3117 "adopt an orphaned package, you can just set yourself as maintainer and "
3118 "upload the new version (see <xref linkend=\"adopting\"/>)."
3121 # type: Content of: <chapter><section><title>
3122 #. type: Content of: <chapter><section><title>
3124 msgid "Collaborative maintenance"
3127 # type: Content of: <chapter><section><para>
3128 #. type: Content of: <chapter><section><para>
3131 "Collaborative maintenance is a term describing the sharing of Debian package "
3132 "maintenance duties by several people. This collaboration is almost always a "
3133 "good idea, since it generally results in higher quality and faster bug fix "
3134 "turnaround times. It is strongly recommended that packages with a priority "
3135 "of <literal>Standard</literal> or which are part of the base set have co-"
3139 # type: Content of: <chapter><section><para>
3140 #. type: Content of: <chapter><section><para>
3143 "Generally there is a primary maintainer and one or more co-maintainers. The "
3144 "primary maintainer is the person whose name is listed in the "
3145 "<literal>Maintainer</literal> field of the <filename>debian/control</"
3146 "filename> file. Co-maintainers are all the other maintainers, usually "
3147 "listed in the <literal>Uploaders</literal> field of the <filename>debian/"
3148 "control</filename> file."
3151 # type: Content of: <chapter><section><para>
3152 #. type: Content of: <chapter><section><para>
3155 "In its most basic form, the process of adding a new co-maintainer is quite "
3159 # type: Content of: <chapter><section><itemizedlist><listitem><para>
3160 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
3163 "Setup the co-maintainer with access to the sources you build the package "
3164 "from. Generally this implies you are using a network-capable version "
3165 "control system, such as <command>CVS</command> or <command>Subversion</"
3166 "command>. Alioth (see <xref linkend=\"alioth\"/> ) provides such tools, "
3170 # type: Content of: <chapter><section><itemizedlist><listitem><para>
3171 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
3174 "Add the co-maintainer's correct maintainer name and address to the "
3175 "<literal>Uploaders</literal> field in the first paragraph of the "
3176 "<filename>debian/control</filename> file."
3179 # type: Content of: <chapter><section><itemizedlist><listitem><screen>
3180 #. type: Content of: <chapter><section><itemizedlist><listitem><screen>
3183 msgid "Uploaders: John Buzz <jbuzz@debian.org>, Adam Rex <arex@debian.org>\n"
3184 msgstr "Uploaders: John Buzz <jbuzz@debian.org>, Adam Rex <arex@debian.org>"
3186 # type: Content of: <chapter><section><itemizedlist><listitem><para>
3187 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
3190 "Using the PTS (<xref linkend=\"pkg-tracking-system\"/> ), the co-maintainers "
3191 "should subscribe themselves to the appropriate source package."
3194 # type: Content of: <chapter><section><para>
3195 #. type: Content of: <chapter><section><para>
3198 "Another form of collaborative maintenance is team maintenance, which is "
3199 "recommended if you maintain several packages with the same group of "
3200 "developers. In that case, the Maintainer and Uploaders field of each "
3201 "package must be managed with care. It is recommended to choose between one "
3202 "of the two following schemes:"
3205 # type: Content of: <chapter><section><orderedlist><listitem><para>
3206 #. type: Content of: <chapter><section><orderedlist><listitem><para>
3209 "Put the team member mainly responsible for the package in the Maintainer "
3210 "field. In the Uploaders, put the mailing list address, and the team members "
3211 "who care for the package."
3214 # type: Content of: <chapter><section><orderedlist><listitem><para>
3215 #. type: Content of: <chapter><section><orderedlist><listitem><para>
3218 "Put the mailing list address in the Maintainer field. In the Uploaders "
3219 "field, put the team members who care for the package. In this case, you "
3220 "must make sure the mailing list accept bug reports without any human "
3221 "interaction (like moderation for non-subscribers)."
3224 # type: Content of: <chapter><section><para>
3225 #. type: Content of: <chapter><section><para>
3228 "In any case, it is a bad idea to automatically put all team members in the "
3229 "Uploaders field. It clutters the Developer's Package Overview listing (see "
3230 "<xref linkend=\"ddpo\"/> ) with packages one doesn't really care for, and "
3231 "creates a false sense of good maintenance."
3234 # type: Content of: <chapter><section><title>
3235 #. type: Content of: <chapter><section><title>
3237 msgid "The testing distribution"
3238 msgstr "テスト版ディストリビューション"
3240 # type: Content of: <chapter><section><section><title>
3241 #. type: Content of: <chapter><section><section><title>
3246 # type: Content of: <chapter><section><section><para>
3247 #. type: Content of: <chapter><section><section><para>
3250 "Packages are usually installed into the <literal>testing</literal> "
3251 "distribution after they have undergone some degree of <literal>testing</"
3252 "literal> in <literal>unstable</literal>."
3255 # type: Content of: <chapter><section><section><para>
3256 #. type: Content of: <chapter><section><section><para>
3259 "They must be in sync on all architectures and mustn't have dependencies that "
3260 "make them uninstallable; they also have to have generally no known release-"
3261 "critical bugs at the time they're installed into <literal>testing </"
3262 "literal>. This way, <literal>testing</literal> should always be close to "
3263 "being a release candidate. Please see below for details."
3266 # type: Content of: <chapter><section><section><title>
3267 #. type: Content of: <chapter><section><section><title>
3269 msgid "Updates from unstable"
3272 # type: Content of: <chapter><section><section><para>
3273 #. type: Content of: <chapter><section><section><para>
3276 "The scripts that update the <literal>testing</literal> distribution are run "
3277 "twice each day, right after the installation of the updated packages; these "
3278 "scripts are called <literal>britney</literal>. They generate the "
3279 "<filename>Packages</filename> files for the <literal>testing</literal> "
3280 "distribution, but they do so in an intelligent manner; they try to avoid any "
3281 "inconsistency and to use only non-buggy packages."
3284 # type: Content of: <chapter><section><section><para>
3285 #. type: Content of: <chapter><section><section><para>
3288 "The inclusion of a package from <literal>unstable</literal> is conditional "
3292 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3293 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3296 "The package must have been available in <literal>unstable</literal> for 2, 5 "
3297 "or 10 days, depending on the urgency (high, medium or low). Please note "
3298 "that the urgency is sticky, meaning that the highest urgency uploaded since "
3299 "the previous <literal>testing</literal> transition is taken into account. "
3300 "Those delays may be doubled during a freeze, or <literal>testing</literal> "
3301 "transitions may be switched off altogether;"
3304 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3305 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3308 "It must not have new release-critical bugs (RC bugs affecting the version "
3309 "available in <literal>unstable</literal>, but not affecting the version in "
3310 "<literal>testing</literal>);"
3313 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3314 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3317 "It must be available on all architectures on which it has previously been "
3318 "built in <literal>unstable</literal>. <xref linkend=\"dak-ls\"/> may be of "
3319 "interest to check that information;"
3322 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3323 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3326 "It must not break any dependency of a package which is already available in "
3327 "<literal>testing</literal>;"
3330 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3331 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3334 "The packages on which it depends must either be available in "
3335 "<literal>testing</literal> or they must be accepted into <literal>testing</"
3336 "literal> at the same time (and they will be if they fulfill all the "
3337 "necessary criteria);"
3340 # type: Content of: <chapter><section><section><para>
3341 #. type: Content of: <chapter><section><section><para>
3344 "To find out whether a package is progressing into <literal>testing</literal> "
3345 "or not, see the <literal>testing</literal> script output on the <ulink url="
3346 "\"&url-testing-maint;\">web page of the testing distribution</ulink>, or use "
3347 "the program <command>grep-excuses</command> which is in the <systemitem role="
3348 "\"package\">devscripts</systemitem> package. This utility can easily be "
3349 "used in a <citerefentry> <refentrytitle>crontab</refentrytitle> "
3350 "<manvolnum>5</manvolnum> </citerefentry> to keep yourself informed of the "
3351 "progression of your packages into <literal>testing</literal>."
3354 # type: Content of: <chapter><section><section><para>
3355 #. type: Content of: <chapter><section><section><para>
3358 "The <filename>update_excuses</filename> file does not always give the "
3359 "precise reason why the package is refused; you may have to find it on your "
3360 "own by looking for what would break with the inclusion of the package. The "
3361 "<ulink url=\"&url-testing-maint;\">testing web page</ulink> gives some more "
3362 "information about the usual problems which may be causing such troubles."
3365 # type: Content of: <chapter><section><section><para>
3366 #. type: Content of: <chapter><section><section><para>
3369 "Sometimes, some packages never enter <literal>testing</literal> because the "
3370 "set of inter-relationship is too complicated and cannot be sorted out by the "
3371 "scripts. See below for details."
3374 # type: Content of: <chapter><section><section><para>
3375 #. type: Content of: <chapter><section><section><para>
3378 "Some further dependency analysis is shown on <ulink url=\"http://release."
3379 "debian.org/migration/\"></ulink> — but be warned, this page also shows build "
3380 "dependencies which are not considered by britney."
3383 # type: Content of: <chapter><section><section><section><title>
3384 #. type: Content of: <chapter><section><section><section><title>
3389 # type: Content of: <chapter><section><section><section><para>
3390 #. FIXME: better rename this file than document rampant professionalism?
3391 #. type: Content of: <chapter><section><section><section><para>
3394 "For the <literal>testing</literal> migration script, outdated means: There "
3395 "are different versions in <literal>unstable</literal> for the release "
3396 "architectures (except for the architectures in fuckedarches; fuckedarches is "
3397 "a list of architectures that don't keep up (in <filename>update_out.py</"
3398 "filename>), but currently, it's empty). outdated has nothing whatsoever to "
3399 "do with the architectures this package has in <literal>testing</literal>."
3402 # type: Content of: <chapter><section><section><section><para>
3403 #. type: Content of: <chapter><section><section><section><para>
3405 msgid "Consider this example:"
3408 # type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3409 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3410 #: pkgs.dbk:2389 pkgs.dbk:2422
3414 # type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3415 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3416 #: pkgs.dbk:2390 pkgs.dbk:2423
3420 # type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3421 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3422 #: pkgs.dbk:2395 pkgs.dbk:2429 pkgs.dbk:2491
3426 # type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3427 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3428 #: pkgs.dbk:2396 pkgs.dbk:2401 pkgs.dbk:2430 pkgs.dbk:2431 pkgs.dbk:2438
3432 # type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3433 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3434 #: pkgs.dbk:2397 pkgs.dbk:2432 pkgs.dbk:2437
3438 # type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3439 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3440 #: pkgs.dbk:2400 pkgs.dbk:2435 pkgs.dbk:2492
3444 # type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3445 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3446 #: pkgs.dbk:2402 pkgs.dbk:2436
3450 # type: Content of: <chapter><section><section><section><para>
3451 #. type: Content of: <chapter><section><section><section><para>
3454 "The package is out of date on alpha in <literal>unstable</literal>, and will "
3455 "not go to <literal>testing</literal>. Removing the package would not help at "
3456 "all, the package is still out of date on <literal>alpha</literal>, and will "
3457 "not propagate to testing."
3460 # type: Content of: <chapter><section><section><section><para>
3461 #. type: Content of: <chapter><section><section><section><para>
3464 "However, if ftp-master removes a package in <literal>unstable</literal> "
3465 "(here on <literal>arm</literal>):"
3468 # type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3469 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3474 # type: Content of: <chapter><section><section><section><para>
3475 #. type: Content of: <chapter><section><section><section><para>
3478 "In this case, the package is up to date on all release architectures in "
3479 "<literal>unstable</literal> (and the extra <literal>hurd-i386</literal> "
3480 "doesn't matter, as it's not a release architecture)."
3483 # type: Content of: <chapter><section><section><section><para>
3484 #. type: Content of: <chapter><section><section><section><para>
3487 "Sometimes, the question is raised if it is possible to allow packages in "
3488 "that are not yet built on all architectures: No. Just plainly no. (Except "
3489 "if you maintain glibc or so.)"
3492 # type: Content of: <chapter><section><section><section><title>
3493 #. type: Content of: <chapter><section><section><section><title>
3495 msgid "Removals from testing"
3498 # type: Content of: <chapter><section><section><section><para>
3499 #. type: Content of: <chapter><section><section><section><para>
3502 "Sometimes, a package is removed to allow another package in: This happens "
3503 "only to allow <emphasis>another</emphasis> package to go in if it's ready in "
3504 "every other sense. Suppose e.g. that <literal>a</literal> cannot be "
3505 "installed with the new version of <literal>b</literal>; then <literal>a</"
3506 "literal> may be removed to allow <literal>b</literal> in."
3509 # type: Content of: <chapter><section><section><section><para>
3510 #. type: Content of: <chapter><section><section><section><para>
3513 "Of course, there is another reason to remove a package from <literal>testing "
3514 "</literal>: It's just too buggy (and having a single RC-bug is enough to be "
3518 # type: Content of: <chapter><section><section><section><para>
3519 #. type: Content of: <chapter><section><section><section><para>
3522 "Furthermore, if a package has been removed from <literal>unstable</literal>, "
3523 "and no package in <literal>testing</literal> depends on it any more, then it "
3524 "will automatically be removed."
3527 # type: Content of: <chapter><section><section><section><title>
3528 #. type: Content of: <chapter><section><section><section><title>
3530 msgid "circular dependencies"
3533 # type: Content of: <chapter><section><section><section><para>
3534 #. type: Content of: <chapter><section><section><section><para>
3537 "A situation which is not handled very well by britney is if package "
3538 "<literal>a</literal> depends on the new version of package <literal>b</"
3539 "literal>, and vice versa."
3542 # type: Content of: <chapter><section><section><section><para>
3543 #. type: Content of: <chapter><section><section><section><para>
3545 msgid "An example of this is:"
3548 # type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3549 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3554 # type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3555 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3557 msgid "1; depends: b=1"
3558 msgstr "1; depends: b=1"
3560 # type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3561 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3563 msgid "2; depends: b=2"
3564 msgstr "2; depends: b=2"
3566 # type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3567 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3572 # type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3573 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3575 msgid "1; depends: a=1"
3576 msgstr "1; depends: a=1"
3578 # type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3579 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3581 msgid "2; depends: a=2"
3582 msgstr "2; depends: a=2"
3584 # type: Content of: <chapter><section><section><section><para>
3585 #. type: Content of: <chapter><section><section><section><para>
3588 "Neither package <literal>a</literal> nor package <literal>b</literal> is "
3589 "considered for update."
3592 # type: Content of: <chapter><section><section><section><para>
3593 #. type: Content of: <chapter><section><section><section><para>
3596 "Currently, this requires some manual hinting from the release team. Please "
3597 "contact them by sending mail to &email-debian-release; if this happens to "
3598 "one of your packages."
3601 # type: Content of: <chapter><section><section><section><title>
3602 #. type: Content of: <chapter><section><section><section><title>
3604 msgid "influence of package in testing"
3605 msgstr "テスト版パッケージへの影響"
3607 # type: Content of: <chapter><section><section><section><para>
3608 #. type: Content of: <chapter><section><section><section><para>
3611 "Generally, there is nothing that the status of a package in <literal>testing "
3612 "</literal> means for transition of the next version from <literal>unstable </"
3613 "literal> to <literal>testing</literal>, with two exceptions: If the RC-"
3614 "bugginess of the package goes down, it may go in even if it is still RC-"
3615 "buggy. The second exception is if the version of the package in <literal> "
3616 "testing</literal> is out of sync on the different arches: Then any arch "
3617 "might just upgrade to the version of the source package; however, this can "
3618 "happen only if the package was previously forced through, the arch is in "
3619 "fuckedarches, or there was no binary package of that arch present in "
3620 "<literal>unstable </literal> at all during the <literal>testing</literal> "
3624 # type: Content of: <chapter><section><section><section><para>
3625 #. type: Content of: <chapter><section><section><section><para>
3628 "In summary this means: The only influence that a package being in <literal> "
3629 "testing</literal> has on a new version of the same package is that the new "
3630 "version might go in easier."
3633 # type: Content of: <chapter><section><section><section><title>
3634 #. type: Content of: <chapter><section><section><section><title>
3639 # type: Content of: <chapter><section><section><section><para>
3640 #. type: Content of: <chapter><section><section><section><para>
3642 msgid "If you are interested in details, this is how britney works:"
3645 # type: Content of: <chapter><section><section><section><para>
3646 #. type: Content of: <chapter><section><section><section><para>
3649 "The packages are looked at to determine whether they are valid candidates. "
3650 "This gives the update excuses. The most common reasons why a package is not "
3651 "considered are too young, RC-bugginess, and out of date on some arches. For "
3652 "this part of britney, the release managers have hammers of various sizes to "
3653 "force britney to consider a package. (Also, the base freeze is coded in "
3654 "that part of britney.) (There is a similar thing for binary-only updates, "
3655 "but this is not described here. If you're interested in that, please peruse "
3659 # type: Content of: <chapter><section><section><section><para>
3660 #. type: Content of: <chapter><section><section><section><para>
3663 "Now, the more complex part happens: Britney tries to update <literal>testing "
3664 "</literal> with the valid candidates. For that, britney tries to add each "
3665 "valid candidate to the testing distribution. If the number of uninstallable "
3666 "packages in <literal>testing</literal> doesn't increase, the package is "
3667 "accepted. From that point on, the accepted package is considered to be part "
3668 "of <literal>testing</literal>, such that all subsequent installability tests "
3669 "include this package. Hints from the release team are processed before or "
3670 "after this main run, depending on the exact type."
3673 # type: Content of: <chapter><section><section><section><para>
3674 #. type: Content of: <chapter><section><section><section><para>
3677 "If you want to see more details, you can look it up on <filename>merkel:/org/"
3678 "&ftp-debian-org;/testing/update_out/</filename> (or in <filename>merkel:~aba/"
3679 "testing/update_out</filename> to see a setup with a smaller packages file). "
3680 "Via web, it's at <ulink url=\"http://&ftp-master-host;/testing/"
3681 "update_out_code/\"></ulink>"
3684 # type: Content of: <chapter><section><section><section><para>
3685 #. type: Content of: <chapter><section><section><section><para>
3688 "The hints are available via <ulink url=\"http://&ftp-master-host;/testing/"
3689 "hints/\"></ulink>."
3692 # type: Content of: <chapter><section><section><title>
3693 #. type: Content of: <chapter><section><section><title>
3695 msgid "Direct updates to testing"
3696 msgstr "直接テスト版を更新する"
3698 # type: Content of: <chapter><section><section><para>
3699 #. type: Content of: <chapter><section><section><para>
3702 "The <literal>testing</literal> distribution is fed with packages from "
3703 "<literal>unstable</literal> according to the rules explained above. "
3704 "However, in some cases, it is necessary to upload packages built only for "
3705 "<literal> testing</literal>. For that, you may want to upload to <literal> "
3706 "testing-proposed-updates</literal>."
3709 # type: Content of: <chapter><section><section><para>
3710 #. type: Content of: <chapter><section><section><para>
3713 "Keep in mind that packages uploaded there are not automatically processed, "
3714 "they have to go through the hands of the release manager. So you'd better "
3715 "have a good reason to upload there. In order to know what a good reason is "
3716 "in the release managers' eyes, you should read the instructions that they "
3717 "regularly give on &email-debian-devel-announce;."
3720 # type: Content of: <chapter><section><section><para>
3721 #. type: Content of: <chapter><section><section><para>
3724 "You should not upload to <literal>testing-proposed-updates</literal> when "
3725 "you can update your packages through <literal>unstable</literal>. If you "
3726 "can't (for example because you have a newer development version in "
3727 "<literal>unstable </literal>), you may use this facility, but it is "
3728 "recommended that you ask for authorization from the release manager first. "
3729 "Even if a package is frozen, updates through <literal>unstable</literal> are "
3730 "possible, if the upload via <literal>unstable</literal> does not pull in any "
3734 # type: Content of: <chapter><section><section><para>
3735 #. type: Content of: <chapter><section><section><para>
3738 "Version numbers are usually selected by adding the codename of the "
3739 "<literal>testing</literal> distribution and a running number, like "
3740 "<literal>1.2sarge1</literal> for the first upload through <literal>testing-"
3741 "proposed-updates</literal> of package version <literal>1.2</literal>."
3744 # type: Content of: <chapter><section><section><para>
3745 #. type: Content of: <chapter><section><section><para>
3747 msgid "Please make sure you didn't miss any of these items in your upload:"
3750 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3751 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3754 "Make sure that your package really needs to go through <literal>testing-"
3755 "proposed-updates</literal>, and can't go through <literal> unstable</"
3759 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3760 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3762 msgid "Make sure that you included only the minimal amount of changes;"
3765 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3766 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3769 "Make sure that you included an appropriate explanation in the changelog;"
3772 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3773 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3776 "Make sure that you've written <literal>testing</literal> or <literal>testing-"
3777 "proposed-updates</literal> into your target distribution;"
3780 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3781 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3784 "Make sure that you've built and tested your package in <literal>testing</"
3785 "literal>, not in <literal>unstable</literal>;"
3788 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3789 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3792 "Make sure that your version number is higher than the version in "
3793 "<literal>testing</literal> and <literal>testing-proposed-updates</literal>, "
3794 "and lower than in <literal>unstable</literal>;"
3797 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3798 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3801 "After uploading and successful build on all platforms, contact the release "
3802 "team at &email-debian-release; and ask them to approve your upload."
3805 # type: Content of: <chapter><section><section><title>
3806 #. type: Content of: <chapter><section><section><title>
3808 msgid "Frequently asked questions"
3811 # type: Content of: <chapter><section><section><section><title>
3812 #. type: Content of: <chapter><section><section><section><title>
3814 msgid "What are release-critical bugs, and how do they get counted?"
3817 # type: Content of: <chapter><section><section><section><para>
3818 #. type: Content of: <chapter><section><section><section><para>
3821 "All bugs of some higher severities are by default considered release-"
3822 "critical; currently, these are <literal>critical</literal>, <literal>grave</"
3823 "literal> and <literal>serious</literal> bugs."
3826 # type: Content of: <chapter><section><section><section><para>
3827 #. type: Content of: <chapter><section><section><section><para>
3830 "Such bugs are presumed to have an impact on the chances that the package "
3831 "will be released with the <literal>stable</literal> release of Debian: in "
3832 "general, if a package has open release-critical bugs filed on it, it won't "
3833 "get into <literal>testing</literal>, and consequently won't be released in "
3834 "<literal> stable</literal>."
3837 # type: Content of: <chapter><section><section><section><para>
3838 #. type: Content of: <chapter><section><section><section><para>
3841 "The <literal>unstable</literal> bug count are all release-critical bugs "
3842 "which are marked to apply to <replaceable>package</replaceable>/"
3843 "<replaceable>version </replaceable> combinations that are available in "
3844 "unstable for a release architecture. The <literal>testing</literal> bug "
3845 "count is defined analogously."
3848 # type: Content of: <chapter><section><section><section><title>
3849 #. type: Content of: <chapter><section><section><section><title>
3852 "How could installing a package into <literal>testing</literal> possibly "
3853 "break other packages?"
3856 # type: Content of: <chapter><section><section><section><para>
3857 #. type: Content of: <chapter><section><section><section><para>
3860 "The structure of the distribution archives is such that they can only "
3861 "contain one version of a package; a package is defined by its name. So when "
3862 "the source package <literal>acmefoo</literal> is installed into "
3863 "<literal>testing</literal>, along with its binary packages <literal>acme-foo-"
3864 "bin</literal>, <literal> acme-bar-bin</literal>, <literal>libacme-foo1</"
3865 "literal> and <literal> libacme-foo-dev</literal>, the old version is removed."
3868 # type: Content of: <chapter><section><section><section><para>
3869 #. type: Content of: <chapter><section><section><section><para>
3872 "However, the old version may have provided a binary package with an old "
3873 "soname of a library, such as <literal>libacme-foo0</literal>. Removing the "
3874 "old <literal>acmefoo</literal> will remove <literal>libacme-foo0</literal>, "
3875 "which will break any packages which depend on it."
3878 # type: Content of: <chapter><section><section><section><para>
3879 #. type: Content of: <chapter><section><section><section><para>
3882 "Evidently, this mainly affects packages which provide changing sets of "
3883 "binary packages in different versions (in turn, mainly libraries). However, "
3884 "it will also affect packages upon which versioned dependencies have been "
3885 "declared of the ==, <=, or << varieties."
3888 # type: Content of: <chapter><section><section><section><para>
3889 #. type: Content of: <chapter><section><section><section><para>
3892 "When the set of binary packages provided by a source package change in this "
3893 "way, all the packages that depended on the old binaries will have to be "
3894 "updated to depend on the new binaries instead. Because installing such a "
3895 "source package into <literal>testing</literal> breaks all the packages that "
3896 "depended on it in <literal>testing</literal>, some care has to be taken now: "
3897 "all the depending packages must be updated and ready to be installed "
3898 "themselves so that they won't be broken, and, once everything is ready, "
3899 "manual intervention by the release manager or an assistant is normally "
3903 # type: Content of: <chapter><section><section><section><para>
3904 #. type: Content of: <chapter><section><section><section><para>
3907 "If you are having problems with complicated groups of packages like this, "
3908 "contact &email-debian-devel; or &email-debian-release; for help."
3911 # type: Content of: <chapter><section><section><screen>
3915 #~ "[tfheen_delayed]\n"
3917 #~ "fqdn = gluck.debian.org\n"
3918 #~ "incoming = ~tfheen\n"
3920 #~ "[tfheen_delayed]\n"
3922 #~ "fqdn = gluck.debian.org\n"
3923 #~ "incoming = ~tfheen"
3925 # type: Content of: <chapter><section><section><title>
3926 #~ msgid "How to do a NMU"
3927 #~ msgstr "NMU のやり方"