# japanese translation of maint-guide # Copyright (C) 2010 KURASHIKI Satoru et al. # Copyright (C) 2011 Osamu Aoki (touch up for DocBook XML conversion) # This file is distributed under the same license as the maint-guide package. # msgid "" msgstr "" "Project-Id-Version: maint-guide r7640\n" "POT-Creation-Date: 2011-04-10 17:48+0900\n" "PO-Revision-Date: 2011-04-10 17:48+0900\n" "Last-Translator: Osamu Aoki \n" "Language-Team: Debian Japanese team \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Japanese\n" #. type: Attribute 'lang' of: msgid "en" msgstr "ja" #. type: Content of: msgid "Debian New Maintainers' Guide" msgstr "Debian 新メンテナガイド" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "<firstname>Josip</firstname> <surname>Rodin</surname>" msgstr "<firstname>Josip</firstname> <surname>Rodin</surname>" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "joy-mg@debian.org" msgstr "joy-mg@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "(original contents)" msgstr "(初期の内容)" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "<firstname>Osamu</firstname> <surname>Aoki</surname>" msgstr "<firstname>Osamu (修)</firstname> <surname>Aoki (青木)</surname>" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "osamu@debian.org" msgstr "osamu@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "(updated contents)" msgstr "(更新された内容)" #. type: Content of: <book><bookinfo><releaseinfo> msgid "version &docversion;" msgstr "バージョン &docversion;" #. type: Content of: <book><bookinfo> msgid "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> <holder>Josip Rodin</holder></copyright> <copyright><year>2005-2011</year> <holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> <holder>Craig Small</holder></copyright> <copyright><year>2010</year> <holder>Raphaël Hertzog</holder></copyright>" msgstr "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> <holder>Josip Rodin</holder></copyright> <copyright><year>2005-2011</year> <holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> <holder>Craig Small</holder></copyright> <copyright><year>2010</year> <holder>Raphaël Hertzog</holder></copyright>" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "This document may be used under the terms the GNU General Public License version 2 or higher." msgstr "この文書は GNU 一般公有使用許諾書、バージョン 2 かそれ以降が規定する条件の下で使用できます。" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "This document was made using with these two documents as examples:" msgstr "この文書は以下の二つの文書を参考にして書かれました。" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar Vyas." msgstr "Debian パッケージの作り方 (Debmake マニュアル)、Copyright © 1997 Jaldhar Vyas." #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." msgstr "新米メンテナのための Debian パッケージング Howto、copyright © 1997 Will Lowe." #. type: Content of: <book><chapter><title> msgid "Getting started The Right Way" msgstr "まずは「正しいやり方で」始めよう" #. type: Content of: <book><chapter><para> msgid "This document tries to describe building of a Debian package to the common Debian user, and the prospectus developer. It uses pretty common language, and it's well covered with working examples. There is an old Roman saying, <emphasis>Longum iter est per preaecepta, breve et efficax per exempla!</emphasis> (It's a long way by the rules, but short and efficient with examples!)." msgstr "この文書では、Debian パッケージを作るにはどうしたらよいか、一般的な Debian ユーザと開発者予備軍を対象に解説しようと思います。小難しい専門用語はできるだけ避けて、実用的な例を多く用いて説明していくつもりです。ことわざにもあるように、<emphasis>百聞は一見にしかず</emphasis>ですからね!" #. type: Content of: <book><chapter><para><footnote><para> msgid "The document assumes you are using the <literal>&base-release;</literal> system or newer. If you need to follow this text in the older system (including the older Ubuntu system etc.), you must install backported <systemitem role=\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</systemitem> packages, at least." msgstr "文中では、<literal>&base-release;</literal> のシステムを使っていると想定しています。古いシステム (古い Ubuntu システム等を含む)を使ってこの文書についていきたいのであれば、少なくともバックポートされた <systemitem role=\"package\">dpkg</systemitem> および <systemitem role=\"package\">debhelper</systemitem> パッケージをインストールする必要があります。" #. type: Content of: <book><chapter><para> msgid "This document has been updated for the Debian <literal>&base-release;</literal> release. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "この文書は、Debian <literal>&base-release;</literal> リリース用に更新されています。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para><footnote><para> msgid "You can learn basic operations of the Debian system from <ulink url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to learn about Unix programming, too." msgstr "Debian システムの基本的な操作は <ulink url=\"&debref;\">Debian Reference</ulink> から学べます。Unix プログラミングに関しても学べるいくつかのポインターが含まれています。" #. type: Content of: <book><chapter><para> msgid "One of the things that makes Debian such a top-notch distribution is its package system. While there is a vast quantity of software already in the Debian format, sometimes you need to install software that isn't. You may be wondering how you can make your own packages and perhaps you think it is a very difficult task. Well, if you are a real novice on Linux, it is hard, but if you were rookie, you wouldn't be reading this doc now. :-) You do need to know a little about Unix programming but you certainly don't need to be a wizard. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "Debian を最高峰の Linux ディストリビューションたらしめている理由のひとつが、そのパッケージ管理システムです。すでに膨大な数のソフトウェアが Debian 形式で配布されていますが、まだパッケージ化されていないソフトウェアを、インストールしなければならないこともあるでしょう。あるいは、どうやったら自分でパッケージが作れるんだろう、とか、それはとても難しいことなんじゃないか、などと考えたことがあるかもしれません。まあ、もしあなたが本当に駆け出しの Linux ユーザなら難しいでしょうが、でもそうだったら今ごろこんな文書読んでませんよね :-) パッケージを作成するには、Unix のプログラミングについてある程度知っている必要がありますが、神様みたいに精通している必要は全くありません。 <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para> msgid "One thing is certain, though: to properly create and maintain Debian packages you need many hours. Make no mistake, for our system to work the maintainers need to be both technically competent and diligent." msgstr "ただ、確かなことがひとつあります。Debian パッケージをきちんと作成し、保守していくには、手間を惜しんではならない、ということです。間違えないでください。Debian のシステムをうまく動かしていくためには、メンテナは技術的に有能であるだけでなく、勤勉であることも必要なのです。" #. type: Content of: <book><chapter><para> msgid "This document will explain every little (at first maybe irrelevant) step, and help you create that first package, and to gain some experience in building next releases of that and maybe other packages later on." msgstr "この文書では (最初は関係無さそうに思えることまで) どんな細かい手順も余さず説明します。ともかく一つ作ってしまえば、あとは次のリリース、そして他のパッケージへと経験を積んでいけばよいのです。" #. type: Content of: <book><chapter><para> msgid "If you need some help on packaging, please read <xref linkend=\"helpme\"/> ." msgstr "パッケージ作成において手助けが必要なら、<xref linkend=\"helpme\"/> を読んでください。" #. type: Content of: <book><chapter><para> msgid "Newer versions of this document should always be available online at <ulink url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</systemitem> package. The translations may be available in packages such as <systemitem role=\"package\">maint-guide-es</systemitem>." msgstr "この文書の最新版は常に以下の場所からネットワーク経由で入手できます。<ulink url=\"&maint-guide;\"/> また、<systemitem role=\"package\">maint-guide</systemitem>パッケージにも含まれています。日本語訳は<systemitem role=\"package\">maint-guide-ja</systemitem>パッケージに含まれています。" #. type: Content of: <book><chapter><section><title> msgid "How Debian functions" msgstr "Debian はどのように機能している" #. type: Content of: <book><chapter><section><para> msgid "Here are my reminders on how Debian functions." msgstr "Debian が如何に機能しているにする私の備忘録を記します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "We all are volunteers." msgstr "我々全員はボランティアである。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You can not impose others what to do." msgstr "他人に何をするかを押し付けてはいけない。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be motivated to do things by yourself." msgstr "自分自身で行う意欲を持つべきである。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Friendly cooperation is the driving force." msgstr "友好的な協力が推進力である。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution should not overstrain others." msgstr "あなたの寄与は他人にストレスを掛けすぎてはいけない。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution is valuable only when others appreciate it." msgstr "あなたの寄与は他人に評価されて初めて価値がある。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Debian is not your school where you get automatic attention of teachers." msgstr "Debian は自動的に注意を教師に払ってもらえるあなたの学校とは違う。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be able to learn many things by yourself." msgstr "独力で多くのことを学べるべきである。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Attention of other volunteers is the very scarce resource." msgstr "他のボランティアの注意は、非常に希少な資源である。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Debian is constantly improving." msgstr "Debian は常に改良されている" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should adapt yourself to changes." msgstr "変化に適合する必要があります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Documentation may be slightly outdated ." msgstr "文書は少々内容が古いかもしれません。" #. type: Content of: <book><chapter><section><para> msgid "Since we focus only on technical aspects of packaging in this document, please refer to the following to learn how Debian functions and how you can get involved." msgstr "本書ではパッケージングの技術面にのみフォーカスしているので、Debian が如何にして機能し如何にすればあなたが関与できるのかは以下を参照下さい。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&logiciellibre;\">Debian: 17 ans de logiciel libre, \"do-ocracy\" et démocratie</ulink> (Introductory slides in English PDF)" msgstr "<ulink url=\"&logiciellibre;\">Debian: 17 ans de logiciel libre, \"do-ocracy\" et démocratie</ulink> (英語 PDF の紹介スライド)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&nm-do;\">Debian New Maintainer site</ulink> (official)" msgstr "<ulink url=\"&nm-do;\">Debian New Maintainer サイト</ulink> (正規)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)" msgstr "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (補足)" #. type: Content of: <book><chapter><section><title> msgid "Official Debian Developer" msgstr "正式な Debian 開発者" #. type: Content of: <book><chapter><section><para> msgid "You can not become an official <emphasis role=\"strong\">Debian Developer</emphasis> (DD) over night because it takes more than technical skill. Please do not be discouraged by this. If it is useful to others, you can still upload your package either as a <emphasis role=\"strong\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>." msgstr "技術的なスキル以外の要件があるので、一夜にして正式な <emphasis role=\"strong\">Debian 開発者</emphasis> (DD) になることはできません。これでがっかりしないでください。それが他の人にとっても有用ならば、あなたはあなたのパッケージを<emphasis role=\"strong\">メンテナ</emphasis>として <emphasis role=\"strong\">スポンサー</emphasis> を通して、あるいは <emphasis role=\"strong\">Debian メンテナ</emphasis> として、アップロードすることが可能です。" #. type: Content of: <book><chapter><section><para> msgid "Please note that you do not need to create any new package to become an official Debian Developer. Contributing to the existing packages can provide a path to become an official Debian Developer too. There are many packages waiting for good maintainers (see <xref linkend=\"choose\"/> )." msgstr "正式な Debian 開発者になるのに新しいパッケージの作成は必須ではないことに注意してください。既存のパッケージに対して貢献していくことでも正式な Debian 開発者への道は開かれます。多くのパッケージがよいメンテナを待っています (<xref linkend=\"choose\"/> を参照)。" #. type: Content of: <book><chapter><section><title> msgid "Programs you need for development" msgstr "開発に必要なプログラム" #. type: Content of: <book><chapter><section><para> msgid "Before you start anything, you should make sure that you have properly installed some additional packages needed for development. Note that the list doesn't contain any packages marked <literal>essential</literal> or <literal>required</literal> - we expect that you have those installed already." msgstr "何はさておき、開発に必要なパッケージがきちんとインストールされていることを確認せねばなりません。以下のリストには「<literal>essential</literal>」または「<literal>required</literal>」なパッケージが含まれていないことに注意してください。要するに、これらのパッケージは既にインストールされていることを前提としています。" #. type: Content of: <book><chapter><section><para> msgid "The following packages come with the standard Debian installation, so you probably have them already (along with any additional packages they depend on). Still, you should check it with <literal>aptitude show <replaceable>package</replaceable></literal> or with <literal>dpkg -s <replaceable>package</replaceable></literal>." msgstr "以下のパッケージは Debian の標準 (standard) インストール構成に含まれており、すでに (それらが依存する他のパッケージといっしょに) システムに含まれているはずです。しかし、念のために <literal>aptitude show <replaceable>パッケージ名</replaceable></literal> もしくは <literal>dpkg -s <replaceable>package</replaceable></literal> で確認しておきましょう。" #. type: Content of: <book><chapter><section><para> msgid "The most important package to install on your development system is the <systemitem role=\"package\">build-essential</systemitem> package. Once you try to install it, it will <emphasis>pull in</emphasis> other packages required to have a basic build environment." msgstr "開発用システムにインストールする一番重要なパッケージは、<systemitem role=\"package\">build-essential</systemitem> です。これをインストールしようとすると、基本的なビルド環境に必要な他のパッケージを <emphasis>集めて</emphasis>くるでしょう。" #. type: Content of: <book><chapter><section><para> msgid "For some types of packages, that is all you will require, however there is another set of packages that while not essential for all package builds are useful to have install or may be required by your package:" msgstr "パッケージの種類によっては、必要になるのはこれですべてかもしれません。ただ、すべてのパッケージ作成に必須ではないにせよ、インストールしておくと便利だったり、パッケージによっては必要になったりするパッケージ群があります:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">file</systemitem> - this handy program can determine what type a file is. (see <citerefentry> <refentrytitle>file</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgstr "<systemitem role=\"package\">file</systemitem> - この便利なプログラムを使うと、そのファイルがどういう形式のものか判定することができます (詳しくは <citerefentry> <refentrytitle>file</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> を参照)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">patch</systemitem> - this very useful utility will take a file containing a difference listing (produced by the <command>diff</command> program) and apply it to the original file, producing a patched version. (see <citerefentry> <refentrytitle>patch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgstr "<systemitem role=\"package\">patch</systemitem> - このとても有用なユーティリティは、(<command>diff</command> プログラムによって生成された) オリジナルとの差分が列挙されたファイルを読み込んでオリジナルのファイルに適用し、パッチが当てられたバージョンを作成します。 (詳しくは <citerefentry> <refentrytitle>patch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> を参照)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">perl</systemitem> - Perl is one of the most used interpreted scripting languages on today's Unix-like systems, often referred to as Unix's Swiss Army Chainsaw. (see <citerefentry> <refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgstr "<systemitem role=\"package\">perl</systemitem> - Perl は今日の UNIX 系システムにおいてもっとも使われているインタープリタ型スクリプト言語のひとつで、その強力さはしばしば「Unix のスイス軍用チェーンソー」と形容されるほどです (詳しくは <citerefentry> <refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> を参照)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">python</systemitem> - Python is another of the most used interpreted scripting languages on the Debian system that combines remarkable power with very clear syntax. (see <citerefentry> <refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgstr "<systemitem role=\"package\">python</systemitem> - Python は Debian システムにおいてもっとも使われているもう一つの インタープリタ型スクリプト言語で、並外れたパワーと非常に明快な書式を 兼ねそなえています。 (詳しくは <citerefentry> <refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> を参照)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=\"package\">automake</systemitem> and <systemitem role=\"package\">autotools-dev</systemitem> - many newer programs use configure scripts and <filename>Makefile</filename> files preprocessed with help of programs like these. (see <literal>info autoconf</literal>, <literal>info automake</literal>). The <systemitem role=\"package\">autotools-dev</systemitem> keeps up-to-date versions of certain auto files and has documentation about the best way to use those files." msgstr "<systemitem role=\"package\">autoconf</systemitem> と <systemitem role=\"package\">automake</systemitem> と <systemitem role=\"package\">autotools-dev</systemitem> - 多くの新しいプログラムが、これらのプログラムを使って前処理される設定スクリプトや <filename>Makefile</filename> を利用しています。 (詳しくは <literal>info autoconf</literal>, <literal>info automake</literal> を参照)。 <systemitem role=\"package\">autotools-dev</systemitem> には、特定の auto ファイルの最新版と、 そういったファイルを使う最善の方法についてのドキュメントが含まれています。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "There are few similar but specialized packages such as <systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=\"package\">dh-make-php</systemitem>, etc." msgstr "<systemitem role=\"package\">dh-make-perl</systemitem>、<systemitem role=\"package\">dh-make-php</systemitem>などのように、同様ではありますが、特定目的に特化したパッケージもわずかにあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">dh-make</systemitem> and <systemitem role=\"package\">debhelper</systemitem> - <systemitem role=\"package\">dh-make</systemitem> is necessary to create the skeleton of our example package, and it will use some of the <systemitem role=\"package\">debhelper</systemitem> tools for creating packages. They are not essential for creation of packages, but are <emphasis>highly</emphasis> recommended for new maintainers. It makes the whole process very much easier to start, and control afterwards. (see <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<systemitem role=\"package\">dh-make</systemitem> と <systemitem role=\"package\">debhelper</systemitem> - <systemitem role=\"package\">dh-make</systemitem> はパッケージのひな型を用意するのに必要となります。またこのひな型ではパッケージを生成するために <systemitem role=\"package\">debhelper</systemitem> ツールをいくつか使います。これらを使わなくてもパッケージ作成は可能ですが、初めてパッケージを作る方には利用を<emphasis>強く</emphasis>お勧めします。パッケージを作るのも、以後パッケージを管理するのもずっと簡単になるからです。 (詳しくは <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、<citerefentry> <refentrytitle>debhelper</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> を参照) <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">devscripts</systemitem> - this package contains some nice and useful scripts that can be helpful to the maintainers, but they are also not necessary for building packages. Packages recommended and suggested by this package are worth looking into. (see <ulink url=\"&devscripts-readme;\"/>.)" msgstr "<systemitem role=\"package\">devscripts</systemitem> - このパッケージはメンテナにとって便利であると思われる有用で優れたスクリプトを含んでいますが、だからといってパッケージを作成するために必須というわけではありません。このパッケージが推奨 (Recommends)、あるいは提案 (Suggests) しているパッケージは、一見の価値があります。(詳しくは <ulink url=\"&devscripts-readme;\"/> を参照)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you emulate being root which is necessary for some parts of the build process. (see <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgstr "<systemitem role=\"package\">fakeroot</systemitem> - このユーティリティを使うと、ビルドの過程で何度か必要となる root 権限をエミュレートすることができます。(詳しくは <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> を参照)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to digitally <emphasis>sign</emphasis> packages. This is especially important if you want to distribute it to other people, and you will certainly be doing that when your work gets included in the Debian distribution. (see <citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgstr "<systemitem role=\"package\">gnupg</systemitem> - このツールを使うと、パッケージに「デジタル <emphasis>署名</emphasis>」を付けることができます。もしあなたが自分の作成したパッケージを他の人々に配布したいのなら、これは特に重要です。また、Debian ディストリビューションにあなたの作成したパッケージが含まれるようになった時には、確実にこのデジタル署名をすることになります。(詳しくは <citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 参照)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 compiler, necessary if your program is written in Fortran. (see <citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgstr "<systemitem role=\"package\">gfortran</systemitem> - GNU Fortran 95 コンパイラ。あなたのプログラムが Fortran 言語で書かれている場合に必要です。(詳しくは <citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 参照)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, necessary if your program is written in Pascal. Worthy of note here is <systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal Compiler, which is also good at this task. (see <citerefentry> <refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgstr "<systemitem role=\"package\">gpc</systemitem> - GNU Pascal コンパイラ。あなたのプログラムが Pascal 言語で書かれている場合に必要です。ここで注目に値するのは <systemitem role=\"package\">fp-compiler</systemitem> Free Pascal コンパイラで、こちらもまたこの作業に適しています。(詳しくは <citerefentry> <refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、 <citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 参照)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, usually those made for X11, also use these programs to generate <filename>Makefile</filename> files from sets of macro functions. (see <citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgstr "<systemitem role=\"package\">xutils-dev</systemitem> - ある種のプログラム (通常 X11のために開発されたもの) は、これらのプログラムを利用して、マクロ関数の組み合わせから <filename>Makefile</filename> 群を生成します。(詳しくは <citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、 <citerefentry> <refentrytitle>xmkmf</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 参照)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">lintian</systemitem> - this is the Debian package checker that can let you know of any common mistakes after you build the package, and explains the errors found. (see <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>)" msgstr "<systemitem role=\"package\">lintian</systemitem> - これは Debian パッケージチェッカで、あなたがビルドしたパッケージを調べて、その中にありがちなミスが見つかったらそれを指摘し、その問題について説明してくれます。(詳しくは <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、 <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink> 参照)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">pbuilder</systemitem> - this package contains programs which are used for creating and maintaining <command>chroot</command> environment. Building Debian package in this <command>chroot</command> environment verifies the proper build dependency and avoid FTBFS (Fails To Build From Source) bugs. (see <citerefentry> <refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgstr "<systemitem role=\"package\">pbuilder</systemitem> - このパッケージには <command>chroot</command> 環境の作成や保守に使用されるプログラムが含まれます。この <command>chroot</command> 環境下で Debian パッケージをビルドすることで適切なビルド依存を確認して FTBFS (Fails To Build From Source) バグを回避することができます。(詳しくは <citerefentry> <refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </citerefentry> と <citerefentry> <refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 参照)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">patchutils</systemitem> - this package contains some utilities to work with patches such as the <command>lsdiff</command>, <command>interdiff</command> and <command>filterdiff</command> commands." msgstr "<systemitem role=\"package\">patchutils</systemitem> - このパッケージには、<command>lsdiff</command>、 <command>interdiff</command> や <command>filterdiff</command> といったパッチを扱うユーティリティが含まれています。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">quilt</systemitem> - this package helps you to manage a series of patches by keeping track of the changes each of them makes. They are logically organized as a stack, and you can apply (=push), un-apply (=pop), refresh them easily by traveling into the stack. (see <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <ulink url=\"&quilt-pdf;\">quilt.pdf</ulink>)" msgstr "<systemitem role=\"package\">quilt</systemitem> - このパッケージは、一連のパッチそれぞれの変更点を追跡して、その管理を補助するものです。パッチはスタックとして論理的に構成されていて、スタックに分け入って、簡単に当てたり (=push) 外したり (=pop) 刷新したりすることができます。(詳しくは <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、 <ulink url=\"&quilt-pdf;\">quilt.pdf</ulink> 参照)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">git</systemitem> - this package provides popular version control system designed to handle very large projects with speed and efficiency; it is used for many high profile open source projects, most notably the Linux kernel. (see <citerefentry> <refentrytitle>git</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <ulink url=\"&git-doc;\">git Manual</ulink>)" msgstr "<systemitem role=\"package\">git</systemitem> - このパッケージは人気のあるバージョン管理システムで、大規模なプロジェクトを素早く、効率的に扱えるように設計されています。知名度の高い多数のオープンソースプロジェクトで使われており、特に有名なものとして Linux カーネルがあります。(詳しくは <citerefentry> <refentrytitle>git</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、 <ulink url=\"&git-doc;\">git Manual</ulink> 参照)" #. type: Content of: <book><chapter><section><para> msgid "The short descriptions that are given above only serve to introduce you to what each package does. Before continuing please thoroughly read the documentation of each program, at least, for the standard usage. It may seem like heavy going now, but later on you'll be <emphasis>very</emphasis> glad you read it." msgstr "上記の簡単な説明は、それぞれのパッケージが何をするのか紹介するだけのものです。先に進む前にどうかそれぞれのプログラムに付属の文書を徹底的に熟読し、標準的な使い方だけでも理解しておいてください。きついと思われるかも知れませんが、あとになればきっと <emphasis>読んでてよかったなあ</emphasis> と思うことでしょう。" #. type: Content of: <book><chapter><section><para> msgid "If you have specific questions later, I suggest you to read the documents mentioned above again. Since this is a tutorial, I intentionally skipped details and provided only pointers to keep it simple." msgstr "もし特定の疑問が後に沸いた場合には、上記の文書をもう一度読み直すことをお勧めします。本書は入門書なので、簡略にするために意図的に詳細を省略したりポインターのみを提供したりしました。" #. type: Content of: <book><chapter><section><title> msgid "Documentations you need for development" msgstr "開発に必要な文書" #. type: Content of: <book><chapter><section><para> msgid "The following is the <emphasis>very important</emphasis> documentation which you should read along with this document:" msgstr "以下は、この文書と合わせて読むべき<emphasis>とても重要な</emphasis>文書です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of the structure and contents of the Debian archive, several OS design issues, the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which says where each file and directory should be) etc. For you, the most important thing is that it describes requirements that each package must satisfy to be included in the distribution (see the local copies of <ulink url=\"&policy-pdf;\">policy.pdf</ulink> and <ulink url=\"&fhs-pdf;\">fhs-2.3.pdf</ulink>)." msgstr "<systemitem role=\"package\">debian-policy</systemitem> - <ulink url=\"&debian-policy;\">Debian ポリシーマニュアル</ulink> には、Debian アーカイブの構造と内容、OS の設計に関するいくつかの論点、あるいは Filesystem Hierarchy Standard (個々のファイルやディレクトリがどこにあるべきかを規定した文書) についてなどいろいろ載っています。さしあたって重要なのは、ディストリビューションに含まれるためにそれぞれのパッケージが満たすべき必要条件の説明です (ローカルコピーの<ulink url=\"&policy-pdf;\">policy.pdf</ulink> と <ulink url=\"&fhs-pdf;\">fhs-2.3.pdf</ulink> を参照)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">developers-reference</systemitem> - the <ulink url=\"&developers-reference;\">Debian Developer's Reference</ulink> describes all matters not specifically about the technical details of packaging, like the structure of the archive, how to rename, orphan, pick up packages, how to do NMUs, how to manage bugs, best packaging practices, when and where to upload etc. (see the local copy of <ulink url=\"&developers-refpdf;\">developers-reference.pdf</ulink>)." msgstr "<systemitem role=\"package\">developers-reference</systemitem> - <ulink url=\"&developers-reference;\">Debian 開発者リファレンス</ulink>には、例えばアーカイブの構造、パッケージ名の変更方法、パッケージの選び方、メンテナを降りるにはどうしたらよいか、どうやって NMU をするか、バグとのつき合い方、パッケージ作成のベストプラクティス、いつどこにアップロードすればよいかなどなど、特に技術的な事柄以外のパッケージ化についてのありとあらゆる情報がここにあります。(ローカルコピーの <ulink url=\"&developers-refpdf;\">developers-reference.pdf</ulink> を参照)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build System known as the GNU Autotools</ulink> whose most important components are Autoconf, Automake, Libtool, and gettext." msgstr "<ulink url=\"&autotools-tutorial;\">Autotools チュートリアル</ulink> は、Autoconf、Automake、Libtool や gettext を最も重要な構成要素としてもつ <ulink url=\"&gnu-build-system;\">GNU Autotools として知られる GNU ビルドシステム</ulink> の大変よい手引き書です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">gnu-standards</systemitem> - this package contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;\">Information for Maintainers of GNU Software</ulink>. Although Debian does not require these to be followed, these are still helpful as guidelines and common sense. (see the local copies of <ulink url=\"&gnu-standard-pdf;\">standards.pdf</ulink> and <ulink url=\"&gnu-maintainer-pdf;\">maintain.pdf</ulink>)." msgstr "<systemitem role=\"package\">gnu-standards</systemitem> - このパッケージには、GNU プロジェクトからの文書が 2 つ含まれています。<ulink url=\"&gnu-standard;\">GNU コーディング標準</ulink>と、<ulink url=\"&gnu-maintainer;\">GNU ソフトウェアのメンテナ向け情報</ulink>です。Debian ではこれらに従うことは求められませんが、ガイドラインまたは常識としても有用です(ローカルコピーの <ulink url=\"&gnu-standard-pdf;\">standards.pdf</ulink> と <ulink url=\"&gnu-maintainer-pdf;\">maintain.pdf</ulink> を参照)。" #. type: Content of: <book><chapter><section><para> msgid "If this document contradicts with any of the documents mentioned above, they are correct. Please file a bug report on the <systemitem role=\"package\">maint-guide</systemitem> package using <command>reportbug</command>." msgstr "この文書が、Debian ポリシーマニュアルや Debian 開発者リファレンスの記述と矛盾している場合は、そちらが正解です。<command>reportbug</command> を使って<systemitem role=\"package\">maint-guide</systemitem> パッケージにバグレポートをしてください。" #. type: Content of: <book><chapter><section><title> msgid "Basic terminology" msgstr "基本的な用語" #. type: Content of: <book><chapter><section><para> msgid "There are two types of packages." msgstr "パッケージには 2 種類あります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">source package</emphasis>: A source package is a set of files which contain code and data which you can compile and process into execution programs and formatted documents. It usually comes as a combination of <filename>*.orig.tar.gz</filename>, <filename>*.debian.tar.gz</filename> (or <filename>*.diff.gz</filename>), and <filename>*.dsc</filename>. Some other archive and compression methods may be used, too." msgstr "<emphasis role=\"strong\">ソースパッケージ</emphasis>: ソースパッケージはいくつかのファイルからなっていて、コンパイルすることで実行プログラムや整形した文書に処理できるコードとデータを含んでいます。通常は、<filename>*.orig.tar.gz</filename> と、<filename>*.debian.tar.gz</filename> (あるいは <filename>*.diff.gz</filename>)、それから <filename>*.dsc</filename>の組み合わせです。他のアーカイブ方法や圧縮方法が使われる場合もあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">binary package</emphasis>: A binary package contains execution programs and formatted documents. It usually comes as <filename>*.deb</filename> for the normal Debian system and as <filename>*.udeb</filename> for the Debian Installer." msgstr "<emphasis role=\"strong\">バイナリパッケージ</emphasis>: バイナリパッケージには、実行プログラムと整形された文書が含まれています。通常は、一般的な Debian システム用には <filename>*.deb</filename>、Debian インストーラ向けには <filename>*.udeb</filename> という形になっています。" #. type: Content of: <book><chapter><section><para> msgid "Don't mix terms like source of the program and the source package of the program!" msgstr "プログラムのソースとプログラムのソースパッケージ、のような用語を混同しないようにしてください!" #. type: Content of: <book><chapter><section><para> msgid "There are several role names used around Debian." msgstr "Debian 界隈で使われる役割名がいくつかあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">upstream author</emphasis>: The person who made the original program." msgstr "<emphasis role=\"strong\">upstream author (開発元の作者)</emphasis>: 元のプログラムを作った人です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">upstream maintainer</emphasis>: The person who currently maintains the program." msgstr "<emphasis role=\"strong\">upstream maintainer (開発元のメンテナ)</emphasis>: 現在プログラムをメンテナンスしている人です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">maintainer</emphasis>: The person who makes Debian package of the program." msgstr "<emphasis role=\"strong\">maintainer (メンテナ)</emphasis>: プログラムの Debian パッケージを作成している人です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">sponsor</emphasis>: The person who helps maintainers to upload packages to the official Debian Package Archive after checking their contents." msgstr "<emphasis role=\"strong\">sponsor (スポンサー)</emphasis>: メンテナのパッケージを、内容をチェックした後で公式 Debian パッケージアーカイブにアップロードするのを手伝う人です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">mentor</emphasis>: The person who helps novice maintainers on packaging etc." msgstr "<emphasis role=\"strong\">mentor (指導役)</emphasis>: 新米メンテナがパッケージを作成したりするのを手助けする人です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): The person who is a member of Debian. He has full upload right to the official Debian Package Archive." msgstr "<emphasis role=\"strong\">Debian Developer (Debian 開発者)</emphasis> (DD): Debian のメンバーです。公式 Debian パッケージアーカイブへのアップロード権限をすべてもっています。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): The person who has limited upload right to the official Debian Package Archive." msgstr "<emphasis role=\"strong\">Debian Maintainer (Debian メンテナ)</emphasis> (DM): 公式 Debian パッケージアーカイブへのアップロード権限を限定的にもっている人です。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <ulink url=\"&policy-control;#s-f-Version\">Debian Policy Manual: 5.6.12 Version</ulink>." msgstr "<ulink url=\"&policy-control;#s-f-Version\">Debian Policy Manual: 5.6.12 バージョン</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "There are several version names<placeholder type=\"footnote\" id=\"0\"/> used around Debian." msgstr "Debian 界隈では、いくつかのバージョン名<placeholder type=\"footnote\" id=\"0\"/>が使われます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">upstream source version</emphasis>: The upstream source version is referred as <literal><replaceable>version</replaceable></literal>." msgstr "<emphasis role=\"strong\">上流ソースのバージョン</emphasis>: 上流ソースのバージョンは、<literal><replaceable>version</replaceable></literal> と呼ばれます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">Debian revision</emphasis>: The revision by Debian on package is referred as <literal><replaceable>revision</replaceable></literal>." msgstr "<emphasis role=\"strong\">Debian リビジョン</emphasis>: Debian がつけるパッケージのリビジョンは、<literal><replaceable>revision</replaceable></literal>と呼ばれます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<emphasis role=\"strong\">Debian package version</emphasis>: The Debian package version is referred as the following." msgstr "<emphasis role=\"strong\">Debian パッケージバージョン</emphasis>: Debian のパッケージバージョンは、次のように呼ばれます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal><replaceable>version</replaceable></literal> for the native Debian binary package and for the Debian source package." msgstr "ネイティブの Debian バイナリパッケージと Debain のソースパッケージでは、<literal><replaceable>version</replaceable></literal> です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal><replaceable>version</replaceable>-<replaceable>revision</replaceable></literal> for the non-native Debian binary package." msgstr "ネイティブではない Debian バイナリパッケージでは、<literal><replaceable>version</replaceable>-<replaceable>revision</replaceable></literal> です。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See lists in <xref linkend=\"debian-functions\"/> and <xref linkend=\"needdocs\"/>." msgstr "<xref linkend=\"debian-functions\"/> や <xref linkend=\"needdocs\"/> 中のリストを参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "Please read the other manuals if you need more details on terminology. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "用語についての詳細が必要であれば、他のマニュアルを読んでください。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "Where to ask for help" msgstr "相談するには" #. type: Content of: <book><chapter><section><para> msgid "Before you decide to ask your question in some public place, please read the fine documentation." msgstr "公開の場で質問をすると決心する前に、良好な文書を読みましょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "files in <filename>/usr/share/doc/dpkg</filename>" msgstr "<filename>/usr/share/doc/dpkg</filename> 中のファイル" #. /usr/share/doc/debian is used be doc-debian and debian-faq #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "files in <filename>/usr/share/doc/debian</filename>" msgstr "<filename>/usr/share/doc/debian</filename> 中のファイル" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "files in <filename>/usr/share/doc/autotools-dev</filename>" msgstr "<filename>/usr/share/doc/autotools-dev</filename> 中のファイル" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "files in <filename>/usr/share/doc/<replaceable>package</replaceable></filename> for all pertinent packages." msgstr "全ての関与するパッケージの <filename>/usr/share/doc/<replaceable>package</replaceable></filename> 中のファイル" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "contents of <literal><command>man</command> <replaceable>command</replaceable></literal> for all pertinent commands" msgstr "全ての関与するコマンドの <literal><command>man</command> <replaceable>command</replaceable></literal> の内容" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "contents of <literal><command>info</command> <replaceable>command</replaceable></literal> for all pertinent commands" msgstr "全ての関与するコマンドの <literal><command>info</command> <replaceable>command</replaceable></literal> の内容" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing list archive</ulink>" msgstr "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org メーリングリストのアーカイブ</ulink> の内容" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing list archive</ulink>" msgstr "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org メーリングリストのアーカイブ</ulink> の内容" #. type: Content of: <book><chapter><section><para> msgid "Please consider to use web search engine effectively by including search string such as <literal>site:lists.debian.org</literal> to limit the domain." msgstr "<literal>site:lists.debian.org</literal> のような検索文字列を含めてドメインを制約するようなことで効率的にウエッブ検索エンジン利用をすることを考えましょう。" #. type: Content of: <book><chapter><section><para> msgid "Making a small test package is good way to learn details of packaging. Inspecting existing well maintained packages is the best way to learn how other people make packages." msgstr "小さなテストパッケージを作ることは、パッケージ作成の詳細を学ぶよい方法です。他の人がどのようにパッケージを作成しているか学ぶには、既存のよく保守されているパッケージを調べるのが一番です。" #. type: Content of: <book><chapter><section><para> msgid "If you still have questions about packaging that you couldn't find answers to in the available documentation and web resources, you can ask them interactively." msgstr "入手可能な文書やウエッブのリソースからは答えを見つけられない疑問が残った場合には、インタラクティブに疑問を聞く事が出来ます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing list</ulink>. (This mailing list is for the novice.)" msgstr "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org メーリングリスト</ulink>。 (初心者向けメーリングリストです。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing list</ulink>. (This mailing list is for the expert.)" msgstr "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org メーリングリスト</ulink>。 (上級者向けメーリングリストです。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</literal>." msgstr "<literal>#debian-mentors</literal> の様な <ulink url=\"&irc-debian;\">IRC</ulink>。" #. type: Content of: <book><chapter><section><para> msgid "The more experienced Debian developers will gladly help you, if you ask properly after making your required efforts." msgstr "あなたに必要とされる努力をした後に適切に質問すれば、より経験を持った Debian デベロッパーが喜んで助けてくれるでしょう。" #. type: Content of: <book><chapter><section><para> msgid "When you receive a bug report (yes, actual bug reports!), you will know that it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking System</ulink> and read the documentation there, to be able to deal with the reports efficiently. I highly recommend reading the <ulink url=\"&devref-bug-handling;\">Debian Developer's Reference, 5.8. 'Handling bugs'</ulink>." msgstr "バグレポート (そう、本物のバグレポートです!) を受けとったら、レポートを効率的にさばくために、<ulink url=\"&bts;\">Debian バグ追跡システム</ulink> を掘り下げ、その説明文書を読み込む時だということがわかるでしょう。<ulink url=\"&devref-bug-handling;\">開発者リファレンスの 5.8. 'Handling bugs'</ulink> を読むよう、強くおすすめします。" #. type: Content of: <book><chapter><section><para> msgid "Even if it all worked well, it's time to start praying. Why? Because in just a few hours (or days) users from all around the world will start to use your package, and if you made some critical error you'll get mailbombed by numerous angry Debian users... Just kidding. :-)" msgstr "すべてうまくやったとしても、これからはお祈りの時間です。なぜか? それは、ほんの数時間 (あるいは数日) で、世界中のユーザがそのパッケージを使いはじめるからです。もし何か致命的なエラーをやらかしていたら、膨大な数の怒った Debian ユーザからメール爆弾を受けとることになります……なんて冗談ですが :-)" #. type: Content of: <book><chapter><section><para> msgid "Relax and be ready for bug reports, because there is a lot more work to be done before your package will be fully in line with Debian policies and its best practice guidelines (once again, read the <emphasis>real documentation</emphasis> for details). Good luck!" msgstr "リラックスしてバグ報告に備えてください。なにしろ、そのパッケージが Debian ポリシーやそのベストプラクティスに完全に沿うようになるまでには、やらなくてはいけないことは沢山あるのですから (繰り返しますが、詳細は<emphasis>実際の文書</emphasis>を読んでください)。頑張ってください!" #. type: Content of: <book><chapter><title> msgid "First steps" msgstr "はじめの一歩" #. type: Content of: <book><chapter><para> msgid "Let's try to make your own package (or, better even, adopt an existing one)." msgstr "自分のパッケージを作成してみましょう (それよりずっと良いのは、既存のものを引き取ってみることです)。" #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "プログラムの選定" #. type: Content of: <book><chapter><section><para> msgid "You have probably chosen the package you want to create. The first thing you need to do is check if the package is in the distribution archive already by using the following." msgstr "おそらく、作成したいパッケージを選んだことと思います。まず最初にしなければならないことは、ディストリビューションのアーカイブにそのパッケージがすでにあるかどうかを以下をを使って確認することです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <command>aptitude</command> command" msgstr "<command>aptitude</command> コマンド" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&packages-do;\">Debian packages</ulink> web page" msgstr "<ulink url=\"&packages-do;\">Debian パッケージ</ulink> ウエッブページ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> web page" msgstr "<ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> ウエッブページ" #. type: Content of: <book><chapter><section><para> msgid "If the package already exists, well, install it! :-) If it happens to be <emphasis role=\"strong\">orphaned</emphasis> -- if its maintainer is set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>, you may be able to pick it up if it's still available. You may also adopt a package for which the corresponding maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</emphasis>)." msgstr "もしパッケージが既に存在していたら、インストールしましょう! :-) もしそのパッケージが<emphasis role=\"strong\">みなしご化</emphasis>されていたら -- つまりメンテナが <ulink url=\"&qa-do;\">Debian QA Group</ulink> になっていたら、まだそのパッケージを他の人にとられていなければ、そのパッケージを引き取ることができるかもしれません。パッケージのメンテナが引き取り依頼 (<emphasis role=\"strong\">RFA</emphasis>) を出しているパッケージも引きとれます。" #. type: Content of: <book><chapter><section><para> msgid "There are several package ownership status resources." msgstr "パッケージの所有状態の情報源がいくつかあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" msgstr "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in package wnpp in unstable</ulink>" msgstr "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in package wnpp in unstable</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgstr "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-debtags;\">Browse WNPP bugs based on debtags</ulink>" msgstr "<ulink url=\"&wnpp-debtags;\">Browse WNPP bugs based on debtags</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Having said that, there will of course always be new programs that are worthwhile packaging." msgstr "とはいっても、パッケージ化する価値のある新しいプログラムはいつだって存在するでしょう。" #. type: Content of: <book><chapter><section><para> msgid "As a side note, it's important to point out that Debian already has packages for most kinds of programs, and the number of packages already in the Debian archive is much larger than that of contributors with upload rights. Thus, contributions to packages already in the archive are far more appreciated (and more likely to receive sponsorship) by other developers <placeholder type=\"footnote\" id=\"0\"/>. You can do that in various ways." msgstr "注釈ですが、Debian にはすでにほとんどの種類のプログラムが含まれていること、Debian アーカイブにすでに含まれているパッケージの数は、アップロード権限をもつユーザの数よりもはるかに多いこと、に注意しておくのは重要です。従って、すでにアーカイブに含まれているパッケージへの作業は、他の開発者からはるかに喜ばれます (し、よりスポンサーしてもらえる見込みがあります)。 <placeholder type=\"footnote\" id=\"0\"/>。作業のやり方はいろいろあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "まだよく使われている、みなしごのパッケージを引き取る" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>" msgstr "<ulink url=\"&teams;\">パッケージ化チーム</ulink>に参加する" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "よく使われているパッケージのバグに対処する" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" msgstr "<ulink url=\"&devref-nmu;\">QA もしくは NMU アップロード</ulink> を準備する" #. type: Content of: <book><chapter><section><para> msgid "If you are able to adopt the package, get the sources (with something like <literal>apt-get source <replaceable>packagename</replaceable></literal>) and examine them. This document unfortunately doesn't include comprehensive information about adopting packages. Thankfully you shouldn't have a hard time figuring out how the package works since someone has already done the initial set up for you. Keep reading, though, a lot of the advice below will still be applicable for your case." msgstr "もしパッケージを引き取ることができるなら、(<literal>apt-get source <replaceable>パッケージ名</replaceable></literal> などの方法で) ソースを入手して、調べてみてください。残念ながらこの文書では、パッケージを引き取ることについて、わかりやすく説明してはいません。ありがたいことに、既に誰かがあなたのためにパッケージを準備してくれたわけですから、そのパッケージがどのように動作するのか理解することは、それほど難しくはないでしょう。とはいえ、そうした場合でもこの文書に書かれた多くのアドバイスはそのまま通用しますから、このまま読み進めていってください。" #. type: Content of: <book><chapter><section><para> msgid "If the package is new, and you decide you'd like to see it in Debian, proceed as follows:" msgstr "もしあなたの選んだプログラムがまだパッケージ化されていないもので、それを Debian に入れたいと決めたなら、以下のチェック項目について確認してください。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "First, you must know that program works, and have tried it for some time to confirm its usefulness." msgstr "まず、そのプログラムが機能することがわかっていて、その有用性についてある程度の期間確かめておかねばなりません。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "You must check if no one else is working on the package already at the <ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> site. If no one else is working on it, file an ITP (Intent To Package) bug report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package using <command>reportbug</command>. If someone's already on it, contact them if you feel you need to. If not - find another interesting program that nobody maintains." msgstr "<ulink url=\"&wnpp-do;\">作業中のパッケージ</ulink>サイトを確認し、他の誰も同じパッケージに関して作業していないことを確かめてください。誰も作業していなければ、<command>reportbug</command> を使って ITP (Intent To Package) のバグレポートを、<systemitem role=\"package\">wnpp</systemitem> 疑似パッケージに送ってください。もし既に誰かが作業していたら、連絡を取りたいならそうしてください。もしその気が無いなら、まだ誰も手をつけていない他の面白いプログラムを探しましょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "That program <emphasis role=\"strong\">must have a license</emphasis>." msgstr "プログラムには、<emphasis role=\"strong\">ライセンスが必須</emphasis>です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "For the <literal>main</literal> section, it <emphasis role=\"strong\">must be compliant to all the Debian Free Software Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis role=\"strong\">that program must not require a package outside of <literal>main</literal></emphasis> for compilation or execution as required by the Debian Policy. This is desired case." msgstr "<literal>main</literal> セクションは、Debian ポリシーにより <emphasis role=\"strong\">Debian フリーソフトウェアガイドライン</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) に完全に準拠しなければなりませんし 、またコンパイル・実行時に <emphasis role=\"strong\"><literal>main</literal> 以外のパッケージに依存してはなりません</emphasis>。これが望ましいケースです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "For the <literal>contrib</literal> section, it must be compliant to all the DFSG but it may require a package outside of <literal>main</literal> for compilation or execution." msgstr "<literal>contrib</literal> セクションは、DFSG に完全に準拠していなければなりませんが、コンパイル・実行時に <literal>main</literal> にあるもの以外のパッケージに依存していても構いません。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "For the <literal>non-free</literal> section, it may not be compliant to some of the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>." msgstr "<literal>non-free</literal> セクションは、DFSG に準拠していない部分があるかもしれませんが、<emphasis role=\"strong\">配布可能でなければなりません</emphasis>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If you are unsure about where it should go, post the license text on <ulink url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for advice." msgstr "どうするべきかよくわからなければ、<ulink url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> にライセンス文を送り、アドバイスを求めてください。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "That program certainly should <emphasis role=\"strong\">not</emphasis> run setuid root, or even better - it shouldn't need to be setuid or setgid to anything." msgstr "実行時に root に setuid <emphasis role=\"strong\">しない</emphasis>プログラムがよいでしょう。もっと言えば、どんなときも setuid や setgid を必要としないほうがよいでしょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "That program should not be a daemon, or something that goes in <filename>*/sbin</filename> directories, or open a port as root." msgstr "デーモンとして動作するプログラムや、<filename>*/sbin</filename> ディレクトリに配置するプログラム、また root 特権を使ってポートを開くプログラムでないほうがよいでしょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "That program should result in binary executable form, libraries are harder to handle." msgstr "バイナリ実行形式が得られるプログラムを選びましょう。ライブラリを扱うのはずっと難しいのです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "That program should be well documented and its code needs to be understandable (i.e. not obfuscated)." msgstr "ちゃんとした説明書きのあるプログラムで、ソースコードが理解可能なもの (つまり、わかりにくくないこと)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "You should contact program's author(s) to check if they agree with packaging it and amicable to Debian. It is important to be able to consult with author(s) about the program in case of any program specific problems, so don't try to package unmaintained pieces of software." msgstr "プログラムの作者に連絡をとって、パッケージ化の承諾と Debian に友好的かどうかを確認しておきましょう。何かプログラムそのものに起因する問題が発生した際に、作者にいろいろ聞けるということは重要なので、由来のはっきりしないソフトウェアの断片をパッケージ化するのはやめておきましょう。" #. type: Content of: <book><chapter><section><para> msgid "Of course, these things are just safety measures, and intended to save you from raging users if you do something wrong in some setuid daemon... When you gain some more experience in packaging, you'll be able to package such packages." msgstr "もちろんこれらは単なる安全策で、setuid デーモン等で何かミスして怒り狂ったユーザから抗議殺到という事態を回避しるためです。パッケージ化についてもっと経験を積めば、こうしたパッケージも作れるようになるでしょう。" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "プログラムの入手と検証" #. type: Content of: <book><chapter><section><para> msgid "So the first thing to do is to find and download the original source code. I presume that you already have the source file that you picked up at the author's homepage. Sources for free Unix programs usually come in <command>tar</command>+<command>gzip</command> format with extension <filename>.tar.gz</filename>, or <command>tar</command>+<command>bzip2</command> format with extension <filename>.tar.bz2</filename>. These usually contain the subdirectory called <filename><replaceable>programname</replaceable>-<replaceable>version</replaceable></filename> in them and all the sources under it." msgstr "さて、最初にすべきことは、オリジナルのソースコードを探してダウンロードすることです。ここでは作者のホームページから、すでにソースファイルを入手したとして話を進めます。フリーな Unix 用プログラムのソースは、ふつう <filename>.tar.gz</filename> 拡張子が付いた <command>tar</command>+<command>gzip</command> 形式や、<filename>.tar.bz2</filename> 拡張子が付いた <command>tar</command>+<command>bzip2</command> 形式で提供されています。この中にはたいてい、すべてのソースが入った <filename><replaceable>プログラム名</replaceable>-<replaceable>バージョン</replaceable></filename> というサブディレクトリがあります。" #. type: Content of: <book><chapter><section><para> msgid "If the latest version of such sources are available through VCS such as Git, Subversion, or CVS repository, you need to get it with <literal>git clone</literal>, <literal>svn co</literal>, or <literal>cvs co</literal> and repack it into <command>tar</command>+<command>gzip</command> format by yourself using the <literal>--exclude-vcs</literal> option." msgstr "該当ソースの最新版が Git や Subversion、CVS リポジトリのような VCS で提供されているなら、取得するのに <literal>git clone</literal>、<literal>svn co</literal> や <literal>cvs co</literal> してから、<literal>--exclude-vcs</literal> オプションを使って自分で <command>tar</command>+<command>gzip</command> 形式に再パックする必要があります。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "You can identify the archive format using the <command>file</command> command when the file extension is not enough." msgstr "ファイルの拡張子で足りなければ、<command>file</command> コマンドを使ってアーカイブ形式を判別することができます。" #. type: Content of: <book><chapter><section><para> msgid "If your program's source comes as some other sort of archive (for instance, the filename ends in <filename>.Z</filename> or <filename>.zip</filename><placeholder type=\"footnote\" id=\"0\"/>), unpack it with appropriate tools and repack it, too." msgstr "プログラムのソースが、他の種類のアーカイブ (例えば、<filename>.Z</filename>で終わるファイル名や、<filename>.zip</filename><placeholder type=\"footnote\" id=\"0\"/>) の場合も、適切なツールで展開してから再パックしてください。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This program is already packaged. Its <ulink url=\"&gentoo-package;\">current version</ulink> uses Autotools as its build structure and is substantially different from the following examples based on the version 0.9.12." msgstr "このプログラムはすでにパッケージ化されています。 その<ulink url=\"&gentoo-package;\">最新のバージョン</ulink>は Autotools をそのビルド構造としており、バージョン 0.9.12 に基づく以下の例から大きく異なります。" #. type: Content of: <book><chapter><section><para> msgid "As an example, I'll use a program called <command>gentoo</command>, an X GTK+ file manager. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "さて、<command>gentoo</command> という X GTK+ ファイルマネージャを例に使い説明します。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "Create a subdirectory under your home directory named <filename>debian</filename> or <filename>deb</filename> or anything you find appropriate (e.g. just <filename>~/gentoo</filename> would do fine in this case). Place the downloaded archive in it, and extract it (with <literal>tar xzf gentoo-0.9.12.tar.gz</literal>). Make sure there are no errors, even some <emphasis>irrelevant</emphasis> ones, because there will most probably be problems unpacking on other people's systems, whose unpacking tools may or may not ignore those anomalies. On your console screen, you should see the following." msgstr "自分のホームディレクトリ以下に <filename>debian</filename> や <filename>deb</filename>、または何か適当な名前のサブディレクトリを作りましょう (今回の場合には <filename>~/gentoo/</filename> としても良いでしょう)。ダウンロードしたアーカイブをここにコピーし、<literal>tar xzf gentoo-0.9.12.tar.gz</literal> を実行して展開してください。この時、一見<emphasis>無関係</emphasis>に思えるようなものも含めて、エラーは一切発生しないことを確認してください。もしエラーが起きたら、それは他の人々のシステム上で展開する際にも、おそらくエラーが起きるということです。そしてそこで使われている展開用のツールは、こういった異常を無視するかも知れませんし、無視しないかもしれません。あなたのコンソール画面では、以下のように見えているでしょうか。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "Now you have another subdirectory, called <filename>gentoo-0.9.12</filename>. Change to that directory and <emphasis>thoroughly</emphasis> read the provided documentation. Usually there are files named <filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*.lsm</filename> or <filename>*.html</filename>. You must find instructions on how to correctly compile and install the program (most probably they'll assume you want to install to <filename>/usr/local/bin</filename> directory; you won't be doing that, but more on that later in <xref linkend=\"destdir\"/> )." msgstr "さて、<filename>gentoo-0.9.12</filename> という別のサブディレクトリができました。展開したディレクトリに移動して、提供されているドキュメントを<emphasis>徹底的に</emphasis>読みましょう。通常は <filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*.lsm</filename>, <filename>*.html</filename> といった名前のファイルです。それらの文書の中に、どうやったら正しくコンパイルできるのか、どうインストールすればよいのかといった情報が見つかるはずです (おそらく <filename>/usr/local/bin</filename> にインストールするものとして説明されていますが、そうしてはいけません。これについては <xref linkend=\"destdir\"/> を参照してください)。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Many modern programs come with a script <filename>configure</filename> which creates a <filename>Makefile</filename> file customized for your system upon its execution." msgstr "多くの現代的なプログラムは 実行するとあなたのシステム用にカスタム化した <filename>Makefile</filename> ファイルを作成する <filename>configure</filename> スクリプトが同梱されています。" #. type: Content of: <book><chapter><section><para> msgid "Simple programs come with a <filename>Makefile</filename> file in them and can be compiled simply with <literal>make</literal>.<placeholder type=\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, which runs included self-checks. Installation to the destination directories is usually done with <literal>make install</literal>." msgstr "単純なプログラムは <filename>Makefile</filename> ファイルが付属していて、単純に <literal>make</literal> でコンパイルできます。<placeholder type=\"footnote\" id=\"0\"/> 中には同梱のセルフテストを実行する <literal>make check</literal> をサポートするプログラムもあります。インストール先ディレクトリへのインストールは一般に <literal>make install</literal> によって実行されます。" #. type: Content of: <book><chapter><section><para> msgid "Now try to compile and run your program, to make sure it works properly and doesn't break something else while it's installing or running." msgstr "さあ、試しにプログラムをコンパイルし、実行してみましょう。 インストールや実行の際にちゃんと動作するかどうか、そして他の何かを壊してしまっていないかを確認してください。" #. type: Content of: <book><chapter><section><para> msgid "Also, you can usually run <literal>make clean</literal> (or better <literal>make distclean</literal>) to clean up the build directory. Sometimes there's even a <literal>make uninstall</literal> which can be used to remove all the installed files." msgstr "それから、たいていの場合は <literal>make clean</literal> ( <literal>make distclean</literal> を使えるならそのほうが良いです) を実行すると、ビルド用のディレクトリをきれいにしてくれます。さらに <literal>make uninstall</literal> を実行すると、インストールされたファイルをすべて削除できることさえもあります。" #. type: Content of: <book><chapter><section><title> msgid "Free portable programs" msgstr "自由に移植できるプログラム" #. type: Content of: <book><chapter><section><para> msgid "A lot of Free programs are written in the <ulink url=\"&c-program;\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these use Autotools or CMake to make them portable across different platforms. These tools are used to generate <filename>Makefile</filename> and other required source files. Then, such programs are built with usual <literal>make; make install</literal>." msgstr "多数の自由なプログラムが、<ulink url=\"&c-program;\">C</ulink> と <ulink url=\"&cxx;\">C++</ulink> 言語で書かれています。これらの多くは、異なるプラットフォーム間で移植を可能とするために Autotools や CMake を使っています。こういったツールは、<filename>Makefile</filename> やその他必要なソースファイルを生成するのに使われます。その後、そういったプログラムは通常の <literal>make; make install</literal> でビルドされます。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and <ulink url=\"&autotools-readme;\"/>." msgstr "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> と <ulink url=\"&autotools-readme;\"/> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "<ulink url=\"&gnu-build-system;\">Autotools</ulink> are the GNU build system comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, and <ulink url=\"&gettext;\">gettext</ulink>. You can notice such sources by the <filename>configure.ac</filename>, <filename>Makefile.am</filename>, and <filename>Makefile.in</filename> files. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<ulink url=\"&gnu-build-system;\">Autotools</ulink> は <ulink url=\"&autoconf;\">Autoconf</ulink>、<ulink url=\"&automake;\">Automake</ulink>、<ulink url=\"&libtool;\">Libtool</ulink> と <ulink url=\"&gettext;\">gettext</ulink> から成る GNU のビルドシステムです。<filename>configure.ac</filename>、<filename>Makefile.am</filename> や <filename>Makefile.in</filename> ファイルがあれば、そういうソースであることがわかります。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "The first step of Autotools work flow is usually that the upstream runs <literal>autoreconf -i -f</literal> in the source and distributes this source with generated files." msgstr "Autotools を使ったワークフローの最初の一歩は、上流の作者がソースディレクトリで <literal>autoreconf -i -f</literal> を実行し、生成されたファイルと一緒にこのソースを配布することです。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" msgstr "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" #. type: Content of: <book><chapter><section><para> msgid "Editing <filename>configure.ac</filename> and <filename>Makefile.am</filename> files requires some knowledge of <command>autoconf</command> and <command>automake</command>. See <literal>info autoconf</literal> and <literal>info automake</literal>." msgstr "<filename>configure.ac</filename> や <filename>Makefile.am</filename> ファイルを編集するには、<command>autoconf</command> と <command>automake</command> についての知識が少々必要になります。<literal>info autoconf</literal> と <literal>info automake</literal> を参照してください。" #. type: Content of: <book><chapter><section><para> msgid "The second step of Autotools work flow is usually that the user obtains this distributed source and runs <literal>./configure && make</literal> in the source to compile program into a <command><replaceable>binary</replaceable></command>." msgstr "Autotools のワークフローの次のステップでは、通常はこの配布されているソースをユーザが入手して、ソースディレクトリで <literal>./configure && make</literal> を実行することで、プログラムを <command><replaceable>binary</replaceable></command> にコンパイルします。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" msgstr "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" #. type: Content of: <book><chapter><section><para> msgid "You can change many things in the <filename>Makefile</filename> file such as the default file install location using the command option, e.g. <command>./configure --prefix=/usr</command>." msgstr "デフォルトでファイルがインストールされる場所など、<filename>Makefile</filename> ファイルにある内容の多くは、コマンドオプションを使って変更することができます。例えば <command>./configure --prefix=/usr</command> のように。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "You can automate this by using <systemitem role=\"package\">dh_autoreconf</systemitem> package. See <xref linkend=\"customrules\"/>." msgstr "<systemitem role=\"package\">dh_autoreconf</systemitem> パッケージを用いるとこれが自動か出来ます。<xref linkend=\"customrules\"/> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "Although it is not required, updating the <filename>configure</filename> and other files with <literal>autoreconf -i -f</literal> as the user may improve the compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "必須ではありませんが、<literal>autoreconf -i -f</literal> をユーザとして実行することで <filename>configure</filename> や他のファイルを更新すると、ソースの互換性が改善される場合があります。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You can notice such sources by the <filename>CMakeLists.txt</filename> file." msgstr "<ulink url=\"&cmake;\">CMake</ulink> は代替のビルドシステムです。<filename>CMakeLists.txt</filename> ファイルがあれば、そういうソースだとわかります。" #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "パッケージ名とバージョン" #. type: Content of: <book><chapter><section><para> msgid "You should start packaging with a completely clean (pristine) source directory, or simply with freshly unpacked sources." msgstr "パッケージ化の作業は完全にクリーンな (オリジナルのままの) ソースディレクトリ、簡単に言えば新しく展開したソースから始めるべきです。" #. type: Content of: <book><chapter><section><para> msgid "For the package to be built correctly, you must make the program's original name lowercase (if it isn't already), and you should move the source directory to <filename><replaceable>packagename</replaceable>-<replaceable>version</replaceable></filename>." msgstr "パッケージをきちんと作るためには、プログラム名がすべて小文字になるよう、(まだそうなっていなければ) オリジナルの名前から変更しておかなければいけません。またソースディレクトリ名を <filename><replaceable>パッケージ名</replaceable>-<replaceable>バージョン</replaceable></filename> に変更しておきましょう。" #. type: Content of: <book><chapter><section><para> msgid "If the program name consists of more than one word, contract them to one word, or make an abbreviation. For example, program John's little editor for X package would be named <systemitem role=\"package\">johnledx</systemitem>, or <systemitem role=\"package\">jle4x</systemitem>, or whatever you decide, as long as it's under some reasonable limit, e.g. 20 characters." msgstr "もしプログラムの名前が二語以上で構成されていたら、一つの語につなげるか省略形にしましょう。 例えば、John's little editor for X というソフトウェアならば <systemitem role=\"package\">johnledx</systemitem> とか <systemitem role=\"package\">jle4x</systemitem> というようにしましょう。あまり長すぎない程度、 せいぜい 20 文字くらいまでの長さで、適当に決めていただければ結構です。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Version string can be compared by <literal>dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable></literal>. See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> manpage." msgstr "バージョン文字列は、<literal>dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable></literal> として比較できます。<citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> のマニュアルページを参照してください。" #. type: Content of: <book><chapter><section><para> msgid "Also check for the exact version of the program (to be included in the package version). If that piece of software is not numbered with versions like <literal>X.Y.Z</literal>, but with some kind of date, feel free to use that date as the version number, as long as newer version numbers will look larger. While it is best to use the same version number as what upstream uses, if it is in the format of <literal>09Oct23</literal> you may need to convert it to <literal>YYYYMMDD</literal> format, which would be <literal>20091023</literal>, to ensure proper order for upgrade with the <command>dpkg</command> program.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "プログラムの正確なバージョンもチェックしましょう (パッケージのバージョンに含めるために)。もしそのソフトウェアが「バージョン <literal>X.Y.Z</literal>」という形式で番号付けされておらず、ある種の日付で区別されている場合には、新しいバージョン番号が大きくなっているようなら、その日付をバージョン番号として自由に使ってください。開発元が使っているのと同じバージョン番号を使うのがベストではありますが、それが<literal>09Oct23</literal> といった形式の場合は、それを <literal>20091023</literal> といった <literal>YYYYMMDD</literal> 形式に変換して、<command>dpkg</command> プログラムでのアップグレードが適切な順番でできるようにする必要があるかもしれません。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "Some programs won't be numbered at all, in which case you should contact the upstream maintainer to see if they've got some other revision-tracking method." msgstr "およそバージョン番号に使えそうな情報がまったくないと言う場合、上流メンテナに連絡をとって彼らが何か他のリビジョン管理手段を使っているかどうか聞いてみましょう。" #. type: Content of: <book><chapter><section><title> msgid "Initial Debian package" msgstr "最初の Debian パッケージ" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "The following text assumes you are using Bash as your login shell. If you use other login shells such as Z shell, use their pertinent configuration files instead of <filename>~/.bashrc</filename>." msgstr "以下の文章はあなたが Bash をあなたのログインシェルとして使っていると仮定しています。Z シェルのような他のログインシェルを用いている場合 <filename>~/.bashrc</filename>と代えてそれに適当な設定ファイルを使って下さい。" #. type: Content of: <book><chapter><section><para> msgid "Let's set up the shell environment variable <literal>$DEBEMAIL</literal> and <literal>$DEBFULLNAME</literal> so many Debian maintenance tools recognize your name and email address to use for packages as follows.<placeholder type=\"footnote\" id=\"0\"/>." msgstr "次のようにして、シェルの環境変数 <literal>$DEBEMAIL</literal> と <literal>$DEBFULLNAME</literal> を設定して、パッケージに使うあなたの名前と email アドレスを、多くの Debian メンテナンスツールが認識できるようにしましょう<placeholder type=\"footnote\" id=\"0\"/>.:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=your.email.address@example.org\n" "DEBFULLNAME=Firstname Lastname\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" msgstr "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=your.email.address@example.org\n" "DEBFULLNAME=Firstname Lastname\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" #. type: Content of: <book><chapter><section><para> msgid "Let's make an initial Debian package by issuing the <command>dh_make</command> command as follows." msgstr "次のように <command>dh_make</command> コマンドを実行して、最初の Debian パッケージを作ってみましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ . ~/.bashrc\n" "$ cd ~/gentoo/gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" msgstr "" "$ . ~/.bashrc\n" "$ cd ~/gentoo/gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "If the upstream source provides the <filename>debian</filename> directory and its contents, run the <command>dh_make</command> command with the <literal>--addmissing</literal> option, instead. The new source <literal>3.0 (quilt)</literal> format is quite robust not to break even for these packages. You may need to update contents provided by the upstream for your Debian package." msgstr "上流のソースが <filename>debian</filename> ディレクトリとその中身を提供している場合は、かわりに <command>dh_make</command> コマンドを <literal>--addmissing</literal> オプションをつけて実行してください。新しい <literal>3.0 (quilt)</literal> 形式のソースはとても堅牢なので、こういったパッケージでも壊すことはありません。自分の Debian パッケージ用に、アップストリームで提供されている内容を更新する必要があるかもしれません。" #. type: Content of: <book><chapter><section><para> msgid "Of course, replace the filename with the name of your original source archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for details." msgstr "当然ですが、ファイル名はあなたのオリジナルのソースアーカイブの名前と置き換えてください。<placeholder type=\"footnote\" id=\"0\"/> 詳細は、<citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> を参照してください。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "There are few choices here: <literal>s</literal> for Single binary, <literal>i</literal> for Arch-Independent, <literal>m</literal> for Multiple binary, <literal>l</literal> for Library, <literal>k</literal> for Kernel module, <literal>n</literal> for Kernel patch and <literal>b</literal> for <systemitem role=\"package\">cdbs</systemitem>. This document focuses on the use of the <systemitem role=\"package\">debhelper</systemitem> package with the <command>dh</command> command. This document focuses on the use of the new <command>dh</command> command for Single binary and touches on it for Arch-Independent and Multiple binary. The <systemitem role=\"package\">cdbs</systemitem> package offers alternative package script infrastructure to the <command>dh</command> command and outside of the scope of this document." msgstr "ここでの選択肢はわずかです。<literal>s</literal> は Single binary (単一のバイナリ)、<literal>i</literal> は Arch-Independent (アーキテクチャ非依存)、<literal>m</literal> は Multiple binary (複数のバイナリ)、<literal>l</literal> は Library (ライブラリ)、<literal>k</literal> は Kernel module (カーネルモジュール)、<literal>n</literal> は Kernel patch (カーネルパッチ)、<literal>b</literal> は <systemitem role=\"package\">cdbs</systemitem> です。本文書は <systemitem role=\"package\">debhelper</systemitem> パッケージを <command>dh</command> コマンドとともに使うことに使うことに重点を置きます。このドキュメントでは、Single binary のために <command>dh</command> コマンドを使うことに重点を置き、Arch-Independent や Multiple binary に関する同様の事にも触れます。<systemitem role=\"package\">cdbs</systemitem> パッケージは <command>dh</command> コマンドに代わるパッケージスクリプトのインフラを提供し、本文書では対象外です。" #. type: Content of: <book><chapter><section><para> msgid "Some information will come up. It will ask you what sort of package you want to create. Gentoo is a single binary package - it creates only one binary, and thus one <filename>.deb</filename> file - so we will select the first option, with the <literal>s</literal> key, check the information on the screen and confirm by pressing <literal><replaceable>ENTER</replaceable></literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "情報がいくつか表示されるでしょう。どんな種類のパッケージを作ろうとしているのかを尋ねられます。Gentoo は単一のバイナリパッケージです - バイナリを一つだけ生成するので、一個の <filename>.deb</filename> ファイルです - なので、<literal>s</literal> キーで最初の選択肢を選びましょう。表示された情報をチェックして、確認のために <literal><replaceable>ENTER</replaceable></literal> を押してください。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "After this execution of <command>dh_make</command>, a copy of the upstream tarball is created as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent directory to accommodate the creation of the non-native Debian source package with the <filename>debian.tar.gz</filename> later." msgstr "<command>dh_make</command> を実行した後、上流の tarball のコピーを、親ディレクトリに <filename>gentoo_0.9.12.orig.tar.gz</filename> として作成します。次に、それに伴ってネイティブではない Debian ソースパッケージを <filename>debian.tar.gz</filename> として作成します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" msgstr "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "Please note 2 key features in this <filename>gentoo_0.9.12.orig.tar.gz</filename> file name:" msgstr "この <filename>gentoo_0.9.12.orig.tar.gz</filename> ファイル名がもっている 2 つの特徴に注意してください:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Package name and version are separated by the <literal>_</literal> (underscore)." msgstr "パッケージ名とバージョンは <literal>_</literal> (アンダースコア) で区切られています。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "There is the <filename>.orig</filename> before the <filename>.tar.gz</filename>." msgstr "<filename>.tar.gz</filename> の前に <filename>.orig</filename> があります。" #. type: Content of: <book><chapter><section><para> msgid "You should also notice that many template files are created in the source under the <filename>debian</filename> directory. These will be explained in <xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/> . You should also understand that the packaging is not automatic process. You need to modify the upstream source for Debian as <xref linkend=\"modify\"/> . After all these, you need to build Debian packages under the proper method as <xref linkend=\"build\"/> , check them as <xref linkend=\"checkit\"/> , and upload them as <xref linkend=\"upload\"/> . I will explain all these steps." msgstr "ソース中の<filename>debian</filename>ディレクトリにたくさんのテンプレートファイルが作成されていることにも注意が必要です。これらについては、<xref linkend=\"dreq\"/> と <xref linkend=\"dother\"/> で説明します。パッケージ作成が自動的な過程ではないことも理解しておかねばなりません。<xref linkend=\"modify\"/> のように、開発元のソースを Debian 向けに変更する必要があります。こういった作業の後で、<xref linkend=\"build\"/> のように正しいやり方で Debian パッケージをビルドし、<xref linkend=\"checkit\"/> のようにチェックし、そして <xref linkend=\"upload\"/> のようにしてアップロードする必要があります。これらすべてのステップについてこれから説明します。" #. type: Content of: <book><chapter><section><para> msgid "Once again, as a new maintainer you are discouraged from creating complicated packages, e.g.," msgstr "繰り返しますが、新規メンテナのあなたには、以下のような複雑なパッケージの作成はお勧めできません。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "multiple binary packages," msgstr "複数バイナリパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "library packages," msgstr "ライブラリパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "kernel module packages," msgstr "カーネルモジュールパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "kernel patch packages," msgstr "カーネルパッチパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the source file format being neither in <filename>tar.gz</filename> nor <filename>tar.bz2</filename>, or" msgstr "ソースファイルの形式が、<filename>tar.gz.</filename> や <filename>tar.bz2</filename> でないもの" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the source tarball containing undistributable contents." msgstr "配布できない内容がソースの tarball にあるもの" #. type: Content of: <book><chapter><section><para> msgid "It's not too hard, but it does require a bit more knowledge, so we won't describe all of it here." msgstr "実際には作業自体はそれほど大変ではないのですが、多少知識が余分に必要になります。そのため、ここではその作業について 一切説明しません。" #. type: Content of: <book><chapter><section><para> msgid "If you accidentally erased some template files while working on them, you can recover them by running <command>dh_make</command> with the <literal>--addmissing</literal> option again in a Debian package source tree." msgstr "作業中にテンプレートファイルを間違って消した場合は、Debian パッケージのソースツリーで <command>dh_make</command> を <literal>--addmissing</literal> オプションつきで再度実行することで修復できます。" #. type: Content of: <book><chapter><section><para> msgid "Updating an existing package may get complicated since it may be using older techniques. Please stick with fresh packaging cases for now to learn basics. I will come back to explain it later in <xref linkend=\"update\"/> ." msgstr "既存のパッケージの更新は、古いテクニックが使われていたりして、やっかいな場合があります。基本を学習するために、今のところは新規パッケージの作成を続けてください。後ほど、<xref linkend=\"update\"/> で取り上げて説明します。" #. type: Content of: <book><chapter><title> msgid "Modifying the source" msgstr "ソースコードの変更" #. type: Content of: <book><chapter><para> msgid "Please note that there isn't space here to go into <emphasis>all</emphasis> the details of fixing upstream sources, but here are some basic steps and problems people often run across." msgstr "開発元のソースを修正する具体的なやり方について、<emphasis>何から何まで</emphasis>説明するにはとても紙面が足りませんが、よくあるパターンとしては大体以下のようなものでしょう。" #. type: Content of: <book><chapter><section><title> msgid "Set up <command>quilt</command>" msgstr "<command>quilt</command> のセットアップ" #. type: Content of: <book><chapter><section><para> msgid "The <command>quilt</command> program offers the basic method to record modification to the source for the Debian packaging. Since slightly different default is desirable, let's create an alias <command>dquilt</command> for Debian packaging by adding the following line to <filename>~/.bashrc</filename>." msgstr "<command>quilt</command> プログラムはソースに対する Debian パッケージ向けの修正を記録する、基本的な方法です。Debian パッケージで使うには、多少デフォルトと違うのが望ましいので、以下の行を <filename>~/.bashrc</filename> に追加し Debian パッケージ作成用のエリアス <command>dquilt</command> を作りましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "alias dquilt=quilt --quiltrc=~/.quiltrc-dpkg\n" msgstr "alias dquilt=quilt --quiltrc=~/.quiltrc-dpkg\n" #. type: Content of: <book><chapter><section><para> msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows." msgstr "<filename>~/.quiltrc-dpkg</filename> ファイルを次のように作成しましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # Debian packaging case and unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" msgstr "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # Debian packaging case and unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" #. type: Content of: <book><chapter><section><para> msgid "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> and <ulink url=\"&quilt-pdf;\">quilt.pdf</ulink> for how to use <command>quilt</command>." msgstr "<command>quilt</command> の使い方については、<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> と <ulink url=\"&quilt-pdf;\">quilt.pdf</ulink> を参照してください。" #. type: Content of: <book><chapter><section><title> msgid "Fixing upstream bug" msgstr "開発元のバグを修正する" #. type: Content of: <book><chapter><section><para> msgid "Let's assume you find an error in the upstream <filename>Makefile</filename> file as follows where <literal>install: gentoo</literal> should have been <literal>install: gentoo-target</literal>." msgstr "開発元の <filename>Makefile</filename> にエラーを見つけて、<literal>install: gentoo</literal> の部分が <literal>install: gentoo-target</literal> となっているべきだったとします。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "The <filename>debian/patches</filename> directory should exist now if you run <command>dh_make</command> as described before. This example operation creates it just in case you are updating the existing package." msgstr "前に説明したように <command>dh_make</command> を実行していれば、<filename>debian/patches</filename>ディレクトリはもう存在しているはずです。この操作例では、既存のパッケージを更新している場合に合わせて作成しています。" #. type: Content of: <book><chapter><section><para> msgid "Let's fix this and record this with the <command>dquilt</command> command as <filename>fix-gentoo-target.patch</filename>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "これを修正して、<command>dquilt</command> コマンドを使って <filename>fix-gentoo-target.patch</filename> として登録しましょう。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "You change the <filename>Makefile</filename> file as follows." msgstr "<filename>Makefile</filename> ファイルを次のように変更します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "Ask <command>dquilt</command> to refresh the patch to create <filename>debian/patches/fix-gentoo-target.patch</filename> and add its description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</ulink>." msgstr "パッチを更新して <filename>debian/patches/fix-gentoo-target.patch</filename> を作成するように <command>dquilt</command> に要求し、それから説明を <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</ulink> に準拠して追記します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... パッチの詳細\n" #. type: Content of: <book><chapter><section><title> msgid "Installation of files to the destination" msgstr "指定した場所へファイルをインストールする" #. type: Content of: <book><chapter><section><para> msgid "Normally, programs install themselves in the <filename>/usr/local</filename> subdirectory. Since it is reserved for system administrator's (or user's) private use, Debian packages must not use that directory but should use system directories such as the <filename>/usr/bin</filename> subdirectory following the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)." msgstr "通常、プログラムは自分自身を <filename>/usr/local</filename> サブディレクトリにインストールします。システム管理者 (もしくはユーザ) の個人用に予約されているため、Debian パッケージではそのディレクトリを使わず、<ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS) に従って <filename>/usr/bin/</filename> サブディレクトリのようなシステムディレクトリを使わなくてはなりません。" #. type: Content of: <book><chapter><section><para> msgid "Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> is used to automate building the program and the execution of <literal>make install</literal> installs programs directly to the desired destination by the <literal>install</literal> target of the <filename>Makefile</filename> file. In order for Debian to provide binary packages, the build system installs programs to the file tree image created under a temporary directory instead to the actual destination." msgstr "プログラムのビルドを自動化するには、通常 <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> が使われており、<literal>make install</literal> を実行すると、<filename>Makefile</filename> の<literal>install</literal> ターゲットによって希望する場所へ直接インストールされます。Debian でバイナリパッケージを提供するために、ビルドシステムは実際のインストール先のかわりに、一時ディレクトリの下に作成されたファイルツリーのイメージへプログラムをインストールします。" #. type: Content of: <book><chapter><section><para> msgid "These 2 differences between (1) the normal program installation and (2) the Debian packaging can be transparently addressed by the <systemitem role=\"package\">debhelper</systemitem> package through the <command>dh_auto_configure</command> and <command>dh_auto_install</command> commands if the following conditions are met." msgstr "(1) 普通のプログラムインストールと、(2) Debian パッケージ作成のこれら二つの違いは、次の条件を満たす場合には、<systemitem role=\"package\">debhelper</systemitem> パッケージが <command>dh_auto_configure</command> と <command>dh_auto_install</command> のコマンドを使ってあまり意識せずに対応することができます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: Support for Staged Installs</ulink>." msgstr "<ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: Support for Staged Installs</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The <filename>Makefile</filename> file follows the GNU conventions to support <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<filename>Makefile</filename> ファイルが GNU の慣例に準拠して <literal>$(DESTDIR)</literal> 変数をサポートしていること。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The source follows the Filesystem Hierarchy Standard (FHS)." msgstr "そのソースが Filesystem Hierarchy Standard (FHS) に準拠していること。" #. type: Content of: <book><chapter><section><para> msgid "Programs that use GNU <command>autoconf</command> <emphasis>automatically</emphasis> follow the GNU conventions and their packaging is almost <emphasis>automatic</emphasis>. With this and other heuristics, the <systemitem role=\"package\">debhelper</systemitem> package estimates that it works for about 90% of packages without making any intrusive changes to their build system. So the packaging is not as complicated as it may seem." msgstr "GNU <command>autoconf</command> を使っているプログラムは、<emphasis>自動的に</emphasis> GNU 規約に準拠するので、そのパッケージ作成はほとんど <emphasis>自動化</emphasis>されます。こうしたことや他の経験からすると、<systemitem role=\"package\">debhelperl</systemitem> パッケージはビルドシステムに煩わしい変更を加えることなく、約 90% のパッケージで使えると推定されます。そのため、パッケージ作成は見かけほど複雑ではありません。" #. type: Content of: <book><chapter><section><para> msgid "If you need to make changes in the <filename>Makefile</filename> file, you should make sure to support these <literal>$(DESTDIR)</literal> variable. The <literal>$(DESTDIR)</literal> variable is unset in it and is prepended to each file path used for the program installation. The packaging script will set <literal>$(DESTDIR)</literal> to the temporary directory." msgstr "もし <filename>Makefile</filename> ファイルを変更する必要があるなら、これら <literal>$(DESTDIR)</literal> 変数をサポートするようにしましょう。Makefile では <literal>$(DESTDIR)</literal> 変数は設定されておらず、プログラムのインストールに使われる各ファイルパスの前に付与されます。パッケージ作成スクリプトが <literal>$(DESTDIR)</literal> を一時ディレクトリにセットします。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "For multiple binary packages, the <command>dh_auto_install</command> command uses <filename>debian/tmp</filename> as the temporary directory while the <command>dh_install</command> command with the help of <filename>debian/<replaceable>package-1</replaceable>.install</filename> and <filename>debian/<replaceable>package-2</replaceable>.install</filename> files will split contents of <filename>debian/tmp</filename> into <filename>debian/<replaceable>package-1</replaceable></filename> and <filename>debian/<replaceable>package-2</replaceable></filename> temporary directories to create multiple binary <filename>*.deb</filename> packages." msgstr "複数バイナリパッケージでは、<command>dh_auto_install</command> コマンドは<filename>debian/tmp</filename> を一時ディレクトリとして使いますが、<command>dh_install</command> コマンドは <filename>debian/<replaceable>package-1</replaceable>.install</filename> や <filename>debian/<replaceable>package-2</replaceable>.install</filename> ファイルによって、<filename>debian/tmp</filename> の中身を <filename>debian/<replaceable>package-1</replaceable></filename> や <filename>debian/<replaceable>package-2</replaceable></filename> 一時ディレクトリに分配することで複数バイナリ <filename>*.deb</filename> パッケージを作成します。" #. type: Content of: <book><chapter><section><para> msgid "The temporary directory used by the <command>dh_auto_install</command> command is chosen as <filename>debian/<replaceable>package</replaceable></filename> for single binary packages. <placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in the temporary directory will be installed on a user's system when they install your package, the only difference is that <command>dpkg</command> will be installing the files in the root directory." msgstr "<command>dh_auto_install</command> コマンドが使う一時ディレクトリは、単一バイナリパッケージでは <filename>debian/<replaceable>package</replaceable></filename> のように指定されます。<placeholder type=\"footnote\" id=\"0\"/>一時ディレクトリに含まれているものはすべて、ユーザがあなたのパッケージをインストールする時に、そのシステムにインストールされます。唯一の違いは、<command>dpkg</command> はファイルをルートディレクトリにインストールするということです。" #. type: Content of: <book><chapter><section><para> msgid "Bear in mind that even though your program installs in <filename>debian/<replaceable>package</replaceable></filename>, it still needs to behave correctly when placed in the root directory, i.e. when installed from the <filename>.deb</filename> package. So you must not allow the build system to hardcode strings like <literal>/home/me/deb/<replaceable>package</replaceable>-<replaceable>version</replaceable>/usr/share/<replaceable>package</replaceable></literal> into the package file." msgstr "パッケージの作成においては、プログラムは <filename>debian/<replaceable>package</replaceable></filename> にインストールされますが、例えば <filename>.deb</filename> パッケージからインストールされた時など、ルートディレクトリ以下に展開された場合も正しく動作できるようにしなければならない、ということを覚えておいてください。このため、ビルドシステムが <literal>/home/me/deb/<replaceable>package</replaceable>-<replaceable>version</replaceable>/usr/share/<replaceable>package</replaceable></literal> といった特定のパスを示す文字列をパッケージファイルの中に記録しないようにしなければなりません。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This is just an example to show how the <filename>Makefile</filename> file should look like. If the <filename>Makefile</filename> file is created by the <command>./configure</command> command, the correct way to fix this kind of <filename>Makefile</filename> is to executed the <command>./configure</command> command from the <command>dh_auto_configure</command> command with default options including <literal>--prefix=/usr</literal>." msgstr "これは <filename>Makefile</filename> ファイルがこうなっているべきである、ということを示すための例にすぎません。<filename>Makefile</filename> ファイルが <command>./configure</command> コマンドで作成されているなら、この手の <filename>Makefile</filename> を修正する正しい方法は、<command>dh_auto_configure</command> コマンドに <literal>--prefix=/usr</literal> を含むデフォルトのオプションを与えて、<command>./configure</command> コマンドを実行させることです。" #. type: Content of: <book><chapter><section><para> msgid "Here's the relevant part of <systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</filename> file <placeholder type=\"footnote\" id=\"0\"/>:" msgstr "<systemitem role=\"package\">gentoo</systemitem> の <filename>Makefile</filename> で該当する部分はこれです<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put binary on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" msgstr "" "# Where to put binary on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "We see that the files are set to install under <filename>/usr/local</filename>. Change those paths to:" msgstr "ファイルが <filename>/usr/local</filename> 以下にインストールされるようになっていることがわかります。 このパスを以下のように変更してください:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put binary on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgstr "" "# Where to put binary on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "But why in that directory, and not some other? Because Debian packages never install files beneath <filename>/usr/local</filename> -- that tree is reserved for the system administrator's use. Such files on Debian systems go under <filename>/usr</filename> instead." msgstr "しかしなぜこのディレクトリなんでしょう。他の所じゃだめでしょうか? だめです。なぜなら Debian パッケージの場合、<filename>/usr/local</filename> 以下へファイルをインストールすることは絶対に無いと決まっているからです。このディレクトリ以下は個別のシステムの管理者が使うために予約されています。 Debian システム上でパッケージからインストールされるファイルは その代わりに <filename>/usr</filename> へインストールされます。" #. type: Content of: <book><chapter><section><para> msgid "The more exact locations for binaries, icons, documentation etc. are specified in the Filesystem Hierarchy Standard (FHS). I recommend you browse it and read the sections that might concern your package." msgstr "バイナリ、アイコン、文書など、それぞれのファイルを保存すべきもっと正確な場所については、Filesystem Hierarchy Standard (FHS) 中に規定されています。ざっと目を通して、あなたのパッケージに関係しそうな箇所を、きちんと読んでおくことをお勧めします。" #. type: Content of: <book><chapter><section><para> msgid "So, we should install the binary in <filename>/usr/bin</filename> instead of <filename>/usr/local/bin</filename>, the manual page in <filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/man1</filename> etc. Notice how there's no manual page mentioned in <systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</filename>, but since the Debian Policy requires that every program has one, we'll make one later and install it in <filename>/usr/share/man/man1</filename>." msgstr "そういうわけで、バイナリは <filename>/usr/local/bin</filename> ではなく <filename>/usr/bin</filename> へインストールしなければなりませんし、マニュアルページは <filename>/usr/local/man/man1</filename> の代わりに <filename>/usr/share/man/man1</filename> へインストールする必要があります。ここで <systemitem role=\"package\">gentoo</systemitem> の <filename>Makefile</filename> には、マニュアルページに関する記述がまったく無いことに注意してください。Debian ポリシーでは、すべてのプログラムがそれぞれマニュアルを用意しなければならないと定めていますから、後で gentoo のマニュアルを作成して、それを <filename>/usr/share/man/man1</filename> 以下へインストールすることにします。" #. type: Content of: <book><chapter><section><para> msgid "Some programs don't use <filename>Makefile</filename> variables to define paths such as these. This means you might have to edit some real C sources in order to fix them to use the right locations. But where to search, and exactly what for? You can find this out by issuing:" msgstr "プログラムの中には、このようなパスを定義するための <filename>Makefile</filename> 変数を使っていないものもあります。このような場合、C のソースそのものをいじって、指定された場所を使うように修正しなければなりません。でもどこを探し、何を確認すればよいのでしょうか? 以下のコマンドを実行すれば該当箇所を見つけることができます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ grep -nr -e 'usr/local/lib' --include='*.[c|h]' .\n" msgstr "$ grep -nr -e 'usr/local/lib' --include='*.[c|h]' .\n" #. type: Content of: <book><chapter><section><para> msgid "<command>grep</command> will run recursively through the source tree and tell you the filename and the line number for all matches." msgstr "<command>grep</command> がソースツリーを再帰的に検索し、該当箇所を見つけたらそのファイルの名前と検索対象の文字列が含まれる行番号とを表示します。" #. type: Content of: <book><chapter><section><para> msgid "Edit those files and in those lines replace <literal>usr/local/lib</literal> with <literal>usr/lib</literal>. This can be done automatically as follows:" msgstr "それらのファイルを編集し、該当行の <literal>usr/local/lib</literal> を <literal>usr/lib</literal> に置き換えてください。これは以下の様にすると自動可出来ます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "Be careful that you don't mess up the rest of the code! :-)" msgstr "他のコードを汚さないよう、注意してくださいね! :-)" #. type: Content of: <book><chapter><section><para> msgid "After that you should find the install target (search for line that starts with <literal>install:</literal>, that will usually work) and rename all references to directories other than ones defined at the top of the <filename>Makefile</filename>." msgstr "修正が終ったら、インストールターゲットを探しましょう(「<literal>install:</literal>」 で始まる行を探してください。この方法でたいていうまくいきます)。<filename>Makefile</filename> の先頭で直接定義されているものを除いて、ディレクトリへの参照をすべて変更してください。" #. type: Content of: <book><chapter><section><para> msgid "Before your upstream bug fix, <systemitem role=\"package\">gentoo</systemitem>'s install target said:" msgstr "開発元のバグ修正をする前には、<systemitem role=\"package\">gentoo</systemitem> の install ターゲットはこうなっています:" #. type: Content of: <book><chapter><section><para> msgid "Let's fix this and record this with the <command>dquilt</command> command as <filename>debian/patches/install.patch</filename>." msgstr "<command>dquilt</command> コマンドを使って、<filename>debian/patches/install.patch</filename> としてこれを修正して記録しましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "Let's change this for Debian package as following using the editor:" msgstr "Debian パッケージ用に、これをエディタで次のように変更します:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" msgstr "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "You've surely noticed that there's now a <literal>install -d</literal> command before the other commands in the rule. The original <filename>Makefile</filename> didn't have it because usually the <literal>/usr/local/bin</literal> and other directories already exist on the system where one runs <literal>make install</literal>. However, since we will install into our own empty (or even nonexistent) directory, we will have to create each and every one of those directories." msgstr "お気づきになったでしょうが、変更後はこのルールの他のコマンドより前に 「<literal>install -d</literal>」 コマンドが追加されています。普通 「<literal>make install</literal>」 を実行するようなシステムなら <literal>/usr/local/bin</literal> や その他のディレクトリは既に存在しているでしょうから、 もともとの <filename>Makefile</filename> ではこのコマンドは使われていませんでした。しかし、私たちは独自に空っぽの(あるいはまだ存在さえしていない)ディレクトリにインストールするわけですから、これらの各ディレクトリを毎回作成する必要があります。" #. type: Content of: <book><chapter><section><para> msgid "We can also add in other things at the end of the rule, like the installation of additional documentation that the upstream authors sometimes omit:" msgstr "ルールの最後には、開発元の作者が省略することの多い付加的な資料のインストールなど、他の作業を追加することもできます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" msgstr "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" #. type: Content of: <book><chapter><section><para> msgid "After careful check, if everything is fine, ask <command>dquilt</command> to refresh the patch to create <filename>debian/patches/install.patch</filename> and add its description." msgstr "しっかりチェックをして、何も問題がないようであれば、<command>dquilt</command> でパッチを更新して <filename>debian/patches/install.patch</filename> を作成し、パッチの説明を追記してください。" #. type: Content of: <book><chapter><section><para> msgid "Now you have a series of patches." msgstr "これで、一連のパッチができました。" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>" msgstr "上流のバグ修正: <filename>debian/patches/fix-gentoo-target.patch</filename>" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "Debian specific packaging modification: <filename>debian/patches/install.patch</filename>" msgstr "Debian 固有のパッケージ上の変更: <filename>debian/patches/install.patch</filename>" #. type: Content of: <book><chapter><section><para> msgid "Whenever you make changes that are not specifically related to Debian package such as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to send them to the upstream maintainer so they can be included in the next program revision and be useful to everyone else. Also remember to make your fixes not specific to Debian or Linux (or even Unix!) prior to sending them -- make them portable. This will make your fixes much easier to apply." msgstr "<filename>debian/patches/fix-gentoo-target.patch</filename> のような、特に Debian パッケージだけに限定されない変更を行った場合、その内容を開発元のメンテナに報告するようにしてください。そうすれば、プログラムの次版に反映してもらうことができ、他のすべての利用者にとっても有益な結果をもたらすことになります。また、あなたの修正を送る前に、Debian や Linux (あるいは Unix でさえも!) に特化した修正にせず、移植性をもたせることも忘れないでください。そうすれば、あなたの変更はずっと採用されやすくなります。" #. type: Content of: <book><chapter><section><para> msgid "Note that you don't have to send the <filename>debian/*</filename> files upstream." msgstr "開発元の作者へ <filename>debian/*</filename> ファイルを送らなくてもよいことに注意してください。" #. type: Content of: <book><chapter><section><title> msgid "Differing libraries" msgstr "ライブラリの差異" #. type: Content of: <book><chapter><section><para> msgid "There is one other common problem: libraries are often different from platform to platform. For example, a <filename>Makefile</filename> can contain a reference to a library which doesn't exist on Debian systems. In that case, we need to change it to a library which does exist in Debian, and serves the same purpose." msgstr "よくある問題がもう一つあります: ライブラリはしばしばプラットフォームごとに異なります。例えば、<filename>Makefile</filename> は Debian システム上に存在しないライブラリへの参照を含んでいるかもしれません。その場合には、Debian 上に存在する互換ライブラリを指すように変更し、同じ用を足すようにしてやらなければなりません。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "The author realizes that this is not the best example considering our <systemitem role=\"package\">libncurses</systemitem> package now ships with a <filename>libcurses.so</filename> symlink, but he couldn't think of a better one. Suggestions very welcome :-)" msgstr "<systemitem role=\"package\">libncurses</systemitem> パッケージが <filename>libcurses.so</filename> シンボリックリンクを持っていることを考えると、これが最適な例ではないと著者は思うのですが、よりよい例を思いつきません。提案をもらえるとありがたいです :-)" #. type: Content of: <book><chapter><section><para> msgid "So, if there is a line in your program's <filename>Makefile</filename> (or <filename>Makefile.in</filename>) that says something like this (and your program doesn't compile) <placeholder type=\"footnote\" id=\"0\"/>:" msgstr "そのため、プログラムの <filename>Makefile</filename> (もしくは <filename>Makefile.in</filename>) にこのような感じになっている行があった (そしてプログラムがコンパイルできない) 場合 <placeholder type=\"footnote\" id=\"0\"/> は:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "LIBS = -lcurses -lsomething -lsomethingelse\n" msgstr "LIBS = -lcurses -lなんとか -lかんとか\n" #. type: Content of: <book><chapter><section><para> msgid "Let's fix this as <filename>debian/patches/ncurse.patch</filename> by changing <literal>curses</literal> into <literal>ncurses</literal>." msgstr "これを <filename>debian/patches/ncurse.patch</filename> として修正し、<literal>curses</literal> を <literal>ncurses</literal> に変更しましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new ncurse.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e s/-lcurses/-lncurses/g Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt new ncurse.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e s/-lcurses/-lncurses/g Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" #. type: Content of: <book><chapter><title> msgid "Required files under the <filename>debian</filename> directory" msgstr "<filename>debian/</filename> ディレクトリ以下に無くてはならないファイル" #. type: Content of: <book><chapter><para> msgid "There is a new subdirectory under the program's source directory, it's called <filename>debian</filename>. There are a number of files in this directory that we should edit in order to customize the behavior of the package. The most important of them are <filename>control</filename>, <filename>changelog</filename>, <filename>copyright</filename> and <filename>rules</filename>, which are required for all packages." msgstr "プログラムのソースディレクトリの中に <filename>debian</filename>という名前の新しいディレクトリがつくられています。このディレクトリ内には多くのファイルがあり、パッケージの振る舞いをカスタマイズするには、これらを編集します。特に、 <filename>control</filename>、 <filename>changelog</filename>、 <filename>copyright</filename> 、 <filename>rules</filename>はすべてのパッケージになくてはならないファイルです。" #. type: Content of: <book><chapter><section><title> msgid "<filename>control</filename> file" msgstr "<filename>control</filename>ファイル" #. type: Content of: <book><chapter><section><para> msgid "This file contains various values which <command>dpkg</command>, <command>dselect</command>, <command>apt-get</command>, <command>apt-cache</command>, <command>aptitude</command>, and other package management tools will use to manage the package. It is defined by the <ulink url=\"&policy-control;\">Debian Policy Manual, 5 'Control files and their fields'</ulink>." msgstr "<command>dpkg</command>、<command>dselect</command>、 <command>apt-get</command>、 <command>apt-cache</command>、 <command>aptitude</command>などのパッケージ管理のためのツールが利用する情報は、このファイルに記載されています。詳細は、<ulink url=\"&policy-control;\">Debian Policy Manual, 5 'Control files and their fields'</ulink>に定義されています。" #. type: Content of: <book><chapter><section><para> msgid "Here is the <filename>control</filename> file <command>dh_make</command> created for us:" msgstr "以下は、<command>dh_make</command> が生成した <filename>control</filename> ファイルの雛型です。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>= 7.0.50~)\n" " 6 Standards-Version: 3.8.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>= 7.0.50~)\n" " 6 Standards-Version: 3.8.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" #. type: Content of: <book><chapter><section><para> msgid "(I've added the line numbers.)" msgstr "(行番号は筆者による)" #. type: Content of: <book><chapter><section><para> msgid "Lines 1-7 are the control information for the source package. Lines 9-13 are the control information for the binary package." msgstr "1-7 行目は、ソースパッケージの管理情報です。9-13 行目は、バイナリーパッケージの管理情報です。" #. type: Content of: <book><chapter><section><para> msgid "Line 1 is the name of the source package." msgstr "1 行目は、ソースパッケージ名です。" #. type: Content of: <book><chapter><section><para> msgid "Line 2 is the section of the distribution the source package goes into." msgstr "2 行目は、パッケージが所属するディストリビューション内のセクションです。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 'Sections'</ulink> and <ulink url=\"§ions-unstable;\">List of sections in 'sid'</ulink>." msgstr "<ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 'Sections'</ulink> と <ulink url=\"§ions-unstable;\">List of sections in 'sid'</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "As you may have noticed, Debian archive is divided in sections: <literal>main</literal> (the free software), <literal>non-free</literal> (the not really free software) and <literal>contrib</literal> (free software that depends on non-free software). Under those, there are logical subsections that describe in short what packages are in. So we have <literal>admin</literal> for administrator-only programs, <literal>base</literal> for the basic tools, <literal>devel</literal> for programmer tools, <literal>doc</literal> for documentation, <literal>libs</literal> for libraries, <literal>mail</literal> for e-mail readers and daemons, <literal>net</literal> for network apps and daemons, <literal>x11</literal> for X11 programs that don't fit anywhere else, and many more. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "ご存知のように、Debianアーカイブは<literal>main</literal> (完全にフリーなソフトウェア)、<literal>non-free</literal> (実質フリーであるとはいえないソフトウェア)、<literal>contrib</literal> (自身はフリーだがnon-freeに依存するソフトウェア)にわかれています。さらにその下で、論理的なサブセクションに分類されています。例えば、管理者専用のプログラムは<literal>admin</literal> 、基本的なツールは<literal>base</literal>、プログラマのためのツールは<literal>devel</literal> 、文書作成関連は<literal>doc</literal>、ライブラリ群は<literal>libs</literal>、メールリーダやメールサーバに必要なデーモンなどは<literal>mail</literal>、ネットワーク関連のアプリケーションやデーモンは<literal>net</literal>、分類ができないX11用のプログラムは<literal>x11</literal>に分類され、他にも様々なサブセクションがあります。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "Let's change it then to x11. (A <literal>main/</literal> prefix is implied so we can omit it.)" msgstr "ここではx11に変更してみましょう。(省略時は<literal>main/</literal>がデフォルトとして設定されます)" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>." msgstr "<ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "Line 3 describes how important it is that the user installs this package. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "3行目は、ユーザーが当パッケージをインストールする重要度を示しています。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The <literal>optional</literal> priority will usually work for new packages that do not conflict with others with <literal>required</literal>, <literal>important</literal> or <literal>standard</literal> priorities." msgstr "<literal>required</literal>、 <literal>important</literal>、<literal>standard</literal>のパッケージと競合しない新規のパッケージの場合は、<literal>optional</literal>で問題ないでしょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The <literal>extra</literal> priority will usually work for new packages that conflict with others with non-<literal>extra</literal> priorities." msgstr "<literal>extra</literal>以外のパッケージと競合する可能性のある、新規パッケージの場合は、<literal>extra</literal>とすると大抵うまくいきます。" #. type: Content of: <book><chapter><section><para> msgid "Section and priority are used by the frontends like <command>aptitude</command> when they sort packages and select defaults. Once you upload the package to Debian, the value of these two fields can be overridden by the archive maintainers, in which case you will be notified by email." msgstr "セクション(Section)と優先度(Priority)は<command>aptitude</command>のようなフロントエンドがパッケージをソートする際と、デフォルトを選択する際に利用されます。Debianにアップロードしたパッケージのこれらの値は、アーカイブメンテナによって上書きされることがありますが、その場合は電子メールによって通知されます。" #. type: Content of: <book><chapter><section><para> msgid "As this is a normal priority package and doesn't conflict with anything else, we will change the priority to <literal>optional</literal>." msgstr "このパッケージは通常の優先度で、競合もないので、 <literal>optional</literal>にしましょう。" #. type: Content of: <book><chapter><section><para> msgid "Line 4 is the name and email address of the maintainer. Make sure that this field includes a valid <literal>To</literal> header for an email, because after you upload it, the bug tracking system will use it to deliver bug emails to you. Avoid using commas, ampersands and parenthesis." msgstr "4行目は、メンテナの名前と電子メールアドレスです。バグ追跡システムは、このフィールドに記載された宛先へユーザーからのバグ報告を送信するので、このフィールドは有効な電子メールの <literal>To</literal> ヘッダーを含むようにしましょう。コンマ ,、アンド記号 &、括弧 ()は使用しないでください。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy Manual, 7.7 'Relationships between source and binary packages - Build-Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep'</ulink>." msgstr "<ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy Manual, 7.7 'Relationships between source and binary packages - Build-Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep'</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "The 5th line includes the list of packages required to build your package as the <literal>Build-Depends</literal> field. You can also have the <literal>Build-Depends-Indep</literal> field as an additional line, here. <placeholder type=\"footnote\" id=\"0\"/> Some packages like <systemitem role=\"package\">gcc</systemitem> and <systemitem role=\"package\">make</systemitem> which are required by the <systemitem role=\"package\">build-essential</systemitem> package are implied. If you need to have other tools to build your package, you should add them to these fields. Multiple entries are separated with commas; read on for the explanation of binary dependencies to find out more about the syntax of these lines." msgstr "5行目の<literal>Build-Depends</literal>フィールドは、新規パッケージのビルドに必要なパッケージのリストです。必要であればここに、<literal>Build-Depends-Indep</literal>フィールドを追加できます。<placeholder type=\"footnote\" id=\"0\"/> <systemitem role=\"package\">gcc</systemitem>や<systemitem role=\"package\">make</systemitem>のような<systemitem role=\"package\">build-essential</systemitem>に含まれるパッケージは明示無くとも含まれています。他のツールが必要な場合は、このフィールドに追加しましょう。複数記載する場合は、コンマで区切ります。このフィールドの書式については、後述のバイナリ依存関係でこれらの行のシンタクスに関してもう少し詳しく説明します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "For all packages packaged with the <command>dh</command> command in the <filename>debian/rules</filename> file, you must have <literal>debhelper (>=7.0.50~)</literal> in the <literal>Build-Depends</literal> field to satisfy the Debian Policy requirement for the <literal>clean</literal> target." msgstr "<filename>debian/rules</filename>を使用し、<command>dh</command>コマンドでパッケージングされたパッケージは、<literal>clean</literal>ターゲットに関するDebian ポリシーを満たすために、<literal>Build-Depends</literal>フィールドに<literal>debhelper (>=7.0.50~)</literal> を記載しなければなりません。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "For source packages which have some binary packages with <literal>Architecture: any</literal>, they are rebuild by the autobuilder. Since this autobuilder procedure runs <literal>debian/rules build</literal> in it while installing only packages listed in the <literal>Build-Depends</literal> field (see <xref linkend=\"autobuilder\"/> ), the <literal>Build-Depends</literal> field needs to list practically all the required packages and the <literal>Build-Depends-indep</literal> is rarely used." msgstr "<literal>Architecture: any</literal>のバイナリパッケージを含むソースパッケージはオートビルダーによってリビルトされます。autobuilderは<literal>debian/rules build</literal>を実行します。その際に、<literal>Build-Depends</literal>フィールド (<xref linkend=\"autobuilder\"/> を参照)に列挙されたパッケージしかインストールしないので、<literal>Build-Depends</literal>フィールドには事実上必要なパッケージ全てを列挙しなければなりません。 <literal>Build-Depends-indep</literal>はあまり使われません。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "For source packages which have binary packages only with <literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</literal> field may list all the required packages unless they are already listed in the <literal>Build-Depends</literal> field to satisfy the Debian Policy requirement for the <literal>clean</literal> target." msgstr "<literal>Architecture: all</literal>のバイナリパッケージのみのソースパッケージは、<literal>clean</literal>ターゲットに関するDebianポリシーを満たすために、<literal>Build-Depends</literal>フィールドに記載されていない要求パッケージを<literal>Build-Depends-Indep</literal>フィールドに記載することもできます。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This somewhat strange situation is a feature well documented in the <ulink url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 48</ulink>. This is not due to the use of the <command>dh</command> command in the <filename>debian/rules</filename> file but due to how the <command>dpkg-buildpackage</command> works. The same situation applies to the <ulink url=\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build system for Ubuntu</ulink>." msgstr "この、少し変わった状況は<ulink url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 48</ulink>で詳しく説明されている機能です。これは、 <filename>debian/rules</filename>ファイル内の<command>dh</command>コマンドではなく、<command>dpkg-buildpackage</command>に起因します。同様の状況は<ulink url=\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build system for Ubuntu</ulink>にも当てはまります。" #. type: Content of: <book><chapter><section><para> msgid "If you are not sure which one should be used, use the <literal>Build-Depends</literal> field to be on the safe side. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "どちらのフィールドを使えうべきかわからなければ、<literal>Build-Depends</literal>にしておきましょう。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "To find out what packages your package needs to be built run the command:" msgstr "以下のコマンドを使えば、新規のパッケージをビルドするためにどのパッケージが必要かを調べることができます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-depcheck -d ./configure\n" msgstr "$ dpkg-depcheck -d ./configure\n" #. type: Content of: <book><chapter><section><para> msgid "To manually find exact build dependency for <command><replaceable>/usr/bin/foo</replaceable></command>, you execute" msgstr "<command><replaceable>/usr/bin/foo</replaceable></command>の依存パッケージを手動でみつけるには、" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" msgstr "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" #. type: Content of: <book><chapter><section><para> msgid "and for each library listed, e.g., <command>libfoo.so.6</command>, execute" msgstr "を実行し、表示された各ライブラリ(例えば<command>libfoo.so.6</command>の場合)について、" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg -S libfoo.so.6\n" msgstr "$ dpkg -S libfoo.so.6\n" #. type: Content of: <book><chapter><section><para> msgid "Then you just take <literal>-dev</literal> version of every package as <literal>Build-Depends</literal> entry. If you use <command>ldd</command> for this purpose, it will report indirect lib dependencies as well, resulting in the problem of excessive build dependencies." msgstr "とします。<literal>Build-Depends</literal>に、各ライブラリの<literal>-dev</literal>バージョンを採用します。<command>ldd</command>を使用して依存パッケージを見つけようとすると、間接的な依存も報告してきます。そのため、過度のビルド依存になってしまいます。" #. type: Content of: <book><chapter><section><para> msgid "<systemitem role=\"package\">gentoo</systemitem> also happens to require <systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=\"package\">libgtk1.2-dev</systemitem> and <systemitem role=\"package\">libglib1.2-dev</systemitem> to build, so we'll add them here next to <systemitem role=\"package\">debhelper</systemitem>." msgstr "<systemitem role=\"package\">gentoo</systemitem>パッケージをビルドするには<systemitem role=\"package\">xlibs-dev</systemitem>、<systemitem role=\"package\">libgtk1.2-dev</systemitem>、 <systemitem role=\"package\">libglib1.2-dev</systemitem>が必要なので、<systemitem role=\"package\">debhelper</systemitem>の後に記述しましょう。" #. type: Content of: <book><chapter><section><para> msgid "Line 6 is the version of the <ulink url=\"&debian-policy;\">Debian Policy Manual</ulink> standards this package follows, the one you read while making your package." msgstr "6行目は、パッケージが準拠する<ulink url=\"&debian-policy;\">Debian Policy Manual</ulink> のバージョンです。これは、あなたがパッケージ作成の際に参照したポリシーマニュアルのバージョンです。" #. type: Content of: <book><chapter><section><para> msgid "On line 7 you can put the URL of the homepage for the upstream program." msgstr "7行目には上流プログラムのホームページアドレスを記載できます。" #. type: Content of: <book><chapter><section><para> msgid "Line 9 is the name of the binary package. This is usually the same as the name of the source package, but it doesn't necessarily have to be that way." msgstr "9行目はバイナリパッケージの名前です。ソースパッケージと同名にするのが通例ですが、そうでなくてもかまいません。" #. type: Content of: <book><chapter><section><para> msgid "Line 10 describes the CPU architecture the binary package can be compiled for. We'll leave this as <literal>any</literal> because <citerefentry> <refentrytitle>dpkg-gencontrol</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> will fill in the appropriate value for any machine this package gets compiled on." msgstr "10行目はバイナリパッケージをコンパイル可能なCPUアーキテクチャです。ここを<literal>any</literal>のままにしておくと、<citerefentry> <refentrytitle>dpkg-gencontrol</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>がパッケージをコンパイルしたマシンに合わせて適当に埋めてくれます。" #. type: Content of: <book><chapter><section><para> msgid "If your package is architecture independent (for example, a shell or Perl script, or a document), change this to <literal>all</literal>, and read later in <xref linkend=\"rules\"/> about using the <literal>binary-indep</literal> rule instead of <literal>binary-arch</literal> for building the package." msgstr "特定のアーキテクチャに依存しない(例えば、シェルやPerlスクリプト、文書)パッケージであれば、パッケージをビルドする際に、これを <literal>all</literal> に変更し、<literal>binary-arch</literal> に代え <literal>binary-indep</literal> を使って後述の <xref linkend=\"rules\"/> を読んでください。" #. type: Content of: <book><chapter><section><para> msgid "Line 11 shows one of the most powerful features of the Debian packaging system. Packages can relate to each other in various ways. Apart from <literal>Depends</literal>, other relationship fields are <literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, <literal>Provides</literal>, and <literal>Replaces</literal>." msgstr "11行目からはDebianのパッケージシステムが強力なことがわかります。パッケージは様々な形で相互に関係することができます。<literal>Depends</literal>の他には、<literal>Recommends</literal>、 <literal>Suggests</literal>、<literal>Pre-Depends</literal>、<literal>Breaks</literal>、 <literal>Conflicts</literal>、<literal>Provides</literal>、<literal>Replaces</literal>などがあります。" #. type: Content of: <book><chapter><section><para> msgid "The package management tools usually behave the same way when dealing with these relations; if not, it will be explained. (see <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> etc.)" msgstr "異なるパッケージ管理ツールであっても、通常この関係処理に同じ動作をします。そうでない場合については、後から説明します。(<citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>、<citerefentry> <refentrytitle>dselect</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>、<citerefentry> <refentrytitle>apt</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>、<citerefentry> <refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>などを参照してください。)" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 'Declaring relationships between packages'</ulink>." msgstr "See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 'Declaring relationships between packages'</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "Here is a simplified description of package relationships. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "パッケージの依存関係を単純化し以下に説明します。 <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Depends</literal>" msgstr "<literal>Depends (依存)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The package will not be installed unless the packages it depends on are installed. Use this if your program absolutely will not run (or will cause severe breakage) unless a particular package is present." msgstr "依存しているパッケージがインストールされない限り、パッケージはインストールされません。あなたのプログラムが特定のパッケージなしでは動かない(または深刻な破損の原因になる恐れがある)場合はこれを使います。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Recommends</literal>" msgstr "<literal>Recommends (推奨)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Use this for packages that are not strictly necessary but are typically used with your program. When a user installs your program, all frontends will likely prompt them to install the recommended packages. <command>aptitude</command> and <command>apt-get</command> install recommended packages along with your package (but the user can disable this default behaviour). <command>dpkg</command> will ignore this field." msgstr "厳密には必須ではないけれど通常一緒に使われるようなパッケージを指定します。あなたのプログラムをユーザーがインストールする時、フロントエンドが推奨しているパッケージも一緒にインストールするか確認します。<command>aptitude</command>や<command>apt-get</command>の場合は、推奨パッケージも一緒にインストールします。(ユーザーはこの機能を無効化できます。)<command>dpkg</command>は推奨されるパッケージを無視します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Suggests</literal>" msgstr "<literal>Suggests (提案)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Use this for packages which will work nicely with your program but are not at all necessary. When a user installs your program, all frontends will likely prompt them to install the suggested packages. <command>aptitude</command> can be configured to install suggested packages along with your package but this is not its default. <command>dpkg</command> and <command>apt-get</command> will ignore this field." msgstr "必要ではないものの、一緒に使用すると便利なパッケージを指定します。あなたのプログラムをユーザーがインストールする時、フロントエンドが提案しているパッケージも一緒にインストールするか確認します。<command>aptitude</command>は提案パッケージを一緒にインストールするように変更することが可能ですが、デフォルトではありません。<command>dpkg</command>と<command>apt-get</command>は提案されるパッケージを無視します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Pre-Depends</literal>" msgstr "<literal>Pre-Depends (事前依存)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "This is stronger than <literal>Depends</literal>. The package will not be installed unless the packages it pre-depends on are installed and <emphasis>correctly configured</emphasis>. Use this <emphasis>very</emphasis> sparingly and only after discussing it on the <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org</ulink> mailing list. Read: don't use it at all. :-)" msgstr "これは<literal>Depends</literal>よりも強い関係を示します。パッケージは先行依存のパッケージがあらかじめインストールされ、かつ<emphasis>適切に設定</emphasis>されていない限りインストールされません。これは、メーリングリスト<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org</ulink>で議論を尽くした上で、<emphasis>とても</emphasis>慎重に扱うべきです。つまり、使わないでください。:-)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Conflicts</literal>" msgstr "<literal>Conflicts (競合)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The package will not be installed until all the packages it conflicts with have been removed. Use this if your program absolutely will not run or will cause severe problems if a particular package is present." msgstr "競合しているパッケージが削除されない限り、パッケージはインストールされません。あなたのプログラムが特定のパッケージと一緒だと動かない(または深刻な破損の原因になる恐れがある)場合はこれを使います。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Breaks</literal>" msgstr "<literal>Breaks (破壊)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The package will be installed while all the listed packages will be broken. Normally a <literal>Breaks</literal> entry has an earlier than version clause. The resolution is generally to upgrade the listed packages by the higher-level package management tools." msgstr "パッケージがインストールされると、あるパッケージが壊れる場合に指定します。通常、<literal>Breaks</literal>の項目は旧バージョンに対する制約になっています。パッケージマネジメントツールは、記載されたパッケージのバージョンを上げることで解決する場合がほとんどです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Provides</literal>" msgstr "<literal>Provides (提供)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "For some types of packages where there are multiple alternatives virtual names have been defined. You can get the full list in the <ulink url=\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> file. Use this if your program provides a function of an existing virtual package." msgstr "パッケージによっては、選択の予知があるために仮想パッケージ名が定義されています。仮想パッケージ名の一覧仮想パッケージ名の一覧は <ulink url=\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> にあります。あなたのプログラムが既存の仮想パッケージの機能を提供する場合には、これを使います。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Replaces</literal>" msgstr "<literal>Replaces (置換)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Use this when your program replaces files from another package, or completely replaces another package (used in conjunction with <literal>Conflicts</literal>). Files from the named packages will be overwritten with the files from your package." msgstr "あなたのプログラムが別パッケージのファイルを上書きしたり、パッケージ全体を完全に置き換えてしまう場合(この場合は<literal>Conflicts</literal>も一緒に指定してください)この指定を使います。ここで指定されたパッケージに含まれるファイルはあなたのパッケージのファイルによって上書きされます。" #. type: Content of: <book><chapter><section><para> msgid "All these fields have uniform syntax. They are a list of package names separated by commas. These package names may also be lists of alternative package names, separated by vertical bar symbols <literal>|</literal> (pipe symbols)." msgstr "これらのフィールドは胸痛の書式で記述します。指定したいパッケージ名をコンマで区切って並べます。もし選択肢があれば、それらのパッケージ名を縦棒<literal>|</literal> (パイプ記号)で区切って並べます。" #. type: Content of: <book><chapter><section><para> msgid "The fields may restrict their applicability to particular versions of each named package. These versions are listed in parentheses after each individual package name, and they should contain a relation from the list below followed by the version number. The relations allowed are: <literal><<</literal>, <literal><=</literal>, <literal>=</literal>, <literal>>=</literal> and <literal>>></literal> for strictly lower, lower or equal, exactly equal, greater or equal and strictly greater, respectively. For example," msgstr "また、適用されるパッケージのバージョン番号で制限をすることも可能です。これを指定したい場合にはそれぞれのパッケージ名の後で 丸カッコ (パーレン) を開き、以下の関係式に続けて バージョン番号を指定してください。使用できる関係式は、<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, <literal>>=</literal> and <literal>>></literal> で、それぞれ 「指定されたものより古いバージョンのみ」、 「指定されたバージョン以前」(指定のバージョンも当然含まれます)、 「指定のバージョンのみ」 「指定されたバージョン以降」(指定のバージョンも当然含まれます)、 「指定されたものより新しいバージョンのみ」を意味します。今まで説明してきた依存関係を使うことで、例えば以下のような 指定も可能です。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" msgstr "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" #. type: Content of: <book><chapter><section><para> msgid "The last feature you need to know about is <literal>${shlibs:Depends}</literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." msgstr "知っておくべき最後の特徴は <literal>${shlibs:Depends}</literal> や <literal>${perl:Depends}</literal> や <literal>${misc:Depends}</literal> 等です。" #. type: Content of: <book><chapter><section><para> msgid "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> calculates shared library dependencies for binary packages. It generates a list of ELF executables and shared libraries it has found for each binary package. Such list is used for substituting <literal>${shlibs:Depends}</literal>." msgstr "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>は、バイナリパッケージのライブラリー依存関係を計算します。それは各バイナリパッケージ毎に、ELF実行可能ファイルや共有ライブラリーのリストを生成します。このようなリストは <literal>${shlibs:Depends}</literal> の置換に利用されます。" #. type: Content of: <book><chapter><section><para> msgid "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> calculates perl dependencies. It generates a list of a dependency on perl or perlapi for each binary package. Such list is used for substituting <literal>${perl:Depends}</literal>." msgstr "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>は、perl依存関係を計算します。それは各バイナリパッケージ毎に、perl や perlapi の依存関係リストを生成します。このようなリストは <literal>${perl:Depends}</literal> の置換に利用されます。" #. type: Content of: <book><chapter><section><para> msgid "Some <systemitem role=\"package\">debhelper</systemitem> commands may make the generated package need to depend on some other packages. All such commands generate a list of required packages for each binary package. Such list is used for substituting <literal>${misc:Depends}</literal>." msgstr "一部の <systemitem role=\"package\">debhelper</systemitem>コマンドは、生成するパッケージが他パッケージに依存するようにパッケージを生成します。このようなコマンド全ては各バイナリパッケージが必要とするパッケージのリストを生成します。このようなリストは <literal>${misc:Depends}</literal> の置換に利用されます。" #. type: Content of: <book><chapter><section><para> msgid "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> generates <filename>DEBIAN/control</filename> for each binary package while substituting <literal>${shlibs:Depends}</literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." msgstr "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> が <literal>${shlibs:Depends}</literal>、<literal>${perl:Depends}</literal>、<literal>${misc:Depends}</literal> 等を置換しながら各バイナリパッケージ毎に <filename>DEBIAN/control</filename> を生成します。" #. type: Content of: <book><chapter><section><para> msgid "Having said all that, we can leave the <literal>Depends</literal> field exactly as it is now, and insert another line after it saying <literal>Suggests: file</literal>, because <systemitem role=\"package\">gentoo</systemitem> can use some features provided by that <systemitem role=\"package\">file</systemitem> package." msgstr "とは言っても、今のところ<literal>Depends</literal>フィールドはそのままにして、その下に<literal>Suggests: file</literal>という新たな行を追加しましょう。<systemitem role=\"package\">gentoo</systemitem>は<systemitem role=\"package\">file</systemitem>パッケージによって提供される機能を利用することができるからです。" #. type: Content of: <book><chapter><section><para> msgid "Line 9 is the Homepage URL. Let's assume this to be at <ulink url=\"&gentoo;\"/>." msgstr "9 行目はホームページの URLです。これが <ulink url=\"&gentoo;\"/> と仮定しましょう。" #. type: Content of: <book><chapter><section><para> msgid "Line 12 is the short description. Most people screens are 80 columns wide so this shouldn't be longer than about 60 characters. I'll change it to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgstr "12行目は手短な説明です。ほとんどの人は1行(半角)80文字幅のスクリーンを使用しているので、(半角)60字以上にならないようにしましょう。<literal>fully GUI-configurable, two-pane X file manager</literal>に変更します。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "These descriptions are in English. Translations of these descriptions are provided by <ulink url=\"&ddtp;\">The Debian Description Translation Project - DDTP</ulink>." msgstr "これらの説明は英語です。これらの説明の翻訳は <ulink url=\"&ddtp;\">The Debian Description Translation Project - DDTP</ulink> によって提供されています。" #. type: Content of: <book><chapter><section><para> msgid "Line 13 is where the long description goes. This should be a paragraph which gives more details about the package. Column 1 of each line should be empty. There must be no blank lines, but you can put a single <literal>.</literal> (dot) in a column to simulate that. Also, there must be no more than one blank line after the long description. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "13行目は詳細な説明です。これはパッケージについてより詳しく説明する1つの段落であるべきです。各行の先頭は空白(スペース文字)で始めます。空白行を入れてはいけませんが、 <literal>.</literal> (半角ピリオド) を1つ書くことで、空白行のように見せることができます。説明文の後にも1行以上の空白行を入れてはいけません。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <ulink url=\"&devref-bpp-vcs;\">Developer's Reference, 6.2.5. 'Version Control System location'</ulink>." msgstr "<ulink url=\"&devref-bpp-vcs;\">Developer's Reference, 6.2.5. 'Version Control System location'</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "Let's insert <literal>Vcs-*</literal> fields to document the Version Control System (VCS) location between line 6 and 7. <placeholder type=\"footnote\" id=\"0\"/> Let's assume that the <systemitem role=\"package\">gentoo</systemitem> package has its VCS located in Debian Alioth Git Service at <literal>git://git.debian.org/git/collab-maint/gentoo.git</literal>." msgstr "6行目と7行目の間に <literal>Vcs-*</literal>フィールドを追加しましょう。<placeholder type=\"footnote\" id=\"0\"/> <systemitem role=\"package\">gentoo</systemitem>パッケージがその VCS アーカイブを <literal>git://git.debian.org/git/collab-maint/gentoo.git</literal>のDebian Alioth Git Serviceに置いていると仮定しましょう。" #. type: Content of: <book><chapter><section><para> msgid "Finally, here is the updated <filename>control</filename> file:" msgstr "以下が修正後の<filename>control</filename> ファイルです。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>= 7.0.5), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.8.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to a object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilises the GTK+ toolkit\n" "30 for its interface.\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>= 7.0.5), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.8.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to a object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilises the GTK+ toolkit\n" "30 for its interface.\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>copyright</filename> file" msgstr "<filename>copyright</filename>ファイル" #. type: Content of: <book><chapter><section><para> msgid "This file contains the information about package upstream resources, copyright and license information. <ulink url=\"&policy-copyright;\">Debian Policy Manual, 12.5 'Copyright information'</ulink> dictates its content and <ulink url=\"&dep5;\">DEP-5: Machine-parseable debian/copyright</ulink> provides guidelines for its format." msgstr "このファイルにはパッケージの上流 (upstream) に関するリソース、著作権、ライセンスなどの情報を記載します。その内容は <ulink url=\"&policy-copyright;\">Debian Policy Manual, 12.5 'Copyright information'</ulink> に規定され、そのフォーマットは <ulink url=\"&dep5;\">DEP-5: Machine-parseable debian/copyright</ulink> がガイドラインを提供しています。" #. type: Content of: <book><chapter><section><para> msgid "<command>dh_make</command> can give you a template <filename>copyright</filename> file. Let's use the <literal>--copyright gpl2</literal> option here to get a template file for the <systemitem role=\"package\">gentoo</systemitem> package released under GPL-2." msgstr "<command>dh_make</command>は<filename>copyright</filename>ファイルのテンプレートを作成します。GPL-2でリリースされた<systemitem role=\"package\">gentoo</systemitem>パッケージのテンプレートを入手するには、<literal>--copyright gpl2</literal>オプションを使用します。" #. type: Content of: <book><chapter><section><para> msgid "You must fill in missing information such as the place you got the package from, the actual copyright notice and their license to complete this file. For the common free software licenses such as GNU GPL-1, GNU GPL-2, GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0 or the Artistic license, you can just refer to the appropriate file in <filename>/usr/share/common-licenses/</filename> directory that exists on every Debian system. Otherwise, you must include the complete license." msgstr "パッケージの入手先や著作権表示、ラインセンスなど、抜けている情報を書き加え、ファイルを完成させましょう。GNU GPL-1、GNU GPL-2、GNU GPL-3、LGPL-2、LGPL-2.1,、LGPL-3、GNU FDL-1.2、GNU FDL-1.3、Apache-2.0や 創作上の特権など、一般的にフリーソフトウェアに使用される代表的なライセンスは、各Debianシステムの<filename>/usr/share/common-licenses/</filename>ディレクトリ内にあるファイルを参照することができ、全文の引用は不要です。その他のライセンスの場合、完全なライセンスを同包しなければなりません。" #. type: Content of: <book><chapter><section><para> msgid "In short, here's how <systemitem role=\"package\">gentoo</systemitem>'s <filename>copyright</filename> file should look like:" msgstr "<systemitem role=\"package\">gentoo</systemitem>パッケージの<filename>copyright</filename>ファイルは以下のようになります。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" msgstr "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" #. type: Content of: <book><chapter><section><para> msgid "Please follow the HOWTO provided by ftpmasters and sent to debian-devel-announce: <ulink url=\"&howto-copyright;\"/>." msgstr "ftpmasterにより提供され debian-devel-announce に投稿された手順書 <ulink url=\"&howto-copyright;\"/> に従って下さい。" #. type: Content of: <book><chapter><section><title> msgid "<filename>changelog</filename> file" msgstr "<filename>changelog</filename>ファイル" #. type: Content of: <book><chapter><section><para> msgid "This is a required file, which has a special format described in the <ulink url=\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 'debian/changelog'</ulink>. This format is used by <command>dpkg</command> and other programs to obtain the version number, revision, distribution and urgency of your package." msgstr "必須のファイルです。このファイルの特別な書式は<ulink url=\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 'debian/changelog'</ulink>で既定されています。この書式は、<command>dpkg</command>やその他のプログラムによってパッケージの バージョン番号、レビジョン、ディストリビューション、それに緊急度 (urgency) を識別するために利用されます。" #. type: Content of: <book><chapter><section><para> msgid "For you, it is also important, since it is good to have documented all changes you have done. It will help people downloading your package to see whether there are issues with the package that they should know about. It will be saved as <filename>/usr/share/doc/gentoo/changelog.Debian.gz</filename> in the binary package." msgstr "あなたが行なったすべての変更をきちんと記載しておくことは良いことであり、その意味でこのファイルはまた、パッケージメンテナであるあなたにとっても重要なものです。パッケージをダウンロードした人は、 このファイルを見ることで、このパッケージに関する未解決の問題があるかどうかを知ることができます。このファイルはバイナリパッケージ中に<filename>/usr/share/doc/gentoo/changelog.Debian.gz</filename>として保存されます。" #. type: Content of: <book><chapter><section><para> msgid "<command>dh_make</command> created a default one, and this is how it looks like:" msgstr "<command>dh_make</command>がデフォルトとして生成するchangelogはこんな感じです。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Some people use invalid distribution values such as <literal>UNRELEASED</literal> to prevent a package to be accidentally uploaded when updating a package in a shared VCS." msgstr "共有VSCを更新する時に、間違ってパッケージがアップロードされないように、<literal>UNRELEASED</literal>などの無効なディストリビューションの値を設定する人もいます。" #. type: Content of: <book><chapter><section><para> msgid "Line 1 is the package name, version, distribution, and urgency. The name must match the source package name, distribution should be either <literal>unstable</literal> (or even <literal>experimental</literal>) <placeholder type=\"footnote\" id=\"0\"/>, and urgency shouldn't be changed to anything higher than <literal>low</literal>. :-)" msgstr "1 行目はパッケージ名、バージョン、ディストリビューション、 そして緊急度 (urgency) です。ここに書くパッケージ名はソースパッケージの名前と一致していなければ なりません。 またディストリビューションは<literal>unstable</literal> (または<literal>experimental</literal>)にすべきです。 <placeholder type=\"footnote\" id=\"0\"/>また、緊急度は<literal>low</literal>より高くしてはいけません。:-)" #. type: Content of: <book><chapter><section><para> msgid "Lines 3-5 are a log entry, where you document changes made in this package revision (not the upstream changes - there is special file for that purpose, created by the upstream authors, which you will later install as <filename>/usr/share/doc/gentoo/changelog.gz</filename>). Let's assume your ITP (Intent To Package) bug report number was <literal>12345</literal>. New lines must be inserted just before the uppermost line that begins with <literal>*</literal> (asterisk). You can do it with <citerefentry> <refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, or manually with a text editor." msgstr "3-5 行目はログエントリで、ここにリビジョンのパッケージで 行われた変更を記述します (上流プログラムそのものの変更点では ありません - その目的のためには、上流作者によって作成され、 <filename>/usr/share/doc/gentoo/changelog.gz</filename>としてインストールされる 専用のファイルが存在しています)。ITP (Intent To Package)バグレポート番号を<literal>12345</literal>と仮定しましょう。新しい行は<literal>*</literal> (アスタリスク)で始まる最初の行の直前に挿入します。この操作は<citerefentry> <refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>を使うと便利ですが、 テキストエディタを使って実行してももちろん構いません。" #. type: Content of: <book><chapter><section><para> msgid "You will end up with something like this:" msgstr "最終的にこんなふうになります。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" #. type: Content of: <book><chapter><section><para> msgid "You can read more about updating the <filename>changelog</filename> file later in <xref linkend=\"update\"/> ." msgstr "<filename>changelog</filename>の更新については、<xref linkend=\"update\"/> で詳しく説明します。" #. type: Content of: <book><chapter><section><title> msgid "<filename>rules</filename> file" msgstr "<filename>rules</filename>ファイル" #. type: Content of: <book><chapter><section><para> msgid "Now we need to take a look at the exact rules which <citerefentry> <refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> will use to actually create the package. This file is actually another <filename>Makefile</filename>, but different from the one(s) in the upstream source. Unlike other files in <filename>debian</filename>, this one is marked as executable." msgstr "さて、今度は <citerefentry> <refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> が実際にパッケージを作成するために使うルールについて見ていきましょう。このファイルは、もうひとつの <filename>Makefile</filename> といった存在ですが、上流ソースに含まれるそれとは違います。<filename>debian</filename> ディレクトリに含まれる他のファイルとは異なり、 このファイルには実行属性が付けられています。" #. type: Content of: <book><chapter><section><section><title> msgid "Targets of <filename>rules</filename> file" msgstr "<filename>rules</filename>ファイルのターゲット" #. type: Content of: <book><chapter><section><section><para> msgid "Every <filename>rules</filename> file, as any other <filename>Makefile</filename>, consists of several targets and their rules specifying how to handle the source. <ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 'Main building script: debian/rules'</ulink> explains its details." msgstr "<filename>rules</filename>ファイルは<filename>Makefile</filename>と同様に、ターゲットとルールで構成され、ソースファイルをどう扱うかを定めています。詳細は<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 'Main building script: debian/rules'</ulink>を参照してください。" #. type: Content of: <book><chapter><section><section><para> msgid "The simplified explanation of targets are the following." msgstr "ターゲットについて簡単に説明します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>clean</literal> target: to clean all compiled, generated, and useless files in the build-tree. (required)" msgstr "<literal>clean</literal>ターゲット: ビルドツリー内に生成、コンパイルされた役に立たないファイルを掃除します。(必須)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>build</literal> target: to build the source into compiled programs and formatted documents in the build-tree. (required)" msgstr "<literal>build</literal> ターゲット: ソースをビルドして、ビルドツリー内にコンパイルしたプログラムとドキュメントを生成します。(必須)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>install</literal> target: to install files into a file tree for each binary package under the <filename>debian</filename> directory. If defined, <literal>binary*</literal> targets effectively depend on this target. (optional)" msgstr "<literal>install</literal> ターゲット: <filename>debian</filename>ディレクトリ以下にある各バイナリパッケージのファイルツリーにファイルをインストールします。定義されている場合は、<literal>binary*</literal>ターゲットが効率的にこのターゲットに依存します。(任意)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage</literal> as in <xref linkend=\"completebuild\"/> ." msgstr "このターゲットは例えば、<xref linkend=\"completebuild\"/> などで、<literal>dpkg-buildpackage</literal>が使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>binary</literal> target: to create all binary packages (effectively combination of <literal>binary-arch</literal> and <literal>binary-indep</literal> targets). (required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "<literal>binary</literal> ターゲット: 全てのバイナリパッケージを作ります。(<literal>binary-arch</literal>と<literal>binary-indep</literal>の組み合わせ)(必須)<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage -B</literal> as in <xref linkend=\"autobuilder\"/> ." msgstr "このターゲットは例えば、<xref linkend=\"autobuilder\"/> などで、<literal>dpkg-buildpackage -B</literal>が使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>binary-arch</literal> target: to create arch-dependent (<literal>Architecture: any</literal>) binary packages in the parent directory. (required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "<literal>binary-arch</literal> ターゲット: 親ディレクトリにアーキテクチャに依存したバイナリパッケージ (<literal>Architecture: any</literal>)を作ります。(必須)<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage -A</literal>." msgstr "このターゲットは、 <literal>dpkg-buildpackage -A</literal>が使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>binary-indep</literal> target: to create arch-independent (<literal>Architecture: all</literal>) binary packages in the parent directory. (required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "<literal>binary-indep</literal> ターゲット: 親ディレクトリにアーキテクチャに依存しないパッケージ (<literal>Architecture: all</literal>) を作ります。(必須)<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>get-orig-source</literal> target: to obtain the most recent version of the original source package from upstream archive site. (optional)" msgstr "<literal>get-orig-source</literal> ターゲット: 上流アーカイブのサイトから最新のバージョンのソースパッケージを持ってきます。(任意)" #. type: Content of: <book><chapter><section><section><para> msgid "Rules that you want to execute are invoked as command line arguments (for example, <literal>./debian/rules build</literal> or <literal>fakeroot make -f debian/rules binary</literal>). After the target name, you can name the dependency, program or file that the rule depends on. After that, there can be any number of commands, indented with <literal><replaceable>TAB</replaceable></literal>. A new rule begins with the target declaration in the first column. Empty lines and lines beginning with <literal>#</literal> (hash) are treated as comments and ignored." msgstr "適用したいルールはコマンドライン引数として指定します。(例えば、<literal>./debian/rules build</literal>や<literal>fakeroot make -f debian/rules binary</literal>など)。ターゲット名の後には、依存するプログラムやファイル名などを指定できます。その次の行からはコマンド行になります。<literal><replaceable>TAB</replaceable></literal>でインデントし、コマンドを何行でも書くことができます。新しいルールを始めるには、行の先頭からターゲット名の宣言を書きます。空行や<literal>#</literal> (ハッシュ)で始まる行はコメントとして扱われ、無視されます。" #. type: Content of: <book><chapter><section><section><para> msgid "You are probably confused now, but it will all be clear upon examination of the <filename>rules</filename> file that <command>dh_make</command> gives us as a default. You should also read <literal>info make</literal> for more information." msgstr "今はまだよくわからないかもしれませんが、<command>dh_make</command>がデフォルトとして作成する<filename>rules</filename>ファイルを調べるうちに、きっと理解できるようになります。さらに詳細な説明は<literal>info make</literal>を参照してください。" #. type: Content of: <book><chapter><section><section><title> msgid "Default <filename>rules</filename> file" msgstr "デフォルトの<filename>rules</filename>ファイル" #. type: Content of: <book><chapter><section><section><para> msgid "Newer <command>dh_make</command> generates a very simple but powerful default <filename>rules</filename> file using the <command>dh</command> command:" msgstr "最新の<command>dh_make</command>は<command>dh</command> コマンドでシンプルかつパワフルな<filename>rules</filename>ファイルを作ってくれます。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" msgstr "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" #. type: Content of: <book><chapter><section><section><para> msgid "(I've added the line numbers. In the actual <filename>rules</filename> file, the leading white spaces are TAB codes.)" msgstr "(行番号は筆者による。実際の<filename>rules</filename>ファイルは行頭が空白のTABコード)" #. type: Content of: <book><chapter><section><section><para> msgid "You are probably familiar with lines like line 1 from shell and Perl scripts. It tells the operating system that this file is to be processed with <filename>/usr/bin/make</filename>." msgstr "1行目はシェルやパールスクリプトでお馴染みの表現です。オペレーティングシステムに<filename>/usr/bin/make</filename>で処理するように指示しています。" #. type: Content of: <book><chapter><section><section><para> msgid "Line 10 can be uncommented to set <literal>DH_VERBOSE</literal> variable to 1. Then, the <command>dh</command> command will output which <command>dh_*</command> commands are executed by the <command>dh</command> command. You can also add <literal>export DH_OPTIONS=-v</literal> line here. Then each <command>dh_*</command> command will output which commands are executed by each <command>dh_*</command> command. This helps you to understand what exactly is going on behind this simple <filename>rules</filename> file and to debug its problems. This new <command>dh</command> is a core part of the <systemitem role=\"package\">debhelper</systemitem> tools and does not hide anything from you." msgstr "<literal>DH_VERBOSE</literal>変数を1に設定するためには、10行目のコメントを外します。そうすることによって、<command>dh</command>コマンドが、<command>dh</command>コマンドによって実行された<command>dh_*</command>コマンドを出力します。必要であればここに、<literal>export DH_OPTIONS=-v</literal>という行を追加できます。そうすることによって、<command>dh_*</command>コマンドが、<command>dh_*</command>によって実行されたコマンドを出力します。この単純な<filename>rules</filename>ファイルが何をしているのかを理解する手助けとなり、デバッグの際のヒントになるでしょう。この新しい<command>dh</command>が<systemitem role=\"package\">debhelper</systemitem>ツールの中核となる部分です。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "This uses the new <systemitem role=\"package\">debhelper</systemitem> V7 features. Its design concepts are explained in <ulink url=\"&debhelper-slides;\">Not Your Grandpa's Debhelper</ulink> presented at Debconf9 by the <systemitem role=\"package\">debhelper</systemitem> upstream. Under <literal>lenny</literal>, <command>dh_make</command> created a much more complicated <filename>rules</filename> file with many <command>dh_*</command> scripts listed for each required explicit targets and frozen them to the state when it was initially packaged. This new <command>dh</command> command is simpler and frees us from this constrain. You still have full power to customize this with <literal>override_dh_*</literal> targets. See <xref linkend=\"customrules\"/> . It is based only on the <systemitem role=\"package\">debhelper</systemitem> package and does not obfuscate the package building process like the <systemitem role=\"package\">cdbs</systemitem> package." msgstr "これは新しい <systemitem role=\"package\">debhelper</systemitem> V7の機能です。このデザインコンセプトはDebconf9で <systemitem role=\"package\">debhelper</systemitem> 上流によって <ulink url=\"&debhelper-slides;\">Not Your Grandpa's Debhelper</ulink> として提示されました。<literal>lenny</literal> の <command>dh_make</command> は、必須となる明示されたターゲットごとに、もっと複雑な <filename>rules</filename> ファイルと <command>dh_*</command> スクリプトを量産し、最初にパッケージ化した際の状態に凍結していました。新しい <command>dh</command> コマンドは、もっとシンプルで、旧来の制約に縛られません。その上、<literal>override_dh_*</literal> ターゲットでカスタマイズする利便性は失われていません。詳しくは <xref linkend=\"customrules\"/> を参照してください。これは、<systemitem role=\"package\">debhelper</systemitem> パッケージがもとになっており、<systemitem role=\"package\">cdbs</systemitem> のようにパッケージをビルドするプロセスを複雑化することはありません。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "You can verify actual sequences of <command>dh_*</command> programs invoked for a given <literal><replaceable>target</replaceable></literal> as <literal>dh --no-act <replaceable>target</replaceable></literal> or <literal>debian/rules -- '--no-act <replaceable>target</replaceable>'</literal> without really running them." msgstr "<literal><replaceable>target</replaceable></literal> 変数で呼び出され、<command>dh_*</command> プログラムが実際に実行するシーケンスは、プログラムを走らせなくても<literal>dh --no-act <replaceable>target</replaceable></literal> や、<literal>debian/rules -- '--no-act <replaceable>target</replaceable>'</literal>コマンドで確認することができます。" #. type: Content of: <book><chapter><section><section><para> msgid "Lines 12 and 13 are where all the work is done. The percent sign means any targets which then call a single program, <command>dh</command> with the target name. <placeholder type=\"footnote\" id=\"0\"/> The <command>dh</command> command is a wrapper script which runs appropriate sequences of <command>dh_*</command> programs depending on its argument. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "12行目から13行目が処理の仕上げ段階です。%サインはターゲットを意味し、ターゲットの名前と一緒に <command>dh</command> プログラムを呼び出します。<placeholder type=\"footnote\" id=\"0\"/> <command>dh</command> コマンドは、引数によって、適切なシーケンスで <command>dh_*</command> プログラムを走らせるラッパースクリプトです。<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>; which in turn runs the following:" msgstr "<literal>debian/rules clean</literal> は <literal>dh clean</literal>を実行します。実行する順番は以下の通りです。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" msgstr "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>debian/rules build</literal> runs <literal>dh build</literal>; which in turn runs the following:" msgstr "<literal>debian/rules build</literal> は <literal>dh build</literal> を実行します。実行する順番は以下の通りです。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" msgstr "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This assumes that the <systemitem role=\"package\">python-support</systemitem> package is installed on the system." msgstr "<systemitem role=\"package\">python-support</systemitem> がインストールされているという前提で" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh binary</literal>; which in turn runs the following<placeholder type=\"footnote\" id=\"0\"/>:" msgstr "<literal>fakeroot debian/rules binary</literal> は<placeholder type=\"footnote\" id=\"0\"/>、<literal>fakeroot dh binary</literal>を実行します。実行する順番は以下の通りです:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_pysupport\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" msgstr "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_pysupport\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>fakeroot debian/rules binary-arch</literal> runs <literal>fakeroot dh binary-arch</literal>; which in turn runs the same sequence as <literal>fakeroot dh binary</literal> but with the <literal>-a</literal> option appended for each command." msgstr "<literal>fakeroot debian/rules binary-arch</literal> は <literal>fakeroot dh binary-arch</literal> を実行します。<literal>fakeroot dh binary</literal> の全てのコマンドに <literal>-a</literal> オプションをつけた場合と同じことを行います。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<literal>fakeroot debian/rules binary-indep</literal> runs <literal>fakeroot dh binary-indep</literal>; which in turn runs almost the same sequence as <literal>fakeroot dh binary</literal> but excluding <command>dh_strip</command>, <command>dh_makeshlibs</command>, and <command>dh_shlibdeps</command> with the <literal>-i</literal> option appended for each remaining command." msgstr "<literal>fakeroot debian/rules binary-indep</literal> は <literal>fakeroot dh binary-indep</literal> を実行します。同様のコマンドは<literal>fakeroot dh binary</literal>ですが、<command>dh_strip</command>、<command>dh_makeshlibs</command>、<command>dh_shlibdeps</command> は実行せず、残りのコマンドには<literal>-i</literal> オプションを付加して実行します。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "For complete information on what do all these <command>dh_*</command> scripts exactly do, and what their other options are, please read their respective manual pages and the <systemitem role=\"package\">debhelper</systemitem> documentation." msgstr "<command>dh_*</command>スクリプトが、実際に何をして、どのようなオプションがあるのかを知りたい場合は、<systemitem role=\"package\">debhelper</systemitem> のマニュアルにある該当ページを参照してください。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "These commands support other build environments such as <filename>setup.py</filename> which can be listed by executing <literal>dh_auto_build --list</literal> in a package source directory." msgstr "これらのコマンドは、<literal>dh_auto_build --list</literal>を実行するとリストされる <filename>setup.py</filename> のような他のビルド環境もサポートします。" #. type: Content of: <book><chapter><section><section><para> msgid "The function of <command>dh_*</command> commands are almost self-evident from their names. <placeholder type=\"footnote\" id=\"0\"/> There are few notable ones worth making (over)simplified explanation here assuming typical build environment based on <filename>Makefile</filename>. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "<command>dh_*</command>は、名前からその機能がわかるようなものばかりです。<placeholder type=\"footnote\" id=\"0\"/> ここでは、<filename>Makefile</filename>をもとに作られたビルド環境を前提にして、簡単な説明を行う価値があるいくつかの特筆すべき項目について述べます。<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "It actually looks for the first available target of <literal>distclean</literal>, <literal>realclean</literal> or <literal>clean</literal> in <filename>Makefile</filename> and execute it." msgstr "実際には、<filename>Makefile</filename>中の<literal>distclean</literal>、<literal>realclean</literal>、 <literal>clean</literal>のうち、最初に利用可能なものを実行します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<command>dh_auto_clean</command> usually executes the following if <filename>Makefile</filename> exists with the <literal>distclean</literal> target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<command>dh_auto_clean</command>は、<filename>Makefile</filename>に<literal>distclean</literal>ターゲットがあれば以下のコマンドを実行します。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make distclean\n" msgstr "make distclean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<command>dh_auto_configure</command> usually executes the following if <filename>./configure</filename> exists (arguments abbreviated for readability)." msgstr "<command>dh_auto_configure</command>は、<filename>./configure</filename>があれば以下のコマンドを実行します。 (読みやすくするために引数は省略しました)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" msgstr "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<command>dh_auto_build</command> usually executes the following to execute the first target of <filename>Makefile</filename> if it exists." msgstr "<command>dh_auto_build</command>は、 <filename>Makefile</filename>があれば、その最初のターゲットをビルドするために、以下のコマンドを実行します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make\n" msgstr "make\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "It actually looks for the first available target of <literal>test</literal> or <literal>check</literal> in <filename>Makefile</filename> and execute it." msgstr "実際には、<filename>Makefile</filename>中の<literal>test</literal>か<literal>check</literal>のうち、最初に利用可能なものを実行します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<command>dh_auto_test</command> usually executes the following if <filename>Makefile</filename> exists with the <literal>test</literal> target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<command>dh_auto_test</command>は、<filename>Makefile</filename>中に<literal>test</literal> ターゲットがあれば、以下を実行します。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make test\n" msgstr "make test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "<command>dh_auto_install</command> usually executes the following if <filename>Makefile</filename> exists with the <literal>install</literal> target (line folded for readability)." msgstr "<command>dh_auto_install</command>は、<filename>Makefile</filename>に<literal>install</literal>ターゲットがあれば、以下のコマンドを実行します。 (読みやすくするために畳み込みました)。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" msgstr "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" #. type: Content of: <book><chapter><section><section><para> msgid "Targets which require the <command>fakeroot</command> command contain <command>dh_testroot</command>. If you are not pretending to be root using this command, it exits with an error." msgstr "<command>fakeroot</command>コマンドを必要とするターゲットは<command>dh_testroot</command>を含みます。このコマンドでルートのふりをしなければ、エラーで終了します。" #. type: Content of: <book><chapter><section><section><para> msgid "The important part to know about the <filename>rules</filename> file created by <command>dh_make</command>, is that it is just a suggestion. It will work for most packages but for more complicated ones, don't be afraid to customize it to fit your needs. Only things that you must not change are the names of the rules, because all the tools use these names, as mandated by the Debian Policy." msgstr "<command>dh_make</command>によって作成された<filename>rules</filename>ファイルについて知っておくべきことは、これは単なるひとつの例でしかないということです。 これはほぼ全てのパッケージに有効ですが、もっと複雑なものに対しては、必要に応じてカスタマイズをする勇気が必要です。ただし、ファイル内に記述された各ルールの名前だけは変えてはいけません。" #. type: Content of: <book><chapter><section><section><para> msgid "Although <literal>install</literal> is not required target, it is supported. <literal>fakeroot dh install</literal> behaves like <literal>fakeroot dh binary</literal> but stops after <command>dh_fixperms</command>." msgstr "<literal>install</literal>は、必須ではりませんがサポートはされています。<literal>fakeroot dh install</literal> は <literal>fakeroot dh binary</literal> のようにふるまいますが、<command>dh_fixperms</command>の後で停止します。" #. type: Content of: <book><chapter><section><section><title> msgid "Customization of <filename>rules</filename> file" msgstr "<filename>rules</filename> ファイルのカスタマイズ" #. type: Content of: <book><chapter><section><section><para> msgid "There are many ways to customize the <filename>rules</filename> file created with the new <command>dh</command> command." msgstr "新しい<command>dh</command>コマンドで作成された<filename>rules</filename>ファイルをカスタマイズする方法は何通りもあります。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you should activate its customization function by <literal>dh --with <replaceable>custom-name</replaceable> $@</literal>." msgstr "もし、パッケージが <filename>/usr/share/perl5/Debian/Debhelper/Sequence/<replaceable>custom_name</replaceable>.pm</filename>ファイルをインストールする場合、そのカスタマイズの機能を <literal>dh --with <replaceable>custom-name</replaceable> $@</literal>で有効にしなければなりません。" #. type: Content of: <book><chapter><section><section><para> msgid "The <literal>dh $@</literal> command can be customized as follows. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<literal>dh $@</literal> コマンドは以下の方法でカスタマイズできます。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "Use of the <command>dh_pysupport</command> command is preferred over use of the <command>dh_pycentral</command> command. Do not use the <command>dh_python</command> command." msgstr "<command>dh_pycentral</command>コマンドよりも<command>dh_pysupport</command>コマンドが好まれます。<command>dh_python</command>コマンドは使用しないでください。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support of the <command>dh_pysupport</command> command. (The best choice for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<command>dh_pysupport</command> コマンドのサポートを追加する(Pythonに最適の選択) <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Install the <systemitem role=\"package\">python-support</systemitem> package in <literal>Build-Depends</literal>." msgstr "<systemitem role=\"package\">python-support</systemitem>を<literal>Build-Depends</literal>にインストールします。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@</literal> as usual. (This is enabled by default)" msgstr "通常通り<literal>dh $@</literal>を使用します。(デフォルトで有効になっています。)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This handles Python modules using the <systemitem role=\"package\">python-support</systemitem> framework." msgstr "これで<systemitem role=\"package\">python-support</systemitem>フレームワークを使用してPythonモジュールを利用できます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support of the <command>dh_pycentral</command> command." msgstr "<command>dh_pycentral</command>のサポートを追加する" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Install the <systemitem role=\"package\">python-central</systemitem> package in <literal>Build-Depends</literal>." msgstr "<literal>Build-Depends</literal>に、<systemitem role=\"package\">python-central</systemitem>パッケージをインストールします。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh --with python-central $@</literal> instead." msgstr "代わりに<literal>dh --with python-central $@</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This also deactivates the <command>dh_pysupport</command> command." msgstr "これで<command>dh_pysupport</command>コマンドも無効化されます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This handles Python modules using the <systemitem role=\"package\">python-central</systemitem> framework." msgstr "これで<systemitem role=\"package\">python-central</systemitem>フレームワークを使用してPythonモジュールを利用できます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support of the <command>dh_installtex</command> command." msgstr "<command>dh_installtex</command>コマンドのサポートを追加する" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Install the <systemitem role=\"package\">tex-common</systemitem> package in <literal>Build-Depends</literal>." msgstr "<literal>Build-Depends</literal>に、<systemitem role=\"package\">tex-common</systemitem>パッケージをインストールします。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh --with tex $@</literal> instead." msgstr "代わりに<literal>dh --with tex $@</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This registers Type 1 fonts, hyphenation patterns, or formats with TeX." msgstr "これで、TeXによるType1フォント、ハイフネーション、またはフォーマットが登録されます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support of the <command>dh_quilt_patch</command> and <command>dh_quilt_unpatch</command> commands." msgstr "<command>dh_quilt_patch</command> と <command>dh_quilt_unpatch</command> コマンドのサポートを追加する" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Install the <systemitem role=\"package\">quilt</systemitem> package in <literal>Build-Depends</literal>." msgstr "<literal>Build-Depends</literal>に、<systemitem role=\"package\">quilt</systemitem>パッケージをインストールします。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh --with quilt $@</literal> instead." msgstr "代わりに<literal>dh --with quilt $@</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This applies and un-applies patches to the upstream source from files in the <filename>debian/patches</filename> directory for the <literal>1.0</literal> source package." msgstr "<literal>1.0</literal>ソースパッケージの<filename>debian/patches</filename>ディレクトリ内にあるファイルの上流ソースにパッチを当てたり外したりできます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This is not needed if you use the new <literal>3.0 (quilt)</literal> source package." msgstr "もし<literal>3.0 (quilt)</literal>ソースパッケージを使用している場合、これは不要です。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support of the <command>dh_dkms</command> command." msgstr "<command>dh_dkms</command> コマンドのサポートを追加する" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Install the <systemitem role=\"package\">dkms</systemitem> package in <literal>Build-Depends</literal>." msgstr "<literal>Build-Depends</literal>に、<systemitem role=\"package\">dkms</systemitem>パッケージをインストールします。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh --with dkms $@</literal> instead." msgstr "代わりに<literal>dh --with dkms $@</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This correctly handles DKMS usage by the kernel module package." msgstr "カーネルモジュールパッケージによるDKMSの使用方法正しく処理します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support of the <command>dh_autotools-dev_updateconfig</command> and <command>dh_autotools-dev_restoreconfig</command> commands." msgstr "<command>dh_autotools-dev_updateconfig</command> と <command>dh_autotools-dev_restoreconfig</command> コマンドのサポートを追加する" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Install the <systemitem role=\"package\">autotools-dev</systemitem> package in <literal>Build-Depends</literal>." msgstr "<literal>Build-Depends</literal>に、<systemitem role=\"package\">autotools-dev</systemitem> パッケージをインストールします。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh --with autotools-dev $@</literal> instead." msgstr "代わりに <literal>dh --with autotools-dev $@</literal> を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This updates and restores <filename>config.sub</filename> and <filename>config.guess</filename>." msgstr "これで<filename>config.sub</filename>と<filename>config.guess</filename>をアップデートおよびレストアします。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support of the <command>dh_autoreconf</command> and <command>dh_autoreconf_clean</command> commands." msgstr "<command>dh_autoreconf</command> と <command>dh_autoreconf_clean</command> コマンドのサポートを追加" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Install the <systemitem role=\"package\">dh-autoreconf</systemitem> package in <literal>Build-Depends</literal>." msgstr "<literal>Build-Depends</literal>に、<systemitem role=\"package\">dh-autoreconf</systemitem>パッケージをインストールします。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh --with autoreconf $@</literal> instead." msgstr "代わりに<literal>dh --with autoreconf $@</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This updates the GNU Build System files and restores them after the build." msgstr "これは、ビルド後にGNUビルドシステムのファイルのアップデートおよびレストアを行います。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support to the <command>bash</command> completion feature." msgstr "<command>bash</command>補完機能のサポートを追加する" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Install the <systemitem role=\"package\">bash-completion</systemitem> package in <literal>Build-Depends</literal>." msgstr "<literal>Build-Depends</literal>に、<systemitem role=\"package\">bash-completion</systemitem>パッケージをインストールします。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh --with bash-completion $@</literal> instead." msgstr "代わりに<literal>dh --with bash-completion $@</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This installs <command>bash</command> completions using configuration file at <filename>debian/<replaceable>package</replaceable>.bash-completion</filename>." msgstr "このコマンドを使用すると、<command>bash</command>補完機能から、 <filename>debian/<replaceable>package</replaceable>.bash-completion</filename>の設定を使うことができるようになります。" #. type: Content of: <book><chapter><section><section><para> msgid "For sources using Autotools, use combination of above as <literal>dh --with autotools-dev --with autoreconf $@</literal> to be most current with the GNU Build System." msgstr "Autotoolsを使用したソースは、<literal>dh --with autotools-dev --with autoreconf $@</literal>と、コマンドを組み合わせて使うことで、最新のGNU Build Systemを使うことができます。" #. type: Content of: <book><chapter><section><section><para> msgid "Many <command>dh_*</command> commands invoked by the new <command>dh</command> command can be customized by the corresponding configuration files in the <filename>debian</filename> directory. See <xref linkend=\"dother\"/> and the manpage of each command for the customization of such features." msgstr "新しい <command>dh</command> コマンドにより起動される多くの <command>dh_*</command> コマンドは、<filename>debian</filename> ディレクトリ内にある対応する設定ファイルによりカスタマイズすることが可能です。そのような機能のカスタマイズ方法については、 <xref linkend=\"dother\"/> とコマンドごとの manpage を参照してください。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "Under <literal>lenny</literal>, if you wanted to change the behavior of a <command>dh_*</command> script you found the relevant line in the <filename>rules</filename> file and adjusted it." msgstr "<literal>lenny</literal>では、<command>dh_*</command>スクリプトの挙動を変えたい場合、<filename>rules</filename>ファイル内の該当する行を見つけ出し、調整していました。" #. type: Content of: <book><chapter><section><section><para> msgid "Some <command>dh_*</command> commands invoked by the new <command>dh</command> command may require you to run it with some arguments or to run additional commands with them or to skip them. For such cases, you create an <literal>override_dh_<replaceable>foo</replaceable></literal> target with its rule in the <filename>rules</filename> file only for the <command>dh_<replaceable>foo</replaceable></command> command you want to change. It basically say <emphasis>run me instead</emphasis>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<command>dh</command>コマンドによって呼び出される<command>dh_*</command>コマンドの中には、特定のコマンドと一緒に使ったり、引数をつけないと無視される場合があります。そのような場合は、変更したい<command>dh_<replaceable>foo</replaceable></command>コマンドについて、<literal>override_dh_<replaceable>foo</replaceable></literal> ターゲットを<filename>rules</filename>ファイルに追記してください。簡単に説明すると、このターゲットは<emphasis>かわりにこのコマンドを使用する</emphasis>という意味です。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><para> msgid "Please note that the <command>dh_auto_*</command> commands tend to do more than what has been discussed as (over)simplified explanation to take care all the corner cases. Use of simplified equivalent command instead of these in <literal>override_dh_*</literal> targets except the <literal>override_dh_auto_clean</literal> target is a bad idea since it may kill such <systemitem role=\"package\">debhelper</systemitem>'s smart features." msgstr "ここでは簡単な説明を行いましたが、実際には、めったに発生しない厄介なケースを処理するため、<command>dh_auto_*</command>コマンドは、もっと複雑なことを行っているということを覚えておいてください。そのため、<literal>override_dh_auto_clean</literal>ターゲット以外は、<literal>override_dh_*</literal> ターゲットを使用して、簡素化された別のコマンドで代用しようとしてはいけません。<systemitem role=\"package\">debhelper</systemitem>の賢い機能が台無しになってしまうからです。" #. type: Content of: <book><chapter><section><section><para> msgid "If you want to store the system configuration data in the <filename>/etc/gentoo</filename> directory instead of the usual <filename>/etc</filename> directory for the recent <systemitem role=\"package\">gentoo</systemitem> package using Autotools, you can override the default <literal>--sysconfig=/etc</literal> argument given by the <command>dh_auto_configure</command> command to the <command>./configure</command> command by the following." msgstr "最近の Autotools を用いた <systemitem role=\"package\">gentoo</systemitem>パッケージに関して、その設定情報を通常の <filename>/etc</filename> ディレクトリではなく、<filename>/etc/gentoo</filename> ディレクトリに置きたい場合には、<command>dh_auto_configure</command> コマンドが <command>./configure</command> コマンドに与えるデフォルトの引数 <literal>--sysconfig=/etc</literal> を以下のようにしてオーバーライドできます。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" #. type: Content of: <book><chapter><section><section><para> msgid "The arguments given after <literal>--</literal> are appended to the default arguments of the auto-executed program to override them. Using the <command>dh_auto_configure</command> command is better than the <command>./configure</command> command here since it will only override the <literal>--sysconfig</literal> argument and keeps well intended other arguments to the <command>./configure</command> command." msgstr "<literal>--</literal>以下の引数は、自動的に実行されるプログラムの引数に付け足されます。<command>dh_auto_configure</command>コマンドは、引数<literal>--sysconfig</literal>のみをオーバーライドしその他の良く配慮された <command>./configure</command> 引数には触れないため、<command>./configure</command>コマンドをここに使うより優れているとされています。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "<command>dh_auto_build</command> without any arguments will execute the first target in the <filename>Makefile</filename> file." msgstr "引数なしの<command>dh_auto_build</command>は、<filename>Makefile</filename>の最初のターゲットを実行します。" #. type: Content of: <book><chapter><section><section><para> msgid "If <filename>Makefile</filename> of a source for <systemitem role=\"package\">gentoo</systemitem> requires you to specify <literal>build</literal> as its target to build it <placeholder type=\"footnote\" id=\"0\"/>, you create an <literal>override_dh_auto_build</literal> target to enable it." msgstr "もしも<systemitem role=\"package\">gentoo</systemitem>のソースの<filename>Makefile</filename>が、ビルドするために、<literal>build</literal>ターゲットを必要とする場合、<placeholder type=\"footnote\" id=\"0\"/><literal>override_dh_auto_build</literal>ターゲットを作り、有効化しなければなりません。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" msgstr "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" #. type: Content of: <book><chapter><section><section><para> msgid "This ensures to run $(MAKE) with all the default arguments given by the <command>dh_auto_build</command> command and <literal>build</literal> argument." msgstr "$(MAKE)を、<command>dh_auto_build</command>コマンドと<literal>build</literal>コマンドにデフォルトで与えられた引数すべてを確実に実行します。" #. type: Content of: <book><chapter><section><section><para> msgid "If <filename>Makefile</filename> of a source for <systemitem role=\"package\">gentoo</systemitem> requires you to specify the <literal>packageclean</literal> target to clean it for Debian package instead of the <literal>distclean</literal> or <literal>clean</literal> targets in the <filename>Makefile</filename> file, you create an <literal>override_dh_auto_clean</literal> target to enable it." msgstr "もし、Debianパッケージのためにソースをクリーンするのに <systemitem role=\"package\">gentoo</systemitem> のソースの <filename>Makefile</filename> が、<filename>Makefile</filename> 中の <literal>distclean</literal> や <literal>clean</literal> ターゲットの代わりに <literal>packageclean</literal> ターゲットを指定する必要がある場合には、<literal>override_dh_auto_clean</literal> ターゲットを作るとそれが可能になります。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" msgstr "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" #. type: Content of: <book><chapter><section><section><para> msgid "If <filename>Makefile</filename> of a source for <systemitem role=\"package\">gentoo</systemitem> contains <literal>test</literal> target which you do not want to run for the Debian package building process, you can use empty <literal>override_dh_auto_test</literal> target to skip it." msgstr "もし、<systemitem role=\"package\">gentoo</systemitem>のソースの<filename>Makefile</filename>が、<literal>test</literal>ターゲットを含み、Debianパッケージをビルドする過程で実行されたくない場合は、空の<literal>override_dh_auto_clean</literal>ターゲットを作ることで、スキップできます。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "override_dh_auto_test:\n" msgstr "override_dh_auto_test:\n" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "The <filename>debian/changelog</filename> and <filename>debian/NEWS</filename> files are always automatically installed. The upstream changelog is searched by converting filenames to the lower case and matching them with the <filename>changelog</filename>, <filename>changes</filename>, <filename>changelog.txt</filename>, and <filename>changes.txt</filename>." msgstr "<filename>debian/changelog</filename> と <filename>debian/NEWS</filename> は常に自動でインストールされます。上流のチェンジログファイルは、ファイル名を小文字に変換し、<filename>changelog</filename>、<filename>changes</filename>、<filename>changelog.txt</filename>、<filename>changes.txt</filename>のいずれかと一致するものを検索します。" #. type: Content of: <book><chapter><section><section><para> msgid "If <systemitem role=\"package\">gentoo</systemitem> has an unusual upstream changelog file called <filename>FIXES</filename>, <command>dh_installchangelogs</command> will not install that file by default. The <command>dh_installchangelogs</command> command requires <filename>FIXES</filename> as its argument to install it. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "もし、<systemitem role=\"package\">gentoo</systemitem>パッケージに、普通ではない<filename>FIXES</filename>という上流のチェンジログファイルがある場合、 <command>dh_installchangelogs</command>はデフォルトではそのファイルをインストールしません。このファイルをインストールするには、<filename>FIXES</filename>を引数として、<command>dh_installchangelogs</command>に渡してやる必要があります。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" msgstr "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" #. type: Content of: <book><chapter><section><section><para> msgid "When you use the new <command>dh</command> command, use of explicit targets such as the ones listed in <xref linkend=\"targets\"/> except <literal>get-orig-source</literal> target may make it difficult to understand their exact effects. Please limit explicit targets to <literal>override_dh_*</literal> targets and completely independent ones, if possible." msgstr "この新しい<command>dh</command>コマンドを使う際には、その正確な影響が把握するのが難しい<literal>get-orig-source</literal>を除き、<xref linkend=\"targets\"/> にあるような明確なターゲット指定をします。可能であれば、<literal>override_dh_*</literal>ターゲットおよび、完全に独立したものに明確なターゲットを制限してください。" #. type: Content of: <book><chapter><title> msgid "Other files under the <filename>debian</filename> directory" msgstr "<filename>debian</filename>ディレクトリにあるその他のファイル" #. type: Content of: <book><chapter><para> msgid "To control most of what <systemitem role=\"package\">debhelper</systemitem> does while building the package, you put optional configuration files under the <filename>debian</filename> directory. This chapter will make an overview of what each of these does and its format. Please read <ulink url=\"&debian-policy;\">Debian Policy Manual</ulink> and <ulink url=\"&developers-reference;\">Debian Developer's Reference</ulink> for guidelines for the packaging." msgstr "<systemitem role=\"package\">debhelper</systemitem>がパッケージのビルド中に行うことをコントロールするためには、任意の設定ファイルを<filename>debian</filename>ディレクトリに置きます。この章では、それぞれの設定ファイルが何をして、どのような書式なのか、その概説をしていきます。パッケージングのガイドラインについての詳細は<ulink url=\"&debian-policy;\">Debian Policy Manual</ulink> と <ulink url=\"&developers-reference;\">Debian Developer's Reference</ulink> を参照してください。" #. type: Content of: <book><chapter><para> msgid "The <command>dh_make</command> command will create some template configuration files under the <filename>debian</filename> directory. Most of them come with filenames suffixed by <literal>.ex</literal>. Some of them come with filenames prefixed by the binary package name such as <literal><replaceable>package</replaceable></literal>. Take a look at all of them." msgstr "<command>dh_make</command>コマンドは、<filename>debian</filename>ディレクトリの中に設定ファイルの雛形を作成します。大抵の場合、<literal>.ex</literal>サフェックスが付いています。ファイル名の先頭に<literal><replaceable>package</replaceable></literal>などのように、バイナリパッケージの名前がつくものもあります。これらのファイルにはすべて目を通しておいてください。" #. type: Content of: <book><chapter><para> msgid "The <command>dh_make</command> command may not create some template configuration files for <systemitem role=\"package\">debhelper</systemitem>. In such cases, you need to create them with the editor." msgstr "<command>dh_make</command>コマンドは、<systemitem role=\"package\">debhelper</systemitem>用の設定ファイルを作らないことがあります。その場合、自分でエディターを使い設定ファイルを作成しなければなりません。" #. type: Content of: <book><chapter><para> msgid "If you wish or need to activate any of those, please do the following." msgstr "以下の手順で、設定ファイルを有効にできます。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "rename template files by removing the <literal>.ex</literal> or <literal>.EX</literal> suffix if the template files have one." msgstr "<literal>.ex</literal>や<literal>.EX</literal>サフェックスがついていれば、消してください。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "rename the name of these configuration files using the actual binary package name in place of <literal><replaceable>package</replaceable></literal>." msgstr "ファイル名を、<literal><replaceable>package</replaceable></literal>の代わりに、実際のバイナリパッケージの名前に変更してください。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "modify template file contents to suit your needs." msgstr "必要に応じて、ファイルの中身を書き換えます。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "remove template files which you do not need." msgstr "不要な雛形のファイルは削除してください。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "modify the <filename>control</filename> file (see <xref linkend=\"control\"/> ), if necessary." msgstr "必要であれば、<filename>control</filename>ファイル(参照 <xref linkend=\"control\"/> )を変更します。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/> ), if necessary." msgstr "必要なら<filename>rules</filename>ファイル(参照 <xref linkend=\"rules\"/> )を編集してください。" #. type: Content of: <book><chapter><para> msgid "Those <systemitem role=\"package\">debhelper</systemitem> configuration files without <filename><replaceable>package</replaceable></filename> prefix such as <filename>install</filename> apply to the first binary package. When there are many binary packages, their configurations can be specified by prefixing their name to their configuration filenames such as <filename><replaceable>package-1</replaceable>.install</filename>, <filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "<filename><replaceable>package</replaceable></filename>をプリフェックスとして持たない、例えば<filename>install</filename>のような<systemitem role=\"package\">debhelper</systemitem>の設定ファイルは、最初のバイナリパッケージへ適用されます。 バイナリパッケージが多数ある場合、<filename><replaceable>package-1</replaceable>install</filename>、<filename><replaceable>package-2</replaceable>.install</filename>、などのように、パッケージ名を設定ファイルのプリフェックスとすることで指定できます。" #. type: Content of: <book><chapter><section><title> msgid "<filename>README.Debian</filename> file" msgstr "<filename>README.Debian</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "Any extra details or discrepancies between the original package and your Debian version should be documented here." msgstr "パッケージに関して、何か特別にユーザに知らせなければならない情報や、オリジナルのソフトウェアと作成したDebianパッケージとの相違点があればここに記述します。" #. type: Content of: <book><chapter><section><para> msgid "<command>dh_make</command> created a default one, this is what it looks like:" msgstr "以下は<command>dh_make</command>がデフォルトとして生成するものです。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" msgstr "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" #. type: Content of: <book><chapter><section><para> msgid "If you have nothing to be documented, remove this file. See <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "もし、ドキュメントがなければこのファイルを削除してください。詳しくは <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>を参照してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename>compat</filename> file" msgstr "<filename>compat</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "The <filename>compat</filename> file defines the <systemitem role=\"package\">debhelper</systemitem> compatibility level. Currently, you should set it to the <systemitem role=\"package\">debhelper</systemitem> V7 by the following." msgstr "<filename>compat</filename>ファイルは、<systemitem role=\"package\">debhelper</systemitem>の互換性レベルを規定します。現段階では、以下のように<systemitem role=\"package\">debhelper</systemitem> V7に設定します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ echo 7 > debian/compat\n" msgstr "$ echo 7 > debian/compat\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>conffiles</filename> file" msgstr "<filename>conffiles</filename>ファイル" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian Policy Manual 'D.2.5 Conffiles'</ulink>." msgstr "<citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> と <ulink url=\"&policy-conffiles;\">Debian Policy Manual 'D.2.5 Conffiles'</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "One of the most annoying things about software is when you spend a great deal of time and effort customizing a program, only to have an upgrade stomp all over your changes. Debian solves this problem by marking such configuration files as conffiles. <placeholder type=\"footnote\" id=\"0\"/> When you upgrade a package, you'll be prompted whether you want to keep your old configuration files or not." msgstr "大変な時間と労力を費やしてプログラムをカスタマイズしても、一回のアップグレードであなたの変更をあちこち上書きされてしまうとうんざりします。このような設定ファイルを conffile と記録しておくことで、Debianはこの問題を解決しました。<placeholder type=\"footnote\" id=\"0\"/> パッケージをアップグレードした時に、あなたは古い設定ファイルをキープしたいかかどうかを尋ねられます。" #. type: Content of: <book><chapter><section><para> msgid "Since <systemitem role=\"package\">debhelper</systemitem> V3, <citerefentry> <refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> will <emphasis>automatically</emphasis> flag any files under the <filename>/etc</filename> directory as conffiles, so if your program only has conffiles there you do not need to specify them in this file. For most package types, the only place there is (and should be conffiles) is under <filename>/etc</filename> and so this file doesn't need to exist." msgstr "<systemitem role=\"package\">debhelper</systemitem> V3、 <citerefentry> <refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> は<emphasis>自動的に</emphasis><filename>/etc</filename>ディレクトリ以下のファイルを全てconffilesとみなすので、あなたのプログラムが他のディレクトリにconffilesを持たない場合は特に指定する必要はありません。ほとんどのパッケージの場合、<filename>/etc</filename>以下にのみconffilesがある(そうあるべきです)ので、このファイルの存在は不要です。" #. type: Content of: <book><chapter><section><para> msgid "If your program uses configuration files but also rewrites them on its own, it's best not to make them as conffiles because <command>dpkg</command> will then prompt users to verify the changes all the time." msgstr "あなたのプログラムが設定ファイルを利用する場合であっても、 その設定ファイルがプログラム自身によって頻繁に上書きされるような場合には、パッケージをアップグレードするたびに<command>dpkg</command>によって設定ファイルの変更について確認を求められることになるので、その設定ファイルをconffilesに登録しないほうが良いでしょう。" #. type: Content of: <book><chapter><section><para> msgid "If the program you're packaging requires every user to modify the configuration files in the <filename>/etc</filename> directory, there are 2 popular ways to make them not as conffiles to keep <command>dpkg</command> quiet." msgstr "あなたのパッケージングするプログラムが、ユーザーに<filename>/etc</filename>ディレクトリの中にある設定ファイルを編集することを要求する場合、<command>dpkg</command>を黙らせるためにconffilesとして登録するためによく使われる方法が2つあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "You make a symlink under the <filename>/etc</filename> directory pointing to a file under the <filename>/var</filename> directory generated by the <emphasis>maintainer scripts</emphasis>." msgstr "<filename>/etc</filename>ディレクトリ中に、<emphasis>maintainer scripts</emphasis>によって生成された<filename>/var</filename>ディレクトリ以下のファイルにシンボリックリンクを張る方法と、" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "You make a file generated by the <emphasis>maintainer scripts</emphasis> under the <filename>/etc</filename> directory." msgstr "<filename>/etc</filename>ディレクトリの中に<emphasis>maintainer scripts</emphasis>によってファイルを生成する方法です。" #. type: Content of: <book><chapter><section><para> msgid "For more information on the <emphasis>maintainer scripts</emphasis>, see <xref linkend=\"maintscripts\"/> ." msgstr "<emphasis>maintainer scripts</emphasis>について、詳細は<xref linkend=\"maintscripts\"/> を参照してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.cron.*</filename> files" msgstr "<filename><replaceable>package</replaceable>.cron.*</filename>ファイル" #. type: Content of: <book><chapter><section><para> msgid "If your package requires regularly scheduled tasks to operate properly, you can use this file to set it up. You can either setup regular tasks that happen hourly, daily, weekly or monthly or alternatively happen any other time that you wish. The filenames are:" msgstr "パッケージが正しく動作するために、定期的にあるタスクを実行する必要がある場合は、このファイルで設定します。毎時間、毎日、毎週、または指定した時間にタスクを実行するように指定することができます。ファイル名:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>cron.hourly</filename> - Installed as <filename>/etc/cron.hourly/<replaceable>package</replaceable></filename>: run once an hour every hour." msgstr "<filename>cron.hourly</filename> - <filename>/etc/cron.hourly/<replaceable>package</replaceable></filename>としてインストール: 1時間ごとに実行する。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>cron.daily</filename> - Installed as <filename>/etc/cron.daily/<replaceable>package</replaceable></filename>: run once a day, usually early morning." msgstr "<filename>cron.daily</filename> - <filename>/etc/cron.daily/<replaceable>package</replaceable></filename>としてインストール: 1日に1度実行。普通は早朝に実行する。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>cron.weekly</filename> - Installed as <filename>/etc/cron.weekly/<replaceable>package</replaceable></filename>: run once a week, usually early Sunday morning." msgstr "<filename>cron.weekly</filename> - <filename>/etc/cron.weekly/<replaceable>package</replaceable></filename>としてインストール: 1週間に1度実行。普通は日曜の早朝に実行する。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>cron.monthly</filename> - Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></filename>: run once a month, usually early morning on the first of the month." msgstr "<filename>cron.monthly</filename> - <filename>/etc/cron.monthly/<replaceable>package</replaceable></filename>としてインストール: 1ヶ月に1度実行。普通は1日の早朝に実行する。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>cron.d</filename> - Installed as <filename>/etc/cron.d/<replaceable>package</replaceable></filename>: for any other time" msgstr "<filename>cron.d</filename> - <filename>/etc/cron.d/<replaceable>package</replaceable></filename>としてインストール: 上記以外のどの時間でも指定可能。" #. type: Content of: <book><chapter><section><para> msgid "For the named files, the format of them is the shell script. The different one is <filename><replaceable>package</replaceable>.cron.d</filename> which follows the format of <citerefentry> <refentrytitle>crontab</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>." msgstr "上記のファイルの書式はシェルスクリプトです。<filename><replaceable>package</replaceable>.cron.d</filename>は違い、<citerefentry> <refentrytitle>crontab</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>の書式になります。" #. type: Content of: <book><chapter><section><para> msgid "Note that this doesn't include log rotation; for that, see <citerefentry> <refentrytitle>dh_installlogrotate</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> and <citerefentry> <refentrytitle>logrotate</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>." msgstr "ここではログのローテーションは扱いません。ログローテーションについては<citerefentry> <refentrytitle>dh_installlogrotate</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> および <citerefentry> <refentrytitle>logrotate</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>を参照してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename>dirs</filename> file" msgstr "<filename>dirs</filename>ファイル" #. type: Content of: <book><chapter><section><para> msgid "This file specifies the directories which we need but the normal installation procedure (<literal>make install DESTDIR=...</literal> invoked by <literal>dh_auto_install</literal>) somehow doesn't create. This generally means there is a problem with the <filename>Makefile</filename>." msgstr "このファイルにはパッケージが必要としているのに、なぜか通常のインストール手順(<literal>dh_auto_install</literal>によって呼び出される<literal>make install DESTDIR=...</literal>)では作成されないディレクトリを指定します。通常、これは<filename>Makefile</filename>に問題があることを示唆しています。" #. type: Content of: <book><chapter><section><para> msgid "Files listed in the <filename>install</filename> file doesn't need the directories created first. See <xref linkend=\"install\"/> ." msgstr "<filename>install</filename>ファイルに書かれてるファイルは最初にディレクトリを作成する必要がないファイルです。詳しくは <xref linkend=\"install\"/> を参照してください。" #. type: Content of: <book><chapter><section><para> msgid "It is best to try to run the installation first and only use this if you run into trouble. There is no preceding slash on the directory names listed in the <filename>dirs</filename> file." msgstr "まずは試しにインストールしてみて、なにか問題が起きた場合にのみ使うべきでしょう。 <filename>dirs</filename> ファイル中のディレクトリ名の頭にスラッシュが付かない事に注意してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.doc-base</filename> file" msgstr "<filename><replaceable>package</replaceable>.doc-base</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "If your package has documentation other than manual pages and info docs, you should use the <systemitem role=\"package\">doc-base</systemitem> file to register it, so the user can find it with e.g. <citerefentry> <refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> <refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "もしあなたのパッケージがマニュアルページや info 形式の文書以外に付属文書を含む場合、 <systemitem role=\"package\">doc-base</systemitem> ファイルを使ってそれらを登録し、ユーザがそれらの付属文書を、例えば<citerefentry> <refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> や <citerefentry> <refentrytitle>dwww</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、あるいは <citerefentry> <refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>コマンドなどで参照できるようにしましょう。" #. type: Content of: <book><chapter><section><para> msgid "This usually includes HTML, PS and PDF files, shipped in <filename>/usr/share/doc/<replaceable>packagename</replaceable>/</filename>." msgstr "これには通常、<filename>/usr/share/doc/<replaceable>packagename</replaceable>/</filename>の中に収められるようなHTML、PS、およびPDFなどの形式の付属文書が含まれます。" #. type: Content of: <book><chapter><section><para> msgid "This is how <systemitem role=\"package\">gentoo</systemitem>'s doc-base file <filename>gentoo.doc-base</filename> looks like:" msgstr "例えば、<systemitem role=\"package\">gentoo</systemitem>の<filename>gentoo.doc-base</filename>ファイルは次のようになります:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" msgstr "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" #. type: Content of: <book><chapter><section><para> msgid "For information on the file format, see <citerefentry> <refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </citerefentry> and the <systemitem role=\"package\">doc-base</systemitem> manual, in <ulink url=\"&doc-base;\">Debian doc-base Manual</ulink>." msgstr "このファイルの書式については<citerefentry> <refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>および <ulink url=\"&doc-base;\">Debian doc-base Manual</ulink> にある <systemitem role=\"package\">doc-base</systemitem> のマニュアルを参照してください。" #. type: Content of: <book><chapter><section><para> msgid "For more details on installing additional documentation, look in <xref linkend=\"destdir\"/> ." msgstr "追加ドキュメントのインストールについて、詳細は<xref linkend=\"destdir\"/> を見てください。" #. type: Content of: <book><chapter><section><title> msgid "<filename>docs</filename> file" msgstr "<filename>docs</filename>ファイル" #. type: Content of: <book><chapter><section><para> msgid "This file specifies the file names of documentation files we can have <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> install into the temporary directory for us." msgstr "このファイルには、<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>を使ってパッケージ生成用の一時的なディレクトリにインストールするために、パッケージに付属する資料のファイル名を指定してください。" #. type: Content of: <book><chapter><section><para> msgid "By default, it will include all existing files in the top-level source directory that are called <filename>BUGS</filename>, <filename>README*</filename>, <filename>TODO</filename> etc." msgstr "デフォルトでは、ソースディレクトリのトップレベルに存在する <filename>BUGS</filename>、 <filename>README*</filename>、 <filename>TODO</filename> などの名前を持つファイル全てを含みます。" #. type: Content of: <book><chapter><section><para> msgid "For <systemitem role=\"package\">gentoo</systemitem>, I also included some other files:" msgstr "では、<systemitem role=\"package\">gentoo</systemitem>に付属文書をいくつか指定してみましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" msgstr "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>emacsen-*</filename> file" msgstr "<filename>emacsen-*</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "If your package supplies Emacs files that can be bytecompiled at package installation time, you can use these files to set it up." msgstr "パッケージをインストールする際にバイトコンパイル可能な Emacs ファイルがあなたのパッケージに含まれている場合、これらの emacsen-* ファイルを利用してそれを設定することができます。" #. type: Content of: <book><chapter><section><para> msgid "They are installed into the temporary directory by <citerefentry> <refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "これらのファイルは<citerefentry> <refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>によってパッケージ作成用の一時的なディレクトリにインストールされます。" #. type: Content of: <book><chapter><section><para> msgid "If you don't need these, remove them." msgstr "不要ならこのファイルを削除してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.examples</filename> file" msgstr "<filename><replaceable>package</replaceable>.examples</filename>ファイル" #. type: Content of: <book><chapter><section><para> msgid "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command installs files and directories listed in this file as example files." msgstr "<citerefentry> <refentrytitle>dh_installexamples</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>コマンドはこのディレクトリに列挙されたファイルを例としてインストールします。" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.init</filename> and <filename><replaceable>package</replaceable>.default</filename> files" msgstr "<filename><replaceable>package</replaceable>.init</filename> と <filename><replaceable>package</replaceable>.default</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "If your package is a daemon that needs to be run at the system start-up, you've obviously disregarded my initial recommendation, haven't you? :-)" msgstr "もしあなたのパッケージがデーモンであり、システムの起動時に 自動的に動作させる必要があるとしたら、私が最初に勧めたことを あなたはまるっきり無視してしまったわけですよね。そうでしょ ?:-)" #. type: Content of: <book><chapter><section><para> msgid "The <filename><replaceable>package</replaceable>.init</filename> file is installed as the <filename>/etc/init.d/<replaceable>package</replaceable></filename> script. Its fairly generic skeleton template is provided by the <command>dh_make</command> command as <filename>init.d.ex</filename>. You'll likely have to rename and edit it, a lot, while making sure to provide <ulink url=\"&lsb;\">Linux Standard Base</ulink> (LSB) compliant headers. It gets installed into the temporary directory by <citerefentry> <refentrytitle>dh_installinit</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "<filename><replaceable>package</replaceable>.init</filename> ファイルは <filename>/etc/init.d/<replaceable>package</replaceable></filename> スクリプトとしてインストールされます。その極めて標準的なテンプレートファイルは<command>dh_make</command>コマンドによって提供される <filename>init.d.ex</filename>です。<ulink url=\"&lsb;\">Linux Standard Base</ulink> (LSB) に準拠したヘッダーを提供するように確実にするとともに、ファイル名を変更しかなりの内容編集をすることがおそらく必要です。このファイルは<citerefentry> <refentrytitle>dh_installinit</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>によって、一時的なディレクトリにインストールされます。" #. type: Content of: <book><chapter><section><para> msgid "The <filename><replaceable>package</replaceable>.default</filename> file will be installed into <filename>/etc/default/<replaceable>package</replaceable></filename>. This file sets defaults that are sourced by the init script. Most times this default file is used to disable running a daemon, set some default flags or timeouts. If your init script has certain <emphasis>settable</emphasis> features you want to install these into the default file, not the init script." msgstr "<filename><replaceable>package</replaceable>.default</filename>ファイルは<filename>/etc/default/<replaceable>package</replaceable></filename>にインストールされます。このファイルはinitスクリプトのデフォルト設定となります。このデフォルトファイルは大抵、デーモンを停止したり、デフォルトのフラグやタイムアウトなどの設定に使われます。もしもあなたのinitスクリプトが、特定の<emphasis>設定可能</emphasis>な機能を有しているのであれば、それは起動スクリプトではなく、このデフォルトファイルに設定しておくべきでしょう。" #. type: Content of: <book><chapter><section><para> msgid "If your upstream program has an init file you can either use it or not. If you don't use their init.d script then create a new one in <filename>debian/<replaceable>package</replaceable>.init</filename>. However if the upstream init script looks fine and installs in the right place you still need to setup the <filename>rc*</filename> symlinks. To do this you will need to override <command>dh_installinit</command> in the <filename>rules</filename> file with the following lines:" msgstr "上流プログラムの起動ファイルを使用するか、しないかにかかわらずです。もし上流からのinit.dスクリプトを使わないのであれば<filename>debian/<replaceable>package</replaceable>.init</filename>に新しいのを作成しましょう。上流の起動スクリプトが大丈夫そうで、正しい場所にインストールされたとしても、<filename>rc*</filename> シンボリックリンクの設定は必要です。そのために、<filename>rules</filename>ファイルに以下を追加して、<command>dh_installinit</command>をオーバーライドしましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" msgstr "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" #. type: Content of: <book><chapter><section><para> msgid "If you don't need this, remove the files." msgstr "不要なら、このファイルを削除してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename>install</filename> file" msgstr "<filename>install</filename> ファイル" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This replaces the deprecated <citerefentry> <refentrytitle>dh_movefiles</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command which is configured by the <filename>files</filename> file." msgstr "<filename>files</filename>ファイルによって、<citerefentry> <refentrytitle>dh_movefiles</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>コマンドが設定され、置換されます。" #. type: Content of: <book><chapter><section><para> msgid "If there are files that need to be installed into your package but your standard <literal>make install</literal> won't do it, you put the filenames and destinations into this <filename>install</filename> file. They are installed by <citerefentry> <refentrytitle>dh_install</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=\"0\"/> You should first check there is not a more specific tool to use. For example, documents should be in the <filename>docs</filename> file and not in this one." msgstr "パッケージにとってインストールが必要なファイルがあるにも関わらず、 <literal>make install</literal>ではインストールされない場合、そのファイル名とファイルを置く目的地を<filename>install</filename>ファイルに記述します。そうすると、<citerefentry> <refentrytitle>dh_install</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>によってそれらのファイルがインストールされます。<placeholder type=\"footnote\" id=\"0\"/> まずは使えそうな別のツールがないかどうかを調べましょう。例えば、ドキュメントはこのファイルではなく<filename>docs</filename>ファイルにあるべきです。" #. type: Content of: <book><chapter><section><para> msgid "This <filename>install</filename> file has one line per file installed, with the name of the file (relative to the top build directory) then a space then the installation directory (relative to the install directory). One example of where this is used is where a binary is forgotten to be installed, the <filename>install</filename> file would look like:" msgstr "<filename>install</filename>ファイルはインストールされるファイルごとに1行必要とします。ファイル名(ビルドディレクトリのトップを基点とした相対パス)、スペース、インストールするディレクトリ名(インストールディレクトリを基点とした相対パス)という書式です。例えば、バイナリのインストールを忘れた場合などに、 <filename>install</filename> ファイルのエントリは以下のように記述します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "src/foo/mybin usr/bin\n" msgstr "src/foo/mybin usr/bin\n" #. type: Content of: <book><chapter><section><para> msgid "This will mean when this package is installed, there will be a binary file <filename>/usr/bin/mybin</filename>." msgstr "上記によって、パッケージがインストールされたときに、<filename>/usr/bin/mybin</filename>というバイナリファイルが存在することになります。" #. type: Content of: <book><chapter><section><para> msgid "Alternatively, this <filename>install</filename> can have the name of the file only without the installation directory when the relative directory path does not change. This format is usually used for a large package that splits build result into multiple binary packages using <filename><replaceable>package-1</replaceable>.install</filename>, <filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "また、この<filename>install</filename>ファイルは相対パスが変わらない場合、インストールディレクトリの指定を省略することもできます。この書式はビルドした結果を、<filename><replaceable>package-1</replaceable>.install</filename>, <filename><replaceable>package-2</replaceable>.install</filename>, などを使用し、複数のバイナリパッケージに分割するような、大規模なパッケージで使われます。" #. type: Content of: <book><chapter><section><para> msgid "The <command>dh_install</command> command will fall back to look in <filename>debian/tmp</filename> for files, if it doesn't find them in the current directory (or wherever you've told it to look using <literal>--sourcedir</literal>)." msgstr "<command>dh_install</command> コマンドはもし、カレントディレクトリでファイルが見つからなかった場合は、(または、<literal>--sourcedir</literal> で探すように指示したディレクトリ内で見つからなかった場合は)フォールバックして <filename>debian/tmp</filename>内を検索します。" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.info</filename> file" msgstr "<filename><replaceable>package</replaceable>.info</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "If your package has info pages, you should install them using <citerefentry> <refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> by listing them in the <filename><replaceable>package</replaceable>.info</filename> files." msgstr "パッケージにinfoページがある場合、<filename><replaceable>package</replaceable>.info</filename>にそれらを挙げて、<citerefentry> <refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>を使用してインストールします。" #. type: Content of: <book><chapter><section><title> msgid "<filename>{<replaceable>package</replaceable>.|source/}lintian-overrides</filename> files" msgstr "<filename>{<replaceable>package</replaceable>.|source/}lintian-overrides</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous diagnostics for a case when the policy allows exceptions to some rule, you can use <filename><replaceable>package</replaceable>.lintian-overrides</filename> or <filename>source/lintian-overrides</filename> to quiet it. Please read <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink> and refrain from abusing this." msgstr "ポリシーが例外を認めているにも関わらず、<systemitem role=\"package\">lintian</systemitem>が誤診断を報告してきた場合、<filename><replaceable>package</replaceable>.lintian-overrides</filename>か<filename>source/lintian-overrides</filename>を使って黙らせることができます。<ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink><filename> を読み、濫用は控えてください。" #. type: Content of: <book><chapter><section><para> msgid "<filename><replaceable>package</replaceable>.lintian-overrides</filename> is for the binary package named as <systemitem role=\"package\"><replaceable>package</replaceable></systemitem> and is installed into <filename>usr/share/lintian/overrides/<replaceable>package</replaceable></filename> by the <command>dh_lintian</command> command." msgstr "<filename><replaceable>package</replaceable>.lintian-overrides</filename>は<systemitem role=\"package\"><replaceable>package</replaceable></systemitem>と名づけられたパッケージのためのファイルで、<command>dh_lintian</command>コマンドによって<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></filename>にインストールされます。" #. type: Content of: <book><chapter><section><para> msgid "<filename>source/lintian-overrides</filename> is for the source package. This is not installed." msgstr "<filename>source/lintian-overrides</filename>はソースパッケージのためのファイルです。これはインストールされません。" #. type: Content of: <book><chapter><section><title> msgid "<filename>manpage.*</filename> files" msgstr "<filename>manpage.*</filename>ファイル" #. type: Content of: <book><chapter><section><para> msgid "Your program(s) should have a manual page. If they don't, you should create them. The <command>dh_make</command> command creates few template files for a manual page. These need to be copied and edited for each command without its manual page. Please make sure to remove unused templates." msgstr "プログラムはマニュアルページが必ず必要ですもしなければ、作らなければなりません。<command>dh_make</command>コマンドはマニュアルページの雛形を作成します。マニュアルページがないコマンドのために、コピー、編集する必要があります。不要な雛形ファイルを削除するのを忘れないようにしてください。" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.1.ex</filename> file" msgstr "<filename>manpage.1.ex</filename> ファイル" #. type: Content of: <book><chapter><section><section><para> msgid "Manual pages are normally written in <citerefentry> <refentrytitle>nroff</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. The <filename>manpage.1.ex</filename> template is written in <command>nroff</command>, too. See the <citerefentry> <refentrytitle>man</refentrytitle> <manvolnum>7</manvolnum> </citerefentry> manual page for a brief description of how to edit such a file." msgstr "マニュアルページは通常、<citerefentry> <refentrytitle>nroff</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>で書かれています。<filename>manpage.1.ex</filename>のテンプレートも<command>nroff</command>で書かれています。これらのファイルをどう編集するのかについて、簡単な説明が<citerefentry> <refentrytitle>man</refentrytitle> <manvolnum>7</manvolnum> </citerefentry>にあります。" #. type: Content of: <book><chapter><section><section><para> msgid "The final manual page file name should include the name of the program it is documenting, so we will rename it from <literal>manpage</literal> to <literal>gentoo</literal>. The file name also includes <literal>.1</literal> as the first suffix, which means it's a manual page for a user command. Be sure to verify that this section is indeed the correct one. Here's a short list of manual page sections:" msgstr "最終的なマニュアルページのファイル名は、解説されているプログラム名を含めなければなりません。ここでは、ファイル名を<literal>manpage</literal>から<literal>gentoo</literal>に変更しましょう。ファイル名は、<literal>.1</literal>というサフェックスも含みます。これは、このマニュアルページはユーザーコマンドのものだ、という意味です。この部分を間違わないように気をつけてください。以下はマニュアルページのリストです:" #. type: Content of: <book><chapter><section><section><table><title> msgid "manual page sections" msgstr "マニュアルページのセクション" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "Section" msgstr "セクション" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "Description" msgstr "内容" #. type: Content of: <book><chapter><section><section><table><tgroup><thead><row><entry> msgid "Notes" msgstr "ノート" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "1" msgstr "1" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "User command" msgstr "ユーザーコマンド" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Executable commands or scripts" msgstr "実行可能なコマンドやスクリプト" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "2" msgstr "2" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "System calls" msgstr "システムコール" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Functions provided by the kernel" msgstr "カーネルが提供するファンクション" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "3" msgstr "3" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Library calls" msgstr "ライブラリコール" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Functions within system libraries" msgstr "システムライブラリが提供するファンクション" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "4" msgstr "4" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Special files" msgstr "特殊ファイル" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Usually found in /dev" msgstr "通常 /dev にある" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "5" msgstr "5" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "File formats" msgstr "ファイルフォーマット" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "E.g. <filename>/etc/passwd</filename>'s format" msgstr "例えば、<filename>/etc/passwd</filename>のフォーマット" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "6" msgstr "6" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Games" msgstr "ゲーム" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Games or other frivolous programs" msgstr "ゲームや他の他愛ないプログラム" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "7" msgstr "7" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Macro packages" msgstr "マクロパッケージ" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Such as man macros" msgstr "マンのマクロ等" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "8" msgstr "8" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "System administration" msgstr "システム管理" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Programs typically only run by root" msgstr "普通rootが実行するプログラム" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "9" msgstr "9" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Kernel routines" msgstr "カーネルルーチン" #. type: Content of: <book><chapter><section><section><table><tgroup><tbody><row><entry> msgid "Non-standard calls and internals" msgstr "非標準のコールや内部コール" #. type: Content of: <book><chapter><section><section><para> msgid "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be called <filename>gentoo.1</filename>. If there was no <filename>gentoo.1</filename> man page in the original source, you should create it by renaming the <filename>manpage.1.ex</filename> template to <filename>gentoo.1</filename> and edit it by using information from the example and from upstream docs." msgstr "つまり、<systemitem role=\"package\">gentoo</systemitem>のmanページは<filename>gentoo.1</filename>となります。オリジナルのソースファイルに<filename>gentoo.1</filename>というmanページがなければ、上流のドキュメントと例を元にして、<filename>manpage.1.ex</filename>という雛形ファイルを編集し<filename>gentoo.1</filename>というmanページを作らなければなりません。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "If the command is missing <command>info</command> page but have documentation files in the <filename>/usr/share/<replaceable>package</replaceable></filename> directory, you should manually edit generated the man page created by the <command>help2man</command> command." msgstr "<filename>/usr/share/<replaceable>package</replaceable></filename>ディレクトリにドキュメントがあるにも関わらず、コマンドが<command>info</command>ページを見つけられない場合は、<command>help2man</command>コマンドで生成されたページを直接編集します。" #. type: Content of: <book><chapter><section><section><para> msgid "You can use the <command>help2man</command> command to generate a man page out of <literal>--help</literal> and <literal>--version</literal> output of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<literal>--help</literal>と<literal>--version</literal>から<command>help2man</command>コマンドを用いてmanページを作成することも可能です。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.sgml.ex</filename> file" msgstr "<filename>manpage.sgml.ex</filename> ファイル" #. type: Content of: <book><chapter><section><section><para> msgid "If on the other hand you prefer writing SGML instead of <command>nroff</command>, you can use the <filename>manpage.sgml.ex</filename> template. If you do this, you have to:" msgstr "もし、<command>nroff</command>よりSGMLのほうが好みであれば、<filename>manpage.sgml.ex</filename> のほうをひな型として使うことも できます。こちらの場合には、以下の手順が必要です。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "rename the file to something like <filename>gentoo.sgml</filename>." msgstr "ファイル名を<filename>gentoo.sgml</filename>のような名前に変更します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "install the <systemitem role=\"package\">docbook-to-man</systemitem> package" msgstr "<systemitem role=\"package\">docbook-to-man</systemitem> パッケージのインストール" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "add <literal>docbook-to-man</literal> to the <literal>Build-Depends</literal> line in the <filename>control</filename> file" msgstr "<filename>control</filename> ファイルの <literal>Build-Depends</literal> 行へ <literal>docbook-to-man</literal> を追加" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "add a <literal>override_dh_auto_build</literal> target to your <filename>rules</filename> file:" msgstr "<filename>rules</filename>ファイルに<literal>override_dh_auto_build</literal>ターゲットを追加" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.xml.ex</filename> file" msgstr "<filename>manpage.xml.ex</filename> ファイル" #. type: Content of: <book><chapter><section><section><para> msgid "If you prefer XML over SGML, you can use the <literal>manpage.xml.ex</literal> template. If you do this, you have to:" msgstr "SGMLよりもXMLが好みであれば、<literal>manpage.xml.ex</literal>をひな形として使うこともできます。こちらの場合には、以下の手順が必要です。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "rename the source file to something like <literal>gentoo.1.xml</literal>" msgstr "ソースファイルの名前を、<literal>gentoo.1.xml</literal>のような名前に変更します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "install the <systemitem role=\"package\">docbook-xsl</systemitem> package and an XSLT processor like <systemitem role=\"package\">xsltproc</systemitem> (recommended)" msgstr "<systemitem role=\"package\">docbook-xsl</systemitem> パッケージと <systemitem role=\"package\">xsltproc</systemitem> のような XSLT プロセッサのインストール (推奨)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "add the <literal>docbook-xsl</literal>, <literal>docbook-xml</literal> and <literal>xsltproc</literal> packages to the <literal>Build-Depends</literal> line in the <literal>control</literal> file" msgstr "<literal>control</literal> ファイルの <literal>Build-Depends</literal> 行へ、<literal>docbook-xsl</literal>、<literal>docbook-xml</literal>、<literal>xsltproc</literal>の各パッケージを追加" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" " http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" " http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.manpages</filename> file" msgstr "<filename><replaceable>package</replaceable>.manpages</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "If your package has manual pages, you should install them using <citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> by listing them in the <filename><replaceable>package</replaceable>.manpages</filename> files." msgstr "パッケージにマニュアルページがある場合、<filename><replaceable>package</replaceable>.manpages</filename>にそれらを挙げて、<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>を使用してインストールします。" #. type: Content of: <book><chapter><section><para> msgid "To install <filename>docs/gentoo.1</filename> for the <systemitem role=\"package\">gentoo</systemitem> package as its manpage, you create a <filename>gentoo.manpages</filename> file as the following." msgstr "<systemitem role=\"package\">gentoo</systemitem> パッケージのマンページとして <filename>docs/gentoo.1</filename> をインストールするには、以下のような <filename>gentoo.manpages</filename> ファイルを作成します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "docs/gentoo.1\n" msgstr "docs/gentoo.1\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>menu</filename> file" msgstr "<filename>menu</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "X Window System users usually have a window manager with a menu that can be customized to launch programs. If they have installed the Debian <systemitem role=\"package\">menu</systemitem> package, a set of menus for every program on the system will be created for them." msgstr "X Window System のユーザーは、大抵ウィンドウマネージャを使っており、好きなプログラムを起動できるようにメニュー機能をカスタマイズしています。<systemitem role=\"package\">menu</systemitem> パッケージをインストールしていれば、システムにある全プログラムのメニュー項目が作成され、menu に対応したウィンドウマネージャから利用できます。" #. type: Content of: <book><chapter><section><para> msgid "Here's the default <filename>menu.ex</filename> file that <command>dh_make</command> created." msgstr "以下が <command>dh_make</command> が生成したデフォルトの <filename>menu.ex</filename> ファイルです。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" msgstr "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "The first field after the colon character is <literal>needs</literal>, and it specifies what kind of interface the program needs. Change this to one of the listed alternatives, e.g. <literal>text</literal> or <literal>X11</literal>." msgstr "コロン (:) の後の最初のフィールドは<literal>needs</literal>です。このフィールドは、プログラムがどんなどんなインターフェースが必要かを規定します。デフォルトとして挙げられたもの(例:<literal>text</literal> や <literal>X11</literal>など)に変更してください。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "The current list of sections is at <ulink url=\"&menu-structure;\">The Debian Menu sub-policy 2.1 'Preferred menu structure'</ulink>. There were a major reorganization of menu structure for <literal>squeeze</literal>." msgstr "セクションに関する現行のリストは <ulink url=\"&menu-structure;\">The Debian Menu sub-policy 2.1 'Preferred menu structure'</ulink> にあります。メニュー構造の大幅な改変が <literal>squeeze</literal> で行われました。" #. type: Content of: <book><chapter><section><para> msgid "The next is <literal>section</literal>, where the menu and submenu entry should appear in. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "次はメニューやサブメニューのエントリーが現れる <literal>section</literal>です。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "The <literal>title</literal> field is the name of the program. You can start this one in uppercase if you like. Just keep it short." msgstr "<literal>title</literal>フィールドはプログラムの名称です。そうしたければ、大文字ではじめても大丈夫です。ただ、短くするようにしましょう。" #. type: Content of: <book><chapter><section><para> msgid "Finally, the <literal>command</literal> field is the command that runs the program." msgstr "最後の <literal>command</literal> フィールドは、実際にプログラムを実行するコマンドです。" #. type: Content of: <book><chapter><section><para> msgid "Let's change the file name to <filename>menu</filename> and change the menu entry to this:" msgstr "それでは、ファイル名を<filename>menu</filename>に変更し、メニューのエントリーを以下のように変更しましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" msgstr "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "You can also add other fields like <literal>longtitle</literal>, <literal>icon</literal>, <literal>hints</literal> etc. See <citerefentry> <refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> and <ulink url=\"&menu-policy;\">The Debian Menu sub-policy</ulink> for more information." msgstr "他にも、<literal>longtitle</literal>、<literal>icon</literal>、<literal>hints</literal>などのフィールドを追加できます。詳しくは <citerefentry> <refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、 <citerefentry> <refentrytitle>menufile</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>、 <citerefentry> <refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、<ulink url=\"&menu-policy;\">The Debian Menu sub-policy</ulink> を参照してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename>NEWS</filename> file" msgstr "<filename>NEWS</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "<citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>コマンドでインストールします。" #. type: Content of: <book><chapter><section><title> msgid "<filename>{post|pre}{inst|rm}</filename> files" msgstr "<filename>{post|pre}{inst|rm}</filename> ファイル" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Although I used Bash short hand expression to indicate these files as <filename>{post|pre}{inst|rm}</filename> here, I recommend you to use pure POSIX (non-Bash) shell for these <emphasis>maintainer scripts</emphasis> as much as possible for the better compatibility." msgstr "ここでは簡略化するために<filename>{postpre}{instrm}</filename>にBashを使っていますが、<emphasis>maintainer scripts</emphasis>には、互換性の観点から、可能な限りPOSIX(Bashではない)シェルを使うべきでしょう。" #. type: Content of: <book><chapter><section><para> msgid "These <filename>postinst</filename>, <filename>preinst</filename>, <filename>postrm</filename>, and <filename>prerm</filename> files <placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer scripts</emphasis>. They are scripts which are put in the control area of the package and run by <command>dpkg</command> when your package is installed, upgraded or removed." msgstr "<filename>postinst</filename>、<filename>preinst</filename>、<filename>postrm</filename>、そして <filename>prerm</filename>ファイルは <placeholder type=\"footnote\" id=\"0\"/><emphasis>maintainer scripts</emphasis>と呼ばれています。これらのスクリプトは、パッケージを管理するアリアに置かれ、インストール、アップグレード、削除される際に<command>dpkg</command>によって実行されます。" #. type: Content of: <book><chapter><section><para> msgid "As a novice maintainer, you should avoid any manual editing of <emphasis>maintainer scripts</emphasis> because they are problematic. For more information look in the <ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 'Package maintainer scripts and installation procedure'</ulink>, and take a look at these example files provided by <command>dh_make</command>." msgstr "メンテナ初心者のうちは、問題になることが多いので<emphasis>maintainer scripts</emphasis>を直接編集しないようにしましょう。詳しくは<ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 'Package maintainer scripts and installation procedure'</ulink>を参照し、<command>dh_make</command>によって生成されるサンプルファイルに目を通してください。" #. type: Content of: <book><chapter><section><para> msgid "If you did not listen to me and made your custom <emphasis>maintainer scripts</emphasis> for a package, you should make sure to test them not only for <emphasis role=\"strong\">install</emphasis> and <emphasis role=\"strong\">upgrade</emphasis> but also for <emphasis role=\"strong\">remove</emphasis> and <emphasis role=\"strong\">purge</emphasis>." msgstr "もし私の忠告を無視して、<emphasis>maintainer scripts</emphasis>を直接編集した場合は、 <emphasis role=\"strong\">インストール</emphasis>、<emphasis role=\"strong\">アップグレード</emphasis>だけでなく、 <emphasis role=\"strong\">削除</emphasis>と<emphasis role=\"strong\">パージ</emphasis>のテストもしっかり行ってください。" #. type: Content of: <book><chapter><section><para> msgid "Upgrades to the new version should be silent and non-intrusive (existing users should not notice the upgrade except by discovering that old bugs have been fixed and there perhaps are new features)." msgstr "新バージョンへのアップグレードはおとなしく、そして押し付けがましくしてはいけません。(現行のユーザは、バグが直されたことと新機能の追加以外については、アップグレードに気づかないのが理想です。)" #. type: Content of: <book><chapter><section><para> msgid "When the upgrade is necessarily intrusive (eg., config files scattered through various home directories with totally different structure), you may consider to set package to the safe default (e.g., disabled service) and provide proper documentations required by the policy (<filename>README.Debian</filename> and <filename>NEWS.Debian</filename>) as the last resort. Don't bother user with the <command>debconf</command> note invoked from these <emphasis>maintainer scripts</emphasis> for upgrades." msgstr "アップグレードが出しゃばる必要がある場合(例えば構造が変わって、設定ファイルがあっちこちに散らばってしまった場合など)、パッケージのデフォルトを安全側に設定したり(例えばサービスを停止しておくなど)、最後の手段としてはポリシーに要求されるきちんとしたドキュメント(<filename>README.Debian</filename>と<filename>NEWS.Debian</filename>)を提供するなどの対策を考えるべきです。アップグレード際に<emphasis>maintainer scripts</emphasis>で<command>debconf</command>ノートを呼び出すような嫌がらせはやめてください。" #. type: Content of: <book><chapter><section><para> msgid "The <systemitem role=\"package\">ucf</systemitem> package provides <emphasis>conffile-like</emphasis> handling infrastructure to preserve user changes for files that may not be labeled <emphasis>conffiles</emphasis> such as ones managed by the <emphasis>maintainer scripts</emphasis>. This should minimize issues associated with them." msgstr "<systemitem role=\"package\">ucf</systemitem>パッケージは、<emphasis>maintainer scripts</emphasis>によって管理されているような<emphasis>conffiles</emphasis>にされていない、ユーザによって変更されたファイルを保存し、<emphasis>conffileのように</emphasis>処理する仕組みを提供します。この仕組みによって、関連する問題を最小化しています。" #. type: Content of: <book><chapter><section><para> msgid "These <emphasis>maintainer scripts</emphasis> are the Debian enhancements that explain <emphasis role=\"strong\">why people choose Debian</emphasis>. You must be very careful not to annoy them with these." msgstr "これら、<emphasis>maintainer scripts</emphasis>は<emphasis role=\"strong\">なぜDebianを選ぶのか</emphasis>という理由の1つでもあります。これらの仕組みで、ユーザの邪魔をしないようにしましょう。" #. type: Content of: <book><chapter><section><title> msgid "<filename>TODO</filename> file" msgstr "<filename>TODO</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>コマンドでインストールします。" #. type: Content of: <book><chapter><section><title> msgid "<filename>watch</filename> file" msgstr "<filename>watch</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "The <filename>watch</filename> file format is documented in the <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> manpage. The <filename>watch</filename> file configures the <command>uscan</command> program (in the <systemitem role=\"package\">devscripts</systemitem> package) to watch the site where you originally got the source from. This is also used by <ulink url=\"&dehs;\">Debian External Health Status (DEHS)</ulink>." msgstr "<filename>watch</filename>ファイルの書式は<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>を参照してください。<filename>watch</filename>ファイルは、<command>uscan</command> ( <systemitem role=\"package\">devscripts</systemitem>パッケージに含まれます)を設定し、ソースをどこから入手したのかを監視しています。<ulink url=\"&dehs;\">Debian External Health Status (DEHS)</ulink>によっても使用されています。" #. type: Content of: <book><chapter><section><para> msgid "Here's what I put in it:" msgstr "今回は以下のようにしました。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" msgstr "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" #. type: Content of: <book><chapter><section><para> msgid "Normally with this <filename>watch</filename> file, the URL at <literal>&sf-net;/gentoo</literal> is downloaded and searched for links of the form <literal><a href=...></literal>. The base name (just the part after the final <literal>/</literal>) of these linked URLs are matched against Perl regular expression (see <citerefentry> <refentrytitle>perlre</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) pattern <literal>gentoo-(.+)\\.tar\\.gz</literal>. Out of matched files, the file with the greatest version number is downloaded and the <command>uupdate</command> program is run to create the updated source tree from them." msgstr "通常、この<filename>watch</filename>ファイルでは、<literal>&sf-net;/gentoo</literal>のURLがダウンロードされ、<literal><a href=...></literal>フォームへのリンクを検索します。リンクされたURLのベースネーム(最後の<literal>/</literal>から後の部分のみ)はPerlの正規表現 (<citerefentry> <refentrytitle>perlre</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 参照)パターン<literal>gentoo-(.+)\\.tar\\.gz</literal>に照らし合わされます。一致したファイルの中から、バージョンの番号が一番大きいものがダウンロードされ、それからアップデートされたソースツリーを作成するために <command>uupdate</command> プログラムを実行します。" #. type: Content of: <book><chapter><section><para> msgid "Although this is true for other sites, the SourceForge download service at <ulink url=\"&sf-net;\"/> is an exception. When the <filename>watch</filename> file has an URL matching with the Perl regexp <literal>^http://sf\\.net/</literal>, the <command>uscan</command> program substitutes it with <literal>&qa-do;watch/sf.php/</literal> and then applies this rule. The URL redirector service at this <ulink url=\"&qa-do;\"/> is designed to offer a stable redirect service to the desired file for the <filename>watch</filename> file having <literal>&sf-net;/<replaceable>project</replaceable>/<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This solves issues related to the periodically changing URL there." msgstr "他のサイトでは上記の通りですが、<ulink url=\"&sf-net;\"/> のSourceForgeのダウンロードサービスは例外です。<filename>watch</filename>ファイルがPerlの正規表現<literal>^http://sf\\.net/</literal>に一致するURLを含む場合、<command>uscan</command>プログラムが代わりに<literal>&qa-do;watch/sf.php/</literal>を使い、このルールを当てはめます。<ulink url=\"&qa-do;\">&qa-do;</ulink>のURLリダイレクトは<literal>&sf-net;/<replaceable>project</replaceable>/<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>を含む<filename>watch</filename>ファイルを大対象に安定したリダイレクトを提供するよう設計されています。これにより、そこで周期的に変化するURLに関する問題を解決しています。" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/format</filename> file" msgstr "<filename>source/format</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "In the <filename>debian/source/format</filename> file, there should be a single line indicating the desired format for the source package (check <citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for an exhaustive list). After <literal>squeeze</literal>, it should say either:" msgstr "<filename>debian/source/format</filename>ファイルでは、ソースパッケージのための理想の書式を示すための行があります。 (完全なリストは、<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>を参照してください。)<literal>squeeze</literal>以降は、以下のどちらかになっているべきです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgstr "<literal>3.0 (native)</literal>: Debianネイティブなパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (quilt)</literal> for everything else." msgstr "<literal>3.0 (quilt)</literal>: それ以外の全て。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for the summary information concerning the switch to the new <literal>3.0 (quilt)</literal> and <literal>3.0 (native)</literal> source formats." msgstr "ソースの書式を<literal>3.0 (quilt)</literal> and <literal>3.0 (native)</literal>に移行する際の注意点などは、<ulink url=\"&debsrc3;\">DebSrc3.0</ulink> にまとまっています。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Actually, this new format also supports multiple upstream tarballs and more compression methods. These are beyond the scope of this document." msgstr "この新しいフォーマットは、複数の上流のtar玉などもっと多くの圧縮方法をサポートしています。詳細は本稿の範疇を超えるため割愛します。" #. type: Content of: <book><chapter><section><para> msgid "The newer <literal>3.0 (quilt)</literal> source format records modifications in a <command>quilt</command> patch series within <filename>debian/patches</filename>. Those changes are then automatically applied during extraction of the source package. <placeholder type=\"footnote\" id=\"0\"/> The Debian modifications are simply stored in a <filename>debian.tar.gz</filename> archive containing all files under the <filename>debian</filename> directory. This new format supports inclusion of binary files such as PNG icons by the package maintainer without requiring tricks. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "新しい<literal>3.0 (quilt)</literal>の書式は<command>quilt</command>パッチによる変更を <filename>debian/patches</filename>に記録します。そして、その変更は自動的にソースパッケージを展開するときに適用されます。<placeholder type=\"footnote\" id=\"0\"/>Debianの変更は、<filename>debian</filename>ディレクトリ以下のファイル全てを含め、<filename>debian.tar.gz</filename>アーカイブに保存されています。この新しい書式は、特殊な方法を用いることなく、PGNアイコンなどのパッケージメンテナによるバイナリファイルを含めることが可能です。<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "When <command>dpkg-source</command> extracts a source package in <literal>3.0 (quilt)</literal> source format, it automatically applies all patches listed in <filename>debian/patches/series</filename>. You can avoid applying patches at the end of the extraction with the <literal>--skip-patches</literal> option." msgstr "<command>dpkg-source</command>が<literal>3.0 (quilt)</literal>の書式でソースパッケージを展開する際、<filename>debian/patches/series</filename>に列挙されたパッチを自動的に適用します。<literal>--skip-patches</literal>オプションで、展開時にパッチを適用しないようにできます。" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/local-options</filename> file" msgstr "<filename>source/local-options</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "When you want to manage Debian packaging activities under a VCS, you typically create one branch (e.g. <literal>upstream</literal>) tracking the upstream source and another branch (e.g. typically <literal>master</literal> for Git) tracking the Debian package. For the latter, you usually want to have unpatched upstream source with your <filename>debian/*</filename> files for the Debian packaging to ease merging of the new upstream source." msgstr "Debianをパッケージングする活動をVCSで管理したい場合、上流のソースをトラックするためのブランチ(例 <literal>upstream</literal>)とDebianパッケージをトラックするための別のブランチ(例 Gitのための<literal>master</literal>)を作成します。後者の場合、新しい上流のソースとマージするのを簡単にするために、通常パッチの当てていない上流のソースを<filename>debian/*</filename>ファイルと一緒に持っておきます。" #. type: Content of: <book><chapter><section><para> msgid "After you build a package, the source is normally left patched. You need to unpatch it manually by running <literal>dquilt pop -a</literal> before committing to the <literal>master</literal> branch. You can automate this by adding the optional <filename>debian/source/local-options</filename> file containing <literal>unapply-patches</literal>. This file is not included in the generated source package and changes the local build behavior only. This file may contain <literal>abort-on-upstream-changes</literal>, too (see <citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)." msgstr "パッケージをビルドした後は、ソースのパッチは通常当てたままにされます。<literal>master</literal>ブランチにコミットする前に手動で <literal>quilt pop -a</literal> を実行してパッチを外す必要があります。<filename>debian/source/local-options</filename>ファイルに<literal>unapply-patches</literal>を書いておけば、自動的にパッチを外せます。このファイルは生成されたソースパッケージには含まれず、ローカルビルドでの挙動のみを変更します。このファイルは<literal>abort-on-upstream-changes</literal>も含むかもしれません (<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 参照)。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "unapply-patches\n" "abort-on-upstream-changes\n" msgstr "" "unapply-patches\n" "abort-on-upstream-changes\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/options</filename> file" msgstr "<filename>source/options</filename> ファイル" #. type: Content of: <book><chapter><section><para> msgid "The autogenerated files in the source tree can be quite annoying for packaging since they generate meaningless large patch files. There are custom modules such as <command>dh_autoreconf</command> to ease this problem as described in <xref linkend=\"customrules\"/>." msgstr "ソースツリーの中の自動生成されるファイルはパッケージングする際に無意味で大きなパッチファイルを生成するのでとても厄介です。<xref linkend=\"customrules\"/> で説明したように<command>dh_autoreconf</command> のようなカスタムモジュールが本問題を解消るために存在します。" #. type: Content of: <book><chapter><section><para> msgid "You can provide a Perl regular expression to the <literal>--extend-diff-ignore</literal> option argument of <citerefentry> <refentrytitle>dpkg-source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> to ignore changes made to the autogenerated files while creating the source package." msgstr "<citerefentry> <refentrytitle>dpkg-source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> の <literal>--extend-diff-ignore</literal> オプション引数に Perl 正規表現を提供すると、ソースパッケージ生成時に自動生成ファイルへの変更を無視できます。" #. type: Content of: <book><chapter><section><para> msgid "You can store such <command>dpkg-source</command> option argument in the <filename>source/options</filename> file of the source package as the generic solution to address this problem of the autogenerated files. The following will skip creating patch files for <filename>config.sub</filename> <filename>config.guess</filename> and <filename>Makefile</filename>." msgstr "この自動生成ファイルの問題の一般的解決策としてソースパッケージの <filename>source/options</filename> ファイル中に <command>dpkg-source</command> オプション引数を保存する事が出来ます。以下の例では、<filename>config.sub</filename> と <filename>config.guess</filename> と <filename>Makefile</filename> に関してパッチファイルを生成し無く設定します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" msgstr "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>patches/*</filename> files" msgstr "<filename>patches/*</filename> ファイル群" #. type: Content of: <book><chapter><section><para> msgid "The old <literal>1.0</literal> source format created a single large <filename>diff.gz</filename> file which contains package maintenance files in <filename>debian</filename> and patch files to the source. Such a package is a bit cumbersome to inspect and understand for each source tree modification later. This is not so nice." msgstr "古い<literal>1.0</literal>のソースフォーマットは、<filename>debian</filename>内にパッケージメンテナンスファイルと、パッチファイルを含む単一の大きな<filename>diff.gz</filename>ファイルを作っていました。そのようなファイルは、ソースツリーの変更を後から調べたり、理解するのが非常に厄介でした。これはあまりいただけません。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Several methods for the patch set maintenance have been proposed and are in use with Debian packages. The <command>quilt</command> system is the preferred maintenance system in use. Other ones are <command>dpatch</command>, <command>dbs</command>, <command>cdbs</command>, etc. Many of these keep such patches as <filename>debian/patches/*</filename> files." msgstr "パッチセットをメンテナンスするためのいくつかの方法が提案され、Debianパッケージで使われていますが、<command>quilt</command>が推奨されています。他には、<command>dpatch</command>、<command>dbs</command>、<command>cdbs</command>、などがあります。これらの方法は、大抵<filename>debian/patches/*</filename>ファイルでパッチを管理しています。" #. type: Content of: <book><chapter><section><para> msgid "The newer <literal>3.0 (quilt)</literal> source format stores patches in <filename>debian/patches/*</filename> files using the <command>quilt</command> command. These patches and other package data which are all constrained under the <filename>debian</filename> directory are packaged as the <filename>debian.tar.gz</filename> file. Since the <command>dpkg-source</command> command can handle <command>quilt</command> formatted patch data in the <literal>3.0 (quilt)</literal> source without the <systemitem role=\"package\">quilt</systemitem> package, it does not need to <literal>Build-Depends</literal> on the <systemitem role=\"package\">quilt</systemitem> package. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "新しい<literal>3.0 (quilt)</literal>は、<command>quilt</command>コマンドを使って、パッチを<filename>debian/patches/*</filename>に置きます。<filename>debian</filename>ディレクトリ異化に拘束されているパッチや、その他のパッケージデータは、<filename>debian.tar.gz</filename>ファイルとしてパッケージングされます。<command>dpkg-source</command>コマンドは、<command>quilt</command>形式のパッチデータを<systemitem role=\"package\">quilt</systemitem>パッケージなしで<literal>3.0 (quilt)</literal>として扱えるので、<literal>Build-Depends</literal>には<systemitem role=\"package\">quilt</systemitem>パッケージは必要ありません。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "If you are asking a sponsor to upload your package, this kind of clear separation and documentation of your changes are very important to expedite the package review by your sponsor." msgstr "スポンサーにパッケージのアップロードを頼む時にも、あなたが加えた変更に対するこのような明確な分離とドキュメントは、スポンサーによるパッケージのレビューを促進させるためにも、非常に重要です。" #. type: Content of: <book><chapter><section><para> msgid "The <command>quilt</command> command is explained in <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. It records modifications to the source as a stack of <literal>-p1</literal> patch files in the <filename>debian/patches</filename> directory and the source tree is untouched outside of the <filename>debian</filename> directory. The order of these patches are recorded in the <filename>debian/patches/series</filename> file. You can apply (=push), un-apply (=pop), and refresh patches easily. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<command>quilt</command>コマンドについては<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>で説明されています。ソースへの変更は、<filename>debian/patches</filename>ディレクトリ内<literal>-p1</literal>パッチファイルのスタックとして記録され、<filename>debian</filename>ディレクトリの外のソースツリーには触れません。それらのパッチの順番は<filename>debian/patches/series</filename>ファイルに記録されます。パッチの適用(push)も、外す(pop)のも、更新(refresh)も、簡単にできます。 <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "For <xref linkend=\"modify\"/> , we created 3 patches in <filename>debian/patches</filename>." msgstr "<xref linkend=\"modify\"/> では、<filename>debian/patches</filename>に3つのパッチを作りました。" #. type: Content of: <book><chapter><section><para> msgid "Since Debian patches are located in <filename>debian/patches</filename>, please make sure to setup the <command>dquilt</command> command properly as described in <xref linkend=\"quiltrc\"/> ." msgstr "Debianのパッチは <filename>debian/patches</filename> にあるので、<xref linkend=\"quiltrc\"/> の説明に従い、<command>dquilt</command>コマンドを正しく設定してください。" #. type: Content of: <book><chapter><section><para> msgid "When someone (including yourself) provides you with a patch <filename><replaceable>foo</replaceable>.patch</filename> to the source later, then the modification of a <literal>3.0 (quilt)</literal> source package is quite simple:" msgstr "誰かが(あなた自身も含みます)<filename><replaceable>foo</replaceable>.patch</filename>というパッチを後から提供した時、<literal>3.0 (quilt)</literal>ソースパッケージの変更はとてもシンプルです。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" #. type: Content of: <book><chapter><section><para> msgid "The patches stored in the newer <literal>3.0 (quilt)</literal> source format must be <emphasis>fuzz</emphasis> free. You should ensure it as <literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." msgstr "新しい<literal>3.0 (quilt)</literal>形式で保存されるパッチには <emphasis>曖昧さ</emphasis>があってはいけません。それを保証するために、<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>としてください。" #. type: Content of: <book><chapter><title> msgid "Building the package" msgstr "パッケージの構築" #. type: Content of: <book><chapter><para> msgid "We should now be ready to build the package." msgstr "これでパッケージを構築する準備が整いました。" #. type: Content of: <book><chapter><section><title> msgid "Complete (re)build" msgstr "完全な(再)構築" #. type: Content of: <book><chapter><section><para> msgid "In order to properly make complete (re)build of a package, you have to ensure to install" msgstr "完全なパッケージの(再)構築を行うには、" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <systemitem role=\"package\">build-essential</systemitem> package," msgstr "<systemitem role=\"package\">build-essential</systemitem>パッケージ、" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "packages listed in the <literal>Build-Depends</literal> field (see <xref linkend=\"control\"/> ), and" msgstr "<literal>Build-Depends</literal>に挙げられているパッケージ(参照<xref linkend=\"control\"/> )" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "packages listed in the <literal>Build-Depends-indep</literal> field (see <xref linkend=\"control\"/> )." msgstr "<literal>Build-Depends-indep</literal>に挙げられているパッケージ(参照 <xref linkend=\"control\"/> )が全てインストールされていなければなりません。" #. type: Content of: <book><chapter><section><para> msgid "Then you issue the following command in the source directory:" msgstr "ソースディレクトリーで以下のコマンドを実行してください:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage\n" msgstr "$ dpkg-buildpackage\n" #. type: Content of: <book><chapter><section><para> msgid "This will do everything to make full binary and source packages for you. It will:" msgstr "このコマンドはバイナリパッケージとソースパッケージを構築する作業をすべて行ってくれます。これには以下の作業が含まれます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "clean the source tree (<literal>debian/rules clean</literal>)" msgstr "ソースツリーの掃除 (<literal>debian/rules clean</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the source package (<literal>dpkg-source -b</literal>)" msgstr "ソースパッケージの構築 (<literal>dpkg-source -b</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the program (<literal>debian/rules build</literal>)" msgstr "プログラムの構築 (<literal>debian/rules build</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)" msgstr "バイナリパッケージの構築 (<literal>fakeroot debian/rules binary</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "sign the source <filename>.dsc</filename> file, using <command>gpg</command>" msgstr "<command>gpg</command> を使用したソース<filename>.dsc</filename>ファイルへの署名" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "create and sign the upload <filename>.changes</filename> file, using <command>dpkg-genchanges</command> and <command>gpg</command>" msgstr "<command>dpkg-genchanges</command>および<command>gpg</command>を使用したアップロード用<filename>.changes</filename>ファイルの生成と署名" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This GPG key must be signed by the Debian developer to get connected to the web of trust and must be registerd to <ulink url=\"&keyring;\">the Debian keyring</ulink>. This enables your uploaded packages to be accepted to the Debian archives. See <ulink url=\"&keycreate;\">Creating a new GPG key</ulink> and <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." msgstr "This GPG キーは信頼の網に連結するように Debian デベロッパーによって署名され、<ulink url=\"&keyring;\">the Debian keyring</ulink> に登録されていなければいけません。こうすることで Debian アーカイブにパッケージをアップロードして受け付けられるようになります。<ulink url=\"&keycreate;\">Creating a new GPG key</ulink> と <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "The only input that will be required of you is your GPG secret pass phrase, twice. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "途中で GPG の秘密鍵を 2 回入力する必要がありますが、 それ以外はこのプログラムにすべて任せておけば大丈夫です。 <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "After all this is done, you will see the following files in the directory above (<filename>~/gentoo</filename>):" msgstr "一連の作業が終わった後、上記ディレクトリ(<filename>~/gentoo</filename>)には以下のファイルが生成されているはずです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "This is the original source code tarball, merely renamed to the above so that it adheres to the Debian standard. Note that this was created initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgstr "これは単に Debian 標準に合わせるために名前を変更しただけで、 中身はオリジナルなソースコードの tar アーカイブです。これはもともと、<literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>で作成されたということを覚えておいてください。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "This is a summary of the contents of the source code. The file is generated from your <filename>control</filename> file, and is used when unpacking the source with <citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. This file is GPG signed, so that people can be sure that it's really yours." msgstr "これはソースコードの内容の概要です。このファイルは あなたの<filename>control</filename>ファイルから生成され、<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>によって ソースを展開する時に使われます。また、GPG で署名されているので、本当にあなた自身が作成したものかどうかを利用者が検証できます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "This compressed tarball contains your <filename>debian</filename> directory contents. Each and every addition you made to the original source code are stored as <command>quilt</command> patches in <filename>debian/patches</filename>." msgstr "この圧縮されたターボールには、あなたの<filename>debian</filename>ディレクトリーの中身が含まれています。オリジナルのソースコードに行った変更や追加などの情報は全て<filename>debian/patches</filename>内に、<command>quilt</command>パッチとして保存されます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "You can avoid applying <command>quilt</command> patches in the <literal>3.0 (quilt)</literal> source format at the end of the extraction with the <literal>--skip-patches</literal> option. Alternatively, you can run <literal>dquilt pop -a</literal> after normal operation." msgstr "<literal>3.0 (quilt)</literal>ソースフォーマットで<command>quilt</command>パッチを当てないようにするには、上記コマンドに<literal>--skip-patches</literal>オプションをつけて実行します。または、通常の操作の後に、<literal>quilt pop -a</literal>を実行する方法もあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If someone else wants to re-create your package from scratch, they can easily do so using the above three files. The extraction procedure is trivial: just copy the three files somewhere else and run <literal>dpkg-source -x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "上記3つのファイルを使えば誰でも簡単にあなたのパッケージをスクラッチから構築することができます。3つのファイルを任意の場所にコピーし、<literal>dpkg-source -x gentoo_0.9.12-1.dsc</literal>を実行するだけです。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "This is your completed binary package. You can use <command>dpkg</command> to install and remove this just like any other package." msgstr "これは、あなたが生成した完全なバイナリパッケージです。他の全てのパッケージと同じく、<command>dpkg</command>を使ってインストールしたり削除したりできます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "This file describes all the changes made in the current package revision, and it is used by the Debian FTP archive maintenance programs to install the binary and source packages in it. It is partly generated from the <filename>changelog</filename> file and the <filename>.dsc</filename> file. This file is GPG signed, so that people can be sure that it's really yours." msgstr "このファイルは現在のリビジョンパッケージにおける変更点をすべて記載したもので、Debian FTP アーカイブ管理プログラムによって、バイナリおよびソースパッケージをFTPアーカイブにインストールするために利用されます。このファイルの一部は、<filename>changelog</filename>ファイルと<filename>.dsc</filename>をもとに生成されます。また、GPG で署名されているので、本当にあなた自身が作成したものかどうかを利用者が検証できます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "As you keep working on the package, behavior will change and new features will be added. People downloading your package can look at this file and quickly see what has changed. Debian archive maintenance programs will also post the contents of this file to the <ulink url=\"&debian-devel-announce-ldo;\">debian-devel-announce@lists.debian.org</ulink> mailing list." msgstr "パッケージの保守管理を続けていくと、挙動の変更や新機能の追加をすることがあります。あなたのパッケージをダウンロードする人は、このファイルを見れば何が変わったのか、一目でわかります。また、このファイルの中身はDebian アーカイブ管理プログラムによって、<ulink url=\"&debian-devel-announce-ldo;\">debian-devel-announce@lists.debian.org</ulink>メーリングリストへ流されます。" #. type: Content of: <book><chapter><section><para> msgid "The long strings of numbers in the <filename>.dsc</filename> and <filename>.changes</filename> files are MD5/SHA1/SHA256 checksums for the files mentioned. A person downloading your files can test them with <citerefentry> <refentrytitle>md5sum</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, or <citerefentry> <refentrytitle>sha256sum</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> and if the numbers don't match, they'll know the file is corrupt or has been tampered with." msgstr "<filename>.dsc</filename> と <filename>.changes</filename> ファイルに記載されている長い数字の羅列は各ファイルの MD5/SHA1/SHA256 チェックサムです。パッケージをダウンロードした人は、<citerefentry> <refentrytitle>md5sum</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、 <citerefentry> <refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、<citerefentry> <refentrytitle>sha256sum</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>を使って整合性をテストすることができます。もし、数字が一致しない場合には、ファイルが壊れているか、あるいは何者かによって改ざんされていると分かるわけです。" #. type: Content of: <book><chapter><section><title> msgid "Autobuilder" msgstr "オートビルダー" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "The actual autobuilder system involves much more complicated schemes than the one documented here. Such details are beyond the scope of this document." msgstr "実際のオートビルダーシステムは、本稿の説明よりもかなり複雑なスキームによって実現しています。それらの詳細は、本稿の範囲を超えるため割愛します。" #. type: Content of: <book><chapter><section><para> msgid "Debian supports many <ulink url=\"&ports;\">ports</ulink> with the <ulink url=\"&buildd;\">autobuilder network</ulink> running <command>buildd</command> daemons on many different architecture computers. Although you do not need to do this by yourself, you should be aware of what will happen on your packages. Let's look into roughly how your packages are rebuild for many different architectures by them. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "Debian は、様々なアーキテクチャ上で<command>buildd</command>デーモンを走らせている<ulink url=\"&buildd;\">オートビルダーネットワーク</ulink>によって、色々な<ulink url=\"&ports;\">ports</ulink>をサポートしています。あなたがそれらを明示的に使う必要はありませんが、パッケージがどうなるのかを知っておくと良いでしょう。それでは、あなたのパッケージがどのように異なるアーキテクチャ向けに再構築されるのかを見ていきましょう。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "For <literal>Architecture: any</literal> packages, the autobuilder system rebuild them. It ensures to install" msgstr "<literal>Architecture: any</literal>のパッケージは、オートビルダーシステムによって再構築されます。それは、" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <systemitem role=\"package\">build-essential</systemitem> package, and" msgstr "<systemitem role=\"package\">build-essential</systemitem>パッケージと" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "packages listed in the <literal>Build-Depends</literal> field (see <xref linkend=\"control\"/> )." msgstr "<literal>Build-Depends</literal>に挙げられているパッケージ (参照 <xref linkend=\"control\"/> )を確実にインストールします。" #. type: Content of: <book><chapter><section><para> msgid "Then it issues the following command in the source directory:" msgstr "そして、ソースディレクトリで次のコマンドを実行します:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -B\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> msgid "This will do everything to make architecture dependent binary packages on another architecture. It will:" msgstr "これは、別のアーキテクチャ上で、アーキテクチャ依存のバイナリパッケージを生成する作業をすべて行ってくれます。これには以下の作業が含まれます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build architecture dependent binary packages (<literal>fakeroot debian/rules binary-arch</literal>)" msgstr "アーキテクチャ依存のバイナリパッケージを構築(<literal>fakeroot debian/rules binary-arch</literal>)" #. type: Content of: <book><chapter><section><para> msgid "This is why you see your package for other architectures." msgstr "あなたのパッケージが他のアーキテクチャ用にも存在するのは、このためです。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> package, the <command>chroot</command> environment under the <systemitem role=\"package\">sbuild</systemitem> package used by the autobuilder system does not force the minimal system and may leave many packages installed." msgstr "<systemitem role=\"package\">pbuilder</systemitem>パッケージとは違い、オートビルダーによって使用される<systemitem role=\"package\">sbuild</systemitem>パッケージ下での<command>chroot</command>環境では、最小構成を強制しないので、多くのパッケージがインストールされたままになるかもしれません。" #. type: Content of: <book><chapter><section><para> msgid "Although packages listed in the <literal>Build-Depends-indep</literal> field are required to be installed for the normal packaging by us (see <xref linkend=\"completebuild\"/> ), they are not required to be installed for the autobuilder system since it build only architecture dependent binary packages. <placeholder type=\"footnote\" id=\"0\"/> This difference between normal packaging and autobuilder situation dictates whether you record such required packages in the <literal>Build-Depends</literal> or <literal>Build-Depends-indep</literal> fields of the <filename>debian/control</filename> file (see <xref linkend=\"control\"/> )." msgstr "<literal>Build-Depends-indep</literal>フィールドのパッケージは、通常のパッケージの場合はインストールを要求されますが(参照 <xref linkend=\"completebuild\"/> )、オートビルダーシステムは、アーキテクチャ依存のパッケージのみをビルドするので、インストールは必須ではありません。<placeholder type=\"footnote\" id=\"0\"/> オートビルダーを使用した場合と普通のパッケージングとのこの違いは、要求パッケージを <filename>debian/control</filename>ファイルの<literal>Build-Depends</literal> や <literal>Build-Depends-indep</literal>に記録するかどうかで決定されます。(参照 <xref linkend=\"control\"/> )" #. type: Content of: <book><chapter><section><title> msgid "Including <filename>orig.tar.gz</filename> for upload" msgstr "アップロード用<filename>orig.tar.gz</filename>の内容" #. type: Content of: <book><chapter><section><para> msgid "When you first upload the package to the archive, you need to include the original <filename>orig.tar.gz</filename> source, too. If the Debian revision number of such package is neither <literal>1</literal> nor <literal>0</literal>, you must provide <command>dpkg-buildpackage</command> command with the <literal>-sa</literal> option. On the other hand, the <literal>-sd</literal> option will force to exclude the original <filename>orig.tar.gz</filename> source." msgstr "はじめてパッケージをアーカイブにアップロードする際は、オリジナルの<filename>orig.tar.gz</filename>ソースファイルを含めなければなりません。当該パッケージの Debian リビジョン番号が <literal>1</literal> でも <literal>0</literal> でも無い場合には、<command>dpkg-buildpackage</command> に <literal>-sa</literal> オプションを付けなければなりません。逆に、<literal>-sd</literal>オプションを付けると、オリジナルの<filename>orig.tar.gz</filename> ソースファイルを強制的に除外します。" #. type: Content of: <book><chapter><section><title> msgid "<command>debuild</command> command" msgstr "<command>debuild</command>コマンド" #. type: Content of: <book><chapter><section><para> msgid "You can automate package build process of the <command>dpkg-buildpackage</command> command further with the <command>debuild</command> command. See <citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "<command>dpkg-buildpackage</command>による自動構築プロセスは、<command>debuild</command>によりさらに進めることができます。詳しくは<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>を参照してください。" #. type: Content of: <book><chapter><section><para> msgid "Customization of the <command>debuild</command> command can be done through <filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</filename>. I would suggest at least following items:" msgstr "<command>debuild</command>コマンドのカスタマイズは<filename>/etc/devscripts.conf</filename>や<filename>~/.devscripts</filename>を用いて行います。少なくとも以下の設定をすると良いでしょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN=yes\n" "DEBUILD_LINTIAN_OPTS=-i -I --show-overrides\n" msgstr "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN=yes\n" "DEBUILD_LINTIAN_OPTS=-i -I --show-overrides\n" #. type: Content of: <book><chapter><section><para> msgid "With these, packages are signed by your specified GPG key ID (good for sponsoring packages) and checked by the <command>lintian</command> command in details." msgstr "これによって、パッケージは常にあなたのGPG鍵でサインされ、<command>lintian</command>コマンドで詳細にチェックされます。(これはスポンサーの作業にも適しています。)" #. type: Content of: <book><chapter><section><para> msgid "Cleaning source and rebuilding package from a user account is as simple as:" msgstr "以下のように一般ユーザアカウントから、簡単にソースを除去しパッケージを再ビルドできます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild\n" msgstr "$ debuild\n" #. type: Content of: <book><chapter><section><para> msgid "Please note that the <command>dpkg-buildpackage</command> option <literal>-sa</literal> to include the original <filename>orig.tar.gz</filename> source can be specified as:" msgstr "<command>dpkg-buildpackage</command>に<literal>-sa</literal>オプションを付けてオリジナルの<filename>orig.tar.gz</filename>ソースファイルを含める方法も覚えておきましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -sa\n" msgstr "$ debuild -sa\n" #. type: Content of: <book><chapter><section><para> msgid "You can clean source tree as simple as:" msgstr "ソースツリーの掃除も簡単です。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild clean\n" msgstr "$ debuild clean\n" #. type: Content of: <book><chapter><section><title> msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgstr "<systemitem role=\"package\">pbuilder</systemitem>パッケージ" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Since the <systemitem role=\"package\">pbuilder</systemitem> package is still evolving, you have to check the actual configuration situation by consulting the latest official documentation." msgstr "<systemitem role=\"package\">pbuilder</systemitem>パッケージはまだ進化の過程なので、実際の構成は、公式ドキュメントで確認して下さい。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <ulink url=\"&buildd-do;\"/> for more on the auto-builder of the Debian package." msgstr "Debian パッケージのオートビルダーの詳細は <ulink url=\"&buildd-do;\"/> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "For a clean room (<command>chroot</command>) build environment to verify the build dependencies, the <systemitem role=\"package\">pbuilder</systemitem> package is very useful. <placeholder type=\"footnote\" id=\"0\"/> This ensures a clean build from the source under the <literal>sid</literal> auto-builder for different architectures and avoids the severity serious FTBFS (Fails To Build From Source) bug which is always in the RC (release critical) category. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "ビルド依存を確認するためのクリーンルーム (<command>chroot</command>)なビルド環境として、<systemitem role=\"package\">pbuilder</systemitem>パッケージが非常に便利です。<placeholder type=\"footnote\" id=\"0\"/> これを使うことで、異なるアーキテクチャ向けに<literal>sid</literal>環境オートビルダーの下でのソースからのクリーンなビルドが保証され、常に RC (release critical) に分類される重要度が serious の FTBFS (Fails To Build From Source) バグを防ぎます。<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> package by the following." msgstr "それでは、<systemitem role=\"package\">pbuilder</systemitem>をカスタマイズしてみましょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "setting <filename>/var/cache/pbuilder/result</filename> directory writable by the user." msgstr "<filename>/var/cache/pbuilder/result</filename>ディレクトリを、ユーザーから書き込めるように設定してください。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/hooks</replaceable></filename>, writable by the user to place hook scripts." msgstr "フックスクリプトを置くために、ユーザーからの書き込みが可能なディレクトリを作成してください。例) <filename><replaceable>/var/cache/pbuilder/hooks</replaceable></filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "setting <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</filename> to include as follows." msgstr "<filename>~/.pbuilderrc</filename> か <filename>/etc/pbuilderrc</filename> に以下のように設定します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "AUTO_DEBSIGN=yes\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgstr "" "AUTO_DEBSIGN=yes\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "This will allow you to sign generated packages with your secret GPG key in the <filename>~/.gnupg/</filename> directory." msgstr "これにより、<filename>~/.gnupg/</filename>ディレクトリにある、あなたのGPGキーで生成されたパッケージへの署名を許可します。" #. type: Content of: <book><chapter><section><para> msgid "Let's then initialize the local <systemitem role=\"package\">pbuilder</systemitem> <command>chroot</command> system first as follows." msgstr "それでは、初めてのローカル<systemitem role=\"package\">pbuilder</systemitem> <command>chroot</command> システムを初期化しましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo pbuilder create\n" msgstr "$ sudo pbuilder create\n" #. type: Content of: <book><chapter><section><para> msgid "If you already have the completed source packages, issue the following commands in the directory where the <filename><replaceable>foo</replaceable>.orig.tar.gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</filename>, and <filename><replaceable>foo</replaceable>.dsc</filename> files exist to update the local <systemitem role=\"package\">pbuilder</systemitem> <command>chroot</command> system and to build binary packages in it." msgstr "既に完全なソースパッケージがあれば、<filename><replaceable>foo</replaceable>.orig.tar.gz</filename>ファイル、 <filename><replaceable>foo</replaceable>.debian.tar.gz</filename>ファイル、<filename><replaceable>foo</replaceable>.dsc</filename>ファイルが存在するディレクトリで、ローカル<systemitem role=\"package\">pbuilder</systemitem> <command>chroot</command>システムをアップデートし、バイナリパッケージをビルドする為に以下のコマンドを発行しましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo</replaceable>.dsc\n" msgstr "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo pbuilder --build --debbuildopts -sa <replaceable>foo</replaceable>.dsc\n" msgstr "$ sudo pbuilder --build --debbuildopts -sa <replaceable>foo</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "The newly built packages will be located in <filename>/var/cache/pbuilder/result/</filename> with non-root ownership." msgstr "新しくビルドしたパッケージは非ルート所有者として<filename>/var/cache/pbuilder/result/</filename>に置かれます。" #. type: Content of: <book><chapter><section><para> msgid "If you already have the updated source tree without generating the matching source packages, issue the following commands in the source directory where the <filename>debian</filename> directory exists, instead." msgstr "更新されたソースツリーが既にあり、一致するソースパッケージを生成していない場合は、代わりに、<filename>debian</filename> ディレクトリが存在するディレクトリで、以下のコマンドを発行します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ pdebuild\n" msgstr "" "$ sudo pbuilder --update\n" "$ pdebuild\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts -sa\n" msgstr "$ pdebuild --debbuildopts -sa\n" #. type: Content of: <book><chapter><section><para> msgid "You can log into its <command>chroot</command> environment with the <literal>pbuilder --login --save-after-login</literal> command and configure it as you wish. This environment can be saved by leaving its shell prompt with <literal>^D</literal> (Control-D)." msgstr "<literal>pbuilder --login --save-after-login</literal>コマンドで、<command>chroot</command>環境にログインし、好きに設定することができます。シェルプロンプトから<literal>^D</literal> (Control-D)で抜けると、その環境を保存しておくことができます。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You can find many examples of the hook script in the <filename>/usr/share/doc/pbuilder/examples</filename> directory." msgstr "<literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>に設定した場合。フックスクリプトのサンプルは<filename>/usr/share/doc/pbuilder/examples</filename> ディレクトリににあります。" #. type: Content of: <book><chapter><section><para> msgid "The latest version of the <command>lintian</command> command can be executed in the <literal>chroot</literal> environment using the hook script <filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</filename> configured as follows. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "最新の<command>lintian</command>コマンドは<literal>chroot</literal>環境から次のように設定されたフックスクリプト<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</filename>を使用して実行することができます。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install $@\n" " }\n" "install_packages lintian\n" "echo +++ lintian output +++\n" "su -c lintian -i -I --show-overrides /tmp/buildd/*.changes - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c lintian -i -I --show-overrides /tmp/buildd/*.changes; : - pbuilder\n" "echo +++ end of lintian output +++\n" msgstr "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install $@\n" " }\n" "install_packages lintian\n" "echo +++ lintian output +++\n" "su -c lintian -i -I --show-overrides /tmp/buildd/*.changes - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c lintian -i -I --show-overrides /tmp/buildd/*.changes; : - pbuilder\n" "echo +++ end of lintian output +++\n" #. type: Content of: <book><chapter><section><para> msgid "You need to have access to the latest <literal>sid</literal> environment to build packages properly for <literal>sid</literal>. In reality, <literal>sid</literal> may be experiencing issues which makes it not desirable for you to migrate your whole system. The <systemitem role=\"package\">pbuilder</systemitem> package can help you to cope with this kind of situation." msgstr "<literal>sid</literal>環境向けのパッケージを正しくビルドするには最新の<literal>sid</literal>環境が必要です。<literal>sid</literal>には環境を移行するには望ましくない問題を抱えていることが少なくありません。<systemitem role=\"package\">pbuilder</systemitem>パッケージはそのような状況に対処できるようになっています。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "There are some restrictions for such updates of your <literal>stable</literal> package." msgstr "<literal>stable</literal> パッケージのそのようなアップデートには制限が課せられます。" #. type: Content of: <book><chapter><section><para> msgid "You may need to update your <literal>stable</literal> packages after their release for <literal>stable-proposed-updates</literal>, <literal>stable/updates</literal>, etc. <placeholder type=\"footnote\" id=\"0\"/> For such occasions, I am running <literal>sid</literal> system is not good enough excuse not to update them promptly. The <systemitem role=\"package\">pbuilder</systemitem> package can help you to access environments of almost any Debian derivative distributions of the same CPU architecture." msgstr "<literal>stable/updates</literal>や<literal>stable-proposed-updates</literal>がリリースされた後、<literal>stable</literal>パッケージのアップデートが必要な場合があります。<placeholder type=\"footnote\" id=\"0\"/>そのような場合に、 即座にアップデートしない言い訳として<literal>sid</literal> を使っているから というのは不十分です。<systemitem role=\"package\">pbuilder</systemitem>パッケージは、同じCPUアーキテクチャのほぼ全てのDebian派生であるディストリビューションへのアクセスを手助けします。" #. type: Content of: <book><chapter><section><para> msgid "See <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>, and <citerefentry> <refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>." msgstr "<ulink url=\"&pbuilder;\"/> と <citerefentry> <refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> と <citerefentry> <refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </citerefentry> と <citerefentry> <refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </citerefentry> を参照下さい。" #. type: Content of: <book><chapter><section><title> msgid "<command>git-buildpackage</command> command and similars" msgstr "<command>git-buildpackage</command>コマンドとその仲間" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more." msgstr "詳しくは <ulink url=\"&debref-vcs;\">Version control systems</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "If your upstream uses the source code management system (VCS) <placeholder type=\"footnote\" id=\"0\"/> to maintain their code, you should consider to use them. That makes merging and cherry-picking upstream patches much easier. There are several specialized wrapper script packages for the Debian package building for each VCS." msgstr "上流がソースコード管理システム (VCS) <placeholder type=\"footnote\" id=\"0\"/> を使っているのであれば、同様に使用することを考えるべきです。それによって、マージと上流パッチの取捨選択がより簡単になります。各VCS毎にDebianパッケージをビルドするための特別なラッパースクリプトのパッケージもいくつかあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">git-buildpackage</systemitem>: Suite to help with Debian packages in Git repositories." msgstr "<systemitem role=\"package\">git-buildpackage</systemitem>: Gitリポジトリ内でのDebianパッケージを支援するパッケージソフトです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">svn-buildpackage</systemitem>: helper programs to maintain Debian packages with Subversion." msgstr "<systemitem role=\"package\">svn-buildpackage</systemitem>:DebianパッケージSubversionで管理するための支援プログラムです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<systemitem role=\"package\">cvs-buildpackage</systemitem>: A set of Debian package scripts for CVS source trees." msgstr "<systemitem role=\"package\">cvs-buildpackage</systemitem>: CVSソースツリーのためのスクリプト群をDebianパッケージにしたものです。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Here are few web resources available for advanced audiences." msgstr "上級者のみなさんのためになるウェブ上で閲覧できる資料です。" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&git-buildpackage-doc;\">Building Debian Packages with git-buildpackage</ulink>" msgstr "<ulink url=\"&git-buildpackage-doc;\">Building Debian Packages with git-buildpackage</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" msgstr "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgstr "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian packaging</ulink>" msgstr "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian packaging</ulink>" #. type: Content of: <book><chapter><section><para> msgid "There are packages which <emphasis>automate</emphasis> building of packages under VCS managed source tree for advanced audiences. I will not explain them in this tutorial. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "上級者向けに VCS で管理されたソースツリーから直接パッケージをビルドするのを<emphasis>自動化</emphasis>するパッケージがあります。このチュートリアルでは説明しません。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "Quick rebuild" msgstr "部分的な再構築" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Environment variables which are normally configured to proper values are not set by this method. Never create real packages to be uploaded using this <emphasis role=\"strong\">quick</emphasis> method." msgstr "その場合は、通常だと正しく設定される環境変数は設定されません。アップロード用のパッケージはこの<emphasis role=\"strong\">簡易</emphasis>メソッドで生成しないでください。" #. type: Content of: <book><chapter><section><para> msgid "With a large package, you may not want to rebuild from scratch every time while you tune details in <filename>debian/rules</filename>. For testing purposes, you can make a <filename>.deb</filename> file without rebuilding the upstream sources like this <placeholder type=\"footnote\" id=\"0\"/>:" msgstr "大規模なパッケージの場合には、<filename>debian/rules</filename>をちょっといじるたびに、毎回最初からパッケージの再構築をやりなおすのは手間です。テスト目的であれば、以下の方法で上流(upstream)ソースを再構築をせずに<filename>.deb</filename> ファイルを生成することができます。 <placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules binary\n" msgstr "$ fakeroot debian/rules binary\n" #. type: Content of: <book><chapter><section><para> msgid "Or, simply as following to see if it build or not." msgstr "また、以下の方法を使えば生成可能かどうかをチェックすることができます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules build\n" msgstr "$ fakeroot debian/rules build\n" #. type: Content of: <book><chapter><section><para> msgid "Once you are finished with your tuning, remember to rebuild following the proper procedure. You may not be able to upload correctly if you try to upload <filename>.deb</filename> files built this way." msgstr "最終的にきちんとテストが完了したら、正しい手順に従ってパッケージを最初から再構築することを忘れないでください。この方法でビルドした <filename>.deb</filename> ファイルをアップロードしようとしても、おそらくうまくアップロードできないでしょう。" #. type: Content of: <book><chapter><title> msgid "Checking the package for errors" msgstr "パッケージのエラーの検証" #. type: Content of: <book><chapter><para> msgid "There are few chores you should know to check the package for errors by yourself before uploading packages to public archives." msgstr "ここでは, 公式アーカイブにパッケージをアップロードする前に、作成したパッケージのエラーをあなた自身で確認するために知っておかなければならない方法について、幾つか述べます。" #. type: Content of: <book><chapter><para> msgid "Testing on machine other than your own is also good idea. You must watch closely for any warnings or errors for all the test described here." msgstr "あなたのマシン以外でのテストもまた良いアイデアです。以下に述べるすべてのテストにおける、どんな警告とエラーについてでもしっかりと確認しておかなければなりません。" #. type: Content of: <book><chapter><section><title> msgid "Verifying package for install" msgstr "インストールに対するパッケージの検証" #. type: Content of: <book><chapter><section><para> msgid "You must test your package if it installs without problem. The <citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command helps you to test to install all the generated binary packages." msgstr "あなたのパッケージが問題なくインストールできるかどうかをテストしなければなりません。<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> コマンドはあなたが作成した全てのバイナリパッケージのインストールテストに役立ちます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n" msgstr "$ sudo debi gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "You have to make sure that there are no overlapped files with other existing packages using the <filename>Contents-<replaceable>i386</replaceable></filename> file downloaded from the Debian archive to prevent installation problem on different systems. The <command>apt-file</command> command may be handy for this task. If there are overlapped files, please take actions to avoid the real problem using the alternatives mechanism (see <citerefentry> <refentrytitle>update-alternatives</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) by coordinating with other affected packages or by setting the <literal>Conflicts</literal> entry in the <filename>debian/control</filename> file." msgstr "別のシステムでインストール時に問題が起きるのを防ぐために、Debian アーカイブよりダウンロードした <filename>Contents-<replaceable>i386</replaceable></filename> ファイルを用いて、他の既存のパッケージと重複するファイルがないことを確認しておかなければなりません。<command>apt-file</command> コマンドはこの作業において恐らく役に立つでしょう。重複するファイルが存在するならば、実際に問題になることを回避するために alternatives (<citerefentry> <refentrytitle>update-alternatives</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 参照)を用いて他の影響のあるパッケージと調整するか、<filename>debian/control</filename>に <literal>Conflicts</literal> エントリを追加して下さい。" #. type: Content of: <book><chapter><section><title> msgid "Verifying package for <emphasis>maintainer scripts</emphasis>" msgstr "パッケージの<emphasis>メンテナスクリプト</emphasis>の検証" #. type: Content of: <book><chapter><section><para> msgid "All <emphasis>maintainer scripts</emphasis>, i.e., <filename>preinst</filename>, <filename>prerm</filename>, <filename>postinst</filename>, and <filename>postrm</filename> files, are non-trivial unless they are auto-generated by the <systemitem role=\"package\">debhelper</systemitem> programs. So do not use them if you are a novice maintainer (see <xref linkend=\"maintscripts\"/> )." msgstr "全ての<emphasis>メンテナスクリプト</emphasis>、すなわち <filename>preinst</filename>、<filename>prerm</filename>、<filename>postinst</filename> そして <filename>postrm</filename> ファイルは、それが <systemitem role=\"package\">debhelper</systemitem>プログラムで自動生成されたのでない場合は、非常に重要です。あなたが新米メンテナならばこれらは使わないで下さい(<xref linkend=\"maintscripts\"/> を参照して下さい)。" #. type: Content of: <book><chapter><section><para> msgid "If the package makes use of these non-trivial <emphasis>maintainer scripts</emphasis>, be sure to test not only for install but also for remove, purge, and upgrade. Many <emphasis>maintainer script</emphasis> bugs show up when packages are removed or purged. Use the <command>dpkg</command> command as follows to test them." msgstr "パッケージがこれらの重要な<emphasis>メンテナスクリプト</emphasis>を使用するならば、インストールだけではなく、削除、完全削除 (purge)、そしてアップグレードについてもテストしておかなければなりません。多くの<emphasis>メンテナスクリプト</emphasis>のバグは削除もしくは完全削除の場合に発生します。これらのテストのためには、以下の様に <command>dpkg</command> コマンドを実行します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" msgstr "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" #. type: Content of: <book><chapter><section><para> msgid "This should be done with sequences such as the following." msgstr "以下のような順番で実行すべきでしょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the previous version (if needed)." msgstr "(可能な場合は)前回バージョンをインストールします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "upgrade it from the previous version." msgstr "旧バージョンからアップグレードします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "downgrade it back to the previous version (optional)." msgstr "旧バージョンになるよう、ダウングレードします (オプション)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "purge it." msgstr "完全削除 (purge) します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the new package." msgstr "新しいパッケージとしてインストールします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "remove it." msgstr "削除します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install it again." msgstr "もう一度インストールします。" #. type: Content of: <book><chapter><section><para> msgid "If this is your first package, you should create dummy packages with different versions to test your package in advance to prevent future problems." msgstr "これが最初に作成したパッケージならば、将来発生するかもしれない問題を防ぐために、異なるバージョンのダミーパッケージを作成すべきです。" #. type: Content of: <book><chapter><section><para> msgid "Bear in mind that if your package has previously been released in Debian, people will often be upgrading to your package from the version that was in the last Debian release. Remember to test upgrades from that version too." msgstr "あなたのパッケージが過去の Debian にてリリースされていた場合には、人々は大抵最新の Debian のリリース版に含まれているバージョンからパッケージのアップグレードをするであろう、ということに配慮しましょう。上記の手順で、そのバージョンからきちんとアップグレードできることを、忘れずに確認しておいてください。" #. type: Content of: <book><chapter><section><para> msgid "Although downgrade is not officially supported, it should be nice to support it." msgstr "ダウングレードは公式にはサポートされていませんが、これをサポートしておいてくれると素敵ですね。" #. type: Content of: <book><chapter><section><title> msgid "<systemitem role=\"package\">lintian</systemitem> package" msgstr "<systemitem role=\"package\">lintian</systemitem> パッケージ" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "You do not need to provide the <command>lintian</command> option <literal>-i -I --show-overrides</literal> if you customized <filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</filename> as described in <xref linkend=\"debuild\"/> ." msgstr "<filename>/etc/devscripts.conf</filename> や <filename>~/.devscripts</filename> において <xref linkend=\"debuild\"/> で述べた設定をしている場合には、<command>lintian</command> に <literal>-i -I --show-overrides</literal> オプションを指定する必要はありません。" #. type: Content of: <book><chapter><section><para> msgid "Run <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> on your <filename>.changes</filename> file. The <command>lintian</command> command runs many test scripts to check for many common packaging errors. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> を <filename>.changes</filename> に対して実行しましょう。<command>lintian</command> コマンドはパッケージ作成時のよくある間違いをチェックするために多くのテストスクリプトを実行します。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" msgstr "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "Of course, replace the filename with the name of the <filename>.changes</filename> file generated for your package. The output of the <command>lintian</command> command are marked as follows." msgstr "もちろん、<filename>.changes</filename> のファイル名はあなたが作成したパッケージに置き換えて下さい。<command>lintian</command> コマンドの出力は以下のようにマークされています。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>E:</literal> for error; a sure policy violation or a packaging error." msgstr "<literal>E:</literal> はエラーです。 確実にポリシー違反もしくはパッケージエラーです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>W:</literal> for warning; a possible policy violation or a packaging error." msgstr "<literal>W:</literal> は警告です。 ポリシー違反もしくはパッケージエラーである可能性があります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>I:</literal> for info; a information on certain packaging aspects." msgstr "<literal>I:</literal> は参考情報です。パッケージのとある性質について参考となる情報を提供します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>N:</literal> for note; a detailed message to help your debugging." msgstr "<literal>N:</literal> は覚書です。 デバッグに有用な情報を詳述します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>O:</literal> for overridden; a message overridden by the <filename>lintian-overrides</filename> files but displayed by the <literal>--show-overrides</literal> option." msgstr "<literal>O:</literal> は上書きの通知です。 <filename>lintian-overrides</filename> ファイルによりメッセージが上書きされたメッセージです。これは <literal>--show-overrides</literal> オプションを指定した際に表示されます。" #. type: Content of: <book><chapter><section><para> msgid "For warnings, tune the package to avoid them or verify that the warnings are spurious. If spurious, set the <filename>lintian-overrides</filename> files as described in <xref linkend=\"lintian\"/> ." msgstr "警告が出た場合には、パッケージを調整するか、その警告が不当であることを確認するして下さい。もし警告が不当である場合には <xref linkend=\"lintian\"/> で述べた <filename>lintian-overrides</filename> を作成して下さい。" #. type: Content of: <book><chapter><section><para> msgid "Note that you can build the package with <command>dpkg-buildpackage</command> and run <command>lintian</command> on it in one command with <citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or with <citerefentry> <refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "<command>dpkg-buildpackage</command> によるパッケージの生成と <command>lintian</command> の実行は、<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> コマンド、もしくは <citerefentry> <refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> コマンドを用いて一度に実行することができます。" #. type: Content of: <book><chapter><section><title> msgid "<command>debc</command> command" msgstr "<command>debc</command> コマンド" #. type: Content of: <book><chapter><section><para> msgid "You can list files in the binary Debian package by <citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command." msgstr "<citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> コマンドを用いるとバイナリパッケージに含まれるファイルの一覧が得られます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debc <replaceable>package</replaceable>.changes\n" msgstr "$ debc <replaceable>package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><title> msgid "<command>debdiff</command> command" msgstr "<command>debdiff</command> コマンド" #. type: Content of: <book><chapter><section><para> msgid "You can compare file contents in two source Debian packages with the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command." msgstr "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> コマンドを用いると、二つのソースパッケージに含まれているファイルを比較することができます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "You can also compare file lists in two sets of binary Debian packages with the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command." msgstr "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> コマンドは二つのバイナリパッケージに含まれるファイルの一覧を比較することもできます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "These are useful to identify what has been changed in the source packages, if no files have been unintentionally misplaced or removed in the binary packages, and if no other inadvertent changes were made when updating binary packages." msgstr "これらのコマンドは、ソースパッケージ中でどんな変更をしたのか、バイナリパッケージの中で意図せず削除したり配置を間違えたりしていないか、そしてバイナリパッケージの更新時に不用意な変更をしていないかどうか, といった事柄を確認するのに便利です。" #. type: Content of: <book><chapter><section><title> msgid "<command>interdiff</command> command" msgstr "<command>interdiff</command> コマンド" #. type: Content of: <book><chapter><section><para> msgid "You can compare two <filename>diff.gz</filename> files with the <citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command. This is useful for verifying that no inadvertent changes were made to the source by the maintainer when updating packages in the old <literal>1.0</literal> source format." msgstr "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> コマンドを用いると、二つの <filename>.diff.gz</filename> ファイルを比較することができます。旧来の <literal>1.0</literal> ソース形式でパッケージを更新している場合には、メンテナがソースに意図しない変更をしていないことを確認するのに便利です。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" msgstr "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" #. type: Content of: <book><chapter><section><para> msgid "The new <literal>3.0</literal> source format stores changes in multiple patch files as described in <xref linkend=\"patches\"/>. You can trace changes of each <filename>debian/patches/*</filename> file using <command>interdiff</command>, too." msgstr "新規の <literal>3.0</literal> ソースフォーマットは <xref linkend=\"patches\"/> で説明したように複数のパッチファイル中に変更を保存します。各々の <filename>debian/patches/*</filename> ファイルの変化も <command>interdiff</command> を使って追いかけられます。" #. type: Content of: <book><chapter><section><title> msgid "<command>mc</command> command" msgstr "<command>mc</command> コマンド" #. type: Content of: <book><chapter><section><para> msgid "Many of these file inspection operations can be made into an intuitive process by using a file manager like <citerefentry> <refentrytitle>mc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> which will let you browse not only the contents of <filename>*.deb</filename> package files but also <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, <filename>*.diff.gz</filename>, and <filename>*.orig.tar.gz</filename> files." msgstr "<citerefentry> <refentrytitle>mc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> の様に、<filename>*.deb</filename>パッケージファイルだけではなく、<filename>*.udev</filename>, <filename>*.debian.tar.gz</filename>, <filename>*.diff.gz</filename>, <filename>*.orig.tar.gz</filename> の中身を閲覧することができるファイルマネージャを用いると、多くのファイルの検査が直感的に行なえます。" #. type: Content of: <book><chapter><section><para> msgid "Be on the lookout for extra unneeded files or zero length files, both in the binary and source package. Often cruft doesn't get cleaned up properly; adjust your <filename>rules</filename> file to compensate for that." msgstr "不要なファイルや長さゼロのファイルがバイナリパッケージとソースパッケージに含まれていないことを確認して下さい。 大抵は、これらの不要なファイルは正しく削除されずに残ってしまっています。<filename>rules</filename> を調整しこれを補正して下さい。" #. type: Content of: <book><chapter><title> msgid "Uploading the package" msgstr "パッケージをアップロードする" #. type: Content of: <book><chapter><para> msgid "Now that you have tested your new package thoroughly, you want to release it to a public archive to share it." msgstr "あなたの新しいパッケージは徹底的にテストできたので、あなたはそれを共有すべく公開アーカイブにリリースしたいでしょう。" #. type: Content of: <book><chapter><section><title> msgid "Uploading to the Debian archive" msgstr "Debian アーカイブへアップロードする" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <xref linkend=\"debiandeveloper\"/>." msgstr "<xref linkend=\"debiandeveloper\"/>を参照下さい。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "There are publically accessible archives such as <ulink url=\"&mentors-dn;\"/> which work almost the same way as Debian archive and provide upload area for the non-DD. You can set up an equivqlent archive by yourself using tools listed at <ulink url=\"&deb-archive;\"/>. So this section is useful for the non-DD, too." msgstr "Debian アーカイブとほぼ同様に機能し、非-DDに対してアップロードエリアを提供する <ulink url=\"&mentors-dn;\"/> のような公開アーカイブがあります。<ulink url=\"&deb-archive;\"/> に列記されているツールを使い自分自身で同様のアーカイブを設定することも出来ます。だからこのセクションは非-DD にも有用です。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "The <systemitem role=\"package\">dput</systemitem> package seems to come with more features and becoming more popular than the <systemitem role=\"package\">dupload</systemitem> package. It uses the <filename>/etc/dput</filename> file for the global configuration and the <filename>~/.dput.cf</filename> file for the per-user one. It supports Ubuntu related services out-of-box, too." msgstr "<systemitem role=\"package\">dput</systemitem> パッケージは、より多くのフィーチャーがあり <systemitem role=\"package\">dupload</systemitem> パッケージより人気が出てきています。それは、<filename>/etc/dput</filename> ファイルをグローバル設定に用い、 <filename>~/.dput.cf</filename> ファイルをユーザー毎の設定に用います。更にそれは、そのままUbuntu関連のサービスもサポートします。" #. type: Content of: <book><chapter><section><para> msgid "Once you become an official developer, <placeholder type=\"footnote\" id=\"0\"/> you can upload the package to the Debian archive. <placeholder type=\"footnote\" id=\"1\"/> You can do this manually, but it's easier to use the existing automated tools, like <citerefentry> <refentrytitle>dupload</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> <refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. We'll describe how it's done with <command>dupload</command>. <placeholder type=\"footnote\" id=\"2\"/>" msgstr "正規デベロッパー<placeholder type=\"footnote\" id=\"0\"/>になると、パッケージを Debian アーカイブにアップロードできます。<placeholder type=\"footnote\" id=\"1\"/> 手動でもできますが、 <citerefentry> <refentrytitle>dupload</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> や <citerefentry> <refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 等の既存の自動化ツールを用いる方が楽です。ここでは <command>dupload</command> を使ってどうするかを説明します。<placeholder type=\"footnote\" id=\"2\"/>" #. type: Content of: <book><chapter><section><para> msgid "First you have to set up <command>dupload</command>'s config file. You can either edit the system-wide <filename>/etc/dupload.conf</filename> file, or have your own <filename>~/.dupload.conf</filename> file override the few things you want to change." msgstr "まず <command>dupload</command> の設定ファイルを調整しなければいけません。 システム全体の設定ファイルである <filename>/etc/dupload.conf</filename> を編集するか、あるいはあなた専用の設定ファイルである <filename>~/.dupload.conf</filename> を使って変更したい項目だけをオーバーライドさせてもかまいません。" #. type: Content of: <book><chapter><section><para> msgid "You can read the <citerefentry> <refentrytitle>dupload.conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry> manual page to understand what each of these options means." msgstr "またそれぞれのオプションが持つ意味を理解するため <citerefentry> <refentrytitle>dupload.conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry> マニュアルページを読むことができます。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. 'Uploading a package'</ulink>." msgstr "<ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. 'Uploading a package'</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "The <literal>$default_host</literal> option determines which of the upload queues will be used by default. <literal>anonymous-ftp-master</literal> is the primary one, but it's possible that you will want to use another one. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<literal>$default_host</literal> オプションはデフォルトで利用されるアップロードキューを指定します。<literal>anonymous-ftp-master</literal>がメインのアップロードキューですが、別のアップロードキューを利用したいこともあるでしょう。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "While connected to the Internet, you can upload your package by the following:" msgstr "インターネットにつながった状態で、以下のようにすればあなたのパッケージをアップロード出来ます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dupload gentoo_0.9.12-1_i386.changes\n" msgstr "$ dupload gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "<command>dupload</command> checks that the MD5/SHA1/SHA256 checksums of the files match those from the <filename>.changes</filename> file. If they do not match, it will warn you to rebuild it as described in <xref linkend=\"completebuild\"/> so it can be properly uploaded." msgstr "<command>dupload</command> は各ファイルの MD5/SHA1/SHA256 チェックサムを計算し、 <filename>.changes</filename> ファイルの中の情報と照合します。 もしそれらが一致しない場合には、適正にアップロードされるように<xref linkend=\"completebuild\"/> の説明に従って最初から再構築をするよう警告します。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <ulink url=\"&uploadqueue-readme;\"/>. Alternatively, you may use <command>dcut</command> command from the <systemitem role=\"package\">dput</systemitem> package." msgstr "<ulink url=\"&uploadqueue;README\">&uploadqueue;README</ulink> を参照下さい。<systemitem role=\"package\">dput</systemitem> パッケージ中にある <command>dcut</command> コマンドをこれに代わる方法として用いることもできます。" #. type: Content of: <book><chapter><section><para> msgid "If you encounter an upload problem at <ulink url=\"&uploadqueue;\"/>, you can fix this by manually uploading GPG signed <filename>*.commands</filename> file to there with <command>ftp</command>. <placeholder type=\"footnote\" id=\"0\"/> For example, use <filename>hello.commands</filename>:" msgstr "<ulink url=\"&uploadqueue;\">&uploadqueue;</ulink>へのアップロードで問題があった場合には、GPG サインした <filename>*.commands</filename> ファイルを <command>ftp</command> を用いて<command>ftp</command>で手動アップロードすることで修正出来ます。 <placeholder type=\"footnote\" id=\"0\"/> 例えば、<filename>hello.commands</filename> を使います:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: 2.6.3ia\n" "iQCVAwUBNFiQSXVhJ0HiWnvJAQG58AP+IDJVeSWmDvzMUphScg1EK0mvChgnuD7h\n" "BRiVQubXkB2DphLJW5UUSRnjw1iuFcYwH/lFpNpl7XP95LkLX3iFza9qItw4k2/q\n" "tvylZkmIA9jxCyv/YB6zZCbHmbvUnL473eLRoxlnYZd3JFaCZMJ86B0Ph4GFNPAf\n" "Z4jxNrgh7Bc=\n" "=pH94\n" "-----END PGP SIGNATURE-----\n" msgstr "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: 2.6.3ia\n" "iQCVAwUBNFiQSXVhJ0HiWnvJAQG58AP+IDJVeSWmDvzMUphScg1EK0mvChgnuD7h\n" "BRiVQubXkB2DphLJW5UUSRnjw1iuFcYwH/lFpNpl7XP95LkLX3iFza9qItw4k2/q\n" "tvylZkmIA9jxCyv/YB6zZCbHmbvUnL473eLRoxlnYZd3JFaCZMJ86B0Ph4GFNPAf\n" "Z4jxNrgh7Bc=\n" "=pH94\n" "-----END PGP SIGNATURE-----\n" #. type: Content of: <book><chapter><section><title> msgid "Skipped uploads" msgstr "スキップされたアップロード" #. type: Content of: <book><chapter><section><para> msgid "If you created multiple entries in <filename>debian/changelog</filename> by skipping uploads, you must create a proper <filename>*_.changes</filename> file which includes all changes from the last upload." msgstr "アップロードをスキップすることで <filename>debian/changelog</filename> 中に複数のエントリーを作成した場合は、前回アップロード以来の全ての変更を含む適切な <filename>*_.changes</filename> ファイルを作成しなければいけません。" #. type: Content of: <book><chapter><section><para> msgid "This can be done by specifying <literal>-v</literal> option to the package building programs such as <command>dpkg-buildpackage</command>, <command>debuild</command>, <command>pdebuild</command>, etc." msgstr "<command>dpkg-buildpackage</command> や <command>debuild</command> や <command>pdebuild</command> 等のパッケージ作成プログラムに <literal>-v</literal> オプションを指定することで出来ます。" #. type: Content of: <book><chapter><title> msgid "Updating the package" msgstr "パッケージの更新" #. type: Content of: <book><chapter><para> msgid "Once you release a package, you need to update it soon." msgstr "パッケージをリリースしたなら、間もなくそれを更新する必要があります。" #. type: Content of: <book><chapter><section><title> msgid "New Debian revision" msgstr "Debian リビジョンの更新" #. type: Content of: <book><chapter><section><para> msgid "Let's say that a bug report was filed against your package as <literal>#54321</literal>, and it describes a problem that you can solve. To create a new Debian revision of the package, you need to:" msgstr "例えば仮に、<literal>#54321</literal> という番号のバグレポートがあなたのパッケージ に対してファイルされ、解決可能な問題が記述されていたとしましょう。 パッケージの新しい Debian リビジョンを作成するには、以下を実行する 必要があります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to be recorded as a new patch, do the following." msgstr "もしこれが新規のパッチとして記録される場合には、以下のようにします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> to set patch name;" msgstr "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> としてパッチ名を設定します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> to declare file to be modified;" msgstr "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> として変更されるファイルを宣言します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Correct the problem in the package source for the upstream bug;" msgstr "アップストリームバグに関してパッケージソース中の問題を修正します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt refresh</literal> to record to <filename><replaceable>bugname.patch</replaceable></filename>;" msgstr "<literal>dquilt refresh</literal> として <filename><replaceable>bugname.patch</replaceable></filename> に記録します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to add its description;" msgstr "<literal>dquilt header -e</literal> としてその内容記述を追加します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to update an existing patch, do the following." msgstr "もし既存のパッチをアップデートする場合には、以下のようにします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> to recall existing <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> として既存の <filename><replaceable>foo.patch</replaceable></filename> を呼び出します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Correct the problem in the old <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "古い <filename><replaceable>foo.patch</replaceable></filename> 中の問題を修正します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt refresh</literal> to update <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "<literal>dquilt refresh</literal> として <filename><replaceable>foo.patch</replaceable></filename> を更新します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to update its description;" msgstr "<literal>dquilt header -e</literal> としてその内容記述を更新します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all patches while removing <emphasis>fuzz</emphasis>;" msgstr "<literal>while dquilt push; do dquilt refresh; done</literal> として <emphasis>fuzz</emphasis> を削除しながら全てのパッチを適用します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "To get the date in the required format, use <literal>LANG=C date -R</literal>." msgstr "日付を要求されるフォーマットで入力するには、<literal>LANG=C date -R</literal>を使います。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Add a new revision at the top of the Debian <filename>changelog</filename> file, for example with <literal>dch -i</literal>, or explicitly with <literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</replaceable></literal> and then insert the comments using your preferred editor. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "次に Debian <filename>changelog</filename> ファイルの先頭に新しいリビジョンを 追加します。例えば「<literal>dch -i</literal>」を実行するか、またはバージョンを 明示したい場合なら「<literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</replaceable></literal>」 を実行してあなたの好きなエディタで説明を記入すると楽にできます。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Include a short description of the bug and the solution in the changelog entry, followed by <literal>Closes: #54321</literal>. That way, the bug report will be <emphasis>automagically</emphasis> closed by the archive maintenance software the moment your package gets accepted in the Debian archive." msgstr "changelog の説明行に、このリビジョンで解決されたバグと、 その解決方法についての簡単な説明を記載し、 「<literal>Closes: #54321</literal>」と続けておきます。 これによってあなたのパッケージが Debian アーカイブ中に受け入れられた時、 アーカイブ管理ソフトウェアによって該当するバグレポート (今回の場合は #54321) が<emphasis>自動的</emphasis>に閉じられます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Repeat what you did in the above to fix more bugs while updating the Debian <filename>changelog</filename> file with <literal>dch</literal> as needed." msgstr "上記であなたがしたことを繰り返し、必要に応じて Debian <filename>changelog</filename> ファイルを <literal>dch</literal> で更新しながら、更なるバグ修正を行います。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Repeat what you did in <xref linkend=\"completebuild\"/> , <xref linkend=\"checkit\"/> , and <xref linkend=\"upload\"/> . The difference is that this time, the original source archive won't be included, as it hasn't been changed and it already exists in the Debian archive." msgstr "これまで <xref linkend=\"completebuild\"/> 、<xref linkend=\"checkit\"/> 、 <xref linkend=\"upload\"/> の中で実行してきたことを再度繰り返します。 今までと違うのは、今回の場合オリジナルソースアーカイブには 変更が無く、同じものが既に Debian アーカイブ中に存在しているため、 upload するファイルにはこのファイルが含まれないという点だけです。" #. type: Content of: <book><chapter><section><title> msgid "Inspection of the new upstream release" msgstr "新規のアップストリームリリースの検査" #. type: Content of: <book><chapter><section><para> msgid "When preparing packages of the new upstream release for the Debian archive, you must check the new upstream release, first." msgstr "Debian アーカイブ用の新しい上流リリースパッケージの準備ができたら、まず、上流リリースをチェックしなければなりません。" #. type: Content of: <book><chapter><section><para> msgid "You start this by reading the upstream <filename>changelog</filename>, <filename>NEWS</filename>, and whatever other documentations they may have released with the new version." msgstr "上流の <filename>changelog</filename> や <filename>NEWS</filename>、その他新しいバージョンでリリースされたドキュメントを読むことから始めてください" #. type: Content of: <book><chapter><section><para> msgid "You then inspect changes between the old and new upstream sources as follow to watch out for anything suspicious." msgstr "以下のようにすれば新旧のアップストリームソース間の変更を検査を何かおかしな事が無いかに注意しつつできます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgstr "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "Changes to some auto-generated files by Autotools such as <filename>missing</filename>, <filename>aclocal.m4</filename>, <filename>config.guess</filename>, <filename>config.h.in</filename>, <filename>config.sub</filename>, <filename>configure</filename>, <filename>depcomp</filename>, <filename>install-sh</filename>, <filename>ltmain.sh</filename>, and <filename>Makefile.in</filename> may be ignored. You may erase them before running <command>diff</command> to the source for inspection." msgstr "<filename>missing</filename> や <filename>aclocal.m4</filename> や <filename>config.guess</filename> や <filename>config.h.in</filename> や <filename>config.sub</filename> や <filename>configure</filename> や <filename>depcomp</filename> や <filename>install-sh</filename> や <filename>ltmain.sh</filename> や <filename>Makefile.in</filename> 等の Autotools によって自動生成されるファイルへの変更は無視していい場合があります。ソースを検査するための <command>diff</command> を実行する前に消去してもいいです。" #. type: Content of: <book><chapter><section><title> msgid "New upstream release" msgstr "上流ソフトウェアの新版更新" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></systemitem> is packaged in the old <literal>1.0</literal> format, this can be done by running <literal>zcat /<replaceable>path</replaceable>/<replaceable>to</replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</literal> in the new extracted source, instead." msgstr "もしパッケージ <systemitem role=\"package\"><replaceable>foo</replaceable></systemitem> が旧 <literal>1.0</literal> フォーマットでパッケージされている場合は、新規に展開されたソース中で <literal>zcat /<replaceable>path</replaceable>/<replaceable>to</replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</literal> を実行すれば出来ます。" #. type: Content of: <book><chapter><section><para> msgid "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></systemitem> is properly packaged in the newer <literal>3.0 (native)</literal> or <literal>3.0 (quilt)</literal> formats, packaging a new upstream version is essentially moving the old <filename>debian</filename> directory to the new source. This can be done by running <literal>tar xvzf /<replaceable>path</replaceable>/<replaceable>to</replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian.tar.gz</literal> in the new extracted source. <placeholder type=\"footnote\" id=\"0\"/> Of course, you need to do few obvious chores." msgstr "もし <systemitem role=\"package\"><replaceable>foo</replaceable></systemitem> パッケージが新規の <literal>3.0 (native)</literal> や <literal>3.0 (quilt)</literal> フォーマットで適正にパッケージされていれば、新規のアップストリームバージョンをパッケージスリのは基本的に旧 <filename>debian</filename> ディレクトリを新規ソースへと移動するのみです。これは新規に展開されたソース中で <literal>tar xvzf /<replaceable>path</replaceable>/<replaceable>to</replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian.tar.gz</literal> を実行すれば出来ます。<placeholder type=\"footnote\" id=\"0\"/> もちろん当然するべき雑用をする必要があります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Create a copy of upstream source as the <filename>foo_<replaceable>newversion</replaceable>.tar.gz</filename> file." msgstr "アップストリームソースのコピーを <filename>foo_<replaceable>newversion</replaceable>.tar.gz</filename> ファイルとして作成します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Update the Debian <filename>changelog</filename> file with <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." msgstr "Debian の <filename>changelog</filename> ファイルを <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal> を使って更新します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Add an entry with <literal>New upstream release</literal>." msgstr "<literal>New upstream release</literal> という項目を追加します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Describe concisely the changes <emphasis>in the new upstream release</emphasis> that fix reported bugs and close those bugs by adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "報告のあったバグを修正する<emphasis>新規アップストリームリリース中の</emphasis>変更点に関して簡潔に記載しバグを <literal>Closes: #<replaceable>バグ番号</replaceable></literal> と追記してクローズします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Describe concisely the changes <emphasis>to the new upstream release</emphasis> by the maintainer that fix reported bugs and close those bugs by adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "報告のあったバグを修正する、メンテナによる<emphasis>新規アップストリームリリースへの</emphasis>の変更点に関して簡潔に記載しバグを <literal>Closes: #<replaceable>バグ番号</replaceable></literal> と追記しクローズします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all patches while removing <emphasis>fuzz</emphasis>." msgstr "<literal>while dquilt push; do dquilt refresh; done</literal> として <emphasis>fuzz</emphasis> を削除しながら全てのパッチを適用します。" #. type: Content of: <book><chapter><section><para> msgid "If the patch/merge did not apply cleanly, inspect the situation (clues are left in <filename>.rej</filename> files)." msgstr "もしパッチやマージがクリーンに適用できない場合は、状況を精査します (<filename>.rej</filename> ファイル中にヒントがあります)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If a patch you applied to the source was integrated to the upstream source," msgstr "もしソースにあなたが適用していたパッチがアップストリームソースに統合された場合は、" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt delete</literal> to remove it." msgstr "<literal>dquilt delete</literal> として削除します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If a patch you applied to the source conflicted with new changes in the upstream source," msgstr "もしソースにあなたが適用していたパッチが新規アップストリームソースとぶつかる場合は、" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt push -f</literal> to apply old patches while forcing rejects as <filename><replaceable>baz</replaceable>.rej</filename>." msgstr "<literal>dquilt push -f</literal> として <filename><replaceable>baz</replaceable>.rej</filename> としてリジェクトを強制しながら古いパッチを適用します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Edit the <filename><replaceable>baz</replaceable></filename> file manually to realize intended effect of <filename><replaceable>baz</replaceable>.rej</filename>." msgstr "<filename><replaceable>baz</replaceable>.rej</filename> の本来目指した効果を実現するように、<filename><replaceable>baz</replaceable></filename> ファイルを手動で編集します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt refresh</literal> to update the patch." msgstr "<literal>dquilt refresh</literal> としてパッチを更新します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Continue back to <literal>while dquilt push; do dquilt refresh; done</literal>." msgstr "<literal>while dquilt push; do dquilt refresh; done</literal> まで戻り継続します。" #. type: Content of: <book><chapter><section><para> msgid "This process can be automated using the <citerefentry> <refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command as follows:" msgstr "このプロセスは <citerefentry> <refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> コマンドを以下のように使うことで自動化できます:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" msgstr "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "If the <command>uscan</command> command downloads the updated source but it does not run the <command>uupdate</command> command, you should correct the <filename>debian/watch</filename> file to have <literal>debian uupdate</literal> at the end of the URL." msgstr "もし <command>uscan</command> コマンドが更新されたソースはダウンロードするが <command>uupdate</command> コマンドを実行しない場合には、URLの最後に <literal>debian uupdate</literal> となるように <filename>debian/watch</filename> ファイルを修正するべきです。" #. type: Content of: <book><chapter><section><para> msgid "If you set up a <filename>debian/watch</filename> file as described in <xref linkend=\"watch\"/> , you can skip the <command>wget</command> command. You simply run <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> in the <filename><replaceable>foo</replaceable>-<replaceable>oldversion</replaceable></filename> directory instead of the <command>uupdate</command> command. This will <emphasis>automagically</emphasis> look for the updated source, download it, and run the <command>uupdate</command> command. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<filename>debian/watch</filename> ファイルを<xref linkend=\"watch\"/> に記載されたように設定していれば、 <command>wget</command> コマンドをスキップすることが出来ます。<filename><replaceable>foo</replaceable>-<replaceable>oldversion</replaceable></filename> ディレクトリ中で <command>uupdate</command> コマンドを実行する代わりに、単に <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> コマンドを実行します。こうすると<emphasis>魔法のように</emphasis>更新されたソースを見つけ、それをダウンロードし、<command>uupdate</command> コマンドを実行します。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "You can release this updated source by repeating what you did in <xref linkend=\"completebuild\"/> , <xref linkend=\"checkit\"/> , and <xref linkend=\"upload\"/> ." msgstr "今まで <xref linkend=\"completebuild\"/> 、 <xref linkend=\"checkit\"/> 、<xref linkend=\"upload\"/> の中で実行してきたことを繰り返し、更新したソースをリリースできます。" #. type: Content of: <book><chapter><section><title> msgid "Updating the packaging style" msgstr "パッケージ化スタイルの更新" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "If your sponsor or other maintainers object to updating the existing packaging style, it is not worth bothering nor arguing. There are more important things to do." msgstr "もしあなたのスポンサーや他のメンテナが既存のパッケージスタイル更新に異存がある場合には、更新することもまたその議論することも意味がありません。他にするべきより重要なことがあります。" #. type: Content of: <book><chapter><section><para> msgid "Updating the package style is not a required activity for the update of a package. But, you can use the full capability of the modern <systemitem role=\"package\">debhelper</systemitem> system and the <literal>3.0</literal> source format by doing this. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "パッケージスタイルの 更新はパッケージ更新のために必須活動ではありません。しかし、こうすることで最新の <systemitem role=\"package\">debhelper</systemitem> システムと <literal>3.0</literal> ソースフォーマットの全能力を活用できます。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If you need to add erased template files for any reason, you may run <command>dh_make</command> again in the same Debian package source tree with <literal>--addmissing</literal> option. Then edit them properly." msgstr "もし何らかの理由で消去された雛形ファイルを追加する必要がある場合には、同一の Debian ソースツリーの中で <literal>--addmissing</literal> オプションとともに <command>dh_make</command> をもう一度実行してもいいです。そして、それらを適正に編集しましょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If the package has not updated to use the <systemitem role=\"package\">debhelper</systemitem> V7 <command>dh</command> syntax for the <filename>debian/rules</filename> file, update it to use <command>dh</command>. Update the <filename>debian/control</filename> file accordingly." msgstr "<filename>debian/rules</filename> ファイルに関して <systemitem role=\"package\">debhelper</systemitem> V7 <command>dh</command> シンタックスへとパッケージが更新されていない場合は <command>dh</command> を使うように更新しましょう。<filename>debian/control</filename> ファイルもそれに合わせて変更しましょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "In the <systemitem role=\"package\">cdbs</systemitem> (0.4.74) package, there are some negative descriptions of the <filename>rules</filename> file created by the <command>dh_make</command> command for the non-<systemitem role=\"package\">cdbs</systemitem> choices. Do not worry about it. It applies only for <literal>lenny</literal> which created explicit targets with long list of <command>dh_*</command> commands." msgstr "<systemitem role=\"package\">cdbs</systemitem> (0.4.74) パッケージ中に、 <systemitem role=\"package\">cdbs</systemitem>以外の選択をした際の <command>dh_make</command> コマンドにより生成される <filename>rules</filename> ファイルに関する否定的記述があります。心配無用です。それは <command>dh_*</command> コマンドの長いリストを明示的ターゲットとして生成した <literal>lenny</literal> にのみ当てはまります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If you want to update the <filename>rules</filename> file created with the <filename>Makefile</filename> inclusion mechanism of the Common Debian Build System (<systemitem role=\"package\">cdbs</systemitem>) to the <command>dh</command> syntax, see <ulink url=\"&cdbs-doc;\">cdbs-doc.pdf.gz</ulink> and understand its <literal>DEB_*</literal> configuration variables. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "Common Debian Build System (<systemitem role=\"package\">cdbs</systemitem>) という <filename>Makefile</filename> 包含メカニズムを使い作成された <filename>rules</filename> から <command>dh</command> シンタックスへと更新したい場合には、<ulink url=\"&cdbs-doc;\">cdbs-doc.pdf.gz</ulink> を参照し、その <literal>DEB_*</literal> 設定変数を理解しましょう。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If you have a <literal>1.0</literal> source package without the <filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can update it to the newer <literal>3.0 (native)</literal> source format by creating <filename>debian/source/format</filename> with <literal>3.0 (native)</literal>. The rest of <filename>debian/*</filename> files can be just copied." msgstr "<filename><replaceable>foo</replaceable>.diff.gz</filename> ファイル無しの <literal>1.0</literal> ソースパッケージの場合、<literal>3.0 (native)</literal> と言う内容の <filename>debian/source/format</filename> を作成することで新規の <literal>3.0 (native)</literal> ソースフォーマットに更新できます。残りの <filename>debian/*</filename> ファイルは単にコピーするだけです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "You may split <filename>big.diff</filename> into many small incremental patches using the <command>splitdiff</command> command." msgstr "<command>splitdiff</command> コマンドを用いると <filename>big.diff</filename> は多くの小さな増分パッチに分割できます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If you have a <literal>1.0</literal> source package with the <filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can update it to the newer <literal>3.0 (quilt)</literal> source format by creating <filename>debian/source/format</filename> with <literal>3.0 (quilt)</literal>. The rest of <filename>debian/*</filename> files can be just copied. Import the <filename>big.diff</filename> file generated by the <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</replaceable>.diff.gz > big.diff</literal> command to your <command>quilt</command> system, if needed. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "<filename><replaceable>foo</replaceable>.diff.gz</filename> ファイルありの <literal>1.0</literal> ソースパッケージの場合、<literal>3.0 (quilt)</literal> と言う内容の <filename>debian/source/format</filename> を作成することで新規の <literal>3.0 (quilt)</literal> ソースフォーマットに更新できます。残りの <filename>debian/*</filename> ファイルは単にコピーするだけです。必要な場合、<literal>filterdiff -z -x '*/debian/*' <replaceable>foo</replaceable>.diff.gz > big.diff</literal> コマンドにより生成される <filename>big.diff</filename> ファイルをあなたの <command>quilt</command> システムにインポートします。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If it was packaged with another patch system such as <systemitem role=\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with <literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, convert it to the <systemitem role=\"package\">quilt</systemitem> command using <filename>deb3</filename> at <ulink url=\"&deb3;\"/>." msgstr "<literal>-p0</literal> や <literal>-p1</literal> や <literal>-p2</literal> を使う <systemitem role=\"package\">dpatch</systemitem> や <systemitem role=\"package\">dbs</systemitem> や <systemitem role=\"package\">cdbs</systemitem> のような他のパッチシステムを用いてパッケージされ得ている場合には、<ulink url=\"&deb3;\">&deb3;</ulink>にある <filename>deb3</filename> を用いて <systemitem role=\"package\">quilt</systemitem> コマンドに変換します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If it was packaged with the <command>dh</command> command with the <literal>--with quilt</literal> option or with the <command>dh_quilt_patch</command> and <command>dh_quilt_unpatch</command> commands, remove such things and make it use the newer <literal>3.0 (native)</literal> source format." msgstr "もし <literal>--with quilt</literal> オプション付きの <command>dh</command> コマンドとか、<command>dh_quilt_patch</command> と <command>dh_quilt_unpatch</command> コマンドを用いてパッケージされている場合には、これらを削除し新規の <literal>3.0 (native)</literal> ソースフォーマットを使うようにします。" #. type: Content of: <book><chapter><section><para> msgid "You need to do other tasks described in <xref linkend=\"newupstream\"/> , too." msgstr "<xref linkend=\"newupstream\"/> に記載された他の作業も行う必要があります。" #. type: Content of: <book><chapter><section><title> msgid "Reminders for updating packages" msgstr "パッケージをアップグレードする際の注意点" #. type: Content of: <book><chapter><section><para> msgid "Here are few reminders for updating packages." msgstr "パッケージをアップグレードする際の注意点は以下です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Preserve old <filename>changelog</filename> entries (sounds obvious, but there have been incidents to type <literal>dch</literal> when you should have typed <literal>dch -i</literal>.)" msgstr "<filename>changelog</filename> の旧項目を保全します (自明ですが、<literal>dch -i</literal> とするべき時に <literal>dch</literal> とした過去事例があります。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Existing Debian changes need to be reevaluated; throw away stuff that upstream has incorporated (in one form or another) and remember to keep stuff that hasn't been incorporated by upstream, unless there is a compelling reason not to." msgstr "現存の Debian による変更は再評価する必要があります。(何らかの形で)アップストリームが組み込んだことは捨て、アップストリームが組み込まなかったことは残しましょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If any changes were made to the build system (hopefully you'd know from inspecting upstream changes) then update the <filename>debian/rules</filename> and <filename>debian/control</filename> build dependencies if necessary." msgstr "ビルドシステムに変更が加えられた場合には (アップストリームの変更を精査した際に分かっているはずですよね)、 必要に応じて <filename>debian/rules</filename> と <filename>debian/control</filename> のビルド依存関係を更新します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Check to see <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> if someone have provided patches to bugs that are currently open in it." msgstr "現存のバグへのパッチを誰かが提供していないかを、<ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink>で確認します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Check the contents of the <filename>.changes</filename> file to make sure you are uploading to the correct distribution, the proper bugs closures are listed in the <literal>Closes</literal> field, the <literal>Maintainer</literal> and <literal>Changed-By</literal> fields match, the file is GPG-signed, etc." msgstr "正しいディストリビューションへアップロードすること、 <literal>Closes</literal> フィールドに適切なバグのクローズがリストされていること、<literal>Maintainer</literal> と <literal>Changed-By</literal> フィールドがマッチしていること、ファイルが GPG-サインされていること等を確実にするように、<filename>.changes</filename> ファイルの内容を確認します。" #~ msgid "The <systemitem role=\"package\">gentoo</systemitem> package uses the <ulink url=\"&gnu-build-system;\">GNU build system</ulink>, also known as the Autotools." #~ msgstr "<systemitem role=\"package\">gentoo</systemitem>パッケージはAutotoolsとしても知られている <ulink url=\"&gnu-build-system;\">GNU build system</ulink> を使用します。" #~ msgid "The last feature you need to know about is <literal>${shlibs:Depends}</literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc. These entries are substituted by the list generated by other <systemitem role=\"package\">debhelper</systemitem> components when the <citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command is executed." #~ msgstr "もう1つ、知っておくべき機能があります。<literal>${shlibs:Depends}</literal>、<literal>${perl:Depends}</literal>、<literal>${misc:Depends}</literal>などです。上記のエントリーは<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>コマンドが実効されるとき、別の<systemitem role=\"package\">debhelper</systemitem>コンポーネントで生成されたリストで代用されます。"