-TARGETVER=r11.1-92
+TARGETVER=r11.1-117
if test "x$revspec" = "xsystemd"; then
TARGETVER="$TARGETVER-systemd"
fi
@z
@x
+ <para>2022-05-01</para>
+ <itemizedlist>
+ <listitem>
+ <para>[bdubbs] - Update to openssl-3.0.3. Fixes
+ <ulink url="&lfs-ticket-root;5057">#5057</ulink>.</para>
+ </listitem>
+ </itemizedlist>
+@y
+ <para>2022-05-01</para>
+ <itemizedlist>
+ <listitem>
+ <para>[bdubbs] - openssl-3.0.3 へのアップデート。
+ <ulink url="&lfs-ticket-root;5057">#5057</ulink> を Fix に。</para>
+ </listitem>
+ </itemizedlist>
+@z
+
+@x
+ <para>2022-05-01</para>
+ <itemizedlist>
+ <listitem>
+ <para>[bdubbs] - Change nobody/nogroup uid/gid to 65534. </para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - Update to meson-0.62.1. Fixes
+ <ulink url="&lfs-ticket-root;5052">#5052</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - Update to libpipeline-1.5.6. Fixes
+ <ulink url="&lfs-ticket-root;5053">#5053</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - Update to elfutils-0.187. Fixes
+ <ulink url="&lfs-ticket-root;5054">#5054</ulink>.</para>
+ </listitem>
+ <listitem revision="systemd">
+ <para>[bdubbs] - Update to Jinja2-3.1.2. Fixes
+ <ulink url="&lfs-ticket-root;5055">#5055</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - Update to vim-8.2.4814. Addresses
+ <ulink url="&lfs-ticket-root;4500">#4500</ulink>.</para>
+ </listitem>
+ <listitem revision="sysv">
+ <para>[bdubbs] - Update to sysvinit-3.03. Fixes
+ <ulink url="&lfs-ticket-root;5046">#5046</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - Update to linux-5.17.5. Fixes
+ <ulink url="&lfs-ticket-root;5050">#5050</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - Update to gcc-11.3.0. Fixes
+ <ulink url="&lfs-ticket-root;5051">#5051</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - Update to coreutils-9.1. Fixes
+ <ulink url="&lfs-ticket-root;5048">#5048</ulink>.</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - Update to bc-5.2.4. Fixes
+ <ulink url="&lfs-ticket-root;5049">#5049</ulink>.</para>
+ </listitem>
+ </itemizedlist>
+@y
+ <para>2022-05-01</para>
+ <itemizedlist>
+ <listitem>
+ <para>[bdubbs] - nobody/nogroup の uid/gid を 65534 に変更。</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - meson-0.62.1 へのアップデート。
+ <ulink url="&lfs-ticket-root;5052">#5052</ulink> を Fix に。</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - libpipeline-1.5.6 へのアップデート。
+ <ulink url="&lfs-ticket-root;5053">#5053</ulink> を Fix に。</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - elfutils-0.187 へのアップデート。
+ <ulink url="&lfs-ticket-root;5054">#5054</ulink> を Fix に。</para>
+ </listitem>
+ <listitem revision="systemd">
+ <para>[bdubbs] - Jinja2-3.1.2 へのアップデート。
+ <ulink url="&lfs-ticket-root;5055">#5055</ulink> を Fix に。</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - vim-8.2.4814 へのアップデート。
+ <ulink url="&lfs-ticket-root;4500">#4500</ulink> において言及。</para>
+ </listitem>
+ <listitem revision="sysv">
+ <para>[bdubbs] - sysvinit-3.03 へのアップデート。
+ <ulink url="&lfs-ticket-root;5046">#5046</ulink> を Fix に。</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - linux-5.17.5 へのアップデート。
+ <ulink url="&lfs-ticket-root;5050">#5050</ulink> を Fix に。</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - gcc-11.3.0 へのアップデート。
+ <ulink url="&lfs-ticket-root;5051">#5051</ulink> を Fix に。</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - coreutils-9.1 へのアップデート。
+ <ulink url="&lfs-ticket-root;5048">#5048</ulink> を Fix に。</para>
+ </listitem>
+ <listitem>
+ <para>[bdubbs] - bc-5.2.4 へのアップデート。
+ <ulink url="&lfs-ticket-root;5049">#5049</ulink> を Fix に。</para>
+ </listitem>
+ </itemizedlist>
+@z
+
+@x
<para>2022-04-15</para>
<itemizedlist>
<listitem>
-->
<listitem>
+ <para>2022-05-12</para>
+ <itemizedlist>
+ <listitem>
+ <para>[matsuand] -
+ r11.1-117 (<ulink url="&lfs-changeset;59d5489ff">59d5489ff</ulink>) までの対応。
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
<para>2022-04-22</para>
<itemizedlist>
<listitem>
</para></note>
@z
-%@x
-% <para>The following command will change the location of GCC's default
-% dynamic linker to use the one installed in <filename
-% class="directory">/tools</filename>. It also removes <filename
-% class="directory">/usr/include</filename> from GCC's include search path.
-% Issue:</para>
-%@y
-% <para>
-% 以下のコマンドは GCC のデフォルトのダイナミックリンカーの配置ディレクトリを、既にインストールされている <filename
-% class="directory">/tools</filename> とします。
-% また GCC のインクルードパスから <filename
-% class="directory">/usr/include</filename> を除きます。
-% </para>
-%@z
-
-%@x
-% <para>In case the above seems hard to follow, let's break it down a bit.
-% First we copy the files <filename>gcc/config/linux.h</filename>,
-% <filename>gcc/config/i386/linux.h</filename>, and
-% <filename>gcc/config/i386/linux64.h</filename> to a file of
-% the same name but with an added suffix of <quote>.orig</quote>. Then the
-% first sed expression prepends <quote>/tools</quote> to every instance of
-% <quote>/lib/ld</quote>, <quote>/lib64/ld</quote> or
-% <quote>/lib32/ld</quote>, while the second one replaces hard-coded
-% instances of <quote>/usr</quote>. Next, we add our define statements which
-% alter the default startfile prefix to the end of the file. Note that the
-% trailing <quote>/</quote> in <quote>/tools/lib/</quote> is required.
-% Finally, we use <command>touch</command> to update the timestamp on the
-% copied files. When used in conjunction with <command>cp -u</command>, this
-% prevents unexpected changes to the original files in case the commands are
-% inadvertently run twice.</para>
-%@y
-% <para>
-% 上のコマンドがよく分からない場合は一つ一つ読み下していってください。
-% まず <filename>gcc/config/linux.h</filename>,
-% <filename>gcc/config/i386/linux.h</filename>, and
-% <filename>gcc/config/i386/linux64.h</filename> というファイルを、ファイル名称の末尾に <quote>.orig</quote> を付け加えてコピーします。
-% そして一つめの sed コマンドでは、そのファイル内にある<quote>/lib/ld</quote>, <quote>/lib64/ld</quote>, <quote>/lib32/ld</quote>という記述部分の頭に<quote>/tools</quote>を付与します。
-% また二つめの sed コマンドによってハードコーディングされている<quote>/usr</quote>という部分を書き換えます。
-% そしてここで加えるべき定義文をファイルの末尾に追加し、検索パスと startfile プリフィックスを変更します。
-% この際に<quote>/tools/lib/</quote>の終わりには<quote>/</quote>が必要となります。
-% 最後に <command>touch</command> によってコピーしたファイルのタイムスタンプを更新します。
-% <command>cp -u</command> を用いるのは、誤ってコマンドを二度起動したとしてもオリジナルファイルを壊さないようにするためです。
-% </para>
-%@z
-
@x
<para>On x86_64 hosts, set the default directory name for
64-bit libraries to <quote>lib</quote>:</para>
</para>
@z
-%@x
-% <para>GCC doesn't detect stack protection correctly, which causes problems
-% for the build of Glibc-&glibc-version;, so fix that by issuing the following
-% command:</para>
-%@y
-% <para>
-% GCC はスタックプロテクション (stack protection) を正しく検出しません。
-% このことは Glibc-&glibc-version; においてビルドする際には問題となります。
-% そこで以下のコマンドを実行することで解消します。
-% </para>
-%@z
-
-%@x
-% <para>Also fix a problem identified upstream:</para>
-%@y
-% <para>
-% アップストリームが認識している問題を修正します。
-% </para>
-%@z
-
@x
<para>The GCC documentation recommends building GCC
in a dedicated build directory:</para>
</para>
@z
-%@x --with-local-prefix=/tools
-% <para>The local prefix is the location in the system that GCC will search
-% for locally installed include files. The default is <filename>/usr/local</filename>.
-% Setting this to <filename>/tools</filename> helps keep the host location of
-% <filename>/usr/local</filename> out of this GCC's search path.</para>
-%@y
-% <para>
-% ローカルプリフックス (local prefix) は、GCC がローカルにインストールされているインクルードファイルを探しにいくディレクトリを意味します。
-% そのデフォルトは <filename>/usr/local</filename> です。
-% この設定を <filename>/tools</filename> とすることで、GCC が探し出すパスから <filename>/usr/local</filename> を除外します。
-% </para>
-%@z
-
-%@x --with-native-system-header-dir=/tools/include
-% <para>By default, GCC searches <filename>/usr/include</filename> for
-% system headers. In conjunction with the sysroot switch, this would
-% normally translate to <filename>$LFS/usr/include</filename>. However
-% the headers that will be installed in the next two sections will go
-% to <filename>$LFS/tools/include</filename>. This switch ensures that
-% gcc will find them correctly. In the second pass of GCC, this same
-% switch will ensure that no headers from the host system are
-% found.</para>
-%@y
-% <para>
-% GCC がシステムヘッダーを探し出すデフォルトのパスは <filename>/usr/include</filename> です。
-% 後に root を変更する際には、このディレクトリは <filename>$LFS/usr/include</filename> となります。
-% しかしこの直後の2つの作業を通じて、ヘッダーをインストールする先は <filename>$LFS/tools/include</filename> としています。
-% つまり本スイッチは GCC がヘッダーを正しく見つけ出せるようにするものです。
-% GCC の2回めのビルドでは、同じスイッチを用いて、ホストシステムのヘッダーは一切見つけ出さないようにします。
-% </para>
-%@z
-
-@x --enable-initfini-array
- <para>This switch forces the use of some internal data structures
- that are needed but cannot be detected when building a cross
- compiler.</para>
-@y
- <para>
- このスイッチは内部データ構造を利用することを指示します。
- クロスコンパイラーのビルド時にこれが必要になりますが、自動では設定されません。
- </para>
-@z
-
@x --disable-shared
<para>This switch forces GCC to link its internal libraries
statically. We need this because the shared libraries require glibc,
<para>GCC をコンパイルします。</para>
@z
-%@x
-% <para>Compilation is now complete. At this point, the test suite would
-% normally be run, but, as mentioned before, the test suite framework is
-% not in place yet. The benefits of running the tests at this point
-% are minimal since the programs from this first pass will soon be
-% replaced.</para>
-%@y
-% <para>
-% コンパイルが終了しました。
-% この時点でもテストスイートを実行することはできます。
-% ただ前にも述べているように、テストスイートのフレームワークがまだ準備できていません。
-% さらにこの時点で生成されるプログラムは、すぐに次の生成作業によって置き換えられますから、この時点でテストを実行することはあまり意味がありません。
-% </para>
-%@z
-
@x
<para>Install the package:</para>
@y
<para>&InstallThePackage;</para>
@z
-% @x
-% <para>Using <parameter>--disable-shared</parameter> means that the
-% <filename>libgcc_eh.a</filename> file isn't created and installed. The
-% Glibc package depends on this library as it uses
-% <parameter>-lgcc_eh</parameter> within its build system. This dependency
-% can be satisfied by creating a symlink to <filename>libgcc.a</filename>,
-% since that file will end up containing the objects normally contained in
-% <filename>libgcc_eh.a</filename>:</para>
-% @y
-% <para>
-% <parameter>--disable-shared</parameter> オプションを指定すると <filename>libgcc_eh.a</filename> を生成せずインストールしません。
-% Glibc パッケージはこのライブラリに依存しており、ビルドの際に <parameter>-lgcc_eh</parameter> を指定することで利用されます。
-% 依存している点は <filename>libgcc.a</filename> へのシンボリックリンクを生成しておけば問題はありません。
-% <filename>libgcc_eh.a</filename> に含まれるオブジェクトが、最終的には <filename>libgcc.a</filename> の中にも含まれることになるからです。
-% </para>
-% @z
-
@x
<para>This build of GCC has installed a couple of internal system
headers. Normally one of them, <filename>limits.h</filename>, would in turn
</para>
@z
-%@x
-% <para>Once again, change the location of GCC's default dynamic linker to
-% use the one installed in <filename
-% class="directory">/tools</filename>.</para>
-%@y
-% <para>
-% もう一度、GCC のデフォルトのダイナミックリンカーの配置ディレクトリを、既にインストールされている <filename
-% class="directory">/tools</filename> とします。
-% </para>
-%@z
-
@x
<para>If building on x86_64, change the default directory name for 64-bit
libraries to <quote>lib</quote>:</para>
</para>
@z
-%@x
-% <para>Our first build of GCC has installed a couple of internal system
-% headers. Normally one of them, <filename>limits.h</filename>, will in turn
-% include the corresponding system <filename>limits.h</filename> header, in
-% this case, <filename>/tools/include/limits.h</filename>. However, at the
-% time of the first build of gcc <filename>/tools/include/limits.h</filename>
-% did not exist, so the internal header that GCC installed is a partial,
-% self-contained file and does not include the extended features of the
-% system header. This was adequate for building the temporary libc, but this
-% build of GCC now requires the full internal header. Create a full version
-% of the internal header using a command that is identical to what the GCC
-% build system does in normal circumstances:</para>
-%@y
-% <para>
-% 第1回めの GCC のビルドでは、内部的なシステムヘッダーをインストールしています。
-% その1つ <filename>limits.h</filename> は、これに対応づくシステムヘッダー <filename>limits.h</filename> を読み込みます。
-% そのファイルは実際には <filename>/tools/include/limits.h</filename> となります。
-% しかし 1 回めの GCC のビルド時には <filename>/tools/include/limits.h</filename> は存在しません。
-% したがって GCC がインストールする内部ヘッダーは、部分的で自己完結した (self-contained) もののみとなり、システムヘッダーが持つ拡張機能は含まれません。
-% 一時的な libc を構築するならこれは正しかったのですが、この段階での GCC のビルドでは、内部ヘッダーが完全な形のものでなければなりません。
-% 完全な内部ヘッダーを生成するために、GCC ビルドシステムが通常行っている方法と同じようにするための、以下のコマンドを実行します。
-% </para>
-%@z
-
-%@x
-% <para>Fix an issue with GCC-10.1 when building with a cross
-% compiler:</para>
-%@y
-% <para>
-% クロスコンパイラーを使ってビルドするにあたり、GCC-10.1 の問題を修正します。
-% </para>
-%@z
-
-@x
- <para>Fix an issue causing failure cross-compiling libstdc++:</para>
-@y
- <para>
- libstdc++ のクロスコンパイルができなくなっている問題を修正します。
- </para>
-@z
-
@x
<para>Override the building rule of libgcc and libstdc++ headers, to
allow building these libraries with POSIX threads support:</para>
<title>&MeaningOfOption1;configure&MeaningOfOption2;</title><!-- WIP -->
@z
-%@x --enable-languages=c,c++
-% <para>This option ensures that both the C and C++ compilers are
-% built.</para>
-%@y
-% <para>
-% C と C++ の両コンパイラーを生成することを指示します。
-% </para>
-%@z
-
-%@x --disable-libstdcxx-pch
-% <para>Do not build the pre-compiled header (PCH) for
-% <filename class="libraryfile">libstdc++</filename>. It takes up a
-% lot of space, and we have no use for it.</para>
-%@y
-% <para>
-% <filename class="libraryfile">libstdc++</filename> に対してプリコンパイルヘッダー (pre-compiled header; PCH) をビルドしないように指示します。
-% これを含めてしまうとサイズが増えることになり、そもそも利用する必要がありません。
-% </para>
-%@z
-
-%@x --disable-bootstrap
-% <para>For native builds of GCC, the default is to do a "bootstrap"
-% build. This does not just compile GCC, but compiles it several times.
-% It uses the programs compiled in a first round to compile itself a
-% second time, and then again a third time. The second and third
-% iterations are compared to make sure it can reproduce itself
-% flawlessly. This also implies that it was compiled correctly.
-% However, the LFS build method should provide a solid compiler
-% without the need to bootstrap each time.</para>
-%@y
-% <para>
-% GCC のネイティブビルドを行うには、デフォルトでは "ブートストラップ" ビルドを行ないます。
-% これは単に GCC をコンパイルするのではなく、数回のコンパイルを繰り返します。
-% つまり一回めにビルドされたプログラムを使って二回め、三回めのコンパイルを行うものです。
-% 二回め、三回めとコンパイルを繰り返すのは、これによって自分自身を再生成して完璧なものを作り出すためです。
-% このことによってコンパイルが正確に行われたことを暗に示すことにもなります。
-% しかし LFS のビルドでは、何度もブートストラップを行う必要のない、手堅い(solid) コンパイラーを作り出します。
-% </para>
-%@z
-
@x -with-build-sysroot=$LFS
<para>Normally, using <parameter>--host</parameter> ensures that
a cross-compiler is used for building GCC, and that compiler knows
</para>
@z
-%@x
-% <para>At this point, it is imperative to stop and ensure that the basic
-% functions (compiling and linking) of the new toolchain are working as
-% expected. To perform a sanity check, run the following commands:</para>
-%@y
-% <para>
-% この時点で、構築したツールチェーンの基本的な (コンパイルやリンクなどの) 機能が正しく動作していることを確認する必要があります。
-% 健全性検査 (sanity check) を行うために以下を実行してください。
-% </para>
-%@z
-
-%@x
-% <para>If everything is working correctly, there should be no errors,
-% and the output of the last command will be of the form:</para>
-%@y
-% <para>
-% 問題なく動作した場合はエラーがなかったということで、最後のコマンドから出力される結果は以下のようになるはずです。
-% </para>
-%@z
-
-%@x
-% <para>Note that the dynamic linker will be /tools/lib/ld-linux.so.2
-% for 32-bit machines.</para>
-%@y
-% <para>
-% 32 ビットマシンに対するダイナミックリンカーは /tools/lib/ld-linux.so.2 となります。
-% </para>
-%@z
-
-%@x
-% <para>If the output is not shown as above or there was no output at all,
-% then something is wrong. Investigate and retrace the steps to find out
-% where the problem is and correct it. This issue must be resolved before
-% continuing on. First, perform the sanity check again, using
-% <command>gcc</command> instead of <command>cc</command>. If this works,
-% then the <filename class="symlink">/tools/bin/cc</filename> symlink is
-% missing. Install the symlink as per above.
-% Next, ensure that the <envar>PATH</envar> is correct. This
-% can be checked by running <command>echo $PATH</command> and verifying that
-% <filename class="directory">/tools/bin</filename> is at the head of the
-% list. If the <envar>PATH</envar> is wrong it could mean that you are not
-% logged in as user <systemitem class="username">lfs</systemitem> or that
-% something went wrong back in <xref linkend="ch-preps-settingenviron"
-% role="."/></para>
-%@y
-% <para>
-% コマンドの出力結果が上と異なっていたり、あるいは何も出力されなかった場合は、何かがおかしいことを意味します。
-% どこに問題があるのか調査、再試行を行って解消してください。
-% 解決せずにこの先に進まないでください。
-% <command>cc</command> ではなく <command>gcc</command> を使って再度健全性検査を行ってみてください。
-% これで解決したなら <filename class="symlink">/tools/bin/cc</filename> のシンボリックリンクが正しくないということです。
-% 正しく生成し直してください。
-% また環境変数 <envar>PATH</envar> が正しいかどうかも確認してください。
-% <command>echo $PATH</command> を実行して、実行パスリストの先頭が <filename class="directory">/tools/bin</filename> であるかどうか確認します。
-% <envar>PATH</envar> が間違っていたなら、実はあなたは <systemitem
-% class="username">lfs</systemitem> ユーザーでログインしていないのかもしれませんし <xref
-% linkend="ch-preps-settingenviron" role=""/>での作業に間違いがあったのかもしれません。
-% </para>
-%@z
-
-%@x
-% <para>Once all is well, clean up the test files:</para>
-%@y
-% <para>
-% すべてが終了したらテストファイルを削除します。
-% </para>
-%@z
-
@x
<para>Details on this package are located in
<xref linkend="contents-gcc" role="."/></para>
<title>重要なファイルとシンボリックリンクの生成</title>
@z
-%@x
-% <para>Some programs use hard-wired paths to programs which do not exist yet.
-% In order to satisfy these programs, create a number of symbolic links which
-% will be replaced by real files throughout the course of this chapter after the
-% software has been installed:</para>
-%@y
-% <para>
-% プログラムの中には固定的に他のプログラムへのパスを保持しているものがあります。
-% そのパスは今の時点ではまだ存在していません。
-% このようなプログラムを正しく動作させるため、シンボリックリンクをいくつか作成します。
-% このリンクは本章の作業を通じて各種ソフトウェアをインストールしていくことで、 その実体であるファイルに置き換えられていきます。
-% </para>
-%@z
-
-%@x
-% <title>The purpose of each link:</title>
-%@y
-% <title>各リンクの目的</title>
-%@z
-
-%@x /bin/bash
-% <para>Many <command>bash</command> scripts specify
-% <filename>/bin/bash</filename>.</para>
-%@y
-% <para>
-% <command>bash</command> スクリプトはたいてい <filename>/bin/bash</filename> として記述されます。
-% </para>
-%@z
-
-%@x /bin/cat
-% <para>This pathname is hard-coded into Glibc's configure script.</para>
-%@y
-% <para>
-% このパス名は Glibc の configure スクリプトにてハードコーディングされています。
-% </para>
-%@z
-
-%@x /bin/dd
-% <para>The path to <filename>dd</filename> will be hard-coded into the
-% <filename>/usr/bin/libtool</filename> utility.</para>
-%@y
-% <para>
-% <filename>dd</filename> へのパスが <filename>/usr/bin/libtool</filename> ユーティリティーにハードコーディングされます。
-% </para>
-%@z
-
-%@x /bin/echo
-% <para>This is to satisfy one of the tests in Glibc's test suite, which
-% expects <filename>/bin/echo</filename>.</para>
-%@y
-% <para>
-% Glibc のテストスイートの中に <filename>/bin/echo</filename> を用いているものがあり、これを成功させるためです。
-% </para>
-%@z
-
-%@x /usr/bin/env
-% <para>This pathname is hard-coded into some packages build procedures.
-% <!-- systemd This may not be needed if we move sysd to the end--></para>
-%@y
-% <para>
-% このパスは、パッケージのビルドを通じてハードコーディングされることがあります。
-% <!-- systemd This may not be needed if we move sysd to the end-->
-% </para>
-%@z
-
-%@x /usr/bin/install
-% <para>The path to <filename>install</filename> will be hard-coded into
-% the <filename>/usr/lib/bash/Makefile.inc</filename> file.</para>
-%@y
-% <para>
-% <filename>install</filename> へのパスが <filename>/usr/lib/bash/Makefile.inc</filename> ファイル内にてハードコーディングされます。
-% </para>
-%@z
-
-%@x /bin/ln
-% <para>The path to <filename>ln</filename> will be hard-coded into the
-% <filename>/usr/lib/perl5/&perl-version;/<target-triplet>/Config_heavy.pl</filename>
-% file.</para>
-%@y
-% <para>
-% <filename>ln</filename> へのパスが <filename>/usr/lib/perl5/&perl-version;/<target-triplet>/Config_heavy.pl</filename> ファイル内にてハードコーディングされます。
-% </para>
-%@z
-
-%@x /bin/pwd
-% <para>Some <command>configure</command> scripts, particularly Glibc's,
-% have this pathname hard-coded.</para>
-%@y
-% <para>
-% 特に Glibc などの <command>configure</command> スクリプトにて、このパス名がハードコーディングされています。
-% </para>
-%@z
-
-%@x /bin/rm
-% <para>The path to <filename>rm</filename> will be hard-coded into the
-% <filename>/usr/lib/perl5/&perl-version;/<target-triplet>/Config_heavy.pl</filename>
-% file.</para>
-%@y
-% <para>
-% <filename>rm</filename> へのパスが <filename>/usr/lib/perl5/&perl-version;/<target-triplet>/Config_heavy.pl</filename> ファイル内にてハードコーディングされます。
-% </para>
-%@z
-
-%@x /bin/stty
-% <para>This pathname is hard-coded into Expect, therefore it is needed
-% for Binutils and GCC test suites to pass.</para>
-%@y
-% <para>
-% このパス名は Expect にてハードコーディングされています。
-% したがって Binutils と GCC のテストスイートを成功させるために必要となります。
-% </para>
-%@z
-
-%@x /usr/bin/perl
-% <para>Many Perl scripts hard-code this path to the
-% <command>perl</command> program.</para>
-%@y
-% <para>
-% <command>perl</command> コマンドに対して Perl スクリプトはたいていこのパス名を用いています。
-% </para>
-%@z
-
-%@x /usr/lib/libgcc_s.so
-% <para>Glibc needs this for the pthreads library to work.</para>
-%@y
-% <para>
-% pthreads ライブラリが正常動作するように Glibc にとって必要となります。
-% </para>
-%@z
-
-%@x /usr/lib/libstdc++{,.6}
-% <para>This is needed by several tests in Glibc's test suite, as well as
-% for C++ support in GMP.</para>
-%@y
-% <para>
-% Glibc のテストスイート、例えば GMP における C++ サポートなどにおいて、これを必要とするものがあります。
-% </para>
-%@z
-
-%@x /bin/sh
-% <para>Many shell scripts hard-code <filename>/bin/sh</filename>.</para>
-%@y
-% <para>
-% シェルスクリプトはたいてい <filename>/bin/sh</filename> がハードコーディングされています。
-% </para>
-%@z
-
-%@x /usr/lib/lib{blkid,fdisk,mount,uuid}.so*, /usr/include/{blkid,libfdisk,libmount,uuid}, /usr/lib/pkgconfig/{blkid,fdisk,mount,uuid}.pc
-% <para>These links and files allow
-% <phrase revision="sysv">eudev</phrase>
-% <phrase revision="systemd">systemd</phrase> to find the
-% util-linux libraries installed in chapter 5, without creating
-% wrong references to /tools. The uuid library is also needed for
-% building a python module.</para>
-%@y
-% <para>
-% このリンクやファイルにより、
-% <phrase revision="sysv">eudev</phrase>
-% <phrase revision="systemd">systemd</phrase>
-% が第 5 章にてインストールした util-linux のライブラリを探し出せるようにします。
-% ここで /tools への誤った参照は作らないようにしています。
-% また python モジュールをビルドできるようにするため uuid ライブラリも必要となります。
-% </para>
-%@z
-
-%@x /tools/lib/locale/locale-archive
-% <para>Some programs built in chapter 5 look for installed
-% locale descriptions in this file. The locale descriptions will be
-% installed in <filename>/usr/lib/locale/locale-archive</filename>
-% after building the final glibc. The symlink allows those programs
-% to use the installed locales.</para>
-%@y
-% <para>
-% 第 5 章にてビルドしたプログラムの中には、インストール済のこのファイル内のロケール記述を検索するものがあります。
-% そのロケール記述は、最終的な glibc がビルドされた後は <filename>/usr/lib/locale/locale-archive</filename> にインストールされます。
-% 以下のシンボリックリンクを作成することで、現在インストールされているロケール記述をそういったプログラムが利用できるようにします。
-% </para>
-%@z
-
@x
<para>Historically, Linux maintains a list of the mounted file systems in the
file <filename>/etc/mtab</filename>. Modern kernels maintain this list
url="http://refspecs.linuxfoundation.org/lsb.shtml"/>) only recommends that,
besides the group <systemitem class="groupname">root</systemitem> with a
Group ID (GID) of 0, a group <systemitem class="groupname">bin</systemitem>
- with a GID of 1 be present. All other group names and GIDs can be chosen
- freely by the system administrator since well-written programs do not depend
- on GID numbers, but rather use the group's name.</para>
+ with a GID of 1 be present. The GID of 5 is widely used for
+ <systemitem class="groupname">tty</systemitem> group, and the number 5 is
+ also used in <phrase revision="systemd">systemd</phrase>
+ <phrase revision="sysv"><filename>/etc/fstab</filename></phrase> for the
+ <systemitem class="filesystem">devpts</systemitem> filesystem.
+ All other group names and GIDs can be chosen freely by the system
+ administrator since well-written programs do not depend on GID numbers,
+ but rather use the group's name.</para>
@y
<para>
作成するグループは何かの標準に基づいたものではありません。
Linux Standard Base (<ulink url="http://www.linuxbase.org"/> 参照) では <systemitem
class="groupname">root</systemitem> グループのグループID (GID) は 0、<systemitem
class="groupname">bin</systemitem> グループの GID は 1 を定めているにすぎません。
+ GID 5 は <systemitem class="groupname">tty</systemitem> グループに対して広く用いられています。
+ また数値 5 は <systemitem class="filesystem">devpts</systemitem> ファイルシステムに対して <phrase
+ revision="systemd">systemd</phrase>
+ <phrase revision="sysv"><filename>/etc/fstab</filename></phrase> においても用いられています。
他のグループとその GID はシステム管理者が自由に取り決めることができます。
というのも通常のプログラムであれば GID の値に依存することはなく、あくまでグループ名を用いてプログラミングされているからです。
</para>
@z
@x
+ <para>The ID 65534 is used by the kernel for NFS and separate user
+ namespaces for unmapped users and groups (those exist on the NFS server
+ or the parent user namespace, but <quote>do not exist</quote> on the local
+ machine or in the separate namespace). We assign
+ <systemitem class="username">nobody</systemitem> and
+ <systemitem class="groupname">nogroup</systemitem> for it to avoid an
+ unnamed ID. But other distros may treat this ID differently, so any
+ portable program should not depend on this assignment.</para>
+@y
+ <para>
+ ID 65534 は NFS のカーネルが利用し、マップされていないユーザーやグループに対するユーザー名前空間を切り分けます
+ (これは NFS サーバー上や親のユーザー空間に存在しますが、ローカルマシンや分離された名前空間には存在しません)。
+ 未割り当ての ID を避けるために、この ID を <systemitem
+ class="username">nobody</systemitem> と <systemitem
+ class="groupname">nogroup</systemitem> に用いることにします。
+ 他のディストリビューションにおいては、この ID を異なる用い方をしている場合があるため、移植性を考慮するプログラムでは、ここでの割り当てに依存しないようにしてください。
+ </para>
+@z
+
+@x
<para>Some tests in <xref linkend="chapter-building-system"/> need a regular
user. We add this user here and delete this account at the end of that
chapter.</para>
@z
@x
-<para>Fix a problem with autoconf-2.70 in an included gnulib .m4 file:</para>
-@y
-<para>
-autoconf-2.70 に含まれている gnulib .m4 ファイルの問題を修正します。
-</para>
-@z
-
-@x
<para>Now prepare Coreutils for compilation:</para>
@y
<para>&PreparePackage1;Coreutils&PreparePackage2;</para>
@z
@x
- <para>Eight tests related to analyzer are known to fail.</para>
+ <para>In g++, four tests related to PR100400 are known to be reported
+ as both XPASS and FAIL. It's because the test file for this known issue
+ is not well written.</para>
@y
<para>
- アナライザーに関するテストが 8 つ失敗します。
- </para>
-@z
-
-@x
- <para>One test named <filename>asan_test.C</filename> is known to
- fail.</para>
-@y
- <para>
- <filename>asan_test.C</filename> というテストが 1 つ失敗します。
- </para>
-@z
-
-@x
- <para>In libstdc++, one test named <filename>49745.cc</filename> is
- known to fail because the header dependencies in glibc have
- changed.</para>
-@y
- <para>
- libstdc++ において <filename>49745.cc</filename> というテストが 1 つ失敗します。
- これは glibc 内ヘッダーの依存関係が変更されているからです。
- </para>
-@z
-
-@x
- <para>In libstdc++, one numpunct test and six tests related to get_time are
- known to fail. These are all because the locale definitions in glibc have
- changed but libstdc++ does not currently support those changes.</para>
-@y
- <para>
- libstdc++ においては、numpunct のテスト 1 つと get_time に関連するテストが 6 つ失敗します。
- この理由は、glibc におけるロケール定義が変更されているからであり、libstdc++ はその変更に対応していないためです。
+ g++ においては PR100400 に関連するテスト 4 つが XPASS および FAIL として出力されます。
+ この問題はテストファイルが適切に記述されていないために発生します。
</para>
@z
@z
@x
- <para>Install the package and remove an unneeded directory:</para>
+ <para>Install the package:</para>
@y
<para>
&InstallThePackage;
- 不要なディレクトリは削除します。
</para>
@z
<para>&CompileThePackage;</para>
@z
-%@x
-% <para>The test suite needs some custom modifications for LFS.
-% Remove a test that fails when scripting does not use a tty device and
-% fix two others.
-% To run the test suite, run the following commands:</para>
-%@y
-% <para>
-% LFS においてテストスイートを実行するには多少の修正が必要です。
-% tty デバイスを利用しないスクリプトが1つ失敗するため、これを除外することにし、その他にも 2 つのテストを修正します。
-% テストスイートを実行するために以下のコマンドを実行します。
-% </para>
-%@z
-
@x
<para> To run the test suite, run:</para>
@y
@z
@x
- <para>Five tests related to pkill are known to fail due to a problem
- with tests that were not updated.</para>
+ <!-- It's because "free -v" shows "used" greater than "total", and
+ a negative "free" for "Comm" line. The "total" value is from
+ "CommitLimit" in /proc/meminfo, which is the limit for one process.
+ But the "used" value is from "Committed_AS" in the same file,
+ which is the total commited virtual memory space of all processes.
+ I'll make a report to upstream anyway. -->
+ <para>One test named <filename>free with commit</filename>
+ may fail if some applications with a custom memory allocator (for
+ example, JVM and Web browsers) are running on the host distro.</para>
@y
+ <!-- It's because "free -v" shows "used" greater than "total", and
+ a negative "free" for "Comm" line. The "total" value is from
+ "CommitLimit" in /proc/meminfo, which is the limit for one process.
+ But the "used" value is from "Committed_AS" in the same file,
+ which is the total commited virtual memory space of all processes.
+ I'll make a report to upstream anyway. -->
<para>
- pkill に関連するテストが 5 つ失敗します。
- これはテストが更新されていないために発生します。
+ ホストディストリビューション上において、特定のアプリケーション(たとえば JVM や ウェブブラウザー)が独自のメモリ割り当てを行っている場合に、<filename>free with commit</filename> という名前のテストが失敗します。
</para>
@z
@z
@x
- <note><para>There is one test that fails in the chroot environment and
- causes the tests to hang forever. The problem does not occur outside
- of the chroot environment.
- To work around the problem, delete the test:</para>
-@y
- <note><para>
- chroot 環境内においては、テストが 1 つ失敗して、テストをハングさせてしまいます。
- この問題は chroot 環境から抜け出れば発生しません。
- これを回避するため、そのテストは削除します。
- </para>
-@z
-
-@x
<para>The <emphasis>hardlink</emphasis> tests will fail if the host's kernel
does not have the option CONFIG_CRYPTO_USER_API_HASH set.</para>
@y
@x
<para>The <command>init</command> program is controlled by the
<filename>/etc/inittab</filename> file and is organized into run levels that
- can be run by the user:</para>
+ can be run by the user. In LFS, they are used as follows:</para>
@y
<para>
<command>init</command> プログラムは <filename>/etc/inittab</filename> ファイルにより制御されます。
そしてユーザーが設定可能なランレベルを設定します。
+ LFS においては以下のものが利用されます。
</para>
@z
@x
<literallayout>0 — halt
1 — Single user mode
-2 — Multiuser, without networking
+2 — User definable
3 — Full multiuser mode
4 — User definable
5 — Full multiuser mode with display manager
@y
<literallayout>0 — 停止 (halt)
1 — シングルユーザーモード
-2 — ã\83\9eã\83«ã\83\81ã\83¦ã\83¼ã\82¶ã\83¼ã\80\81ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\81ªã\81\97
+2 — ã\83¦ã\83¼ã\82¶ã\83¼å®\9a義
3 — フルマルチユーザーモード
4 — ユーザー定義
5 — フルマルチユーザーモード、ディスプレイマネージャーあり
generally not used. See <filename>init(8)</filename> for more details), and
each one of those corresponds to the actions the computer is supposed to
perform when it starts up. The default run-level is 3. Here are the
- descriptions of the different run-levels as they are implemented:</para>
+ descriptions of the different run-levels as they are implemented in LFS:</para>
@y
<para>
SysVinit (これ以降は<quote>init</quote>と表現します) はランレベルという仕組みにより動作します。
(実際にはランレベルはそれ以上あるのですが、特殊な場合であって普通は利用されません。
詳しくは <filename>init(8)</filename> を参照してください。)
各レベルは、コンピューターの起動時における処理動作に対応づいており、デフォルトのランレベルは 3 となっています。
- ランレベルの詳細を以下に説明します。
+ LFS において実装されるランレベルの詳細を以下に説明します。
</para>
@z
<title>上の設定項目の説明</title>
@z
+@x Compile the kernel with warnings as errors
+ <para>This may cause building failure if the compiler and/or
+ configuration are different from those of the kernel
+ developers.</para>
+@y
+ <para>
+ これを設定すると、カーネル開発者が採用するコンパイラーや設定と異なる場合に、カーネルビルドエラーとなる場合があります。
+ </para>
+@z
+
@x Enable kernel headers through /sys/kernel/kheaders.tar.xz
<para>This will require <command>cpio</command> building the kernel.
<command>cpio</command> is not installed by LFS.</para>
<!ENTITY copyrightdate "%crdate;">
]]>
-<!ENTITY jversion "20220419">
-<!ENTITY jversiond "20220419">
-<!ENTITY jcorrespondSHA "18e99c88b"> <!-- lfs-git SHA 値; 本箇所での記載のみ -->
+<!ENTITY jversion "20220512">
+<!ENTITY jversiond "20220512">
+<!ENTITY jcorrespondSHA "59d5489ff"> <!-- lfs-git SHA 値; 本箇所での記載のみ -->
<!ENTITY dir-jversion "git-ja">
<!ENTITY dir-jversiond "git-sysdja">
@z
@z
@x
-<!ENTITY gcc-fin-sbu "153 SBU (with tests)">
+<!ENTITY gcc-fin-sbu "160 SBU (with tests)">
@y
-<!ENTITY gcc-fin-sbu "153 SBU (テスト込み)">
+<!ENTITY gcc-fin-sbu "160 SBU (テスト込み)">
@z
@x
dnl This is part of LFSbookja package.
dnl
dnl m4-include this file to define the current LFS version
-m4_define([lfs_version], [r11.1-92])
+m4_define([lfs_version], [r11.1-117])