Change punctuation style and tidy up.

Submitted by:   Hideyuki KURASHINA <rushani@jp.FreeBSD.org>
References:     [doc-jp-work 475]
This commit is contained in:
Hiroki Sato 2002-08-10 20:48:57 +00:00
parent ca40df8af1
commit 0548993ae7
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=13829
4 changed files with 2613 additions and 2613 deletions

View file

@ -23,32 +23,32 @@
<sect1> <sect1>
<title>この章では</title> <title>この章では</title>
<para>FreeBSD はあなたのコンピュータから原音に忠実な再生を楽しむための, <para>FreeBSD はあなたのコンピュータから原音に忠実な再生を楽しむための
数多くの種類のサウンドカードをサポートしています. 数多くの種類のサウンドカードをサポートしています
これにより, MPEG Audio Layer 3 (MP3) や WAV, Ogg Vorbis などの これにより、MPEG Audio Layer 3 (MP3) や WAV、Ogg Vorbis などの
音楽を録音したり再生したりできるようになります. 音楽を録音したり再生したりできるようになります
加えて FreeBSD Ports コレクションには, あなたが録音した音楽を 加えて FreeBSD Ports コレクションにはあなたが録音した音楽を
編集したり, 音響効果を加えたり, 接続された MIDI 機器を制御したり 編集したり、音響効果を加えたり、接続された MIDI 機器を制御したり
するためのアプリケーションが含まれています.</para> するためのアプリケーションが含まれています</para>
<!-- XXX we need to talk about ripping MP3s here. --> <!-- XXX we need to talk about ripping MP3s here. -->
<para>この章を読めば, 以下のことを知ることができます:</para> <para>この章を読めば以下のことを知ることができます:</para>
<itemizedlist> <itemizedlist>
<listitem><para>サウンドカードをインストールする方法.</para></listitem> <listitem><para>サウンドカードをインストールする方法</para></listitem>
<listitem><para>システムを設定してサウンドカードを認識させる方法. <listitem><para>システムを設定してサウンドカードを認識させる方法
</para></listitem> </para></listitem>
<listitem><para>サンプルアプリケーションを利用してサウンドカードが <listitem><para>サンプルアプリケーションを利用してサウンドカードが
うまく動いているかどうかをテストする方法.</para></listitem> うまく動いているかどうかをテストする方法</para></listitem>
<listitem><para>サウンド関連の設定のトラブルシュート方法. <listitem><para>サウンド関連の設定のトラブルシュート方法
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
<para>この章を読む前に, 以下のことを理解しておく必要があります:</para> <para>この章を読む前に以下のことを理解しておく必要があります:</para>
<itemizedlist> <itemizedlist>
<listitem><para>新しいカーネルを設定してインストールする方法 (<xref <listitem><para>新しいカーネルを設定してインストールする方法 (<xref
linkend="kernelconfig">).</para></listitem> linkend="kernelconfig">)</para></listitem>
</itemizedlist> </itemizedlist>
</sect1> </sect1>
@ -58,18 +58,18 @@
<indexterm><primary>PCI</primary></indexterm> <indexterm><primary>PCI</primary></indexterm>
<indexterm><primary>ISA</primary></indexterm> <indexterm><primary>ISA</primary></indexterm>
<indexterm><primary>サウンドカード</primary></indexterm> <indexterm><primary>サウンドカード</primary></indexterm>
<para>設定をはじめる前に, あなたが持っているカードのモデル, <para>設定をはじめる前に、あなたが持っているカードのモデル、
そのカードが使用しているチップ, そして PCI, ISA そのカードが使用しているチップ、そして PCI、ISA
どちらのカードなのかを確認する必要があります. どちらのカードなのかを確認する必要があります
FreeBSD は, さまざまな PCI および ISA のカードをサポートしています. FreeBSD は、さまざまな PCI および ISA のカードをサポートしています。
もしあなたのカードが次のリストに無い場合は, もしあなたのカードが次のリストに無い場合は
&man.pcm.4; のマニュアルページを確認してください. &man.pcm.4; のマニュアルページを確認してください
これは完全なリストではありませんが, これは完全なリストではありませんが
良く使われているカードがだいたい含まれています.</para> 良く使われているカードがだいたい含まれています</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Crystal 4237, 4236, 4232, 4231</para> <para>Crystal 4237、4236、4232、4231</para>
</listitem> </listitem>
<listitem> <listitem>
@ -93,7 +93,7 @@
</listitem> </listitem>
<listitem> <listitem>
<para>Sound Blaster Pro, 16, 32, AWE64, AWE128, Live</para> <para>Sound Blaster Pro、16、32、AWE64、AWE128、Live</para>
</listitem> </listitem>
<listitem> <listitem>
@ -101,11 +101,11 @@
</listitem> </listitem>
<listitem> <listitem>
<para>Advanced Asound 100, 110, および Logic ALS120</para> <para>Advanced Asound 100、110、および Logic ALS120</para>
</listitem> </listitem>
<listitem> <listitem>
<para>ES 1868, 1869, 1879, 1888</para> <para>ES 1868、1869、1879、1888</para>
</listitem> </listitem>
<listitem> <listitem>
@ -121,26 +121,26 @@
<primary>カーネル</primary> <primary>カーネル</primary>
<secondary>コンフィグレーション</secondary> <secondary>コンフィグレーション</secondary>
</indexterm> </indexterm>
<para>カーネル内で使用するドライバは, <para>カーネル内で使用するドライバは
使用するカードの種類によって異なります. 使用するカードの種類によって異なります
この節では, それらの詳しい情報と, この節では、それらの詳しい情報と、
<link linkend="kernelconfig">カーネルコンフィグレーションファイル</link>に <link linkend="kernelconfig">カーネルコンフィグレーションファイル</link>に
何を追加すれば良いのかについて説明します.</para> 何を追加すれば良いのかについて説明します</para>
<sect2> <sect2>
<title>Creative, Advance, および ESS 社製サウンドカード</title> <title>Creative、Advance、および ESS 社製サウンドカード</title>
<para>これらのカードを使用する場合は, <para>これらのカードを使用する場合は
カーネルコンフィグレーションファイルに以下の設定を追加します.</para> カーネルコンフィグレーションファイルに以下の設定を追加します</para>
<programlisting>device pcm</programlisting> <programlisting>device pcm</programlisting>
<para>PnP の ISA カードを使用する場合は, さらに</para> <para>PnP の ISA カードを使用する場合はさらに</para>
<programlisting>device sbc</programlisting> <programlisting>device sbc</programlisting>
<para>も加えてください. <para>も加えてください
PnP ではない ISA のカードを使用する場合は,</para> PnP ではない ISA のカードを使用する場合は</para>
<programlisting>device pcm</programlisting> <programlisting>device pcm</programlisting>
@ -148,33 +148,33 @@
<programlisting>device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15</programlisting> <programlisting>device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15</programlisting>
<para>を加えます. <para>を加えます
これらは標準の設定にあわせたものですので, これらは標準の設定にあわせたものですので
IRQ などの設定は必要に応じて変更する必要があります. IRQ などの設定は必要に応じて変更する必要があります
また, 設定の詳細については, &man.sbc.4; また、設定の詳細については、&man.sbc.4;
のマニュアルページを参照してください.</para> のマニュアルページを参照してください</para>
<note> <note>
<para>パッチを適用していない FreeBSD 4.0 は <para>パッチを適用していない FreeBSD 4.0 は
Sound Blaster Live に対応していません. Sound Blaster Live に対応していません
また, この文書ではその設定方法については扱いません. また、この文書ではその設定方法については扱いません。
このカードを使用する前に, 最新の -STABLE このカードを使用する前に最新の -STABLE
にアップデートするようにしてください.</para> にアップデートするようにしてください</para>
</note> </note>
</sect2> </sect2>
<sect2> <sect2>
<title>Gravis 社製 UltraSound カード</title> <title>Gravis 社製 UltraSound カード</title>
<para>PnP の ISA カードを使用するには, <para>PnP の ISA カードを使用するには
カーネルコンフィグレーションファイルに次の カーネルコンフィグレーションファイルに次の
2 つの設定を追加します.</para> 2 つの設定を追加します</para>
<programlisting>device pcm</programlisting> <programlisting>device pcm</programlisting>
<programlisting>device gusc</programlisting> <programlisting>device gusc</programlisting>
<para>PnP ではない ISA カードの場合には,</para> <para>PnP ではない ISA カードの場合には</para>
<programlisting>device pcm</programlisting> <programlisting>device pcm</programlisting>
@ -182,16 +182,16 @@
<programlisting>device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13</programlisting> <programlisting>device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13</programlisting>
<para>を加えます. <para>を加えます
IRQ などの設定は必要に応じて変更する必要があります. IRQ などの設定は必要に応じて変更する必要があります
また, 設定の詳細については, &man.gusc.4; また、設定の詳細については、&man.gusc.4;
のマニュアルページを参照してください.</para> のマニュアルページを参照してください</para>
</sect2> </sect2>
<sect2> <sect2>
<title>Crystal 社製サウンドカード</title> <title>Crystal 社製サウンドカード</title>
<para>Crystal 社製のカードを使用する場合は, <para>Crystal 社製のカードを使用する場合は
カーネルコンフィグレーションファイルに</para> カーネルコンフィグレーションファイルに</para>
<programlisting>device pcm</programlisting> <programlisting>device pcm</programlisting>
@ -200,75 +200,75 @@
<programlisting>device csa</programlisting> <programlisting>device csa</programlisting>
<para>の両方が必要です.</para> <para>の両方が必要です</para>
</sect2> </sect2>
<sect2> <sect2>
<title>一般的なカードのサポート</title> <title>一般的なカードのサポート</title>
<para>PnP ISA カードや PCI カードを使用する場合は,</para> <para>PnP ISA カードや PCI カードを使用する場合は</para>
<programlisting>device pcm</programlisting> <programlisting>device pcm</programlisting>
<para>をカーネルコンフィグレーションファイルに追加します. <para>をカーネルコンフィグレーションファイルに追加します
ブリッジドライバを持たない, PnP 非対応の ISA ブリッジドライバを持たないPnP 非対応の ISA
カードの場合は,</para> カードの場合は</para>
<programlisting>device pcm0 at isa? irq 10 drq 1 flags 0x0</programlisting> <programlisting>device pcm0 at isa? irq 10 drq 1 flags 0x0</programlisting>
<para>を加えます. <para>を加えます
IRQ などの設定は, IRQ などの設定は
ハードウェアの設定に合うように必要に応じて変更してください.</para> ハードウェアの設定に合うように必要に応じて変更してください</para>
</sect2> </sect2>
</sect1> </sect1>
<sect1> <sect1>
<title>カーネルの再構築</title> <title>カーネルの再構築</title>
<para>必要な設定をカーネルコンフィグレーションファイルに追加したら, <para>必要な設定をカーネルコンフィグレーションファイルに追加したら
カーネルを再構築します. カーネルを再構築します
詳細についてはハンドブックの<xref linkend="kernelconfig-building">を参照してください.</para> 詳細についてはハンドブックの<xref linkend="kernelconfig-building">を参照してください</para>
</sect1> </sect1>
<sect1> <sect1>
<title>デバイスノードの作成とテスト</title> <title>デバイスノードの作成とテスト</title>
<indexterm><primary>デバイスノード</primary></indexterm> <indexterm><primary>デバイスノード</primary></indexterm>
<para>再起動した後, ログインして <command>cat /dev/sndstat</command> <para>再起動した後ログインして <command>cat /dev/sndstat</command>
を実行します. すると, 以下のように出力されるはずです.</para> を実行します。すると、以下のように出力されるはずです。</para>
<programlisting>FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53 <programlisting>FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53
Installed devices: Installed devices:
pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels duplex)</programlisting> pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels duplex)</programlisting>
<para>エラーメッセージが出力される場合は, <para>エラーメッセージが出力される場合は
今までの手順のどこかが間違っています. 今までの手順のどこかが間違っています
カーネルコンフィグレーションファイルをもう一度見直して, カーネルコンフィグレーションファイルをもう一度見直して
正しいデバイスを選択しているかどうか確認してください.</para> 正しいデバイスを選択しているかどうか確認してください</para>
<para>エラーが出力されずに <devicename>pcm0</devicename> <para>エラーが出力されずに <devicename>pcm0</devicename>
が出力された場合は, が出力された場合は
<command>su</command> コマンドで <command>su</command> コマンドで
<username>root</username> になり, <username>root</username> になり
次のように実行します.</para> 次のように実行します</para>
<screen>&prompt.root; <userinput>cd /dev</userinput> <screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen> &prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>
<para>エラーが出力されずに <devicename>pcm1</devicename> <para>エラーが出力されずに <devicename>pcm1</devicename>
が出力された場合は, が出力された場合は
<command>su</command> コマンドで <command>su</command> コマンドで
<username>root</username> になり, <username>root</username> になり
次のように実行します.</para> 次のように実行します</para>
<screen>&prompt.root; <userinput>cd /dev</userinput> <screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV snd1</userinput></screen> &prompt.root; <userinput>sh MAKEDEV snd1</userinput></screen>
<para>上のコマンドはどちらも, <para>上のコマンドはどちらも
<devicename>/dev/snd</devicename> という <devicename>/dev/snd</devicename> という
デバイスを作成するもの<emphasis>ではない</emphasis>という点に注意してください! デバイスを作成するもの<emphasis>ではない</emphasis>という点に注意してください!
これらは代わりに, これらは代わりに
次のような複数のデバイスノードを作成します.</para> 次のような複数のデバイスノードを作成します</para>
<informaltable frame="none"> <informaltable frame="none">
<tgroup cols="2"> <tgroup cols="2">
@ -292,8 +292,8 @@ pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels dup
<row> <row>
<entry><devicename>/dev/dspW</devicename></entry> <entry><devicename>/dev/dspW</devicename></entry>
<entry><devicename>/dev/dsp</devicename>と同様. <entry><devicename>/dev/dsp</devicename>と同様
ただしサンプリングは 16 ビット.</entry> ただしサンプリングは 16 ビット</entry>
</row> </row>
<row> <row>
@ -324,9 +324,9 @@ pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels dup
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>すべてうまく行けば, <para>すべてうまく行けば
サウンドカードの機能を使用することができます. サウンドカードの機能を使用することができます
うまく行かない場合は, 次の節をご覧ください.</para> うまく行かない場合は、次の節をご覧ください。</para>
</sect1> </sect1>
<sect1> <sect1>
@ -340,8 +340,8 @@ pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels dup
</question> </question>
<answer> <answer>
<para>いくつかのデバイスノードが正しく作成されていません. <para>いくつかのデバイスノードが正しく作成されていません
前節の手順をもう一度やってみてください.</para> 前節の手順をもう一度やってみてください</para>
</answer> </answer>
</qandaentry> </qandaentry>
@ -352,7 +352,7 @@ pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels dup
</question> </question>
<answer> <answer>
<para>I/O ポートが正しく設定されていません.</para> <para>I/O ポートが正しく設定されていません</para>
</answer> </answer>
</qandaentry> </qandaentry>
@ -363,22 +363,22 @@ pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels dup
</question> </question>
<answer> <answer>
<para>IRQ が正しく設定されていません. <para>IRQ が正しく設定されていません
カーネルコンフィグレーションファイル中の カーネルコンフィグレーションファイル中の
IRQ の設定と, IRQ の設定と
サウンドカードの IRQ の設定が同じであるか確認してください.</para> サウンドカードの IRQ の設定が同じであるか確認してください</para>
</answer> </answer>
</qandaentry> </qandaentry>
<qandaentry> <qandaentry>
<question> <question>
<para><errorname>xxx: gus pcm not attached, out of memory</errorname> というエラーが出ます. <para><errorname>xxx: gus pcm not attached, out of memory</errorname> というエラーが出ます
何が起きたのでしょうか?</para> 何が起きたのでしょうか?</para>
</question> </question>
<answer> <answer>
<para>これは, <para>これは
デバイスを使用するために必要なメモリが確保できない時に表示されます.</para> デバイスを使用するために必要なメモリが確保できない時に表示されます</para>
</answer> </answer>
</qandaentry> </qandaentry>
</qandaset> </qandaset>

