[1168] | 1 | <?xml version="1.0"?> |
---|
| 2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" |
---|
| 3 | "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"[ |
---|
| 4 | <!ENTITY ml '<xref linkend="join-ml" endterm="mailing-list"/>'> |
---|
| 5 | <!ENTITY bts '<ulink url="http://bts.vinelinux.org/">BTS</ulink>'> |
---|
| 6 | ]> |
---|
| 7 | |
---|
| 8 | <book id="developers-guide" lang="ja"> |
---|
| 9 | <bookinfo> |
---|
| 10 | <title>Vine Linux開発者ガイド</title> |
---|
| 11 | <copyright> |
---|
| 12 | <year>2010</year> |
---|
| 13 | <holder>Project Vine</holder> |
---|
| 14 | </copyright> |
---|
| 15 | <!-- &legal; --> |
---|
| 16 | <abstract> |
---|
[1281] | 17 | <para>Vine Linux の開発にはだれでも自由に参加することができ、必要とする人が必要とするものを作り上げる自由なオペレーティングシステムです。</para> |
---|
[2007] | 18 | <para>Vine Linux 開発者になるには特別なスキルが必要なわけではありません。Vine Linux に要望を持つ人、私家版パッケージを作っている人、設定に戸惑った経験を Blog にしている人なども歓迎します。是非、我々と一緒にVine Linuxを作り上げましょう!</para> |
---|
[1281] | 19 | <para>このガイドでは、Vine Linuxの開発への参加方法と開発において注意すべき事項について説明します。</para> |
---|
[1168] | 20 | </abstract> |
---|
| 21 | </bookinfo> |
---|
| 22 | |
---|
| 23 | <chapter id="developer-category"> |
---|
| 24 | <title>Vine Linux開発への参加形態</title> |
---|
| 25 | <para>この章では、Vine Linux開発への参加形態について説明します。とりあえず、興味のない参加形態については、読み飛ばしても差し支えありません。</para> |
---|
| 26 | <para>今後、開発を進めるに従って他の開発者とも関わりを持つことになるでしょう。その際に相手がどのような事をしているのか知っていると話が通じやすくなる場合もあります。読み飛ばした参加形態については、Vine Linux開発の雰囲気になれて余裕が出てきた頃に読んでみると良いでしょう。</para> |
---|
| 27 | <sect1 id="tester"> |
---|
[1303] | 28 | <title>パッケージのテスト</title> |
---|
[1168] | 29 | <para>Vine Linuxでは、各種アプリケーションをRPMパッケージ(以降、パッケージと呼ぶ)として提供しています。これらパッケージをテストし、<ulink url="http://bts.vinelinux.org/">バグトラッキングシステム</ulink>(以降、BTSと呼ぶ)を利用して問題を報告する事でVine Linuxの品質向上に貢献します。</para> |
---|
| 30 | <para>パッケージのテストでは、インストールの可否やアプリケーションの起動の可否はもちろんのこと、一通りアプリケーションの機能を試して問題がないか確認します。一つの機能に対して複数の実行方法<footnote><para>メニューから実行する場合とショートカットキーにより実行する場合など</para></footnote>が用意されている場合は、全ての実行方法を試してください。テストするパッケージがライブラリのように直接実行する事ができないパッケージについては、そのパッケージを必要とするアプリケーションをテストします。</para> |
---|
| 31 | <para>テストの結果、予期しない動作(バグ)を発見した場合は、その動作を再現できるか確かめた上、<ulink url="http://bts.vinelinux.org/guest.cgi?project=VineLinux&action=top">Vine Linux BTS</ulink>で新規レポートを作成します。</para> |
---|
| 32 | <note> |
---|
| 33 | <title>新規レポートを投稿する場合はユーザ名とパスワードが必要です</title> |
---|
| 34 | <para>スパム防止のため、新規レポートを投稿する場合はゲストユーザであってもユーザ名とパスワードによる認証が必要となっています。</para> |
---|
| 35 | <para>ゲストユーザとして投稿する場合は、ユーザ名にguest、パスワードにvinelinuxと入力して認証してください。</para> |
---|
[2007] | 36 | <para>後述する<xref linkend="account" />でアカウントを登録した場合は、<ulink url="http://bts.vinelinux.org/user.cgi">ログイン</ulink>にアクセスし、登録したユーザ名とパスワードで認証してください。</para> |
---|
[1168] | 37 | </note> |
---|
| 38 | <para>新規レポート作成にあたっては、パッケージ作成者がバグを確実に再現できる様、できるだけ詳細に記述してください。</para> |
---|
| 39 | <para>なお、正式なパッケージとして登録する前にパッケージ作成者以外にテストを行ってもらうパッケージを登録するリポジトリが用意されています。リリース済みVine Linux用のproposed-updatesや開発版VineSeed用のtestです。これらのリポジトリにパッケージが登録された場合、<xref linkend="join-ml" />で紹介するメーリングリストに投稿されますのでテストへの協力をお願いします。</para> |
---|
| 40 | <para>パッケージのテストに参加したい場合は、<xref linkend="joinus" />と<xref linkend="support-period" />及び<xref linkend="package-component" />を読んでおいてください。</para> |
---|
| 41 | </sect1> |
---|
| 42 | <sect1 id="packager"> |
---|
| 43 | <title>パッケージの作成・更新</title> |
---|
| 44 | <para>Vine Linuxで採用しているアプリケーションの多くは、オープンソースソフトウェアやフリーソフトウェアなどと呼ばれ、コンパイルの必要があるソースファイルのまま配布されています。コンパイル済みのバイナリパッケージが配布されている場合でもメジャーなディストリビューション向けに調整されており、そのまま使えない事が多々あります。</para> |
---|
| 45 | <para>Vine Linuxでは、エンドユーザが簡単にインストールして使えるようにパッケージャと呼ばれる開発者が依存関係等を解決した上、コンパイルしたものをRPMパッケージと呼ばれる形式にしてaptリポジトリに登録します。エンドユーザは、apt-getコマンドやSynapticなどを利用して使いたいパッケージのインストールを要求すれば、そのパッケージに必要とされるパッケージも同時にインストールする事ができます。</para> |
---|
| 46 | <para>RPMパッケージの作成方法については、<ulink url="http://vinelinux.org/manuals/making-rpm.html">RPMパッケージの作成方法</ulink>で細かく説明していますが、この文書では更にパッケージャとしてVine Linuxの開発に参加する具体的な方法について記述します。</para> |
---|
| 47 | <para>パッケージャとしてVine Linuxの開発に参加したい場合は、<xref linkend="joinus" />、<xref linkend="base-knowledge" />、<xref linkend="build-environment" />、<xref linkend="packaging-flow" />を読んでください。</para> |
---|
| 48 | </sect1> |
---|
| 49 | <sect1 id="documentation"> |
---|
| 50 | <title>ドキュメントの作成・更新・査読</title> |
---|
[1331] | 51 | <para>Webを検索すると様々な情報を見つける事ができますが、ある程度の知識が要求されたり、古い情報でそのまま利用できなかったり、エンドユーザが取捨選択する事が困難な場合もあります。</para> |
---|
| 52 | <para>Vine Linuxの環境に合わせ体系立てたドキュメントを提供する事で、エンドユーザが情報の海に溺れないような基礎知識を得る事ができるようにしたいと考えています。また、英語のままになっているアプリケーションのヘルプを翻訳し、開発元にフィードバックしていくことも行っています。</para> |
---|
[1168] | 53 | <para>そのための人材を随時募集中です。まだ、ドキュメントを書ける知識がないと思っても提供されているドキュメントを読んで「ここが分かりにくい」、「ここの通りにしたがドキュメントの通りの実行結果が得られない」というような事をフィードバックして頂けるだけでも結構です。</para> |
---|
[1331] | 54 | <para>また、ブログなどを使って自分がつまづいたことなどメモしている方、あなたの日々の成果を公式ドキュメントに反映させませんか。</para> |
---|
[1406] | 55 | <para>ドキュメントの作成・更新・査読に参加したい場合は、<xref linkend="joinus" />を読んでください。</para> |
---|
[1168] | 56 | </sect1> |
---|
| 57 | <sect1 id="translation"> |
---|
| 58 | <title>パッケージの翻訳</title> |
---|
[1331] | 59 | <para>RPMパッケージにはパッケージの簡単な説明(Summary)やある程度詳しい説明(Description)が用意されています。英語の情報は必ず存在しますが、それを翻訳した日本語での情報も用意することができます。しかし、Vine Linuxのパッケージの中には、日本語への翻訳がなされてないパッケージも存在します。その結果、Vine LinuxのインストーラやSynapticパッケージマネージャなどで表示される情報が英語のままになってしまいます。</para> |
---|
| 60 | <figure id="spectr-ex"> |
---|
[1168] | 61 | <title>SummaryやDescriptionが英語のままになっている例</title> |
---|
[1331] | 62 | <graphic fileref="images/spectr-ex.png" /> |
---|
| 63 | </figure> |
---|
[1168] | 64 | <para>これらのパッケージを捜し出し、日本語訳を行うことでVine Linuxの開発に貢献できます。</para> |
---|
| 65 | <para>翻訳作業は、<ulink url="http://bts.vinelinux.org/">バグトラッキングシステム</ulink>の<ulink url="http://bts.vinelinux.org/guest.cgi?project=rpmSpecTranslate&action=top">SPECファイル翻訳</ulink>で行います。</para> |
---|
[1406] | 66 | <para> パッケージの翻訳に継続して参加してくださる場合は、&ml;への参加などをご検討ください。(参加方法は、<xref linkend="joinus" />を参照してください。)</para> |
---|
[1331] | 67 | <warning> |
---|
| 68 | <title>翻訳に対する権利の帰属について</title> |
---|
| 69 | <para>投稿して頂いた翻訳に対する権利は、Project Vineに帰属するものとします。</para> |
---|
| 70 | </warning> |
---|
[1168] | 71 | </sect1> |
---|
| 72 | <sect1 id="security-watch"> |
---|
[1303] | 73 | <title>セキュリティー情報の収集・対応</title> |
---|
[1168] | 74 | <para><ulink url="http://security.vinelinux.org/">Vine Linux Security Watch Team</ulink>(以下、Security Watch Team)は、 Vine Linux に関係するセキュリティ情報の収集と対応を行なっています。</para> |
---|
| 75 | <para>Security Watch Team の活動は、専用のメーリングリストや BTS (Bug Tracking System) を通じて行なわれています。 代表的な作業には次のようなものがあります。</para> |
---|
| 76 | <itemizedlist> |
---|
| 77 | <listitem><para>セキュリティ情報の収集</para></listitem> |
---|
| 78 | <listitem><para>セキュリティ修正パッケージの作成</para></listitem> |
---|
| 79 | <listitem><para>セキュリティ修正パッケージのテスト</para></listitem> |
---|
| 80 | <listitem><para>助言や手助け</para></listitem> |
---|
| 81 | <listitem><para>遅れている作業への催促</para></listitem> |
---|
| 82 | </itemizedlist> |
---|
| 83 | <para>協力してくださる方は <email>Vine@vinelinux.org</email>宛にメールをお願いします。</para> |
---|
| 84 | </sect1> |
---|
| 85 | </chapter> |
---|
| 86 | |
---|
| 87 | <chapter id="joinus"> |
---|
| 88 | <title>Vine Linuxの開発に参加するには</title> |
---|
[2007] | 89 | <sect1 id="acquaintance"> |
---|
| 90 | <title>まずは交流から</title> |
---|
| 91 | <para>まずは、私たちVine Linuxの開発者と語らいましょう。Vine Linux開発者の交流の場として、開発者用メーリングリストやIRCチャンネルが用意されています。</para> |
---|
| 92 | <para>あなたができること、したいことを私たちにお聞かせください。そして、あなたが作成したパッケージや文書などを私たちにお見せください。</para> |
---|
| 93 | <sect2 id="join-ml"> |
---|
| 94 | <title><firstterm id="mailing-list">開発者用メーリングリスト</firstterm>への参加方法</title> |
---|
| 95 | <para>Vine Linux開発者の意見交換や情報共有を目的としたメーリングリストを用意しております。次の手順で参加してください。</para> |
---|
| 96 | <orderedlist> |
---|
| 97 | <listitem><para><email>VineSeed-ctl@vinelinux.org</email>宛に<screen>subscribe (半角英数で)あなたの名前</screen>と書いたメールを送信します。</para></listitem> |
---|
| 98 | <listitem><para>『Subscribe confirmation request (VineSeed ML)』という件名で登録を確認するメールが届きますのでそのまま返信します。</para></listitem> |
---|
| 99 | <listitem><para>登録に成功すると『Welcome to our (VineSeed ML) You are added automatically』という件名のメールが届きます。</para></listitem> |
---|
| 100 | <listitem><para>投稿用のメールアドレスは、<email>VineSeed@vinelinux.org</email>です。まずは、簡単に自己紹介をお願いします。</para></listitem> |
---|
| 101 | </orderedlist> |
---|
| 102 | <important> |
---|
| 103 | <title>リリース済みバージョンの開発者も参加してください</title> |
---|
| 104 | <para>開発者用メーリングリストのメールアドレスは、Vine Linuxの開発版であるVineSeedの名前を冠していますが、VineSeed専用ではありません。リリース済みバージョン向け追加パッケージ集であるVinePlusの開発を行いたい方などすべての開発者が対象です。</para> |
---|
| 105 | </important> |
---|
| 106 | <warning> |
---|
| 107 | <title>登録確認メールに返信する際は返信先をよく確認してください</title> |
---|
| 108 | <para>現在のところ偽装メールの報告はありませんが、返信先が登録用メールアドレスになっている事を確認してください。</para> |
---|
| 109 | </warning> |
---|
| 110 | <note> |
---|
| 111 | <title>Webで過去ログを確認できます</title> |
---|
| 112 | <para>2009年2月16日以降<footnote><para>これより以前のメールは非公開ポリシーであったため公開していません。</para></footnote>のメールを<ulink url="http://ml.vinelinux.org/">Vine Linux MLアーカイブ</ulink>で公開しています。ご活用ください。</para> |
---|
| 113 | </note> |
---|
| 114 | </sect2> |
---|
| 115 | <sect2 id="irc-meeting"> |
---|
| 116 | <title>開発者IRC会議への参加方法</title> |
---|
| 117 | <para>リアルタイムにTODOや問題などについてざっくばらんに議論を行う場として月一回を基準に開発者IRC会議を行っています。会議開催予定は、&ml;でアナウンスされます。<xref linkend="irc-spec" />を参考に是非参加してください。</para> |
---|
| 118 | <table id="irc-spec"> |
---|
| 119 | <title>IRC設定情報</title> |
---|
| 120 | <tgroup cols="2"> |
---|
| 121 | <tbody> |
---|
| 122 | <row> |
---|
| 123 | <entry>サーバ</entry> |
---|
| 124 | <entry>irc.linux.or.jp または irc.debian.or.jp</entry> |
---|
| 125 | </row> |
---|
| 126 | <row> |
---|
| 127 | <entry>ポート番号</entry> |
---|
| 128 | <entry>6667</entry> |
---|
| 129 | </row> |
---|
| 130 | <row> |
---|
| 131 | <entry>チャンネル</entry> |
---|
| 132 | <entry>#Vine</entry> |
---|
| 133 | </row> |
---|
| 134 | <row> |
---|
| 135 | <entry>文字コード</entry> |
---|
| 136 | <entry>UTF-8</entry> |
---|
| 137 | </row> |
---|
| 138 | </tbody> |
---|
| 139 | </tgroup> |
---|
| 140 | </table> |
---|
| 141 | <para>過去の議事録は<ulink url="http://trac.vinelinux.org/wiki/MonthlyIrcMeeting">定例IRC会議</ulink>で参照できます。(こちらでも次回の予定を掲示しています。)</para> |
---|
| 142 | <para>なお、IRCチャンネルは原則として会議時間以外も存在し、雑談や他の開発者との交流を行うことができます。</para> |
---|
| 143 | <important> |
---|
| 144 | <title>開発者IRC会議の位置づけ</title> |
---|
[1420] | 145 | <itemizedlist> |
---|
[2007] | 146 | <listitem><para>開発者用メーリングリストでの議論・決定を妨げるものではありません。</para></listitem> |
---|
| 147 | <listitem><para>会議時間以外に重要な決定を行うことを禁止します。</para></listitem> |
---|
[1420] | 148 | </itemizedlist> |
---|
[2007] | 149 | </important> |
---|
| 150 | </sect2> |
---|
| 151 | </sect1> |
---|
| 152 | <sect1 id="account"> |
---|
| 153 | <title>開発者アカウントの発行</title> |
---|
| 154 | <para>あなたの開発意欲などを確認できましたら、Project Vineから開発者アカウントの発行を打診します。この際、以下の情報をメールにて送っていただきます。</para> |
---|
| 155 | <itemizedlist> |
---|
[1420] | 156 | <listitem> |
---|
[2007] | 157 | <para>アカウント名の候補</para> |
---|
| 158 | <para>半角英数字の3〜16文字(先頭は半角英字)で3つ以上の候補を用意してください。</para> |
---|
[1420] | 159 | </listitem> |
---|
[2007] | 160 | <listitem><para>GnuPG公開鍵</para> |
---|
| 161 | <para>公開鍵サーバへ登録済みのものをアスキー形式でエキスポートしてください。</para> |
---|
| 162 | <para>送付いただいたGnuPG公開鍵は、vine-keyringパッケージを通じてVine Linuxディストリビューションに組み込まれます。</para> |
---|
[1420] | 163 | </listitem> |
---|
| 164 | <listitem> |
---|
[2007] | 165 | <para>GnuPG公開鍵のFingerprint(電子指紋)</para> |
---|
| 166 | <para>メールの署名に含めてください。WebページやBlogを公開している場合は、プロフィールなどに記載してください。</para> |
---|
[1420] | 167 | </listitem> |
---|
[2007] | 168 | </itemizedlist> |
---|
[1168] | 169 | <para>可能であれば、すでに鍵を登録されている他の開発者と会って、公開鍵に署名してもらってください。</para> |
---|
[2007] | 170 | <para>アカウントの登録が終わりましたら、作成したアカウント名とパスワードを返送します。このアカウントで<ulink url="http://trac.vinelinux.org/">Vine Linux 開発者向け Trac</ulink>と&bts;の編集が可能になります。</para> |
---|
| 171 | <warning> |
---|
| 172 | <title>必ずパスワードを変更してください</title> |
---|
| 173 | <para>発行されたパスワードをそのまま使い続けないでください。パスワードの変更は、<ulink url="http://trac.vinelinux.org/">Vine Linux 開発者向け Trac</ulink>で行えます。</para> |
---|
| 174 | <para><ulink url="http://trac.vinelinux.org/">Vine Linux 開発者向け Trac</ulink>に<ulink url="http://trac.vinelinux.org/login">ログイン</ulink>後、<ulink url="http://trac.vinelinux.org/prefs">ユーザ設定</ulink>の<ulink url="http://trac.vinelinux.org/prefs/account">Account</ulink>ページでパスワードを変更してください。</para> |
---|
| 175 | </warning> |
---|
[1168] | 176 | <note> |
---|
[2007] | 177 | <title>Trac及びBTSとは?</title> |
---|
| 178 | <para><ulink url="http://trac.vinelinux.org/">Vine Linux 開発者向け Trac</ulink>は、Vine Linuxの開発に関する情報を整理するために使用されています。</para> |
---|
| 179 | <para>また、&bts;は、Vine Linuxのバグや要望などを管理するためのシステムです。</para> |
---|
| 180 | </note> |
---|
| 181 | <note> |
---|
[1168] | 182 | <title>オフラインミーティングに参加しませんか?</title> |
---|
| 183 | <para>不定期ですが、Vine Linuxの開発者が主催するオフラインミーティングを行っています。これは、他の開発者と会う絶好の機会です。&ml;でアナウンスしますので是非参加してみてください。</para> |
---|
[1420] | 184 | <para>実は、GnuPG公開鍵があるだけでは「信頼」の担保はできません。それが本当に本人によって作成されたものであるか、証明する必要があります。GnuPG の認証局はどこにもありませんので、開発者同士が実際に会ってお互いの身分を確認し、お互いの公開鍵に署名しあう事で公開鍵の信頼性を高めます。</para> |
---|
| 185 | <para>もし、他の開発者から公開鍵に署名してもらいたい場合は、運転免許証やパスポートなどの写真付き公的身分証明書と自分のGnuPGの鍵指紋を印刷またはメモしたものを持参してください。</para> |
---|
[1168] | 186 | </note> |
---|
| 187 | <note> |
---|
| 188 | <title>GnuPGとは</title> |
---|
| 189 | <para><acronym>GnuPG</acronym>とは、The GNU Privacy Guardの略でIETFが発行した<ulink url="http://www.ietf.org/rfc/rfc4880.txt">RFC4880</ulink>で定義されているOpenPGP規格のGNUプロジェクトによる実装です。データの暗号化と復号、データへの署名などを行う事ができます。</para> |
---|
[2007] | 190 | <para>GnuPGの作成方法などの詳細は、<xref linkend="gpg" />や<xref linkend="seahorse" />を参照してください。</para> |
---|
[1168] | 191 | </note> |
---|
| 192 | </sect1> |
---|
[2007] | 193 | <!--para>Vine Linuxでは、RPMパッケージに対してパッケージ作成者によるGnuPG署名を行っています。そのパッケージが本当にVine Linuxのために作成されたものなのかなど、信頼性を確保するためです。また、後述するTracのアカウントによりVine Linuxオリジナルパッケージのソースやドキュメントの編集を行うことができるため、RPMパッケージを作成する予定がない方もGnuPG公開鍵の送付をお願いします。</para--> |
---|
[1168] | 194 | </chapter> |
---|
| 195 | |
---|
| 196 | <chapter id="base-knowledge"> |
---|
| 197 | <title>パッケージ作成のための基礎知識</title> |
---|
| 198 | <sect1 id="support-period"> |
---|
| 199 | <title>更新パッケージの提供期間</title> |
---|
[1363] | 200 | <para>Vine Linux 5.1のように既に正式にリリースされたバーションでパッケージにセキュリティホールやバグが発見された場合に更新パッケージを提供するのは、次のメジャーバージョンリリースから1年後までとします。</para> |
---|
| 201 | <important> |
---|
| 202 | <title>Vine Linux 5.0から提供期間を変更しました</title> |
---|
[4000] | 203 | <para>Vine Linux 5.0から、上記の定義になりました。Vine Linux 4.xの更新パッケージ提供終了は、2010年8月24日までです。</para> |
---|
[1363] | 204 | </important> |
---|
[1168] | 205 | <note> |
---|
| 206 | <title>Vine Linuxのメジャーバージョンとマイナーバージョンについて</title> |
---|
| 207 | <para>Vine Linuxのバージョン番号は、メジャーバージョンとマイナーバージョンをピリオド(.)で繋げたものとなっています。</para> |
---|
| 208 | <para>Vine Linux 5.1であれば、メジャーバージョンは5、マイナーバージョンは1です。</para> |
---|
| 209 | <para>なお、Vine Linuxが提供する個々のパッケージにおいては、更にマイクロバージョンやビルド番号を付加しているものも存在します。</para> |
---|
| 210 | </note> |
---|
| 211 | </sect1> |
---|
| 212 | <sect1 id="about-VineSeed"> |
---|
| 213 | <title>VineSeedについて</title> |
---|
| 214 | <para>VineSeedとは、次期メジャーバージョンの開発過程をα版として公開しているものです。基本的に開発のための環境として提供され、インストール媒体は提供されません。</para> |
---|
| 215 | <para>VineSeed環境の構築要領については、<xref linkend="install-VineSeed" />を参照してください。</para> |
---|
| 216 | <para>ToDo: もう少し詳細を記述</para> |
---|
| 217 | </sect1> |
---|
| 218 | <sect1 id="package-license"> |
---|
| 219 | <title>収録可能なパッケージのライセンスについて</title> |
---|
| 220 | <para>Vine Linuxに収録可能なパッケージは、ライセンス的に明らかに再配布可能なものでなければなりません。例えば、<ulink url="http://opensource.org/">Open Source Initiative</ulink>が<ulink url="http://opensource.org/licenses/alphabetical">オープンソースと認めているライセンス</ulink>であれば、収録可能です。</para> |
---|
| 221 | <para>再配布に許可が必要なパッケージは、必ず著作権者に許可を取ってください。また、商業的な配布を禁止しているものは基本的に収録できないと考えて下さい。 問題があるパッケージを発見した場合は、事前連絡なく削除します。</para> |
---|
[1367] | 222 | <para>また、Vine LinuxではVine Linux 5以降、ライセンス以外での制約があるソフトウェア (例えば特許) については、ソースコードの再配布およびバイナリの配布を実施していません。そのようなソフトウェアのためにself-buildパッケージを導入しています。</para> |
---|
[1168] | 223 | <para>もし、判断に迷うライセンスがあれば、&ml;等でご相談ください。</para> |
---|
[1365] | 224 | <note> |
---|
| 225 | <title>self-buildパッケージとは?</title> |
---|
| 226 | <para>ライセンス以外での制約があるソフトウェアのソースコードを配布元からダウンロードし、コンパイルした上、インストールするという一連の手順を実行します。</para> |
---|
| 227 | <para>通常のパッケージと同様にapt-getコマンドやSynapticパッケージマネージャを使ってインストールを行うことが可能です。ただし、コンパイルが必要な分、通常のパッケージに比べてインストール完了までに時間がかかります。</para> |
---|
| 228 | </note> |
---|
[1168] | 229 | </sect1> |
---|
| 230 | <sect1 id="package-component"> |
---|
[1366] | 231 | <title>パッケージが属するカテゴリについて</title> |
---|
| 232 | <para>パッケージは、その性質によりいくつかのカテゴリに分類されます。カテゴリとは、aptリポジトリにおけるパッケージの分類単位です。</para> |
---|
| 233 | <para>カテゴリへの分類は、Project Vineによって実施され、テスト目的のカテゴリ(testingおよびpropose-updates)を除き、パッケージのアップデート時には意識する必要はありません。</para> |
---|
[1168] | 234 | <table id="components"> |
---|
[1366] | 235 | <title>カテゴリの種類</title> |
---|
[1168] | 236 | <tgroup cols="2"> |
---|
| 237 | <thead> |
---|
| 238 | <row> |
---|
[1366] | 239 | <entry>カテゴリ</entry> |
---|
| 240 | <entry>対象パッケージ</entry> |
---|
[1168] | 241 | </row> |
---|
| 242 | </thead> |
---|
| 243 | <tbody> |
---|
| 244 | <row> |
---|
| 245 | <entry>main</entry> |
---|
[1366] | 246 | <entry>Vine Linuxを構成する上で必須のパッケージ。原則としてリリース時のバージョンに固定されます。 |
---|
| 247 | </entry> |
---|
[1168] | 248 | </row> |
---|
| 249 | <row> |
---|
| 250 | <entry>updates</entry> |
---|
[1366] | 251 | <entry>セキュリティフィックスまたはバグフィックスにより更新された main カテゴリのパッケージ</entry> |
---|
[1168] | 252 | </row> |
---|
| 253 | <row> |
---|
| 254 | <entry>plus</entry> |
---|
[1366] | 255 | <entry>main には含まれないものの、主要なパッケージや一般的に多く使われているパッケージ。このカテゴリは定期的にメンテナンスされているパッケージが対象です。新規パッケージでメンテナンス宣言されたものはこのカテゴリが分類されます。</entry> |
---|
[1168] | 256 | </row> |
---|
| 257 | <row> |
---|
| 258 | <entry>extras</entry> |
---|
[1366] | 259 | <entry>特定のメンテナが存在しなくなったパッケージや、継続して更新されないパッケージ。新規パッケージのうち継続してメンテナンスする予定が決まっていないものも含みます。新規パッケージで特に宣言されない場合はこのカテゴリが分類されます。</entry> |
---|
[1168] | 260 | </row> |
---|
| 261 | <row> |
---|
[1366] | 262 | <entry>nonfree</entry> |
---|
| 263 | <entry>ライセンスや特許等の理由により、利用や再配布に制限のあるソフトウェアを含みます。</entry> |
---|
[1168] | 264 | </row> |
---|
| 265 | <row> |
---|
[1366] | 266 | <entry>orphaned</entry> |
---|
| 267 | <entry>メンテナンスが止まったものや長期間更新されないもの、不要になったパッケージ。古いパッケージの履歴を残すために存在するもので、そのまま利用すべきではありません。このカテゴリは apt repository では管理されないので、apt-get コマンドではインストールできません。</entry> |
---|
[1168] | 268 | </row> |
---|
| 269 | <row> |
---|
| 270 | <entry>testing</entry> |
---|
| 271 | <entry>セキュリティホールが発見されたパッケージを修正したものをupdatesへ収録する前にテスト目的でパッケージを収録。<ulink url="http://security.vinelinux.org/">Security Watch Team</ulink>のメンバー以外には非公開とする。</entry> |
---|
| 272 | </row> |
---|
| 273 | <row> |
---|
| 274 | <entry>proposed-updates</entry> |
---|
| 275 | <entry>バグの修正や機能強化を目的に更新したパッケージをupdatesへ収録する前にテスト目的でパッケージを収録</entry> |
---|
| 276 | </row> |
---|
| 277 | </tbody> |
---|
| 278 | </tgroup> |
---|
| 279 | </table> |
---|
[1366] | 280 | <note> |
---|
| 281 | <title>mainのサブカテゴリ</title> |
---|
| 282 | <para>カテゴリmainは内部的に3つのサブカテゴリに分類されています。</para> |
---|
| 283 | <informaltable> |
---|
| 284 | <tgroup cols="2"> |
---|
| 285 | <thead> |
---|
| 286 | <row> |
---|
| 287 | <entry>サブカテゴリ</entry> |
---|
| 288 | <entry>対象パッケージ</entry> |
---|
| 289 | </row> |
---|
| 290 | </thead> |
---|
| 291 | <tbody> |
---|
| 292 | <row> |
---|
| 293 | <entry>core</entry> |
---|
| 294 | <entry>システムとして機能するために必須のパッケージ。インストールオプションで最小構成を選んだ場合でもこのサブカテゴリのパッケージはインストールされます。</entry> |
---|
| 295 | </row> |
---|
| 296 | <row> |
---|
| 297 | <entry>main-cd</entry> |
---|
| 298 | <entry>インストール CD に収録されるパッケージ</entry> |
---|
| 299 | </row> |
---|
| 300 | <row> |
---|
| 301 | <entry>main</entry> |
---|
| 302 | <entry>容量の関係でインストール CD に収録できなかったパッケージ</entry> |
---|
| 303 | </row> |
---|
| 304 | </tbody> |
---|
| 305 | </tgroup> |
---|
| 306 | </informaltable> |
---|
| 307 | </note> |
---|
[1168] | 308 | </sect1> |
---|
| 309 | <sect1 id="versionup-policy"> |
---|
| 310 | <title>リリース済みVine Linuxのメンテナンスポリシー</title> |
---|
| 311 | <para>セキュリティホールやバグの修正、機能強化のためにリリース済みVine Linux用のパッケージを更新する必要がある場合、パッケージの種類によって以下のポリシーに従うものとします。</para> |
---|
| 312 | <sect2> |
---|
| 313 | <title>main</title> |
---|
| 314 | <sect3> |
---|
| 315 | <title>core</title> |
---|
| 316 | <itemizedlist> |
---|
| 317 | <listitem><para>原則としてパッチによる対応とし、バージョンアップはしない。</para></listitem> |
---|
| 318 | <listitem><para>著しくパッチの管理が困難、またはupstreamのメンテナンスに問題がある場合、API/ABI 完全互換である場合に限ってマイナーバージョンアップ可能。ただし、承認プロセスをへる必要がある。</para></listitem> |
---|
| 319 | </itemizedlist> |
---|
| 320 | </sect3> |
---|
| 321 | <sect3> |
---|
| 322 | <title>lib 系</title> |
---|
| 323 | <itemizedlist> |
---|
| 324 | <listitem><para>原則としてパッチによる対応とし、バージョンアップはしない。</para></listitem> |
---|
| 325 | <listitem><para>ABI/API 完全互換である場合は、bugfix/enhancement も可能。ただし、承認プロセスをへる必要がある。</para></listitem> |
---|
| 326 | </itemizedlist> |
---|
| 327 | </sect3> |
---|
| 328 | <sect3> |
---|
| 329 | <title>server 系</title> |
---|
| 330 | <itemizedlist> |
---|
| 331 | <listitem><para>原則としては、API, ABI 設定ファイルなどを含め完全な互換がない限りは バージョンアップはしない。</para></listitem> |
---|
| 332 | <listitem><para>変更点を把握した上でユーザに迷惑がかからないことが確認できた場合は、BUGFIX/ENHANCEMENT としてバージョンアップも可能。ただし、承認プロセスをへる必要がある。</para></listitem> |
---|
| 333 | </itemizedlist> |
---|
| 334 | </sect3> |
---|
| 335 | <sect3> |
---|
| 336 | <title>user application 系</title> |
---|
| 337 | <para>ユーザのデータや使用状態に問題がおこらない範囲であれば、バグの修正や機能強化のためのバージョンアップを行えます。</para> |
---|
| 338 | </sect3> |
---|
| 339 | </sect2> |
---|
| 340 | <sect2> |
---|
| 341 | <title>plus</title> |
---|
| 342 | <itemizedlist> |
---|
| 343 | <listitem><para>API/ABI 互換である場合には バージョンアップ可能</para></listitem> |
---|
| 344 | <listitem> |
---|
| 345 | <para>上記以外の場合は、 |
---|
| 346 | <itemizedlist> |
---|
| 347 | <listitem><para>依存されていないか、依存されているものが全て自分がメンテナである場合は バージョンアップ 可能。</para></listitem> |
---|
| 348 | <listitem><para>依存されているものを全て対応できるが、自分がメンテナじゃないものが含まれている場合は要相談。(メンテナ以外が update したい場合の方法参照)</para></listitem> |
---|
| 349 | </itemizedlist></para> |
---|
| 350 | </listitem> |
---|
| 351 | </itemizedlist> |
---|
| 352 | </sect2> |
---|
| 353 | <sect2> |
---|
| 354 | <title>extras</title> |
---|
| 355 | <para>依存関係を壊さない限りバージョンアップ可能です。継続してメンテナンスできる場合は、plusへの移動を開発用メーリングリストで依頼してください。</para> |
---|
| 356 | </sect2> |
---|
| 357 | <sect2> |
---|
| 358 | <title>nonfree</title> |
---|
| 359 | <para>plus に従う。self-build 系は、原則として、so name の変更があるバージョンアップはしない。</para> |
---|
| 360 | </sect2> |
---|
| 361 | </sect1> |
---|
| 362 | <sect1 id="version-control"> |
---|
| 363 | <title>SPECファイルのバージョン管理について</title> |
---|
| 364 | <para>現在はVineSeed向けパッケージのみですが、Subversionを利用してSPECファイルのバージョン管理を行っています。</para> |
---|
| 365 | <para>管理されているSPECファイルは、<ulink url="http://trac.vinelinux.org/browser/projects/specs">http://trac.vinelinux.org/browser/projects/specs</ulink>で確認することができます。(このURIは、閲覧専用です。)</para> |
---|
| 366 | <para>標準的なSubversionリポジトリに従って、branches,tags,trunkの3つのディレクトリを作成していますが、branches,tagsの運用方法についてはまだ正式に決定されておらず、現在はtrunkのみを利用しています。trunkディレクトリの中は、まず、パッケージの頭文字一文字(大文字と小文字は区別する)で分類しています。それぞれのディレクトリの中に更にパッケージ名でディレクトリが作成され、各パッケージのSPECファイルが格納されています。</para> |
---|
| 367 | <sect2> |
---|
| 368 | <title>既存のVineSeed向けパッケージをメンテナンスする場合</title> |
---|
| 369 | <orderedlist> |
---|
| 370 | <listitem><para><xref linkend="approval" /></para></listitem> |
---|
| 371 | <listitem> |
---|
| 372 | <para>SPECファイルのチェックアウト</para> |
---|
| 373 | <screen>$ svn co http://trac.vinelinux.org/repos/projects/specs/trunk/頭文字/パッケージ名</screen> |
---|
| 374 | </listitem> |
---|
| 375 | <listitem><para>SPECファイルの修正</para></listitem> |
---|
| 376 | <listitem><para>パッケージのビルド</para></listitem> |
---|
| 377 | <listitem><para><xref linkend="test-package" /></para></listitem> |
---|
| 378 | <listitem> |
---|
| 379 | <para>修正のコミット</para> |
---|
| 380 | <screen>$ svn ci</screen> |
---|
| 381 | <para>ここでconflictが発生した場合は、他のメンテナと調整をしてください。</para> |
---|
| 382 | </listitem> |
---|
| 383 | <listitem><para><xref linkend="upload-package" /></para></listitem> |
---|
| 384 | <listitem><para><xref linkend="announcement" /></para></listitem> |
---|
| 385 | </orderedlist> |
---|
| 386 | </sect2> |
---|
| 387 | <sect2> |
---|
| 388 | <title>新たにVineSeed向けパッケージを作成した場合</title> |
---|
| 389 | <orderedlist> |
---|
| 390 | <listitem><para><xref linkend="approval" /></para></listitem> |
---|
| 391 | <listitem><para>SPECファイルの作成</para></listitem> |
---|
| 392 | <listitem><para>パッケージのビルド</para></listitem> |
---|
| 393 | <listitem><para><xref linkend="test-package" /></para></listitem> |
---|
| 394 | <listitem id="mklocaldir"><para>作成したパッケージのSPECファイルのみが入ったディレクトリをローカルコンピュータに作成</para></listitem> |
---|
| 395 | <listitem> |
---|
| 396 | <para>subversionリポジトリ上にそのパッケージ用のディレクトリを作成</para> |
---|
| 397 | <screen>$ svn mkdir --parents http://trac.vinelinux.org/repos/projects/specs/trunk/頭文字/パッケージ名</screen> |
---|
| 398 | </listitem> |
---|
| 399 | <listitem> |
---|
| 400 | <para><xref linkend="mklocaldir" />で作成したディレクトリに移動し、svnリポジトリにインポート</para> |
---|
| 401 | <screen>$ svn import http://trac.vinelinux.org/repos/projects/specs/trunk/頭文字/パッケージ名</screen> |
---|
| 402 | </listitem> |
---|
| 403 | <listitem><para><xref linkend="upload-package" /></para></listitem> |
---|
| 404 | <listitem><para><xref linkend="announcement" /></para></listitem> |
---|
| 405 | </orderedlist> |
---|
| 406 | </sect2> |
---|
| 407 | </sect1> |
---|
| 408 | </chapter> |
---|
| 409 | |
---|
| 410 | <chapter id="build-environment"> |
---|
| 411 | <title>パッケージ作成環境の構築</title> |
---|
| 412 | <sect1 id="setup"> |
---|
| 413 | <title>環境設定</title> |
---|
| 414 | <para><ulink url="http://vinelinux.org/manuals/making-rpm.html">RPMパッケージの作成方法</ulink>の<ulink url="http://vinelinux.org/manuals/mr-setup.html">パート I. 環境設定</ulink>を読んで必要な環境設定を行ってください。</para> |
---|
| 415 | <important><!-- ToDo: Vine Linux 6.0 リリース後、見直す。 --> |
---|
| 416 | <title>VineSeedでの変更点</title> |
---|
| 417 | <para>Vine Linux 5.xでは、<filename>~/.rpmmacros</filename>で%_topdirをユーザ毎、設定しておりましたが、現在のVineSeed環境では、<filename>/usr/lib/rpm/macros</filename>で同様の設定を行っており、ユーザ毎に設定する必要がなくなりました。</para> |
---|
| 418 | </important> |
---|
| 419 | </sect1> |
---|
| 420 | <sect1 id="vbootstrap"> |
---|
| 421 | <title>vbootstrapパッケージのインストール</title> |
---|
| 422 | <para><ulink url="http://vinelinux.org/manuals/making-rpm.html">RPMパッケージの作成方法</ulink>では、<command>rpmbuild</command>コマンドにより、バイナリパッケージを作成するように説明していますが、本書では、vbootstrapパッケージに含まれる<command>vbuilder</command>コマンドを利用してバイナリパッケージを作成します。</para> |
---|
| 423 | <para><command>apt-get</command>コマンドや<application>Synaptic</application>を利用して、vbootstrapパッケージをインストールしてください。</para> |
---|
| 424 | <note> |
---|
| 425 | <title>vbootstrapパッケージの詳細説明</title> |
---|
| 426 | <para>vbootstrap は Vine Linux の基本システムを既存の Vine Linux システム上で作成するスクリプトです。rpm および apt を利用して、指定したディレクトリ以下に基本の rpm パッケージをインストールし、chroot できるようにします。</para> |
---|
| 427 | <para>vbuilder は vbootstrap を利用して chroot 環境の構築し、その chroot の中でパッケージをビルドします。パッケージが正しい BuildRequires 依存関係を持っているかを確認するために有用なシステムです。</para> |
---|
| 428 | </note> |
---|
| 429 | </sect1> |
---|
| 430 | </chapter> |
---|
| 431 | <chapter id="packaging-flow"> |
---|
| 432 | <title>パッケージ作成から公開までの流れ</title> |
---|
| 433 | <sect1 id="approval"> |
---|
| 434 | <title>パッケージを作成・更新する前に</title> |
---|
| 435 | <sect2 id="apt-search"> |
---|
| 436 | <title>パッケージの存在を確認する</title> |
---|
| 437 | <para>パッケージを作成する前に既にパッケージが存在しないか、確認をしてください。コマンドを使用してパッケージを検索する場合は、次のようにします。</para> |
---|
| 438 | <screen> |
---|
| 439 | # apt-get update |
---|
| 440 | # apt-cache search packagename | sort |
---|
| 441 | </screen> |
---|
| 442 | <para>複数のバージョンを共存させる場合などパッケージ名にメジャーバージョンが含まれる場合があるので注意してください。また、pkgconfigのように実際の配布名pkg-configと異なっているパッケージもあるので注意が必要です。パッケージの検索時に表示されるパッケージの概要説明も参考にしてください。</para> |
---|
| 443 | </sect2> |
---|
| 444 | <sect2> |
---|
| 445 | <title>既存パッケージの場合(整理中)</title> |
---|
[1366] | 446 | <para>既存パッケージを更新する場合は、パッケージのカテゴリに応じて以下の承認プロセスを踏む必要があります。この際、<xref linkend="versionup-policy" />も念頭に置いてください。</para> |
---|
[1168] | 447 | <important> |
---|
| 448 | <title>セキュリティ問題の修正である場合</title> |
---|
| 449 | <para>セキュリティ問題の修正である場合、メンテナの承認は不要(通知のみ)とします。</para> |
---|
| 450 | <para>また、バグトラッキングシステムは、<ulink url="http://security.vinelinux.org/">Security Watch Team</ulink>のもの(非公開)を使用します。</para> |
---|
| 451 | </important> |
---|
| 452 | <sect3> |
---|
| 453 | <title>mainのパッケージの場合</title> |
---|
| 454 | <orderedlist> |
---|
| 455 | <listitem><para>メンテナである場合は、<xref linkend="update-type" />へ進む。</para></listitem> |
---|
| 456 | <listitem><para>パッケージを更新したい理由とその方法について&ml;に投稿する。</para></listitem> |
---|
| 457 | <listitem><para>1週間以内にメンテナから異議が出た場合は、作業を中止し、対応について調整する。</para></listitem> |
---|
| 458 | <listitem id="update-type"><para>パッチによる更新の場合は、<xref linkend="packaging" />へ進む。</para></listitem> |
---|
| 459 | <listitem id="new-report"><para>バージョンアップが伴う場合は、&bts;に新規レポートを作成</para></listitem> |
---|
| 460 | <listitem><para>&ml;に提案し、合意を取る。</para></listitem> |
---|
| 461 | <listitem><para>パッケージを作成・動作確認し、proposed-updates用のディレクトリにアップロードする。</para></listitem> |
---|
| 462 | <listitem><para>動作確認レポートを<xref linkend="new-report" />へのリプライとして登録してもらう。</para></listitem> |
---|
| 463 | <listitem><para>全てのアーキテクチャでの複数の動作確認レポートがあるか、<xref linkend="new-report" />から1ヶ月経過した場合、正式にリリースする。</para></listitem> |
---|
| 464 | </orderedlist> |
---|
| 465 | </sect3> |
---|
| 466 | <sect3> |
---|
| 467 | <title>plusのパッケージの場合</title> |
---|
| 468 | <orderedlist> |
---|
| 469 | <listitem><para>メンテナである場合は、<xref linkend="plus-update-type" />へ進む。</para></listitem> |
---|
| 470 | <listitem><para>パッケージを更新したい理由とその方法について&ml;に投稿する。</para></listitem> |
---|
| 471 | <listitem><para>1週間以内にメンテナから異議が出た場合は、作業を中止し、対応について調整する。</para></listitem> |
---|
| 472 | <listitem id="plus-update-type"><para>パッチによる更新の場合は、<xref linkend="packaging" />へ進む。</para></listitem> |
---|
| 473 | <listitem><para>&ml;に提案し、合意を取る。</para></listitem> |
---|
| 474 | <listitem><para><xref linkend="packaging" />へ進む。</para></listitem> |
---|
| 475 | </orderedlist> |
---|
| 476 | </sect3> |
---|
| 477 | </sect2> |
---|
| 478 | <sect2> |
---|
| 479 | <title>新規パッケージの場合</title> |
---|
| 480 | <para><xref linkend="apt-search" />の結果、該当するパッケージが見つからなかった場合もまず&ml;で作業開始の旨を連絡してください。この際、パッケージの概要や開発元、ライセンスなどを明記してください。場合によっては、作成に異議がある場合もありますのでその後の返信に注意してください。</para> |
---|
| 481 | </sect2> |
---|
| 482 | </sect1> |
---|
| 483 | <sect1 id="packaging"> |
---|
| 484 | <title>パッケージの作成・更新</title> |
---|
| 485 | <sect2 id="SPEC"> |
---|
| 486 | <title>SPECファイルの準備</title> |
---|
| 487 | <para>パッケージの設計書であるSPECファイルを準備します。</para> |
---|
| 488 | <para>既存パッケージを更新する場合は、<screen>$ apt-get source パッケージ名</screen>などとして既存のSPECファイルを取得してください。(VineSeedの場合は、<xref linkend="version-control" />を参考にSPECファイルを取得してください。)</para> |
---|
| 489 | <para>新規パッケージの場合は、SPECファイルを新たに作成します。この時、ファイル名は<filename>パッケージ名-vl.spec</filename>の形式にしてください。</para> |
---|
| 490 | <para>SPECファイルの詳細については、<ulink url="http://vinelinux.org/manuals/making-rpm.html">RPMパッケージの作成方法</ulink>の<ulink url="http://vinelinux.org/manuals/make-spec.html">第5章 SPECファイルの記述</ulink>を参照してください。</para> |
---|
| 491 | </sect2> |
---|
| 492 | <sect2 id="SOURCES"> |
---|
| 493 | <title>ソースやパッチの配置</title> |
---|
| 494 | <para>パッケージの作成に必要なソースやパッチを<filename class="directory">%_topdir/SOURCES/</filename>に配置してください。<xref linkend="SPEC" />で<command>apt-get source</command>を利用した場合は、更新前のソースやパッチは既に配置されているはずです。</para> |
---|
| 495 | <para>新たにパッチを作成した場合やソースのバージョンを更新する場合は、それらを先ほどのディレクトリに配置してください。</para> |
---|
| 496 | </sect2> |
---|
| 497 | <sect2 id="SRPMS"> |
---|
| 498 | <title>ソースRPMの作成</title> |
---|
| 499 | <para>SPECファイルを元にソースRPMを作成します。以下のコマンドを実行してください。</para> |
---|
| 500 | <screen>$ rpmbuild -bs SPECファイル名</screen> |
---|
| 501 | <para>GnuPGによる署名をするように設定している場合は、パスフレーズを求められますので入力してください。</para> |
---|
| 502 | <screen>パスフレーズの入力:</screen> |
---|
| 503 | <para>パスフレーズに問題がなければ、次のように表示されます。</para> |
---|
| 504 | <screen>パスフレーズは正常です。 |
---|
| 505 | 署名の作成中: 1005</screen> |
---|
| 506 | <para>特に問題がなければ、書き込み完了の案内が表示されます。</para> |
---|
| 507 | </sect2> |
---|
| 508 | <sect2 id="vbuilder"> |
---|
| 509 | <title>バイナリRPMの作成</title> |
---|
| 510 | <para>まず、次のようにしてchroot環境(仮想のファイルシステム)にVine Linuxの基本システムをインストールします。(chrootを利用する関係上、vbuilderの実行にはroot権限が必要となります。)</para> |
---|
| 511 | <screen># vbuilder --version 5.1 --arch i386 clean build</screen> |
---|
| 512 | <para>5.1やi386といったオプション値は、ターゲット環境に併せて変更してください。この作業には、しばらく時間がかかります。</para> |
---|
| 513 | <para><screen>Making a build farm for 5.1_i386 done.</screen>のように表示されたら、次のようにしてソースRPMから、バイナリRPMを作成します。</para> |
---|
| 514 | <screen># vbuilder --version 5.1 --arch i386 --unionfs clean build-rpm /path/to/hoge.src.rpm</screen> |
---|
| 515 | <para>特に問題がなければ、作成されたパッケージが、<filename class="directory">%_topdir/vbuilder/</filename>以下にコピーされます。(vbuilderの出力をよく確認してください。)</para> |
---|
| 516 | <para>ビルドが途中で失敗した場合は、<xref linkend="SPEC" />に戻って原因を修正してください。(BuildRequiresの修正など)</para> |
---|
| 517 | <para>vbuilderの詳細は、<ulink url="http://trac.vinelinux.org/wiki/VineBootstrap" />を参照してください。</para> |
---|
| 518 | </sect2> |
---|
| 519 | </sect1> |
---|
| 520 | <sect1 id="test-package"> |
---|
| 521 | <title>パッケージのテスト</title> |
---|
| 522 | <para>パッケージを作成したあとは、実環境にインストールしてみて一通り問題なく動作するか、試してください。</para> |
---|
| 523 | <para>パッケージをインストールするには、次のコマンドを実行します。/path/toの部分は、パッケージファイルまでのパス、archの部分はi386やx86_64といった使用環境にあったアーキテクチャ名に置き換えてください。</para> |
---|
| 524 | <screen># rpm -Uvh /path/to/packagename.arch.rpm</screen> |
---|
| 525 | <para>パッケージがインストールできたら、メニューや端末エミュレータから、アプリケーションを実行してください。ライブラリであれば、依存するアプリケーションを実行します。</para> |
---|
| 526 | <para>通常のアプリケーションであれば、全てのメニューを一通り使用して問題がないかを確認します。GUIのアプリケーションであっても端末エミュレータから、実行してみると不具合がある場合に端末に警告メッセージなどが表示される場合があります。特に実行時に必要なライブラリの漏れなどがないか確認してください。</para> |
---|
| 527 | <para>不具合を発見した場合、可能であれば、開発元のBTSなどに同様の不具合が報告されていないか、確認し、Patchが提供されていれば、それを適用するようにパッケージを再作成してください。</para> |
---|
| 528 | <para>また、アンインストールのテストを行って以下のような問題がないか確認してください。</para> |
---|
| 529 | <itemizedlist> |
---|
| 530 | <listitem><para>%preun、%postunで指定したスクリプトが問題なく動作するか?</para></listitem> |
---|
| 531 | <listitem><para>不要なディレクトリが残らないか?</para></listitem> |
---|
| 532 | </itemizedlist> |
---|
| 533 | <para>ToDo: 以下、削除検討中</para> |
---|
| 534 | <para>依存するパッケージが多く、実際にアンインストールすることが現実的でない場合は、rpmやapt-getでシミュレーションを行います。</para> |
---|
| 535 | <example> |
---|
| 536 | <title>rpmによるアンインストールのシミュレート</title> |
---|
| 537 | <para>パッケージのアンインストールを行う<option>-e</option>とともに<option>--test</option>と<option>-vv</option>を組み合わせて使用します。rpmでは、アンインストールのテストは一般ユーザ権限でも実行できます。</para> |
---|
| 538 | <screen>$ rpm -e --test -vv packagename</screen> |
---|
| 539 | </example> |
---|
| 540 | <example> |
---|
| 541 | <title>apt-getによるアンインストールのシミュレート</title> |
---|
| 542 | <para>apt-getで実際には、アンインストールを行わずシミュレートのみ実行する場合は、<option>--simulate</option>を利用します。rpmと違い、シミュレートであってもroot権限が必要となります。</para> |
---|
| 543 | <screen># apt-get --simulate remove packagename</screen> |
---|
| 544 | </example> |
---|
| 545 | </sect1> |
---|
| 546 | <sect1 id="upload-package"> |
---|
| 547 | <title>パッケージのアップロード</title> |
---|
| 548 | <important> |
---|
| 549 | <title>パッケージのアップロード先はお問い合わせください</title> |
---|
| 550 | <para>現在のところ、パッケージのアップロード先は、開発者以外へ非公開としています。</para> |
---|
| 551 | <para>アップロード先のアドレス、アカウント情報については、<email>Vine@vinelinux.org</email>までお問い合わせください。</para> |
---|
| 552 | </important> |
---|
[1406] | 553 | <para>パッケージのアップロードに先だってGnuPGによる署名を行います。<xref linkend="addsign" />のようにして作成されたパッケージに署名してください。</para> |
---|
[1168] | 554 | <example id="addsign"> |
---|
| 555 | <title>パッケージへの署名</title> |
---|
| 556 | <screen>$ rpm --addsign パッケージファイル名</screen> |
---|
| 557 | </example> |
---|
[1406] | 558 | <para>なお、vbuilderによるパッケージのビルド時に<option>--sign</option>オプションを付加することにより、署名を同時に行うことも可能です。</para> |
---|
[1168] | 559 | <para>念のため、アップロードする全てのパッケージファイルに対して<xref linkend="checksign" />のようにしてパッケージへの署名の検証を行ってください。</para> |
---|
| 560 | <example id="checksign"> |
---|
| 561 | <title>パッケージへの署名の検証</title> |
---|
| 562 | <para>この例では、アップロードするパッケージを一つのディレクトリに集めた場合を想定しています。</para> |
---|
| 563 | <screen> |
---|
| 564 | $ rpm -K *.rpm |
---|
| 565 | gnome-panel-2.28.0-4vl6.src.rpm: (sha1) dsa sha1 md5 gpg OK |
---|
| 566 | gnome-panel-2.28.0-4vl6.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK |
---|
| 567 | </screen> |
---|
| 568 | <para>アップロードするパッケージファイル全てに gpg という文字列が含まれていることを確認してください。</para> |
---|
| 569 | </example> |
---|
| 570 | <para>署名に問題がなければ、<application>lftp</application>などのftpクライアントを用いて、パッケージをアップロードします。アップロード先のディレクトリ構成は以下のようになっています。</para> |
---|
| 571 | <itemizedlist> |
---|
| 572 | <listitem> |
---|
| 573 | <para>VineLinux</para> |
---|
| 574 | <itemizedlist> |
---|
[1366] | 575 | <listitem><para>5 (Vine Linux 5.x向けのmainカテゴリに属するパッケージのproposed-updates用)</para></listitem> |
---|
[1168] | 576 | </itemizedlist> |
---|
| 577 | </listitem> |
---|
| 578 | <listitem><para>VinePlus</para> |
---|
| 579 | <itemizedlist> |
---|
| 580 | <listitem> |
---|
[1366] | 581 | <para>4.0 (Vine Linux 4.2向けのplusカテゴリ等に属するパッケージアップロード用)</para> |
---|
[1168] | 582 | <itemizedlist> |
---|
[1366] | 583 | <listitem><para>nonfree (同nonfreeカテゴリ等に属するパッケージアップロード用)</para></listitem> |
---|
[1168] | 584 | </itemizedlist> |
---|
| 585 | </listitem> |
---|
| 586 | <listitem> |
---|
[1366] | 587 | <para>5 (Vine Linux 5.x向けのplusカテゴリ等に属するパッケージアップロード用)</para> |
---|
[1168] | 588 | <itemizedlist> |
---|
[1366] | 589 | <listitem><para>nonfree (同nonfreeカテゴリ等に属するパッケージアップロード用)</para></listitem> |
---|
[1168] | 590 | </itemizedlist> |
---|
| 591 | </listitem> |
---|
| 592 | </itemizedlist> |
---|
| 593 | </listitem> |
---|
| 594 | <listitem> |
---|
| 595 | <para>VineSeed (nonfreeを除くVineSeed向けパッケージアップロード用)</para> |
---|
| 596 | <itemizedlist> |
---|
| 597 | <listitem><para>nonfree (VineSeed向けnonfreeパッケージアップロード用)</para></listitem> |
---|
| 598 | </itemizedlist> |
---|
| 599 | </listitem> |
---|
| 600 | </itemizedlist> |
---|
| 601 | <important> |
---|
| 602 | <title>署名を忘れた場合の通知について</title> |
---|
| 603 | <para>パッケージへの署名を行わずにパッケージをアップロードした場合、aptリポジトリへの登録が拒否されます。</para> |
---|
| 604 | <para>この場合、&ml;に<quote> [VPMIRROR] NOT SIGNED PACKAGE UPLOADED</quote>という件名のメールが自動送信されます。このメールに拒否されたパッケージファイル名が含まれていますので署名を行った上で再度、アップロードしてください。</para> |
---|
| 605 | </important> |
---|
| 606 | <important> |
---|
| 607 | <title>誤ったパッケージをアップロードした場合</title> |
---|
| 608 | <para>誤ったパッケージをアップロードした場合、自分で削除することができません。</para> |
---|
| 609 | <para>誤ったパッケージのアップロードに気づいた場合は、速やかに&ml;に削除依頼を投稿してください。</para> |
---|
| 610 | </important> |
---|
| 611 | </sect1> |
---|
| 612 | <sect1 id="announcement"> |
---|
| 613 | <title>パッケージ作成・更新のアナウンス</title> |
---|
| 614 | <para>パッケージをアップロードしたら、&ml;にその旨を投稿します。</para> |
---|
| 615 | <variablelist> |
---|
| 616 | <title>メールに含ませる内容</title> |
---|
| 617 | <varlistentry> |
---|
| 618 | <term>件名</term> |
---|
| 619 | <listitem><para>upload: パッケージ名-バージョン-リリース番号</para></listitem> |
---|
| 620 | </varlistentry> |
---|
| 621 | <varlistentry> |
---|
| 622 | <term>本文</term> |
---|
| 623 | <listitem> |
---|
| 624 | <itemizedlist> |
---|
| 625 | <listitem><para>パッケージのSummaryまたはDescription</para></listitem> |
---|
| 626 | <listitem><para>アップロードしたファイルのリスト</para></listitem> |
---|
| 627 | <listitem><para>更新内容(既存パッケージの場合)</para></listitem> |
---|
| 628 | <listitem> |
---|
| 629 | <para>依頼事項(必要により)</para> |
---|
| 630 | <itemizedlist> |
---|
| 631 | <listitem><para>パッケージのテスト</para></listitem> |
---|
| 632 | <listitem><para>他のアーキテクチャ用パッケージのビルド</para></listitem> |
---|
| 633 | </itemizedlist> |
---|
| 634 | </listitem> |
---|
| 635 | </itemizedlist> |
---|
| 636 | </listitem> |
---|
| 637 | </varlistentry> |
---|
| 638 | </variablelist> |
---|
| 639 | </sect1> |
---|
| 640 | <sect1 id="support"> |
---|
| 641 | <title>バグ報告への対応</title> |
---|
| 642 | <para>時として&bts;やメーリングリストに自分が作成したパッケージのバグが報告される場合があります。このような場合は、以下の手順を参考に対処してください。</para> |
---|
| 643 | <orderedlist> |
---|
| 644 | <listitem> |
---|
| 645 | <para>レポートの担当者・状態を修正</para> |
---|
| 646 | <para>自分で対処する場合は、状態を<quote>割当済み</quote>に変更し、担当者を自分にしてください。</para> |
---|
| 647 | <para>時間がとれないなど何らかの理由で対処することが難しい場合は、他の開発者に相談してください。</para> |
---|
| 648 | <para>もし、バグ報告がメーリングリストに直接投稿されていた場合は、&bts;で新たにレポートを作成します。</para> |
---|
| 649 | </listitem> |
---|
| 650 | <listitem> |
---|
| 651 | <para>バグの再現性を確認</para> |
---|
| 652 | <para>まず、その問題が自分の環境で再現するかを確認します。</para> |
---|
| 653 | <para>再現しない場合、バグ報告者に具体的な操作方法や設定について改めて確認します。可能であれば、他の開発者の環境でも再現性を確認してもらいます。</para> |
---|
| 654 | <para>バグ報告者の操作や設定が明らかに間違っている場合は、その対処方法を明示した上でレポートの状態を<quote>却下</quote>にしてください。</para> |
---|
| 655 | </listitem> |
---|
| 656 | <listitem> |
---|
| 657 | <para>バグの切り分け</para> |
---|
| 658 | <para>バグの再現性が確認できたならば、そのバグがパッケージングミスであるのか、パッチが原因であるのか、開発元のソースに由来するものなのか切り分けます。</para> |
---|
| 659 | <para>バグが開発元のソースに由来するものであった場合、可能であれば、既知のバグでないか確認の上、開発元にバグ報告を行ってください。(この際、修正パッチを提供すると喜ばれるかもしれません。)</para> |
---|
| 660 | </listitem> |
---|
| 661 | <listitem> |
---|
| 662 | <para>パッケージの更新</para> |
---|
| 663 | <para>SPECファィルやパッチに問題がある場合、修正してください。</para> |
---|
| 664 | <para>また、開発元から修正パッチを入手することができた場合は、そのパッチが適用できるようにSPECファイルを修正してください。</para> |
---|
| 665 | <para>この際、リリース番号を+1してパッケージを作成し、テストの上、パッケージをアップロードしてください。</para> |
---|
| 666 | <para>パッケージアップロードの旨を入力し、レポートの状態を<quote>確認待ち</quote>に変更します。</para> |
---|
| 667 | </listitem> |
---|
| 668 | <listitem> |
---|
| 669 | <para>バグ報告者のバグ修正確認報告</para> |
---|
| 670 | <para>バグ報告者からバグの修正を確認できた旨の報告があった場合、リリース済みVine Linux向けのmainパッケージであった場合は、状態を<quote>errata 待ち</quote>にします。それ以外のパッケージである場合は、状態を<quote>完了</quote>とします。</para> |
---|
| 671 | </listitem> |
---|
| 672 | <listitem> |
---|
| 673 | <para><ulink url="http://vinelinux.org/errata.html">errata</ulink>の発行</para> |
---|
| 674 | <para>リリース済みVine Linux向けのmainパッケージであった場合は、Project Vineにerrataの発行を依頼してください。</para> |
---|
| 675 | <para>errataの発行が確認できたら、レポートの状態を<quote>完了</quote>とします。</para> |
---|
| 676 | </listitem> |
---|
| 677 | </orderedlist> |
---|
| 678 | <note> |
---|
| 679 | <title>BTSへの投稿は&ml;に転送されます</title> |
---|
| 680 | <para>BTSへバグ等が報告された場合、&ml;にもその内容とレポートへのリンクが送信されます。この際、[VineSeed:メールの通し番号]の後に[BTSプロジェクト識別子:バグID]のような文字列が付加されます。&ml;でバグ等の報告に気づいた場合は、&ml;への直接の投稿なのか、&bts;への投稿なのかに注意してください。</para> |
---|
| 681 | <table> |
---|
| 682 | <title>BTSプロジェクト識別子の種類</title> |
---|
| 683 | <tgroup cols="2"> |
---|
| 684 | <thead> |
---|
| 685 | <row> |
---|
| 686 | <entry>BTSプロジェクト識別子</entry> |
---|
| 687 | <entry>目的</entry> |
---|
| 688 | </row> |
---|
| 689 | </thead> |
---|
| 690 | <tbody> |
---|
| 691 | <row> |
---|
| 692 | <entry>VineLinux</entry> |
---|
| 693 | <entry>Vine Linuxに関するバグの報告を受け付けます。</entry> |
---|
| 694 | </row> |
---|
| 695 | <row> |
---|
| 696 | <entry>wishes</entry> |
---|
| 697 | <entry>Vine Linuxに関する要望を受け付けます。</entry> |
---|
| 698 | </row> |
---|
| 699 | </tbody> |
---|
| 700 | </tgroup> |
---|
| 701 | </table> |
---|
| 702 | </note> |
---|
| 703 | </sect1> |
---|
| 704 | </chapter> |
---|
| 705 | |
---|
| 706 | <chapter id="now-printing"> |
---|
| 707 | <title>Now Printing!</title> |
---|
| 708 | <para>ToDo: 将来的にドキュメントチームの作業やproposed-updatesパッケージのテストなどについて記述</para> |
---|
| 709 | </chapter> |
---|
| 710 | |
---|
| 711 | <appendix id="gpg"> |
---|
| 712 | <title>gpgコマンドの使用方法</title> |
---|
| 713 | <sect1 id="gpg-gen-key"> |
---|
| 714 | <title>GnuPG鍵対の生成</title> |
---|
| 715 | <para>端末でコマンド<command>gpg --gen-key</command>を実行します。</para> |
---|
| 716 | <screen> |
---|
| 717 | $ gpg --gen-key |
---|
| 718 | |
---|
| 719 | gpg (GnuPG) 1.4.6; Copyright (C) 2006 Free Software Foundation, Inc. |
---|
| 720 | This program comes with ABSOLUTELY NO WARRANTY. |
---|
| 721 | This is free software, and you are welcome to redistribute it |
---|
| 722 | under certain conditions. See the file COPYING for details. |
---|
| 723 | |
---|
| 724 | すきな鍵の種類を選択してください: |
---|
| 725 | (1) DSAとElGamal (既定) |
---|
| 726 | (2) DSA (署名のみ) |
---|
| 727 | (5) RSA (署名のみ) |
---|
| 728 | どれにしますか? 1 |
---|
| 729 | </screen> |
---|
| 730 | <para>ここでは既定の1を選択してください。</para> |
---|
| 731 | <screen> |
---|
| 732 | DSA鍵対は1024ビットになります。 |
---|
| 733 | ELG-E keys may be between 1024 and 4096 bits long. |
---|
| 734 | どの鍵長にしますか? (2048) |
---|
| 735 | </screen> |
---|
| 736 | <para>ここでも既定の 2048 以上を推奨します。通常は既定でかまいません。</para> |
---|
| 737 | <screen> |
---|
| 738 | 要求された鍵長は2048ビット |
---|
| 739 | 鍵の有効期限を決めてください。 |
---|
| 740 | 0 = 無期限 |
---|
| 741 | <n> = 有効期限 n 日間 |
---|
| 742 | <n>w = 有効期限 n 週間 |
---|
| 743 | <n>m = 有効期限 n か月間 |
---|
| 744 | <n>y = 有効期限 n 年間 |
---|
| 745 | 鍵の有効期間は? (0) |
---|
| 746 | </screen> |
---|
| 747 | <para>ここでは今作成している鍵の有効期限を設定します。通常は永久に有効となる既定値 0 で構いません。</para> |
---|
| 748 | <screen> |
---|
| 749 | 鍵は無期限です |
---|
| 750 | これでいいですか? (y/N) y |
---|
| 751 | </screen> |
---|
| 752 | <para>ここまで問題なければ y で続行してください。</para> |
---|
| 753 | <screen> |
---|
| 754 | あなたの鍵を同定するためにユーザIDが必要です。 |
---|
| 755 | このソフトは本名、コメント、電子メール・アドレスから |
---|
| 756 | 次の書式でユーザIDを構成します: |
---|
| 757 | "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" |
---|
| 758 | |
---|
| 759 | 本名: Your Name |
---|
| 760 | 電子メール・アドレス: name@example.com |
---|
| 761 | コメント: |
---|
| 762 | </screen> |
---|
| 763 | <para>鍵のユーザIDとなる本名、電子メール・アドレス、コメントを聞かれますので、答えてください。半角英数です。メールアドレスは有効なものを入力してください。コメントは不要であれば入力しなくても構いません。</para> |
---|
| 764 | <screen> |
---|
| 765 | 次のユーザIDを選択しました: |
---|
| 766 | "Your Name <name@example.com>" |
---|
| 767 | 名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? O |
---|
| 768 | </screen> |
---|
| 769 | <para>提示されたもので問題なければ "O" で続行してください。</para> |
---|
| 770 | <screen>秘密鍵を保護するためにパスフレーズがいります。</screen> |
---|
| 771 | <para>パスフレーズを聞かれますので、この鍵に対するパスフレーズを設定してください。パスワードとは違い長めの文章が望まれます。入力後、表示のとおり乱数を生成しますので、しばらく時間がかかります。</para> |
---|
| 772 | <screen> |
---|
| 773 | 次のユーザIDを選択しました: |
---|
| 774 | gpg: このセッションでgpgエージェントは無効です |
---|
| 775 | 今から長い乱数を生成します。キーボードを打つとか、マウスを動かす |
---|
| 776 | とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で |
---|
| 777 | 乱雑さの大きないい乱数を生成しやすくなるので、お勧めします。 |
---|
| 778 | +++++++++++++++.+++++.+++++++++++++++++++++++++++++++++++.+++++++++++(以下省略) |
---|
| 779 | 今から長い乱数を生成します。キーボードを打つとか、マウスを動かす |
---|
| 780 | とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で |
---|
| 781 | 乱雑さの大きないい乱数を生成しやすくなるので、お勧めします。 |
---|
| 782 | ++++++++++++++++++++.++++++++++++++++++++++++++++++..++++++++++++++++(以下省略) |
---|
| 783 | gpg: key 4BF0CEAC marked as ultimately trusted |
---|
| 784 | 公開鍵と秘密鍵を作り、署名しました。 |
---|
| 785 | |
---|
| 786 | gpg: 信用データベースの検査 |
---|
| 787 | gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model |
---|
| 788 | gpg: depth: 0 valid: 3 signed: 24 trust: 0-, 0q, 0n, 0m, 0f, 3u |
---|
| 789 | gpg: depth: 1 valid: 24 signed: 47 trust: 20-, 0q, 0n, 0m, 4f, 0u |
---|
| 790 | gpg: depth: 2 valid: 17 signed: 19 trust: 17-, 0q, 0n, 0m, 0f, 0u |
---|
| 791 | pub 1024D/4BF0CEAC 2008-10-01 |
---|
| 792 | Key fingerprint = 7307 7E27 C02A 4B3C 1062 E4B2 0C6D C326 4BF0 CEAC |
---|
| 793 | uid Your Name <name@example.com> |
---|
| 794 | sub 2048g/1FBBC15E 2008-10-01 |
---|
| 795 | </screen> |
---|
| 796 | <para>以上で、GnuPG の鍵対が生成できました。</para> |
---|
| 797 | </sect1> |
---|
| 798 | <sect1 id="gpg-list-key"> |
---|
| 799 | <title>鍵束内の鍵一覧を表示</title> |
---|
| 800 | <para><command>gpg --list-key</command>で自分の持っている鍵束(keyring)を表示することができます。この中には自分自身の公開鍵だけでなく、(登録してあれば)他人の公開鍵も含まれます。鍵束は~/.gnupg/pubring.gpgに保存されています。</para> |
---|
| 801 | <screen> |
---|
| 802 | $ gpg --list-key |
---|
| 803 | pub 1024D/4BF0CEAC 2008-10-01 |
---|
| 804 | uid Your Name <name@example.com> |
---|
| 805 | sub 2048g/1FBBC15E 2008-10-01 |
---|
| 806 | </screen> |
---|
| 807 | </sect1> |
---|
| 808 | <sect1 id="gpg-fingerprint"> |
---|
| 809 | <title>鍵の Fingerprint (電子指紋) を表示</title> |
---|
| 810 | <para><command>gpg --fingerprint <literal>ユーザID|鍵ID</literal></command>でそのユーザIDまたは鍵IDのfingerprintを表示することができます。GnuPG 公開鍵のハッシュ値で、公開鍵の正当性をチェックするために使用します。鍵ID は<xref linkend="gpg-list-key" />の例では、0x4BF0CEACとなります。IDを指定しない場合は鍵束内のすべての鍵のfingerprintが表示されます。</para> |
---|
| 811 | <screen> |
---|
| 812 | $ gpg --fingerprint 0x4BF0CEAC |
---|
| 813 | pub 1024D/4BF0CEAC 2008-10-01 |
---|
| 814 | Key fingerprint = 7307 7E27 C02A 4B3C 1062 E4B2 0C6D C326 4BF0 CEAC |
---|
| 815 | uid Your Name <name@example.com> |
---|
| 816 | sub 2048g/1FBBC15E 2008-10-01 |
---|
| 817 | </screen> |
---|
| 818 | </sect1> |
---|
| 819 | <sect1 id="gpg-export"> |
---|
| 820 | <title>公開鍵のエキスポート</title> |
---|
| 821 | <para>公開鍵を渡すためには鍵束から特定の鍵だけ取り出す必要があります。通常は取扱いがしやすいように以下のようにアスキー形式でとりだします。</para> |
---|
| 822 | <screen> |
---|
| 823 | $ gpg -o pubkey.asc --export -a 0x4BF0CEAC |
---|
| 824 | $ cat pubkey.asc |
---|
| 825 | -----BEGIN PGP PUBLIC KEY BLOCK----- |
---|
| 826 | Version: GnuPG v1.4.6 (GNU/Linux) |
---|
| 827 | |
---|
| 828 | mQGiBEjjIOgRBAC0gD6KZW83WTzj/m4MUrbrRALkgUr0jVIN1+NsipLFhgkT70vJ |
---|
| 829 | Theqh7rwy0ujLecjp+5wY/uh/BfftkKylLiaERWxO8j8wBNa+337LZeRBqOEzndm |
---|
| 830 | 22P8m4rUrDSzj5i1It3+GhpYE0OC0HA5GyuzbLzLvLkBy4rrjGpUXbQU+wCg5fcE |
---|
| 831 | S7jii059P25wnfFU53Lz+JcEAK4HaYHS4aZlFAUsKZCj9vzY+4a7m1MbOQhL4WcH |
---|
| 832 | 8DfFL7y/8EXzTIDVF8US8i+A48QkhSw58Jeg1LNhiuQYoqVKn9NtLembMyun93Af |
---|
| 833 | yljph66CVagAG7iEoPgXr2Pe3a6Rb0rApVe6LSSUPQrZR29naS0d7mSOcLwwOkVO |
---|
| 834 | Ll5UBACmbzil9apwPQ4/a+oSdQ8uGFRZYaJQvdn90f9o2tciSwh4mgtFEaArpgC/ |
---|
| 835 | jBGpMFV7/O1pDnGa21keow3ZsJW44aBTztYsvtJTA5byomrTRsScYndwerzREOhu |
---|
| 836 | TXYhbCTyfaOyKlkMEsVNFR2Eree5kx7Y1+x7xkyCQd3HvXVxWLQcWW91ciBOYW1l |
---|
| 837 | IDxuYW1lQGV4YW1wbGUuY29tPohgBBMRAgAgBQJI4yDoAhsDBgsJCAcDAgQVAggD |
---|
| 838 | BBYCAwECHgECF4AACgkQDG3DJkvwzqy5QQCgjPtTdz4dZ5zCw92kVhNufhMlvmIA |
---|
| 839 | nRfAASlaMZaGqwI/XfMzYPAoqd49uQINBEjjIO0QCADFEL2QwMQnH2eg1Fmerlvn |
---|
| 840 | SgDqxs4cgWuxamlOheYLfXH80ee8comKtmVAlBM8BwKgYn4OqaC0gntVaVGLfOXB |
---|
| 841 | FwGRYzVhRbhLYMljVvggGxkYmwOoccW/OGFVo1WG5tTOIdJSa/xe+d9RbAwE2gXL |
---|
| 842 | fYTCEDhdODz13HlHxoiKf9SPO9ygiZ3QQRokNrXpkQY8JPfXuupJIRQT/YjkpjAQ |
---|
| 843 | 6UFCHZWzEhjOEY1N91/+GhDEUvbL43tm7p3iIncCRfumSzaYlo4Uj2Jv2mbdP1vV |
---|
| 844 | KpTavtu4ITXA23s3U22ND1Qpx93bcLsc5XJolUuDVbW0MDjlbcM0lCBltBCtzCf3 |
---|
| 845 | AAMFCACv/H6Vn75vWJHWNyp04tXctDSgX8PVSyrrGaQ5WLzBKBKJRbY09mO2KHbx |
---|
| 846 | Ys73tpwyYYM7XYwM2NDAw+buTLjbMl3ayg2pA4LjqNTNmrooS29f9BeP/PQ8Czes |
---|
| 847 | 3l9Fr0lZw0RuXAACCmEXlpSWM1SpV8buIY2nEe3l2FUOlqbNtmW6GSs8HxVoY6oy |
---|
| 848 | g79RcQdr7yx+XVkJfHONWLK9Aowl9QkYfMzAVxSLbmo3Gfxc7q1H1mSarUK2SdS/ |
---|
| 849 | EDkY0dQclHefP1XN/fyTDsVjU8+MAvbYieqj/7rSlgVqAKw4qSXYXqPtIj0YhQyG |
---|
| 850 | UIt2AxOB0YpEJ7bN6mIbbJQwdOvIiEkEGBECAAkFAkjjIO0CGwwACgkQDG3DJkvw |
---|
| 851 | zqzrgwCeO8YaYOER+1uQoj8PdEiCQ7AGPj8AoNQYhMJkMIEapRHIFiCKHMumkNvY |
---|
| 852 | =gs65 |
---|
| 853 | -----END PGP PUBLIC KEY BLOCK----- |
---|
| 854 | </screen> |
---|
| 855 | </sect1> |
---|
| 856 | <sect1 id="gpg-send-keys"> |
---|
| 857 | <title>公開鍵サーバへの登録</title> |
---|
| 858 | <para>hkpプロトコルに対応しているサーバであれば、次のコマンドで登録することができます。</para> |
---|
| 859 | <screen> |
---|
| 860 | $ gpg --keyserver pgp.mit.edu --send-keys 0x4BF0CEAC |
---|
| 861 | gpg: 鍵0x4BF0CEACをhkpサーバーpgp.mit.eduへ送信 |
---|
| 862 | </screen> |
---|
| 863 | <!--para>残念ながら、Vine Linuxでは、LDAPでの鍵の送信はできない仕様となっています。</para--> |
---|
| 864 | </sect1> |
---|
| 865 | <sect1 id="gpg-link"> |
---|
| 866 | <title>参考リンク</title> |
---|
| 867 | <itemizedlist> |
---|
| 868 | <listitem><para><ulink url="http://www.gnupg.org/">The GNU Privacy Guard - GnuPG.org</ulink></para></listitem> |
---|
| 869 | <listitem><para><ulink url="http://gnupg.hclippr.com/">GNU Privacy Guard講座</ulink></para></listitem> |
---|
| 870 | </itemizedlist> |
---|
| 871 | </sect1> |
---|
| 872 | </appendix> |
---|
| 873 | <appendix id="seahorse"> |
---|
| 874 | <title>GnuPGのGNOMEフロントエンドSeahorseの使い方</title> |
---|
| 875 | <!-- http://projects.gnome.org/seahorse/ --> |
---|
| 876 | <para>VinePlusのseahorseを使うとGnuPG鍵に関するほとんどの操作をマウス操作で行うことができます。</para> |
---|
| 877 | <para>seahorseをインストールすると<menuchoice> |
---|
| 878 | <guimenu>アプリケーション</guimenu><guimenuitem>アクセサリ</guimenuitem><guimenuitem>パスワードと暗号鍵</guimenuitem> |
---|
| 879 | </menuchoice>で起動することができます。</para> |
---|
| 880 | <note> |
---|
| 881 | <title>スクリーンショットはVine Linux 5.1のものを使用しています</title> |
---|
| 882 | <para><xref linkend="seahorse" />で使用しているスクリーンショットは、Vine Linux 5.1向けのseahorseのものです。</para> |
---|
| 883 | <para>VineSeed用のseahorseとは、若干、違いますが基本的な操作方法は同じです。</para> |
---|
| 884 | </note> |
---|
| 885 | <sect1 id="sh-genkey"> |
---|
| 886 | <title>GnuPG鍵対の生成</title> |
---|
| 887 | <orderedlist> |
---|
| 888 | <listitem> |
---|
| 889 | <para>初めてSeahorseを起動した場合は、<xref linkend="seahorse-01" />のように初回起動時のオプションが表示されますので<guibutton>新規</guibutton>ボタンをクリックします。</para> |
---|
| 890 | <figure id="seahorse-01"> |
---|
| 891 | <title>初回起動時のSeahorse</title> |
---|
| 892 | <graphic fileref="images/seahorse-01.png" /> |
---|
| 893 | </figure> |
---|
| 894 | <para>もし、初回起動時のオプションが表示されない場合でも<menuchoice> |
---|
| 895 | <shortcut><keycombo><keycap>Ctrl</keycap><keycap>N</keycap></keycombo></shortcut> |
---|
| 896 | <guimenu>ファイル</guimenu><guimenuitem>新規</guimenuitem> |
---|
| 897 | </menuchoice>でGnuPG鍵対の生成を始めることができます。</para> |
---|
| 898 | </listitem> |
---|
| 899 | <listitem> |
---|
| 900 | <para><xref linkend="seahorse-02" />のようなダイアログが表示されるのでPGP 鍵を選択して<guibutton>続行</guibutton>をクリックします。</para> |
---|
| 901 | <figure id="seahorse-02"> |
---|
| 902 | <title>新しいアイテムの生成</title> |
---|
| 903 | <graphic fileref="images/seahorse-02.png" /> |
---|
| 904 | </figure> |
---|
| 905 | </listitem> |
---|
| 906 | <listitem> |
---|
| 907 | <para>氏名とE-メールアドレスを半角で入力します。コメントは、不要であれば入力しなくても構いません。</para> |
---|
| 908 | <figure id="seahorse-03"> |
---|
| 909 | <title>新しい PGP 鍵</title> |
---|
| 910 | <graphic fileref="images/seahorse-03.png" /> |
---|
| 911 | </figure> |
---|
| 912 | <para><guilabel>拡張オプション</guilabel>を展開すると暗号化の種類・鍵の長さ・有効期限の変更が行えますが、通常はデフォルトのままで構いません。</para> |
---|
| 913 | <figure id="seahorse-04"> |
---|
| 914 | <title>拡張オプション</title> |
---|
| 915 | <graphic fileref="images/seahorse-04.png" /> |
---|
| 916 | </figure> |
---|
| 917 | <para>入力した内容を確認のうえ、<guibutton>生成</guibutton>をクリックしてください。</para> |
---|
| 918 | </listitem> |
---|
| 919 | <listitem> |
---|
| 920 | <para>パスフレーズを2回入力します。パスワードを考える時と同様、破られにくいものを考えてください。パスワードと違い、半角スペースを使用することができます。</para> |
---|
| 921 | <figure id="seahorse-05"> |
---|
| 922 | <title>新しい PGP 鍵のパスフレーズ</title> |
---|
| 923 | <graphic fileref="images/seahorse-05.png" /> |
---|
| 924 | </figure> |
---|
| 925 | <para>入力が完了したら、<guibutton>OK</guibutton>をクリックします。</para> |
---|
| 926 | </listitem> |
---|
| 927 | <listitem> |
---|
| 928 | <para>鍵の生成には、しばらく時間がかかります。</para> |
---|
| 929 | <figure id="seahorse-06"> |
---|
| 930 | <title>鍵の生成中</title> |
---|
| 931 | <graphic fileref="images/seahorse-06.png" /> |
---|
| 932 | </figure> |
---|
| 933 | <para>鍵の生成が終了すると個人の鍵の一覧に追加されます。</para> |
---|
| 934 | <figure id="seahorse-07"> |
---|
| 935 | <title>個人の鍵</title> |
---|
| 936 | <graphic fileref="images/seahorse-07.png" /> |
---|
| 937 | </figure> |
---|
| 938 | </listitem> |
---|
| 939 | </orderedlist> |
---|
| 940 | </sect1> |
---|
| 941 | <sect1 id="sh-fingerprint"> |
---|
| 942 | <title>鍵の Fingerprint (電子指紋) を表示</title> |
---|
| 943 | <para>鍵の Fingerprint (電子指紋) など詳細を確認したい場合は、確認したい鍵を選択し、以下のいずれかを実行します。</para> |
---|
| 944 | <itemizedlist> |
---|
| 945 | <listitem><para>ツールバーの<guibutton>プロパティ</guibutton>ボタン</para></listitem> |
---|
| 946 | <listitem><para>鍵を右クリックして<guimenuitem>プロパティ</guimenuitem></para></listitem> |
---|
| 947 | </itemizedlist> |
---|
| 948 | <figure id="seahorse-10"> |
---|
| 949 | <title>ポップアップメニューからのプロパティの選択</title> |
---|
| 950 | <graphic fileref="images/seahorse-10.png" /> |
---|
| 951 | </figure> |
---|
| 952 | <para>すると<xref linkend="seahorse-10" />のようなダイアログが表示されます。</para> |
---|
| 953 | <figure id="seahorse-11"> |
---|
| 954 | <title>鍵のプロパティ(所有者)</title> |
---|
| 955 | <graphic fileref="images/seahorse-11.png" /> |
---|
| 956 | </figure> |
---|
| 957 | <para>鍵の Fingerprint (電子指紋) は、<guilabel>詳細</guilabel>のページで確認することができます。</para> |
---|
| 958 | <figure id="seahorse-12"> |
---|
| 959 | <title>鍵のプロパティ(詳細)</title> |
---|
| 960 | <graphic fileref="images/seahorse-12.png" /> |
---|
| 961 | </figure> |
---|
| 962 | <para><guilabel>指紋</guilabel>と書かれた所にある次のような文字列が、Fingerprint (電子指紋) です。</para> |
---|
| 963 | <screen> |
---|
| 964 | 7362 2350 47E0 8941 D689 |
---|
| 965 | A1F5 F66D AA9C DFBA E6E1 |
---|
| 966 | </screen> |
---|
| 967 | <para>この文字列は、マウスでドラッグすることにより<xref linkend="seahorse-12" />のように選択状態にすることができ、右クリックで表示されるポップアップメニューから、<guimenuitem>コピー</guimenuitem>することが可能です。</para> |
---|
| 968 | </sect1> |
---|
| 969 | <sect1 id="sh-export"> |
---|
| 970 | <title>公開鍵のエキスポート</title> |
---|
| 971 | <para>公開鍵をエキスポートするには、エキスポートしたい鍵を選択し、以下のいずれかを実行します。</para> |
---|
| 972 | <itemizedlist> |
---|
| 973 | <listitem><para><menuchoice><guimenu>ファイル</guimenu><guimenuitem>エキスポート</guimenuitem></menuchoice></para></listitem> |
---|
| 974 | <listitem><para>ツールバーの<guibutton>エキスポート</guibutton>ボタン</para></listitem> |
---|
| 975 | <listitem><para>鍵を右クリックして<guimenuitem>エキスポート</guimenuitem></para></listitem> |
---|
| 976 | </itemizedlist> |
---|
| 977 | <figure id="seahorse-08"> |
---|
| 978 | <title>ポップアップメニューからのエキスポートの選択</title> |
---|
| 979 | <graphic fileref="images/seahorse-08.png" /> |
---|
| 980 | </figure> |
---|
| 981 | <para>すると<xref linkend="seahorse-09" />のようなダイアログが表示されるのでファイル名と保存先のフォルダを選択し、<guibutton>保存</guibutton>ボタンを押してください。(ファイル名にデフォルトで空白が入ってしまいますが、空白を含めないようにしてください。)</para> |
---|
| 982 | <figure id="seahorse-09"> |
---|
| 983 | <title>公開鍵のエキスポート</title> |
---|
| 984 | <graphic fileref="images/seahorse-09.png" /> |
---|
| 985 | </figure> |
---|
| 986 | </sect1> |
---|
| 987 | <sect1 id="sh-keyserver"> |
---|
| 988 | <title>公開鍵サーバへの登録</title> |
---|
| 989 | <para>公開鍵サーバへ鍵を登録するには、以下の手順を実行します。</para> |
---|
| 990 | <orderedlist> |
---|
| 991 | <listitem><para>公開鍵サーバへ鍵を登録するには、鍵を選択し、メニューから<menuchoice><guimenu>リモート</guimenu><guimenuitem>鍵の公開と同期</guimenuitem></menuchoice>を実行します。</para></listitem> |
---|
| 992 | <listitem> |
---|
| 993 | <para><xref linkend="seahorse-13" />のような画面が表示されるので<guibutton>鍵サーバ</guibutton>ボタンを押します。</para> |
---|
| 994 | <figure id="seahorse-13"> |
---|
| 995 | <title>鍵の同期</title> |
---|
| 996 | <graphic fileref="images/seahorse-13.png" /> |
---|
| 997 | </figure> |
---|
| 998 | </listitem> |
---|
| 999 | <listitem> |
---|
| 1000 | <para><guilabel>鍵の公開先</guilabel>のドロップダウンリストから、任意の鍵サーバを選択します。</para> |
---|
| 1001 | <figure id="seahorse-14"> |
---|
| 1002 | <title>設定</title> |
---|
| 1003 | <graphic fileref="images/seahorse-14.png" /> |
---|
| 1004 | </figure> |
---|
| 1005 | </listitem> |
---|
| 1006 | <listitem><para><guibutton>閉じる</guibutton>ボタンを押します。</para></listitem> |
---|
| 1007 | <listitem> |
---|
| 1008 | <para><guibutton>同期する</guibutton>ボタンを押します。</para> |
---|
| 1009 | <figure id="seahorse-15"> |
---|
| 1010 | <title>鍵の同期(公開先設定後)</title> |
---|
| 1011 | <graphic fileref="images/seahorse-15.png" /> |
---|
| 1012 | </figure> |
---|
| 1013 | </listitem> |
---|
| 1014 | <listitem> |
---|
| 1015 | <para>公開鍵サーバとの通信が終了するまで<xref linkend="seahorse-16" />のように進捗状況が表示されます。</para> |
---|
| 1016 | <figure id="seahorse-16"> |
---|
| 1017 | <title>鍵の同期中...</title> |
---|
| 1018 | <graphic fileref="images/seahorse-16.png" /> |
---|
| 1019 | </figure> |
---|
| 1020 | <para>特にエラーメッセージが表示されなければ、登録完了です。</para> |
---|
| 1021 | </listitem> |
---|
| 1022 | </orderedlist> |
---|
| 1023 | </sect1> |
---|
| 1024 | </appendix> |
---|
| 1025 | <appendix id="install-VineSeed"> |
---|
| 1026 | <title>VineSeed環境の構築要領</title> |
---|
[1207] | 1027 | <important> |
---|
| 1028 | <title>VineSeedはアルファ版です</title> |
---|
| 1029 | <para>VineSeedはアルファ版であり、様々な問題があることを御了解ください。特にリリースバージョンからのアップグレードや、逆にリリースバージョンへのアップグレードに支障がでる可能性があります。またパッケージ構成もダイナミックに変わる可能性があります。正常にインストール出来ない場合や、アップグレードで重要なパッケージが動かなくなる可能性もあります。単純に利用のみの目的ではお使いにならないことを推奨します。</para> |
---|
| 1030 | </important> |
---|
[1280] | 1031 | <para>以下にVineSeed環境構築の一例を記述します。この例では、コンソールベースでの作業がメインとなります。日本語出力を抑制するために、適宜、言語を変更するなどしてください。</para> |
---|
| 1032 | <screen>$ export LANG="C"</screen> |
---|
| 1033 | <para>また、ほとんどのコマンドの実行にroot権限を必要とします。</para> |
---|
[1207] | 1034 | <orderedlist> |
---|
| 1035 | <listitem> |
---|
[1280] | 1036 | <para>Vine Linuxの最新リリースバージョンを「ベースシステム」でインストールします。(パッケージグループの選択の際には、「基本構成」を選択します。)</para> |
---|
| 1037 | <para>インストール後、初回起動時にはネットワークデバイスが無効となっているため、nfs関連サービスの起動に失敗し、ログインプロンプトが出るまで時間がかかります。(Vine Linux 5.2で解消される予定)</para> |
---|
| 1038 | </listitem> |
---|
| 1039 | <listitem> |
---|
| 1040 | <para>ログイン後、ネットワークを起動します。</para> |
---|
| 1041 | <screen># /etc/init.d/network start</screen> |
---|
| 1042 | <para>次回起動時以降もネットワークが起動するように以下のコマンドを実行します。</para> |
---|
| 1043 | <screen># /sbin/chkconfig network on</screen> |
---|
| 1044 | </listitem> |
---|
| 1045 | <listitem> |
---|
| 1046 | <para>apt-getコマンドを利用してErrataを適用します。</para> |
---|
[1207] | 1047 | <screen> |
---|
| 1048 | # apt-get update |
---|
| 1049 | # apt-get upgrade |
---|
| 1050 | </screen> |
---|
| 1051 | </listitem> |
---|
| 1052 | <listitem><para>再起動後、システムが正常に動作するのを確認します。</para></listitem> |
---|
| 1053 | <listitem> |
---|
[1280] | 1054 | <para>APTによるパッケージの取得先を修正するため、ディレクトリ<filename class="directory">/etc/apt/sources.list.d/</filename>以下の全てのファイルをvim等のエディタなどで編集します。</para> |
---|
| 1055 | <para>例えば、Vine Linux 5.1の<filename>/etc/apt/sources.list.d/main.list</filename>には、次のような行が含まれています。</para> |
---|
[1207] | 1056 | <screen> |
---|
| 1057 | # (master) |
---|
| 1058 | rpm [vine] http://updates.vinelinux.org/apt 5.1/$(ARCH) main updates |
---|
| 1059 | rpm-src [vine] http://updates.vinelinux.org/apt 5.1/$(ARCH) main updates |
---|
| 1060 | </screen> |
---|
[1280] | 1061 | <para>#で始まる行はコメントとして扱われ、設定には影響しません。</para> |
---|
| 1062 | <para>この例では、<quote>5.1/$(ARCH)</quote>となっている部分を全て<quote>VineSeed/$(ARCH)</quote>に変更します。</para> |
---|
| 1063 | <para>これら設定ファイルの詳細は、次のようにしてsources.listのマニュアルを参照してください。</para> |
---|
| 1064 | <screen>$ man sources.list</screen> |
---|
[1207] | 1065 | </listitem> |
---|
| 1066 | <listitem> |
---|
[1280] | 1067 | <para>APTを更新します。</para> |
---|
[1207] | 1068 | <screen> |
---|
| 1069 | # apt-get update |
---|
[1280] | 1070 | # apt-get install apt libxml2 |
---|
| 1071 | </screen> |
---|
| 1072 | </listitem> |
---|
| 1073 | <listitem id="task-xorg-x11"> |
---|
| 1074 | <para>グラフィカル環境が必要な場合は、以下の例を参考にしてインストールしてください。</para> |
---|
| 1075 | <screen> |
---|
| 1076 | # apt-get install task-xorg-x11 task-gnome |
---|
| 1077 | </screen> |
---|
| 1078 | <para>task-gnomeの部分は、GNOMEを使う場合です。</para> |
---|
| 1079 | <para>好みの日本語入力システムもインストールしておくと良いでしょう。</para> |
---|
| 1080 | </listitem> |
---|
| 1081 | <listitem id="dist-upgrade"> |
---|
| 1082 | <para>システムをアップグレードします。</para> |
---|
| 1083 | <screen> |
---|
| 1084 | # apt-get update |
---|
[1207] | 1085 | # apt-get dist-upgrade |
---|
| 1086 | </screen> |
---|
| 1087 | </listitem> |
---|
[1420] | 1088 | <listitem id="broken-packages"> |
---|
[1280] | 1089 | <para><xref linkend="dist-upgrade" />で<screen>E: Unable to correct problems, you have held broken packages.</screen>のようなメッセージが出た場合は、個別にパッケージをインストールします。</para> |
---|
| 1090 | <screen># apt-get install package1 package2 ...</screen> |
---|
| 1091 | </listitem> |
---|
| 1092 | <listitem> |
---|
| 1093 | <para><xref linkend="task-xorg-x11" />でグラフィカル環境をインストールした場合は、/etc/inittabを修正します。</para> |
---|
| 1094 | <screen> |
---|
| 1095 | # cp -p /etc/inittab /etc/inittab.org |
---|
| 1096 | # cp -p /etc/inittab.sysv /etc/inittab |
---|
| 1097 | </screen> |
---|
| 1098 | <para>必要に応じ、デフォルトのランレベルを編集してください。</para> |
---|
| 1099 | </listitem> |
---|
[1207] | 1100 | <listitem><para>システムを再起動します。</para></listitem> |
---|
| 1101 | </orderedlist> |
---|
[1420] | 1102 | <note> |
---|
| 1103 | <title>依存関係を解決できない場合には</title> |
---|
| 1104 | <para><xref linkend="broken-packages" />のような状況に遭遇した場合、&bts;で同様の問題が報告されていないか確認の上、新規レポートを作成してください。</para> |
---|
| 1105 | <para>新規レポートを作成する際は、分かる範囲で以下のような情報を含めてください。</para> |
---|
| 1106 | <itemizedlist> |
---|
| 1107 | <listitem><para>使用しているコンピュータの詳細(CPU、メモリ容量など)</para></listitem> |
---|
| 1108 | <listitem><para>入力したコマンド・操作の流れ</para></listitem> |
---|
| 1109 | <listitem><para>具体的なエラーメッセージと前後の出力</para></listitem> |
---|
| 1110 | </itemizedlist> |
---|
| 1111 | </note> |
---|
[1168] | 1112 | </appendix> |
---|
[1420] | 1113 | <appendix id="retirement"> |
---|
| 1114 | <title>開発を継続できなくなった時には</title> |
---|
| 1115 | <para>事情により開発を継続できなくなった場合には、開発者用メーリングリストに連絡をお願いします。</para> |
---|
| 1116 | <para>特に理由を説明する必要はありませんが、メンテナンスを担当していたパッケージやドキュメントを付記してください。</para> |
---|
| 1117 | </appendix> |
---|
[1168] | 1118 | </book> |
---|