Merge remote-tracking branch 'origin/trunk' into xry111/loongarch

This commit is contained in:
Xi Ruoyao 2024-02-07 04:57:26 +08:00
commit ee8c846895
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
6 changed files with 37 additions and 29 deletions

View File

@ -63,11 +63,14 @@
<para>Now mount the remaining virtual kernel file systems:</para> <para>Now mount the remaining virtual kernel file systems:</para>
<screen><userinput>mount -v --bind /dev/pts $LFS/dev/pts <!-- Do not put any option after $LFS/${mountpoint} or jhalfs cannot
handle it! -->
<screen><userinput>mount -vt devpts devpts -o gid=5,mode=0620 $LFS/dev/pts
mount -vt proc proc $LFS/proc mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys mount -vt sysfs sysfs $LFS/sys
mount -vt tmpfs tmpfs $LFS/run</userinput></screen> mount -vt tmpfs tmpfs $LFS/run</userinput></screen>
<!--
<variablelist> <variablelist>
<title>The meaning of the mount options for devpts:</title> <title>The meaning of the mount options for devpts:</title>
@ -95,11 +98,12 @@ mount -vt tmpfs tmpfs $LFS/run</userinput></screen>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
-->
<para>In some host systems, <filename>/dev/shm</filename> is a <para>In some host systems, <filename>/dev/shm</filename> is a
symbolic link to <filename class="directory">/run/shm</filename>. symbolic link to a directory, typically
<filename class="directory">/run/shm</filename>.
The /run tmpfs was mounted above so in this case only a The /run tmpfs was mounted above so in this case only a
directory needs to be created.</para> directory needs to be created with the correct permissions.</para>
<para>In other host systems <filename>/dev/shm</filename> is a mount point <para>In other host systems <filename>/dev/shm</filename> is a mount point
for a tmpfs. In that case the mount of /dev above will only create for a tmpfs. In that case the mount of /dev above will only create
@ -107,7 +111,7 @@ mount -vt tmpfs tmpfs $LFS/run</userinput></screen>
we must explicitly mount a tmpfs:</para> we must explicitly mount a tmpfs:</para>
<screen><userinput>if [ -h $LFS/dev/shm ]; then <screen><userinput>if [ -h $LFS/dev/shm ]; then
(cd $LFS/dev; mkdir $(readlink shm)) install -v -d -m 1777 $LFS$(realpath /dev/shm)
else else
mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm
fi</userinput></screen> fi</userinput></screen>

View File

@ -83,7 +83,7 @@
<application>Expect</application> and run the tests as the <systemitem <application>Expect</application> and run the tests as the <systemitem
class="username">tester</systemitem> user:</para> class="username">tester</systemitem> user:</para>
<screen><userinput remap="test">su -s /usr/bin/expect tester &lt;&lt; EOF <screen><userinput remap="test">su -s /usr/bin/expect tester &lt;&lt; "EOF"
set timeout -1 set timeout -1
spawn make tests spawn make tests
expect eof expect eof

View File

@ -48,6 +48,25 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Expect</title> <title>Installation of Expect</title>
<para>Expect needs PTYs to work. Verify that the PTYs are working
properly inside the chroot environment by performing a simple
test:</para>
<screen><userinput remap="test">python3 -c 'from pty import spawn; spawn(["echo", "ok"])'</userinput></screen>
<para>This command should output <computeroutput>ok</computeroutput>.
If, instead, the output includes <computeroutput>OSError: out of pty
devices</computeroutput>, then the environment is not set up for proper
PTY operation. You need to exit from the chroot environment, read
<xref linkend='ch-tools-kernfs'/> again, and ensure the
<systemitem class="filesystem">devpts</systemitem> file system (and
other virtual kernel file systems) mounted correctly. Then reenter
the chroot environment following <xref linkend='ch-tools-chroot'/>.
This issue needs to be resolved before continuing, or the test suites
requring Expect (for example the test suites of Bash, Binutils, GCC,
GDBM, and of course Expect itself) will fail catastrophically, and other
subtle breakages may also happen.</para>
&update-config-text; &update-config-text;
<screen><userinput remap="pre">tar -C tclconfig &update-config-arg;</userinput></screen> <screen><userinput remap="pre">tar -C tclconfig &update-config-arg;</userinput></screen>
@ -86,27 +105,10 @@
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
<important>
<para>The test suite for Expect is considered critical.
Do not skip it under any circumstances.</para>
</important>
<para>To test the results, issue:</para> <para>To test the results, issue:</para>
<screen><userinput remap="test">make test</userinput></screen> <screen><userinput remap="test">make test</userinput></screen>
<para>If any test fails with the message
<computeroutput>The system has no more ptys. Ask your system
administrator to create more</computeroutput>, it indicates
you've not mounted the
<systemitem class="filesystem">devpts</systemitem> file system
correctly. You need to exit from the chroot environment, read
<xref linkend='ch-tools-kernfs'/> again, and ensure the
<systemitem class="filesystem">devpts</systemitem> file system (and
other virtual kernel file systems) mounted correctly. Then reenter
the chroot environment following <xref linkend='ch-tools-chroot'/>.
This issue needs to be resolved before continuing.</para>
<para>Install the package:</para> <para>Install the package:</para>
<screen><userinput remap="install">make install <screen><userinput remap="install">make install

View File

@ -309,10 +309,11 @@ install -vm755 dest/usr/lib/*.so.* /usr/lib</userinput></screen>
</para> </para>
<para> <para>
Then continue to run the <command>make install</command> command Then continue to run the <command>make install</command> command,
and the <command>sed</command> command against the <command>sed</command> command against
<filename>/usr/bin/ldd</filename>. Once they are finished, reboot <filename>/usr/bin/ldd</filename>, and the commands to install
the system immediately. the locales. Once they are finished, reboot the system
immediately.
</para> </para>
</important> </important>

View File

@ -130,7 +130,7 @@ mounttype proc proc proc
mounttype sys sysfs sysfs mounttype sys sysfs sysfs
mounttype run tmpfs run mounttype run tmpfs run
if [ -h $LFS/dev/shm ]; then if [ -h $LFS/dev/shm ]; then
mkdir -pv $LFS/$(readlink $LFS/dev/shm) install -v -d -m 1777 $LFS$(realpath /dev/shm)
else else
mounttype dev/shm tmpfs tmpfs -o nosuid,nodev mounttype dev/shm tmpfs tmpfs -o nosuid,nodev
fi fi

View File

@ -152,6 +152,7 @@ if ( $package == "tcl" ) $dirpath = "https://www.tcl.tk/software/tcltk/do
if ( $package == "util-linux" ) $dirpath = max_parent( $dirpath, "v." ); if ( $package == "util-linux" ) $dirpath = max_parent( $dirpath, "v." );
if ( $package == "vim" ) $dirpath = "https://github.com/vim/vim/tags"; if ( $package == "vim" ) $dirpath = "https://github.com/vim/vim/tags";
if ( $package == "wheel" ) $dirpath = "https://pypi.org/project/wheel/#files"; if ( $package == "wheel" ) $dirpath = "https://pypi.org/project/wheel/#files";
if ( $package == "xz" ) $dirpath = github("tukaani-project/xz");
if ( $package == "zlib" ) $dirpath = "https://www.zlib.net"; if ( $package == "zlib" ) $dirpath = "https://www.zlib.net";
if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); if ( $package == "zstd" ) $dirpath = github("facebook/zstd");