View file

@ -17,52 +17,52 @@
<title>ソースツリーのガイドラインおよび方針</title> <title>ソースツリーのガイドラインおよび方針</title>
<para><emphasis>訳者: &a.jp.mihoko;, 1996 年 9 月 6 日.</emphasis></para> <para><emphasis>訳者: &a.jp.mihoko;、1996 年 9 月 6 日</emphasis></para>
<para>本章は, FreeBSD <para>本章はFreeBSD
のソースツリーについてのさまざまなガイドラインや のソースツリーについてのさまざまなガイドラインや
ポリシーについて書かれています.</para> ポリシーについて書かれています</para>
<sect1 id="policies-maintainer"> <sect1 id="policies-maintainer">
<title>Makefile 中の <makevar>MAINTAINER</makevar></title> <title>Makefile 中の <makevar>MAINTAINER</makevar></title>
<indexterm><primary>port 保守担当(ports maintainer)</primary></indexterm> <indexterm><primary>port 保守担当 (ports maintainer)</primary></indexterm>
<para>1996 年 6 月.</para> <para>1996 年 6 月</para>
<para>FreeBSD 配布物の特定の部分が, 一人の人やグループによって保守 <para>FreeBSD 配布物の特定の部分が一人の人やグループによって保守
されている場合は, ソースツリーの当該 されている場合はソースツリーの当該
<filename>Makefile</filename> に <filename>Makefile</filename> に
<programlisting>MAINTAINER= email-addresses</programlisting> <programlisting>MAINTAINER= email-addresses</programlisting>
が付け加えられています. これを記述することによって, が付け加えられています。これを記述することによって、
この部分が誰によって保守管理されているかを世界中のユーザに この部分が誰によって保守管理されているかを世界中のユーザに
伝えることができます.</para> 伝えることができます</para>
<para>この意味は次のとおりです:</para> <para>この意味は次のとおりです:</para>
<para>保守担当者がそのコードを所有し, そのコードに対する責任を持っ <para>保守担当者がそのコードを所有しそのコードに対する責任を持っ
ています. すなわち, ています。すなわち、
その人がそのコードに関するバグの修正やトラブル報告 その人がそのコードに関するバグの修正やトラブル報告
に対する回答をします. また, に対する回答をします。また、
そのコードが寄贈ソフトウェアの場合には, そのソフトウェアの そのコードが寄贈ソフトウェアの場合にはそのソフトウェアの
新しいバージョンに適切に追従させる作業をその人が行い 新しいバージョンに適切に追従させる作業をその人が行い
ます.</para> ます</para>
<para>保守担当者が決められているディレクトリに対して <para>保守担当者が決められているディレクトリに対して
変更をおこなう場合は, 変更をおこなう前に, 変更をおこなう場合は、変更をおこなう前に、
その変更内容を保守担当者に送って, その変更内容を保守担当者に送って
保守担当者にレビューをしてもらってください. 保守担当者が, 保守担当者にレビューをしてもらってください。保守担当者が、
電子メールに一定期間応答しない場合にのみ, 電子メールに一定期間応答しない場合にのみ
保守担当者がレビューすることなしに, 保守担当者がレビューすることなしに
変更をおこなうことが認められます. しかしながら, 変更をおこなうことが認められます。しかしながら、
そのような場合でも可能な限り, 変更点を第三者にレビュー そのような場合でも可能な限り変更点を第三者にレビュー
してもらうようにしてください.</para> してもらうようにしてください</para>
<para>もちろん, この義務を引き受けることができない人やグループを <para>もちろんこの義務を引き受けることができない人やグループを
保守管理者として追加することはできません. また, 保守管理者として追加することはできません。また、
保守管理者がソースツリー管理者 ("committer") である必要は 保守管理者がソースツリー管理者 ("committer") である必要は
ありません.</para> ありません</para>
</sect1> </sect1>
<sect1 id="policies-contributed"> <sect1 id="policies-contributed">
@ -88,136 +88,136 @@
<para>FreeBSD 配布物のうちのいくつかのソフトウェアは FreeBSD <para>FreeBSD 配布物のうちのいくつかのソフトウェアは FreeBSD
プロジェクト 以外のところで保守されています. 歴史的な経緯から, プロジェクト以外のところで保守されています。歴史的な経緯から、
私たちはこれを <emphasis> 寄贈 </emphasis> ソフトウェアと 私たちはこれを <emphasis>寄贈</emphasis> ソフトウェアと
呼んでいます. <command>perl</command> や <command>gcc</command> 呼んでいます<command>perl</command> や <command>gcc</command>
<command>patch</command> などがその例です.</para> <command>patch</command> などがその例です</para>
<para>ここ数年来, この種のソフトウェアの取り扱いには, <para>ここ数年来、この種のソフトウェアの取り扱いには、
さまざまな方法が 取られてきましたが, さまざまな方法が 取られてきましたが
どの方法にもいくつかの利点と欠点があります. どの方法にもいくつかの利点と欠点があります
これまで欠点のない明確な方法はありませんでした.</para> これまで欠点のない明確な方法はありませんでした</para>
<para>議論した結果, これらの方法のうちの一つが <para>議論した結果これらの方法のうちの一つが
<quote>公式な</quote>方法として選択され ました. その方法が, 今後, <quote>公式な</quote> 方法として選択されました。その方法が、今後、
この種のソフトウェアを取り込む場合に, 使用 されます. その上, この種のソフトウェアを取り込む場合に、使用されます。その上、
この方法では, だれもが(cvs この方法では、だれもが (cvs
にアクセス権のない人でさえ)<quote>公式</quote> にアクセス権のない人でさえ) <quote>公式</quote>
バージョンのソースに対する差分を簡単に得ることができます. バージョンのソースに対する差分を簡単に得ることができます
これは古い方法にはなかった大きな利点です. ですから, これは古い方法にはなかった大きな利点です。ですから、
既存の寄贈ソフトウェアも, 既存の寄贈ソフトウェアも
この方法に収束していくことを強く望んでいます. この方法に収束していくことを強く望んでいます
この方法を使用することにより, 寄贈ソフトウェアの主な開発者に, この方法を使用することにより、寄贈ソフトウェアの主な開発者に、
変更 点を返すのがとても容易になります.</para> 変更点を返すのがとても容易になります。</para>
<para>しかしながら結局, 寄贈ソフトウェアの取扱は, <para>しかしながら結局、寄贈ソフトウェアの取扱は、
実際に作業を行って いる人々に委ねられています. 実際に作業を行っている人々に委ねられています。
もしこの方法を使用することが, その人が扱っているパッケージには もしこの方法を使用することがその人が扱っているパッケージには
極端に合わないような場合には, コアチームの承認さえあれば, 極端に合わないような場合には、コアチームの承認さえあれば、
これらの ルールに反しても, これらのルールに反しても、
他の開発者の一般的な合意は得られるでしょう. 他の開発者の一般的な合意は得られるでしょう
将来にわたってパッケージを保守できるということは, 将来にわたってパッケージを保守できるということは
大変重要な事柄に なってきます.</para> 大変重要な事柄に なってきます</para>
<note> <note>
<para>RCS のファイルフォーマットと CVS <para>RCS のファイルフォーマットと CVS
のベンダブランチの使用には不幸な設計上の制限があります. のベンダブランチの使用には不幸な設計上の制限があります
したがって, したがって
ベンダブランチの内容をいまだに引きずっているファイルに ベンダブランチの内容をいまだに引きずっているファイルに
対して小さな, 些細な変更, そして / あるいは 対して小さな、些細な変更、そして / あるいは
膨大な変更を加えることには, 膨大な変更を加えることには
<emphasis>強い反対があります</emphasis>. <emphasis>強い反対があります</emphasis>
<quote>誤字訂正</quote>はもちろんこの中に入りますし, <!-- <quote>誤字訂正</quote> はもちろんこの中に入りますし、<!--
kuriyama - cosmetic? --> kuriyama - cosmetic? -->
しかも<quote>膨大な</quote>の範疇に入るので, リビジョンが しかも <quote>膨大な</quote> の範疇に入るので、リビジョンが
1.1.x.x 1.1.x.x
であるファイルに対する誤字訂正は避けられることになっています. であるファイルに対する誤字訂正は避けられることになっています
一文字の変更したことによるリポジトリの肥大は, 一文字の変更したことによるリポジトリの肥大は
非常に劇的なものになり得るのです.</para> 非常に劇的なものになり得るのです</para>
</note> </note>
<para>プログラミング言語 <application>Tcl</application> は, <para>プログラミング言語 <application>Tcl</application> は
この方法が活用されているよい例になっています:</para> この方法が活用されているよい例になっています:</para>
<para><filename>src/contrib/tcl</filename> には, <para><filename>src/contrib/tcl</filename> には
このパッケージの保守管理者が 配布したソースが含まれています. このパッケージの保守管理者が配布したソースが含まれています。
この中からは FreeBSD に完全には適用 この中からは FreeBSD に完全には適用
できない部分が削除されています. Tcl の場合は, できない部分が削除されています。Tcl の場合は、
<filename>mac</filename>, <filename>win</filename>, <filename>mac</filename>、<filename>win</filename>、
<filename>compat</filename> というサブディレクトリは, FreeBSD <filename>compat</filename> というサブディレクトリはFreeBSD
に取り込む前に削除されて いました.</para> に取り込む前に削除されていました。</para>
<para><filename>src/lib/libtcl</filename> には, <para><filename>src/lib/libtcl</filename> には
ライブラリを生成したり, ドキュ ライブラリを生成したりドキュ
メントをインストールする際に使用される, 標準の メントをインストールする際に使用される標準の
<filename>bsd.lib.mk</filename> の 規則を使用した <filename>bsd.lib.mk</filename> の規則を使用した
<command>bmake</command> スタイルの <command>bmake</command> スタイルの
<filename>Makefile</filename> だけが含まれています.</para> <filename>Makefile</filename> だけが含まれています</para>
<para><filename>src/usr.bin/tclsh</filename> には, <para><filename>src/usr.bin/tclsh</filename> には
<filename>bsd.prog.mk</filename> 規則 を使用して, <filename>bsd.prog.mk</filename> 規則を使用して、
<command>tclsh</command> <command>tclsh</command>
プログラムや関連するマニュアルページを生成 /インストール する プログラムや関連するマニュアルページを生成 / インストールする
bmake スタイルの <filename>Makefile</filename> bmake スタイルの <filename>Makefile</filename>
だけが含まれています.</para> だけが含まれています</para>
<para><filename>src/tools/tools/tcl_bmake</filename> には, Tcl <para><filename>src/tools/tools/tcl_bmake</filename> にはTcl
ソフトウェアを更新する必要が生じたときの助けになる2つのシェルス ソフトウェアを更新する必要が生じたときの助けになる 2 つのシェルス
クリプトが含まれています. これらは, クリプトが含まれています。これらは、
ソフトウェアを構築するのに使用し たり, ソフトウェアを構築するのに使用したり、
インストール対象になるソフトウェアではありません.</para> インストール対象になるソフトウェアではありません</para>
<para>ここ重要なのは, <filename>src/contrib/tcl</filename> <para>ここ重要なのは<filename>src/contrib/tcl</filename>
ディレクトリが, 規則にしたがっ て作られているということです. ディレクトリが、規則にしたがっ て作られているということです。
つまり, できるだけ FreeBSD に特化した つまりできるだけ FreeBSD に特化した
変更をおこなわないようにしたソースを(RCS 変更をおこなわないようにしたソースを (RCS
のキーワードを拡張しないで, CVS のベンダブランチに)おくようにし のキーワードを拡張しないで、CVS のベンダブランチに) おくようにし
ています. <!-- kuriyama - easyimport --> ています<!-- kuriyama - easyimport -->
<hostid>freefall</hostid> 上の「簡易取り込み」ツールは, <hostid>freefall</hostid> 上の「簡易取り込み」ツールは
寄贈ソフトウェアを取り込む手助けとなります. けれども, 寄贈ソフトウェアを取り込む手助けとなります。けれども、
このツールの実行方法に疑問が生じた場合は, まずはじめに質問して, このツールの実行方法に疑問が生じた場合は、まずはじめに質問して、
失敗をしないようにしてください. そして, 失敗をしないようにしてください。そして、
その疑問を<quote>解決して</quote>からツールを使用してください. その疑問を <quote>解決して</quote> からツールを使用してください。
CVS に寄贈ソフトウェアを取り込む際には, CVS に寄贈ソフトウェアを取り込む際には
事故があってはいけません. 事故があってはいけません
よくあるような間違いをおかさないように, よくあるような間違いをおかさないように
十分注意してください.</para> 十分注意してください</para>
<para>先ほど述べたように, 残念なことに CVS <para>先ほど述べたように残念なことに CVS
にはベンダブランチという設計制限があります. このため, CVS にはベンダブランチという設計制限があります。このため、CVS
に寄贈ソフトウェアを取り込むには, オリジナル配布ソースに に寄贈ソフトウェアを取り込むにはオリジナル配布ソースに
適用されるベンダからの<quote>公式</quote>パッチと, 適用されるベンダからの <quote>公式</quote> パッチと、
ベンダブランチに逆輸入された 結果が必要です. ベンダブランチに逆輸入された 結果が必要です
ベンダブランチの一貫性を破壊したり, 将来, ベンダブランチの一貫性を破壊したり、将来、
新しいバージョンを取り込む 新しいバージョンを取り込む
時に衝突を起こしてしまったりというような 時に衝突を起こしてしまったりというような
困難な事態に陥らないように しなければなりません. そのために, 困難な事態に陥らないようにしなければなりません。そのために、
FreeBSD が管理しているバージョンに 対して, FreeBSD が管理しているバージョンに対して、
公式パッチを決して当ててはいけませんし, 公式パッチを "commit" 公式パッチを決して当ててはいけませんし公式パッチを "commit"
してはいけません.</para> してはいけません</para>
<para>多くのパッケージが, 他のアーキテクチャや他の環境と FreeBSD <para>多くのパッケージが他のアーキテクチャや他の環境と FreeBSD
との互換性を保ためのファイルをいくつか含んでいます. そこで, との互換性を保ためのファイルをいくつか含んでいます。そこで、
スペースを節約するために, FreeBSD スペースを節約するためにFreeBSD
にとっては無意味な配布ツリー上の一 にとっては無意味な配布ツリー上の一
部を削除することが許されています. けれども, 部を削除することが許されています。けれども、
削除されずに残ったファイルに対する, 著作権の通知やリリース 削除されずに残ったファイルに対する著作権の通知やリリース
ノートのような情報を含んだファイルは, 決して削除しては ノートのような情報を含んだファイルは決して削除しては
<emphasis> いけませ ん </emphasis>.</para> <emphasis>いけません</emphasis>。</para>
<para><command>bmake</command> <filename>Makefile</filename> <para><command>bmake</command> <filename>Makefile</filename>
が何らかのユーティリティによって, 配布ツリー が何らかのユーティリティによって配布ツリー
から自動的に生成できると, うまくいけば, 新しいバージョンへの から自動的に生成できると、うまくいけば、新しいバージョンへの
アップグレードをより簡単におこなうことができます. アップグレードをより簡単におこなうことができます
もしこのようなユーティリティを作成できた場合には, 将来の管理者に もしこのようなユーティリティを作成できた場合には将来の管理者に
とって便利になるように, 移植の際に, とって便利になるように、移植の際に、
<filename>src/tools</filename> ディレクトリ上に, (必要に応じて) <filename>src/tools</filename> ディレクトリ上に(必要に応じて)
そのユーティリティを必ずチェックインしてください.</para> そのユーティリティを必ずチェックインしてください</para>
<para><filename>src/contrib/tcl</filename> <para><filename>src/contrib/tcl</filename>
レベルのディレクトリには, <filename>FREEBSD-upgrade</filename> レベルのディレクトリには<filename>FREEBSD-upgrade</filename>
と 呼ばれるファイルが追加されており, そのファイルでは と 呼ばれるファイルが追加されておりそのファイルでは
次のような内容が 記述されています.</para> 次のような内容が記述されています。</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
@ -225,12 +225,12 @@
</listitem> </listitem>
<listitem> <listitem>
<para>オリジナルの配布物をどこから入手すればよいか また, <para>オリジナルの配布物をどこから入手すればよいか また
公式配布 サイトはどこか</para> 公式配布 サイトはどこか</para>
</listitem> </listitem>
<listitem> <listitem>
<para>オリジナルの作者にパッチを送り返すためには, <para>オリジナルの作者にパッチを送り返すためには
どこに送ればよいか</para> どこに送ればよいか</para>
</listitem> </listitem>
@ -239,57 +239,57 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<para>しかしながら, 寄贈ソースと一緒に <para>しかしながら寄贈ソースと一緒に
<filename>FREEBSD-upgrade</filename> ファイルを <filename>FREEBSD-upgrade</filename> ファイルを
取り込まないでください. それよりむしろ, 取り込まないでください。それよりむしろ、
(訳注:このファイルを)初回に取り込んだ後は, コマンド <command>cvs (訳注: このファイルを) 初回に取り込んだ後は、コマンド <command>cvs
add FREEBSD-upgrade ; cvs ci</command> を実行してください. add FREEBSD-upgrade ; cvs ci</command> を実行してください
<filename>src/contrib/cpio</filename> を例にすると, <filename>src/contrib/cpio</filename> を例にすると
次のようになります:</para> 次のようになります:</para>
<programlisting>このディレクトリは「ベンダ」ブランチ上のオリジナル配布ファイル <programlisting>このディレクトリは「ベンダ」ブランチ上のオリジナル配布ファイル
の初期ソースが含まれています. いかなる事情があっても, の初期ソースが含まれています。いかなる事情があっても、
パッチや cvs コミットによってこのディレクトリ上のファイルを パッチや cvs コミットによってこのディレクトリ上のファイルを
アップグレードしてはいけません. アップグレードしてはいけません
(訳注:ベンダから配布された)新しいバージョンや公式パッチだけが (訳注: ベンダから配布された) 新しいバージョンや公式パッチだけが
(訳注:このディレクトリに)取り込まれなくてはいけません. (訳注: このディレクトリに) 取り込まれなくてはいけません。
ベンダの RCS Id が CVS に入ってしまうのを避けるために, "-ko" オプ ベンダの RCS Id が CVS に入ってしまうのを避けるために"-ko" オプ
ションをつけてインポートすることを忘れないで下さい. ションをつけてインポートすることを忘れないで下さい
GNU cpio 2.4.2 を取り込むためには, 以下のファイルが削除されました: GNU cpio 2.4.2 を取り込むためには以下のファイルが削除されました:
INSTALL cpio.info mkdir.c INSTALL cpio.info mkdir.c
Makefile.in cpio.texi mkinstalldirs Makefile.in cpio.texi mkinstalldirs
cpio を新しいバージョンにアップデートするためには, 次の作業を cpio を新しいバージョンにアップデートするためには次の作業を
おこないます: おこないます:
1. 空のディレクトリに新しいバージョンを取り出します. 1. 空のディレクトリに新しいバージョンを取り出します
[ファイルに「いかなる変更」も加えてはいけません] [ファイルに「いかなる変更」も加えてはいけません]
2. 上記にリストされたファイルと, FreeBSD には無意味な 2. 上記にリストされたファイルとFreeBSD には無意味な
ファイルを削除します. ファイルを削除します
3. 次のコマンドを実行します: 3. 次のコマンドを実行します:
cvs import -ko -m 'Virgin import of GNU cpio v&lt;version&gt;' \ cvs import -ko -m 'Virgin import of GNU cpio v&lt;version&gt;' \
src/contrib/cpio GNU v&lt;version&gt; src/contrib/cpio GNU v&lt;version&gt;
例えば, バージョン 2.4.2 を取り込むためには, 次のように 例えば、バージョン 2.4.2 を取り込むためには、次のように
タイプします: タイプします:
cvs import -ko -m 'Virgin import of GNU v2.4.2' \ cvs import -ko -m 'Virgin import of GNU v2.4.2' \
src/contrib/cpio GNU v2.4.2 src/contrib/cpio GNU v2.4.2
4. FreeBSD に対するローカルな変更と, 新しいバージョンとの間での 4. FreeBSD に対するローカルな変更と新しいバージョンとの間での
矛盾を解消するために, ステップ 3 で出力された命令を実行します. 矛盾を解消するために、ステップ 3 で出力された命令を実行します。
いかなる事情があっても, この手順から外れてはいけません. いかなる事情があっても、この手順から外れてはいけません。
cpio にローカルな変更を加えたい場合には, メインブランチ(別名 HEAD)に対して cpio にローカルな変更を加えたい場合には、メインブランチ (別名 HEAD) に対して
パッチを実行し, コミットしてください. パッチを実行し、コミットしてください。
決して GNU のブランチにローカルな変更を加えないでください. 決して GNU のブランチにローカルな変更を加えないでください
ローカルにおこなわれたすべての変更を次のリリースに含めるために, ローカルにおこなわれたすべての変更を次のリリースに含めるために
"cpio@gnu.ai.mit.edu" に提出してください. "cpio@gnu.ai.mit.edu" に提出してください
obrien@FreeBSD.org - 30 March 1997</programlisting> obrien@FreeBSD.org - 30 March 1997</programlisting>
</sect1> </sect1>
@ -298,59 +298,59 @@ obrien@FreeBSD.org - 30 March 1997</programlisting>
<title>ソース管理上注意が必要なファイル (Encumbered Files)</title> <title>ソース管理上注意が必要なファイル (Encumbered Files)</title>
<para> 場合によっては FreeBSD のソースツリーの中にソース管理上 <para> 場合によっては FreeBSD のソースツリーの中にソース管理上
注意が必要なファイルを含む必要があるかも知れません. 例えば, デバイス 注意が必要なファイルを含む必要があるかも知れません。例えば、デバイス
を操作する前に, そのデバイスに小さなバイナリコードをダウンロード を操作する前にそのデバイスに小さなバイナリコードをダウンロード
する必要があり, しかも我々が そのソースコードを持っていない場合, する必要があり、しかも我々が そのソースコードを持っていない場合、
そのバイナリファイルのことをソース管理上注意が必要である(encumbered) そのバイナリファイルのことをソース管理上注意が必要である (encumbered)
と言います. と言います
以下に挙げるガイドラインでは, ソース管理上注意が必要なファイルを 以下に挙げるガイドラインではソース管理上注意が必要なファイルを
FreeBSD ソースツリーにいれる方法を示します. FreeBSD ソースツリーにいれる方法を示します
</para> </para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>システムのCPU(s)によってインタプリタされたり <para>システムの CPU(s) によってインタプリタされたり
実行されたりするファイルで, しかもソース形式でないファイルは 実行されたりするファイルでしかもソース形式でないファイルは
すべて, ソース管理上注意が必要なファイルです.</para> すべて、ソース管理上注意が必要なファイルです。</para>
</listitem> </listitem>
<listitem> <listitem>
<para>BSD または GNU よりも制限されたライセンスを持つファイルは <para>BSD または GNU よりも制限されたライセンスを持つファイルは
すべて ソース管理上注意が必要なファイルです.</para> すべて ソース管理上注意が必要なファイルです</para>
</listitem> </listitem>
<listitem> <listitem>
<para>ハードウェアによって使用されるダウンロード可能な <para>ハードウェアによって使用されるダウンロード可能な
バイナリコードを含むファイルは, (1) または (2) の条件が バイナリコードを含むファイルは(1) または (2) の条件が
当てはまらなければ, ソース管理上注意が必要なファイル 当てはまらなければソース管理上注意が必要なファイル
ではありません. ではありません
そのようなファイルはアーキテクチュアに依存しない そのようなファイルはアーキテクチュアに依存しない
ASCII 形式(file2c または uuencode が推奨されます)で保存 ASCII 形式 (file2c または uuencode が推奨されます) で保存
します. </para> します</para>
</listitem> </listitem>
<listitem> <listitem>
<indexterm><primary>コアチーム(core team)</primary></indexterm> <indexterm><primary>コアチーム (core team)</primary></indexterm>
<para>ソース管理上注意が必要なファイルはすべて, CVS リポジトリ <para>ソース管理上注意が必要なファイルはすべてCVS リポジトリ
に加える前に, に加える前に
<link linkend="staff-core">コアチーム(core team)</link> からの特別な承認 <link linkend="staff-core">コアチーム (core team)</link> からの特別な承認
が必要です.</para> が必要です</para>
</listitem> </listitem>
<listitem> <listitem>
<para>ソース管理上注意が必要なファイルは <filename>src/contrib</filename> <para>ソース管理上注意が必要なファイルは <filename>src/contrib</filename>
または <filename>src/sys/contrib</filename> に入ります.</para> または <filename>src/sys/contrib</filename> に入ります</para>
</listitem> </listitem>
<listitem> <listitem>
<para>すべてのモジュールは一緒に置きます. ソース管理上とくに注意 <para>すべてのモジュールは一緒に置きますソース管理上とくに注意
を必要としないコードとコードを共有していない限りは, を必要としないコードとコードを共有していない限りは
モジュールの置場を分ける必要はありません.</para> モジュールの置場を分ける必要はありません</para>
</listitem> </listitem>
<listitem> <listitem>
<para>オブジェクトファイルは <para>オブジェクトファイルは
<filename><replaceable>arch</replaceable>/<replaceable>filename</replaceable>.o.uu></filename> と命名されます.</para> <filename><replaceable>arch</replaceable>/<replaceable>filename</replaceable>.o.uu></filename> と命名されます</para>
</listitem> </listitem>
<listitem> <listitem>
@ -359,23 +359,23 @@ obrien@FreeBSD.org - 30 March 1997</programlisting>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>必ず <para>必ず
<filename>conf/files.*</filename> (構築を簡単にするため <filename>conf/files.*</filename> (構築を簡単にするため)
) に記述するようにして下さい.</para> に記述するようにして下さい。</para>
</listitem> </listitem>
<listitem> <listitem>
<para>必ず <filename>LINT</filename> に記述して下さい, <para>必ず <filename>LINT</filename> に記述して下さい
ただし, それをコメントアウトすべきかどうかは ただしそれをコメントアウトすべきかどうかは
<link linkend="staff-core">Core team</link> がその都度 <link linkend="staff-core">Core team</link> がその都度
判断します. 判断します
もちろん <link linkend="staff-core">Core team</link> は もちろん <link linkend="staff-core">Core team</link> は
あとでそれを変更することもできます. </para> あとでそれを変更することもできます</para>
</listitem> </listitem>
<listitem> <listitem>
<indexterm><primary>リリースエンジニア(release engineer)</primary></indexterm> <indexterm><primary>リリースエンジニア (release engineer)</primary></indexterm>
<para><link linkend="staff-who">リリースエンジニア</link> <para><link linkend="staff-who">リリースエンジニア</link>
, それをそのリリースにいれるかどうかを決定します.</para> 、それをそのリリースにいれるかどうかを決定します。</para>
</listitem> </listitem>
</orderedlist> </orderedlist>
</listitem> </listitem>
@ -385,14 +385,14 @@ obrien@FreeBSD.org - 30 March 1997</programlisting>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para><link linkend="staff-core">Core team</link> は, <para><link linkend="staff-core">Core team</link> は
のコードが <command>make world</command> の中で構築される のコードが <command>make world</command> の中で構築される
べきかどうかを決定します.</para> べきかどうかを決定します</para>
</listitem> </listitem>
<listitem> <listitem>
<para><link linkend="staff-who">リリースエンジニア</link> <para><link linkend="staff-who">リリースエンジニア</link>
, それをそのリリースにいれるかどうかを決定します.</para> 、それをそのリリースにいれるかどうかを決定します。</para>
</listitem> </listitem>
</orderedlist> </orderedlist>
</listitem> </listitem>
@ -422,11 +422,11 @@ obrien@FreeBSD.org - 30 March 1997</programlisting>
<title>共有ライブラリ</title> <title>共有ライブラリ</title>
<para>もしあなたが共有ライブラリをサポートする機能を port <para>もしあなたが共有ライブラリをサポートする機能を port
に追加した り, に追加した り
共有ライブラリをサポートしていない他のソフトウェアに追加する 共有ライブラリをサポートしていない他のソフトウェアに追加する
場合には, 共有ライブラリのバージョン番号を次の規則にしたがって 場合には共有ライブラリのバージョン番号を次の規則にしたがって
つけてください. 一般的には, この規則は, つけてください。一般的には、この規則は、
ソフトウェアのリリースバージョンとは 全く関係ありません.</para> ソフトウェアのリリースバージョンとは全く関係ありません。</para>
<para>共有ライブラリを作成する三つの重要な規則は <para>共有ライブラリを作成する三つの重要な規則は
次の通りです:</para> 次の通りです:</para>
@ -437,70 +437,70 @@ obrien@FreeBSD.org - 30 March 1997</programlisting>
</listitem> </listitem>
<listitem> <listitem>
<para>過去のバージョンに互換性のある変更の場合は, <para>過去のバージョンに互換性のある変更の場合は
マイナー番号を増やす(ELF システムでは マイナー番号を増やす (ELF システムでは
マイナー番号が無視されることに注意して下さい)</para> マイナー番号が無視されることに注意して下さい)</para>
</listitem> </listitem>
<listitem> <listitem>
<para>互換性のない変更の場合は, メジャー番号を増やす</para> <para>互換性のない変更の場合はメジャー番号を増やす</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<para>例えば, 機能追加とバグ吸収の場合は, <para>例えば、機能追加とバグ吸収の場合は、
マイナー番号を増やします. 機能削除, マイナー番号を増やします。機能削除、
関数呼び出しのシンタックスなどが変更された場合は, 関数呼び出しのシンタックスなどが変更された場合は
強制的にメジャー番号を変更します.</para> 強制的にメジャー番号を変更します</para>
<para>メジャー.マイナーー <para>メジャー.マイナーー
(<replaceable>x</replaceable>,<replaceable>y</replaceable>) (<replaceable>x</replaceable>,<replaceable>y</replaceable>)
の形式のバージョン番号を使用します. FreeBSD における の形式のバージョン番号を使用しますFreeBSD における
a.out 形式のダイナミックリンカは, <replaceable> a.out 形式のダイナミックリンカは<replaceable>
x</replaceable>.<replaceable>y</replaceable>.<replaceable>z x</replaceable>.<replaceable>y</replaceable>.<replaceable>z
</replaceable> という形式のバージョン番号 は扱えません. </replaceable> という形式のバージョン番号 は扱えません
この場合, <replaceable>y</replaceable> の後のバージョン番号 この場合<replaceable>y</replaceable> の後のバージョン番号
(つまり三つ目の数字)は, (つまり三つ目の数字) は、
どのライブラリがリンクされているかを決めるために, 共有ライブラ どのライブラリがリンクされているかを決めるために共有ライブラ
リ番号を比較する際に, すべて無視されます. リ番号を比較する際に、すべて無視されます。
<quote>小さな</quote>リビジョンだけが <quote>小さな</quote> リビジョンだけが
異なる二つの共有ライブラリが指定 されると, 異なる二つの共有ライブラリが指定 されると
<command>ld.so</command> は, <command>ld.so</command> は
リビジョンの大きい方の共有ライブラリを リンクします. すなわち, リビジョンの大きい方の共有ライブラリを リンクします。すなわち、
もしあなたが <filename>libfoo.so.3.3.3</filename> をリンク もしあなたが <filename>libfoo.so.3.3.3</filename> をリンク
していたとすると, リンカは頭の <literal>3.3</literal> していたとするとリンカは頭の <literal>3.3</literal>
という部分だけを認識し, <replaceable>libfoo.so.3</replaceable> という部分だけを認識し<replaceable>libfoo.so.3</replaceable>
ではじまり その後に <replaceable>3 ではじまり その後に <replaceable>3
以上の数字</replaceable>が続くもののうち, 以上の数字</replaceable>が続くもののうち
<replaceable>最も大きい番号</replaceable> <replaceable>最も大きい番号</replaceable>
の付いているライブラリをリンクします.</para> の付いているライブラリをリンクします</para>
<note> <note>
<para><command>ld.so</command> はいつも最も大きい <para><command>ld.so</command> はいつも最も大きい
<quote>マイナー</quote> リビジョンのものを使うことに <quote>マイナー</quote> リビジョンのものを使うことに
注意してください. 例えば, プログラムがはじめ 注意してください。例えば、プログラムがはじめ
<filename>libc.so.2.0</filename> を リンクしていたとしても, <filename>libc.so.2.0</filename> を リンクしていたとしても
<filename>libc.so.2.0</filename> よりも <filename>libc.so.2.0</filename> よりも
<filename>libc.so.2.2</filename> を優先して使用します.</para> <filename>libc.so.2.2</filename> を優先して使用します</para>
</note> </note>
<para>さらに, ELF ダイナミックリンカはマイナーバージョンを全く扱いません. <para>さらに、ELF ダイナミックリンカはマイナーバージョンを全く扱いません。
しかし, 作成した <filename>Makefile</filename> がそのようなシステムでも しかし作成した <filename>Makefile</filename> がそのようなシステムでも
「きちんと動作できる」ように, メジャー番号およびマイナー番号を 「きちんと動作できる」ようにメジャー番号およびマイナー番号を
指定する必要があります. 指定する必要があります
</para> </para>
<para>移植されていないライブラリに対しては, <para>移植されていないライブラリに対しては
共有ライブラリのバージョン番号はリリースごとに一度だけ変更し, 共有ライブラリのバージョン番号はリリースごとに一度だけ変更し
また, 主要な共有ライブラリのバージョン番号は, OS の主リリースごとに また、主要な共有ライブラリのバージョン番号は、OS の主リリースごとに
一度だけ変更する, というのが私たちのポリシーです. 一度だけ変更する、というのが私たちのポリシーです。
つまり, X.0 は (X+1).0 になります. つまり、X.0 は (X+1).0 になります。
あなたがシステムライブラリのバージョン番号を上げた場合は, あなたがシステムライブラリのバージョン番号を上げた場合は
<filename>Makefile</filename> の commit ログを確認してください. <filename>Makefile</filename> の commit ログを確認してください
結果としてそのリリースには, 共有ライブラリのバージョン番号が 結果としてそのリリースには共有ライブラリのバージョン番号が
アップデートされた <filename>Makefile</filename> アップデートされた <filename>Makefile</filename>
に入るので, 最初にその変更を 確かめるのがソースツリー管理者 に入るので最初にその変更を 確かめるのがソースツリー管理者
("committer") の責務です. その後のどんな変更も, ("committer") の責務です。その後のどんな変更も、
そのリリースには入りません.</para> そのリリースには入りません</para>
</sect1> </sect1>
</chapter> </chapter>

File diff suppressed because it is too large Load diff

View file

@ -23,32 +23,32 @@
<sect1> <sect1>
<title>この章では</title> <title>この章では</title>
<para>FreeBSD はあなたのコンピュータから原音に忠実な再生を楽しむための, <para>FreeBSD はあなたのコンピュータから原音に忠実な再生を楽しむための
数多くの種類のサウンドカードをサポートしています. 数多くの種類のサウンドカードをサポートしています
これにより, MPEG Audio Layer 3 (MP3) や WAV, Ogg Vorbis などの これにより、MPEG Audio Layer 3 (MP3) や WAV、Ogg Vorbis などの
音楽を録音したり再生したりできるようになります. 音楽を録音したり再生したりできるようになります
加えて FreeBSD Ports コレクションには, あなたが録音した音楽を 加えて FreeBSD Ports コレクションにはあなたが録音した音楽を
編集したり, 音響効果を加えたり, 接続された MIDI 機器を制御したり 編集したり、音響効果を加えたり、接続された MIDI 機器を制御したり
するためのアプリケーションが含まれています.</para> するためのアプリケーションが含まれています</para>
<!-- XXX we need to talk about ripping MP3s here. --> <!-- XXX we need to talk about ripping MP3s here. -->
<para>この章を読めば, 以下のことを知ることができます:</para> <para>この章を読めば以下のことを知ることができます:</para>
<itemizedlist> <itemizedlist>
<listitem><para>サウンドカードをインストールする方法.</para></listitem> <listitem><para>サウンドカードをインストールする方法</para></listitem>
<listitem><para>システムを設定してサウンドカードを認識させる方法. <listitem><para>システムを設定してサウンドカードを認識させる方法
</para></listitem> </para></listitem>
<listitem><para>サンプルアプリケーションを利用してサウンドカードが <listitem><para>サンプルアプリケーションを利用してサウンドカードが
うまく動いているかどうかをテストする方法.</para></listitem> うまく動いているかどうかをテストする方法</para></listitem>
<listitem><para>サウンド関連の設定のトラブルシュート方法. <listitem><para>サウンド関連の設定のトラブルシュート方法
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
<para>この章を読む前に, 以下のことを理解しておく必要があります:</para> <para>この章を読む前に以下のことを理解しておく必要があります:</para>
<itemizedlist> <itemizedlist>
<listitem><para>新しいカーネルを設定してインストールする方法 (<xref <listitem><para>新しいカーネルを設定してインストールする方法 (<xref
linkend="kernelconfig">).</para></listitem> linkend="kernelconfig">)</para></listitem>
</itemizedlist> </itemizedlist>
</sect1> </sect1>
@ -58,18 +58,18 @@
<indexterm><primary>PCI</primary></indexterm> <indexterm><primary>PCI</primary></indexterm>
<indexterm><primary>ISA</primary></indexterm> <indexterm><primary>ISA</primary></indexterm>
<indexterm><primary>サウンドカード</primary></indexterm> <indexterm><primary>サウンドカード</primary></indexterm>
<para>設定をはじめる前に, あなたが持っているカードのモデル, <para>設定をはじめる前に、あなたが持っているカードのモデル、
そのカードが使用しているチップ, そして PCI, ISA そのカードが使用しているチップ、そして PCI、ISA
どちらのカードなのかを確認する必要があります. どちらのカードなのかを確認する必要があります
FreeBSD は, さまざまな PCI および ISA のカードをサポートしています. FreeBSD は、さまざまな PCI および ISA のカードをサポートしています。
もしあなたのカードが次のリストに無い場合は, もしあなたのカードが次のリストに無い場合は
&man.pcm.4; のマニュアルページを確認してください. &man.pcm.4; のマニュアルページを確認してください
これは完全なリストではありませんが, これは完全なリストではありませんが
良く使われているカードがだいたい含まれています.</para> 良く使われているカードがだいたい含まれています</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Crystal 4237, 4236, 4232, 4231</para> <para>Crystal 4237、4236、4232、4231</para>
</listitem> </listitem>
<listitem> <listitem>
@ -93,7 +93,7 @@
</listitem> </listitem>
<listitem> <listitem>
<para>Sound Blaster Pro, 16, 32, AWE64, AWE128, Live</para> <para>Sound Blaster Pro、16、32、AWE64、AWE128、Live</para>
</listitem> </listitem>
<listitem> <listitem>
@ -101,11 +101,11 @@
</listitem> </listitem>
<listitem> <listitem>
<para>Advanced Asound 100, 110, および Logic ALS120</para> <para>Advanced Asound 100、110、および Logic ALS120</para>
</listitem> </listitem>
<listitem> <listitem>
<para>ES 1868, 1869, 1879, 1888</para> <para>ES 1868、1869、1879、1888</para>
</listitem> </listitem>
<listitem> <listitem>
@ -121,26 +121,26 @@
<primary>カーネル</primary> <primary>カーネル</primary>
<secondary>コンフィグレーション</secondary> <secondary>コンフィグレーション</secondary>
</indexterm> </indexterm>
<para>カーネル内で使用するドライバは, <para>カーネル内で使用するドライバは
使用するカードの種類によって異なります. 使用するカードの種類によって異なります
この節では, それらの詳しい情報と, この節では、それらの詳しい情報と、
<link linkend="kernelconfig">カーネルコンフィグレーションファイル</link>に <link linkend="kernelconfig">カーネルコンフィグレーションファイル</link>に
何を追加すれば良いのかについて説明します.</para> 何を追加すれば良いのかについて説明します</para>
<sect2> <sect2>
<title>Creative, Advance, および ESS 社製サウンドカード</title> <title>Creative、Advance、および ESS 社製サウンドカード</title>
<para>これらのカードを使用する場合は, <para>これらのカードを使用する場合は
カーネルコンフィグレーションファイルに以下の設定を追加します.</para> カーネルコンフィグレーションファイルに以下の設定を追加します</para>
<programlisting>device pcm</programlisting> <programlisting>device pcm</programlisting>
<para>PnP の ISA カードを使用する場合は, さらに</para> <para>PnP の ISA カードを使用する場合はさらに</para>
<programlisting>device sbc</programlisting> <programlisting>device sbc</programlisting>
<para>も加えてください. <para>も加えてください
PnP ではない ISA のカードを使用する場合は,</para> PnP ではない ISA のカードを使用する場合は</para>
<programlisting>device pcm</programlisting> <programlisting>device pcm</programlisting>
@ -148,33 +148,33 @@
<programlisting>device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15</programlisting> <programlisting>device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15</programlisting>
<para>を加えます. <para>を加えます
これらは標準の設定にあわせたものですので, これらは標準の設定にあわせたものですので
IRQ などの設定は必要に応じて変更する必要があります. IRQ などの設定は必要に応じて変更する必要があります
また, 設定の詳細については, &man.sbc.4; また、設定の詳細については、&man.sbc.4;
のマニュアルページを参照してください.</para> のマニュアルページを参照してください</para>
<note> <note>
<para>パッチを適用していない FreeBSD 4.0 は <para>パッチを適用していない FreeBSD 4.0 は
Sound Blaster Live に対応していません. Sound Blaster Live に対応していません
また, この文書ではその設定方法については扱いません. また、この文書ではその設定方法については扱いません。
このカードを使用する前に, 最新の -STABLE このカードを使用する前に最新の -STABLE
にアップデートするようにしてください.</para> にアップデートするようにしてください</para>
</note> </note>
</sect2> </sect2>
<sect2> <sect2>
<title>Gravis 社製 UltraSound カード</title> <title>Gravis 社製 UltraSound カード</title>
<para>PnP の ISA カードを使用するには, <para>PnP の ISA カードを使用するには
カーネルコンフィグレーションファイルに次の カーネルコンフィグレーションファイルに次の
2 つの設定を追加します.</para> 2 つの設定を追加します</para>
<programlisting>device pcm</programlisting> <programlisting>device pcm</programlisting>
<programlisting>device gusc</programlisting> <programlisting>device gusc</programlisting>
<para>PnP ではない ISA カードの場合には,</para> <para>PnP ではない ISA カードの場合には</para>
<programlisting>device pcm</programlisting> <programlisting>device pcm</programlisting>
@ -182,16 +182,16 @@
<programlisting>device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13</programlisting> <programlisting>device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13</programlisting>
<para>を加えます. <para>を加えます
IRQ などの設定は必要に応じて変更する必要があります. IRQ などの設定は必要に応じて変更する必要があります
また, 設定の詳細については, &man.gusc.4; また、設定の詳細については、&man.gusc.4;
のマニュアルページを参照してください.</para> のマニュアルページを参照してください</para>
</sect2> </sect2>
<sect2> <sect2>
<title>Crystal 社製サウンドカード</title> <title>Crystal 社製サウンドカード</title>
<para>Crystal 社製のカードを使用する場合は, <para>Crystal 社製のカードを使用する場合は
カーネルコンフィグレーションファイルに</para> カーネルコンフィグレーションファイルに</para>
<programlisting>device pcm</programlisting> <programlisting>device pcm</programlisting>
@ -200,75 +200,75 @@
<programlisting>device csa</programlisting> <programlisting>device csa</programlisting>
<para>の両方が必要です.</para> <para>の両方が必要です</para>
</sect2> </sect2>
<sect2> <sect2>
<title>一般的なカードのサポート</title> <title>一般的なカードのサポート</title>
<para>PnP ISA カードや PCI カードを使用する場合は,</para> <para>PnP ISA カードや PCI カードを使用する場合は</para>
<programlisting>device pcm</programlisting> <programlisting>device pcm</programlisting>
<para>をカーネルコンフィグレーションファイルに追加します. <para>をカーネルコンフィグレーションファイルに追加します
ブリッジドライバを持たない, PnP 非対応の ISA ブリッジドライバを持たないPnP 非対応の ISA
カードの場合は,</para> カードの場合は</para>
<programlisting>device pcm0 at isa? irq 10 drq 1 flags 0x0</programlisting> <programlisting>device pcm0 at isa? irq 10 drq 1 flags 0x0</programlisting>
<para>を加えます. <para>を加えます
IRQ などの設定は, IRQ などの設定は
ハードウェアの設定に合うように必要に応じて変更してください.</para> ハードウェアの設定に合うように必要に応じて変更してください</para>
</sect2> </sect2>
</sect1> </sect1>
<sect1> <sect1>
<title>カーネルの再構築</title> <title>カーネルの再構築</title>
<para>必要な設定をカーネルコンフィグレーションファイルに追加したら, <para>必要な設定をカーネルコンフィグレーションファイルに追加したら
カーネルを再構築します. カーネルを再構築します
詳細についてはハンドブックの<xref linkend="kernelconfig-building">を参照してください.</para> 詳細についてはハンドブックの<xref linkend="kernelconfig-building">を参照してください</para>
</sect1> </sect1>
<sect1> <sect1>
<title>デバイスノードの作成とテスト</title> <title>デバイスノードの作成とテスト</title>
<indexterm><primary>デバイスノード</primary></indexterm> <indexterm><primary>デバイスノード</primary></indexterm>
<para>再起動した後, ログインして <command>cat /dev/sndstat</command> <para>再起動した後ログインして <command>cat /dev/sndstat</command>
を実行します. すると, 以下のように出力されるはずです.</para> を実行します。すると、以下のように出力されるはずです。</para>
<programlisting>FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53 <programlisting>FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53
Installed devices: Installed devices:
pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels duplex)</programlisting> pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels duplex)</programlisting>
<para>エラーメッセージが出力される場合は, <para>エラーメッセージが出力される場合は
今までの手順のどこかが間違っています. 今までの手順のどこかが間違っています
カーネルコンフィグレーションファイルをもう一度見直して, カーネルコンフィグレーションファイルをもう一度見直して
正しいデバイスを選択しているかどうか確認してください.</para> 正しいデバイスを選択しているかどうか確認してください</para>
<para>エラーが出力されずに <devicename>pcm0</devicename> <para>エラーが出力されずに <devicename>pcm0</devicename>
が出力された場合は, が出力された場合は
<command>su</command> コマンドで <command>su</command> コマンドで
<username>root</username> になり, <username>root</username> になり
次のように実行します.</para> 次のように実行します</para>
<screen>&prompt.root; <userinput>cd /dev</userinput> <screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen> &prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>
<para>エラーが出力されずに <devicename>pcm1</devicename> <para>エラーが出力されずに <devicename>pcm1</devicename>
が出力された場合は, が出力された場合は
<command>su</command> コマンドで <command>su</command> コマンドで
<username>root</username> になり, <username>root</username> になり
次のように実行します.</para> 次のように実行します</para>
<screen>&prompt.root; <userinput>cd /dev</userinput> <screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV snd1</userinput></screen> &prompt.root; <userinput>sh MAKEDEV snd1</userinput></screen>
<para>上のコマンドはどちらも, <para>上のコマンドはどちらも
<devicename>/dev/snd</devicename> という <devicename>/dev/snd</devicename> という
デバイスを作成するもの<emphasis>ではない</emphasis>という点に注意してください! デバイスを作成するもの<emphasis>ではない</emphasis>という点に注意してください!
これらは代わりに, これらは代わりに
次のような複数のデバイスノードを作成します.</para> 次のような複数のデバイスノードを作成します</para>
<informaltable frame="none"> <informaltable frame="none">
<tgroup cols="2"> <tgroup cols="2">
@ -292,8 +292,8 @@ pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels dup
<row> <row>
<entry><devicename>/dev/dspW</devicename></entry> <entry><devicename>/dev/dspW</devicename></entry>
<entry><devicename>/dev/dsp</devicename>と同様. <entry><devicename>/dev/dsp</devicename>と同様
ただしサンプリングは 16 ビット.</entry> ただしサンプリングは 16 ビット</entry>
</row> </row>
<row> <row>
@ -324,9 +324,9 @@ pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels dup
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>すべてうまく行けば, <para>すべてうまく行けば
サウンドカードの機能を使用することができます. サウンドカードの機能を使用することができます
うまく行かない場合は, 次の節をご覧ください.</para> うまく行かない場合は、次の節をご覧ください。</para>
</sect1> </sect1>
<sect1> <sect1>
@ -340,8 +340,8 @@ pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels dup
</question> </question>
<answer> <answer>
<para>いくつかのデバイスノードが正しく作成されていません. <para>いくつかのデバイスノードが正しく作成されていません
前節の手順をもう一度やってみてください.</para> 前節の手順をもう一度やってみてください</para>
</answer> </answer>
</qandaentry> </qandaentry>
@ -352,7 +352,7 @@ pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels dup
</question> </question>
<answer> <answer>
<para>I/O ポートが正しく設定されていません.</para> <para>I/O ポートが正しく設定されていません</para>
</answer> </answer>
</qandaentry> </qandaentry>
@ -363,22 +363,22 @@ pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels dup
</question> </question>
<answer> <answer>
<para>IRQ が正しく設定されていません. <para>IRQ が正しく設定されていません
カーネルコンフィグレーションファイル中の カーネルコンフィグレーションファイル中の
IRQ の設定と, IRQ の設定と
サウンドカードの IRQ の設定が同じであるか確認してください.</para> サウンドカードの IRQ の設定が同じであるか確認してください</para>
</answer> </answer>
</qandaentry> </qandaentry>
<qandaentry> <qandaentry>
<question> <question>
<para><errorname>xxx: gus pcm not attached, out of memory</errorname> というエラーが出ます. <para><errorname>xxx: gus pcm not attached, out of memory</errorname> というエラーが出ます
何が起きたのでしょうか?</para> 何が起きたのでしょうか?</para>
</question> </question>
<answer> <answer>
<para>これは, <para>これは
デバイスを使用するために必要なメモリが確保できない時に表示されます.</para> デバイスを使用するために必要なメモリが確保できない時に表示されます</para>
</answer> </answer>
</qandaentry> </qandaentry>
</qandaset> </qandaset>