Changeset 524c5e3
- Timestamp:
- 12/09/2022 07:53:16 AM (17 months ago)
- Branches:
- xry111/clfs-ng
- Children:
- f16e611
- Parents:
- 2ef64c4 (diff), 4640b37d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/changelog.xml
r2ef64c4 r524c5e3 41 41 --> 42 42 <listitem> 43 <para>2022-12-01</para> 44 <itemizedlist> 45 <listitem> 46 <para>[bdubbs] - Update to linux-6.0.11 (Security update). Fixes 47 <ulink url="&lfs-ticket-root;5175">#5175</ulink>.</para> 48 </listitem> 49 </itemizedlist> 50 </listitem> 51 52 <listitem> 53 <para>2022-12-01</para> 54 <itemizedlist> 55 <listitem> 56 <para>[bdubbs] - Update to iana-etc-20221122. Addresses 57 <ulink url="&lfs-ticket-root;5006">#5006</ulink>.</para> 58 </listitem> 59 <listitem> 60 <para>[bdubbs] - Update to xz-5.2.9. Fixes 61 <ulink url="&lfs-ticket-root;5174">#5174</ulink>.</para> 62 </listitem> 63 <listitem> 64 <para>[bdubbs] - Update to tzdata-2022g. Fixes 65 <ulink url="&lfs-ticket-root;5172">#5172</ulink>.</para> 66 </listitem> 67 <listitem> 68 <para>[bdubbs] - Update to texinfo-7.0.1. Fixes 69 <ulink url="&lfs-ticket-root;5173">#5173</ulink>.</para> 70 </listitem> 71 <listitem> 72 <para>[bdubbs] - Update to tcl-8.6.13. Fixes 73 <ulink url="&lfs-ticket-root;5170">#5170</ulink>.</para> 74 </listitem> 75 <listitem> 76 <para>[bdubbs] - Update to meson-0.64.1. Fixes 77 <ulink url="&lfs-ticket-root;5169">#5169</ulink>.</para> 78 </listitem> 79 <listitem> 80 <para>[bdubbs] - Update to linux-6.0.10. Fixes 81 <ulink url="&lfs-ticket-root;5171">#5171</ulink>.</para> 82 </listitem> 83 <listitem> 84 <para>[bdubbs] - Update to gawk-5.2.1. Fixes 85 <ulink url="&lfs-ticket-root;5168">#5168</ulink>.</para> 86 </listitem> 87 </itemizedlist> 88 </listitem> 89 90 <listitem> 43 91 <para>2022-11-22</para> 44 92 <itemizedlist> -
chapter01/whatsnew.xml
r2ef64c4 r524c5e3 248 248 <para>Tar-&tar-version;</para> 249 249 </listitem>--> 250 < !--<listitem>250 <listitem> 251 251 <para>Tcl-&tcl-version;</para> 252 </listitem> -->252 </listitem> 253 253 <listitem> 254 254 <para>Texinfo-&texinfo-version;</para> -
chapter04/creatingminlayout.xml
r2ef64c4 r524c5e3 9 9 <?dbhtml filename="creatingminlayout.html"?> 10 10 11 <title>Creating a limited directory layout in LFS filesystem</title>11 <title>Creating a Limited Directory Layout in the LFS Filesystem</title> 12 12 13 13 <para>In this section, we begin populating the LFS filesystem with the … … 43 43 <screen><userinput>mkdir -pv $LFS/tools</userinput></screen> 44 44 45 <note> 46 <para> 47 The LFS editors have deliberately decided not to use a 48 <filename class="directory">/usr/lib64</filename> directory. Several 49 steps are taken to be sure the toolchain will not use it. If for any 50 reason this directory appears (either because you made an error in 51 following the instructions, or because you installed a binary package that 52 created it after finishing LFS), it may break your system. 53 You should always be sure this directory does not exist. 54 </para> 55 </note> 56 45 57 </sect1> -
chapter05/gcc-pass1.xml
r2ef64c4 r524c5e3 164 164 165 165 <varlistentry> 166 <term><parameter>--disable- decimal-float, --disable-threads,167 166 <term><parameter>--disable-threads, 167 --disable-libatomic, --disable-libgomp, 168 168 --disable-libquadmath, --disable-libssp, --disable-libvtv, 169 169 --disable-libstdcxx</parameter></term> 170 170 <listitem> 171 <para>These switches disable support for the decimal floating point172 extension,threading, libatomic, libgomp, libquadmath, libssp,171 <para>These switches disable support for 172 threading, libatomic, libgomp, libquadmath, libssp, 173 173 libvtv, and the C++ standard library respectively. These features 174 willfail to compile when building a cross-compiler and are not174 may fail to compile when building a cross-compiler and are not 175 175 necessary for the task of cross-compiling the temporary libc.</para> 176 176 </listitem> -
chapter07/creatingdirs.xml
r2ef64c4 r524c5e3 69 69 directories, if you wish. </para> 70 70 71 <warning> 72 <para> 73 The FHS does not mandate the existence of the directory 74 <filename class="directory">/usr/lib64</filename>, and the LFS editors 75 have decided not to use it. For the instructions in LFS and BLFS to work correctly, 76 it is imperative that this directory be non-existent. From time to time you should 77 verify that it does not exist, because it is easy to create it 78 inadvertently, and this will probably break your system. 79 </para> 80 </warning> 81 71 82 </sect2> 72 83 -
chapter08/bash.xml
r2ef64c4 r524c5e3 24 24 <title/> 25 25 26 <para>The Bash package contains the Bourne-Again S Hell.</para>26 <para>The Bash package contains the Bourne-Again Shell.</para> 27 27 28 28 <segmentedlist> … … 74 74 <screen><userinput remap="test">chown -Rv tester .</userinput></screen> 75 75 76 <para>The test suite of thepackage is designed to be run as a non-&root;77 user thatowns the terminal connected to standard input. To satisfy the76 <para>The test suite of this package is designed to be run as a non-&root; 77 user who owns the terminal connected to standard input. To satisfy the 78 78 requirement, spawn a new pseudo terminal using 79 79 <application>Expect</application> and run the tests as the <systemitem -
chapter08/gawk.xml
r2ef64c4 r524c5e3 44 44 45 45 <screen><userinput remap="pre">sed -i 's/extras//' Makefile.in</userinput></screen> 46 47 <para>Now fix a programming error identified upstream:</para>48 49 <screen><userinput remap="pre">sed -i '241i UPREF(m);' interpret.h</userinput></screen>50 46 51 47 <para>Prepare Gawk for compilation:</para> -
chapter08/gcc.xml
r2ef64c4 r524c5e3 80 80 --with-system-zlib</userinput></screen> 81 81 82 <para> Note that for other programming languages there are some prerequisites that83 are not yet available. See the82 <para>GCC supports seven different computer languages, but the 83 prerequisites for most of them have not yet been installed. See the 84 84 <ulink url="&blfs-book;general/gcc.html">BLFS Book GCC page</ulink> 85 85 for instructions on how to build all of GCC's supported languages.</para> … … 91 91 <term><parameter>LD=ld</parameter></term> 92 92 <listitem> 93 <para>This parameter makes the configure script use the ld installed94 by the binutilsbuilt earlier in this chapter, rather than93 <para>This parameter makes the configure script use the ld program installed 94 by the Binutils package built earlier in this chapter, rather than 95 95 the cross-built version which would otherwise be used.</para> 96 96 </listitem> … … 101 101 <listitem> 102 102 <para>This switch tells GCC to link to the system installed copy of 103 the zlib library, rather than its own internal copy.</para>103 the Zlib library, rather than its own internal copy.</para> 104 104 </listitem> 105 105 </varlistentry> … … 109 109 <anchor id="pie-ssp-info" xreflabel="note on PIE and SSP"/> 110 110 <para> 111 PIE (position-independent executable ) is a technique to produce111 PIE (position-independent executables) are 112 112 binary programs that can be loaded anywhere in memory. Without PIE, 113 113 the security feature named ASLR (Address Space Layout Randomization) 114 can be applied for the shared libraries, but not the executable115 itself. Enabling PIE allows ASLR for the executables in addition to114 can be applied for the shared libraries, but not for the executables 115 themselves. Enabling PIE allows ASLR for the executables in addition to 116 116 the shared libraries, and mitigates some attacks based on fixed 117 117 addresses of sensitive code or data in the executables. … … 119 119 <para> 120 120 SSP (Stack Smashing Protection) is a technique to ensure 121 that the parameter stack is not corrupted. Stack corruption can 122 for example alter the return address of a subroutine,123 which would allowtransferring control to some dangerous code121 that the parameter stack is not corrupted. Stack corruption can, 122 for example, alter the return address of a subroutine, 123 thus transferring control to some dangerous code 124 124 (existing in the program or shared libraries, or injected by the 125 attacker somehow) instead of the original one.125 attacker somehow). 126 126 </para> 127 127 </note> … … 133 133 <important> 134 134 <para>In this section, the test suite for GCC is considered 135 important, but it takes a long time. First 136 encouraged to not skip it. The time to run the tests can be137 reduced significantly by adding -jx to the make command below138 where x is the number of cores on your system.</para>135 important, but it takes a long time. First-time builders are 136 encouraged to run the test suite. The time to run the tests can be 137 reduced significantly by adding -jx to the <command>make -k check</command> command below, 138 where x is the number of CPU cores on your system.</para> 139 139 </important> 140 140 … … 149 149 su tester -c "PATH=$PATH make -k check"</userinput></screen> 150 150 151 <para>To receivea summary of the test suite results, run:</para>151 <para>To extract a summary of the test suite results, run:</para> 152 152 153 153 <screen><userinput remap="test">../contrib/test_summary</userinput></screen> 154 154 155 <para> Foronly the summaries, pipe the output through155 <para>To filter out only the summaries, pipe the output through 156 156 <userinput>grep -A7 Summ</userinput>.</para> 157 157 … … 160 160 <ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para> 161 161 162 <para> In gcc, eleven tests, in the i386 test suiteare known to FAIL.162 <para>Eleven tests in the i386 test suite for the gcc compiler are known to FAIL. 163 163 It's because the test files do not account for the 164 164 <parameter>--enable-default-pie</parameter> option.</para> 165 165 166 <para> In g++, four tests related to PR100400 are known tobe reported167 as both XPASS and FAIL . It's because the test file for this known issue166 <para>Four tests related to PR100400 may be reported 167 as both XPASS and FAIL when testing the g++ compiler; the test file 168 168 is not well written.</para> 169 169 … … 187 187 188 188 <para>The GCC build directory is owned by <systemitem class="username"> 189 tester</systemitem> now and the ownership of the installed header190 directory (and its content) will be incorrect. Change the ownership to189 tester</systemitem> now, and the ownership of the installed header 190 directory (and its content) is incorrect. Change the ownership to the 191 191 <systemitem class="username">root</systemitem> user and group:</para> 192 192 … … 225 225 <screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen> 226 226 227 <para>Now make sure that we're set up to use the correct start files:</para>227 <para>Now make sure that we're set up to use the correct start files:</para> 228 228 229 229 <screen><userinput>grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log</userinput></screen> … … 274 274 SEARCH_DIR("/usr/lib");</computeroutput></screen> 275 275 276 <para>A 32-bit system may see a few differentdirectories. For example, here276 <para>A 32-bit system may use a few other directories. For example, here 277 277 is the output from an i686 machine:</para> 278 278 … … 307 307 steps to find out where the problem is and correct it. <!--The most likely 308 308 reason is that something went wrong with the specs file adjustment.--> Any 309 issues will need tobe resolved before continuing with the process.</para>309 issues should be resolved before continuing with the process.</para> 310 310 311 311 <para>Once everything is working correctly, clean up the test files:</para> … … 374 374 <listitem> 375 375 <para>The C preprocessor; it is used by the compiler to expand the 376 #include, #define, and similar statements in the source files</para>376 #include, #define, and similar directives in the source files</para> 377 377 <indexterm zone="ch-system-gcc cpp"> 378 378 <primary sortas="b-cpp">cpp</primary> … … 407 407 plugin to the command line. This program is only used 408 408 to add "link time optimization" and is not useful with the 409 default build options </para>409 default build options.</para> 410 410 <indexterm zone="ch-system-gcc gcc-ar"> 411 411 <primary sortas="b-gcc-ar">gc-ar</primary> … … 420 420 plugin to the command line. This program is only used 421 421 to add "link time optimization" and is not useful with the 422 default build options </para>422 default build options.</para> 423 423 <indexterm zone="ch-system-gcc gcc-nm"> 424 424 <primary sortas="b-gcc-nm">gc-nm</primary> … … 433 433 plugin to the command line. This program is only used 434 434 to add "link time optimization" and is not useful with the 435 default build options </para>435 default build options.</para> 436 436 <indexterm zone="ch-system-gcc gcc-ranlib"> 437 437 <primary sortas="b-gcc-ranlib">gc-ranlib</primary> … … 444 444 <listitem> 445 445 <para>A coverage testing tool; it is used to analyze programs to 446 determine where optimizations will have the most effect</para>446 determine where optimizations will have the greatest effect</para> 447 447 <indexterm zone="ch-system-gcc gcov"> 448 448 <primary sortas="b-gcov">gcov</primary> … … 525 525 <term><filename class="libraryfile">libgcov</filename></term> 526 526 <listitem> 527 <para>This library is linked in 527 <para>This library is linked into a program when GCC is instructed 528 528 to enable profiling</para> 529 529 <indexterm zone="ch-system-gcc libgcov"> … … 567 567 <term><filename class="libraryfile">liblto_plugin</filename></term> 568 568 <listitem> 569 <para>GCC's LTO plugin allows binutils to process object files569 <para>GCC's LTO plugin allows Binutils to process object files 570 570 produced by GCC with LTO enabled</para> 571 571 <indexterm zone="ch-system-gcc liblto_plugin"> … … 589 589 <listitem> 590 590 <para>Contains routines supporting GCC's stack-smashing protection 591 functionality. Normally it 's unused because glibc also provides592 those routines </para>591 functionality. Normally it is not used, because Glibc also provides 592 those routines.</para> 593 593 <indexterm zone="ch-system-gcc libssp"> 594 594 <primary sortas="c-libssp">libssp</primary> -
chapter08/gdbm.xml
r2ef64c4 r524c5e3 25 25 26 26 <para>The GDBM package contains the GNU Database Manager. It is a library 27 of database functions that use extensible hashing and works similar tothe27 of database functions that uses extensible hashing and works like the 28 28 standard UNIX dbm. The library provides primitives for storing key/data 29 29 pairs, searching and retrieving the data by its key and deleting a key -
chapter08/gettext.xml
r2ef64c4 r524c5e3 347 347 <term><filename class="libraryfile">libasprintf</filename></term> 348 348 <listitem> 349 <para> defines the <emphasis>autosprintf</emphasis> class, which makes349 <para>Defines the <emphasis>autosprintf</emphasis> class, which makes 350 350 C formatted output routines usable in C++ programs, for use with the 351 351 <emphasis><string></emphasis> strings and the … … 360 360 <term><filename class="libraryfile">libgettextlib</filename></term> 361 361 <listitem> 362 <para> a private library containingcommon routines used by the362 <para>Contains common routines used by the 363 363 various Gettext programs; these are not intended for general use</para> 364 364 <indexterm zone="ch-system-gettext libgettextlib"> … … 386 386 <term><filename class="libraryfile">libgettextsrc</filename></term> 387 387 <listitem> 388 <para> A private library containingcommon routines used by the388 <para>Provides common routines used by the 389 389 various Gettext programs; these are not intended for general use</para> 390 390 <indexterm zone="ch-system-gettext libgettextsrc"> … … 407 407 <term><filename class="libraryfile">preloadable_libintl</filename></term> 408 408 <listitem> 409 <para>A library, intended to be used by LD_PRELOAD that assists410 <filename class="libraryfile">libintl</filename> in logging409 <para>A library, intended to be used by LD_PRELOAD, that helps 410 <filename class="libraryfile">libintl</filename> log 411 411 untranslated messages</para> 412 412 <indexterm zone="ch-system-gettext preloadable_libintl"> -
chapter08/libelf.xml
r2ef64c4 r524c5e3 42 42 <title>Installation of Libelf</title> 43 43 44 <para>Libelf is part of elfutils-&elfutils-version; package. Use45 the elfutils-&elfutils-version;.tar.bz2 as the source tarball.</para>44 <para>Libelf is part of the elfutils-&elfutils-version; package. Use 45 the elfutils-&elfutils-version;.tar.bz2 file as the source tarball.</para> 46 46 47 47 <para>Prepare Libelf for compilation:</para> … … 60 60 61 61 <para>One test named <filename>run-low_high_pc.sh</filename> is known to 62 fail on 32-bit x86 system .</para>62 fail on 32-bit x86 systems.</para> 63 63 64 64 <para>Install only Libelf:</para> -
chapter08/libffi.xml
r2ef64c4 r524c5e3 27 27 interface to various calling conventions. This allows a programmer to call 28 28 any function specified by a call interface description at run time.</para> 29 30 <para>FFI stands for Foreign Function Interface. An FFI allows a program written 31 in one language to call a program written in another language. Specifically, 32 Libffi can provide a bridge between an interpreter like Perl, or Python, and 33 shared library subroutines written in C, or C++.</para> 29 34 30 35 <segmentedlist> … … 44 49 45 50 <note> 46 <para> Similar to GMP, libffi builds with optimizations specific51 <para>Like GMP, Libffi builds with optimizations specific 47 52 to the processor in use. If building for another system, change the 48 53 value of the <parameter>--with-gcc-arch=</parameter> parameter in the … … 53 58 </note> 54 59 55 <para>Prepare libffi for compilation:</para>60 <para>Prepare Libffi for compilation:</para> 56 61 57 62 <screen><userinput remap="configure">./configure --prefix=/usr \ … … 68 73 <para>Ensure GCC optimizes for the current system. If this 69 74 is not specified, the system is guessed and the code generated 70 may not be correct for some systems. If the generated code75 may not be correct. If the generated code 71 76 will be copied from the native system to a less capable 72 77 system, use the less capable system as a parameter. For details … … 81 86 <term><parameter>--disable-exec-static-tramp</parameter></term> 82 87 <listitem> 83 <para>Disable static trampoline support . It'sa new security84 feature in libffi, but some BLFS packages (notably88 <para>Disable static trampoline support, a new security 89 feature in Libffi. Some BLFS packages (notably 85 90 <application>GJS</application>) have not been adapted for it.</para> 86 91 </listitem> … … 122 127 <term><filename class="libraryfile">libffi</filename></term> 123 128 <listitem> 124 <para> contains the foreign function interface API functions</para>129 <para>Contains the foreign function interface API functions</para> 125 130 <indexterm zone="ch-system-libffi"> 126 131 <primary sortas="c-libffi">libffi</primary> -
chapter08/libtool.xml
r2ef64c4 r524c5e3 25 25 26 26 <para>The Libtool package contains the GNU generic library support script. 27 It wraps the complexity of using shared libraries ina consistent, portable27 It makes the use of shared libraries simpler with a consistent, portable 28 28 interface.</para> 29 29 … … 55 55 <screen><userinput remap="test">make -k check</userinput></screen> 56 56 57 <note><para>The test time for libtool can be reduced significantly on a57 <note><para>The test time for Libtool can be reduced significantly on a 58 58 system with multiple cores. To do this, append 59 59 <command>TESTSUITEFLAGS=-j<N></command> to the line above. For … … 63 63 <para>Five tests are known to fail in the LFS build environment due 64 64 to a circular dependency, but these tests pass if rechecked after 65 automake isinstalled. Additionally, with grep-3.8, two tests will65 automake has been installed. Additionally, with grep-3.8, two tests will 66 66 trigger a warning for non-POSIX regular expressions and fail.</para> 67 67 … … 124 124 <term><filename class="libraryfile">libltdl</filename></term> 125 125 <listitem> 126 <para>Hides the various difficulties of dlopeninglibraries</para>126 <para>Hides the various difficulties of opening dynamically loaded libraries</para> 127 127 <indexterm zone="ch-system-libtool libltdl"> 128 128 <primary sortas="c-libltdl">libltdl</primary> -
chapter08/ninja.xml
r2ef64c4 r524c5e3 37 37 38 38 <tip revision="sysv"> 39 <para>This section is not strictly required for LFS if not using40 systemd. On the other hand, ninja associated to mesonmakes39 <para>This section is not strictly required when LFS does not use 40 systemd. On the other hand, Ninja, along with Meson, makes 41 41 a powerful build system combination, 42 which is expected tobe used more and more often. It is required for42 which will probably be used more and more often. It is required for 43 43 several packages in <ulink url="&blfs-book;">the BLFS 44 44 book</ulink>.</para> … … 50 50 <title>Installation of Ninja</title> 51 51 52 <para>When run, ninja normally runs a maximum number of processes53 in parallel. By default this is the number of cores on the system54 plus two. In some cases this can overheat a CPU or run a systemout55 of memory. If run from the command line, passing a-jN parameter56 will limit the number of parallel processes , but some packages57 embed the execution of ninja and do not pass a -j parameter.</para>52 <para>When run, <command>ninja</command> normally utilizes the greatest 53 possible number of processes in parallel. By default this is the number of cores on the system, 54 plus two. This may overheat the CPU, or make the system run out 55 of memory. When <command>ninja</command> is invoked from the command line, passing the -jN parameter 56 will limit the number of parallel processes. Some packages 57 embed the execution of <command>ninja</command>, and do not pass the -j parameter on to it.</para> 58 58 59 59 <para>Using the <emphasis>optional</emphasis> procedure below allows a user to … … 63 63 <screen>export NINJAJOBS=4</screen> 64 64 65 will limit ninjato four parallel processes.</para>65 will limit <command>ninja</command> to four parallel processes.</para> 66 66 67 <para>If desired, add the capability to use the environment variable68 NINJAJOBS by running :</para>67 <para>If desired, make <command>ninja</command> recognize the environment variable 68 NINJAJOBS by running the stream editor:</para> 69 69 70 70 <screen><userinput remap="pre">sed -i '/int Guess/a \ … … 85 85 <term><parameter>--bootstrap</parameter></term> 86 86 <listitem> 87 <para>This parameter forces ninja to rebuild itself for the current87 <para>This parameter forces Ninja to rebuild itself for the current 88 88 system.</para> 89 89 </listitem> -
chapter08/openssl.xml
r2ef64c4 r524c5e3 90 90 is announced. Since OpenSSL 3.0.0, the OpenSSL versioning scheme 91 91 follows the MAJOR.MINOR.PATCH format. API/ABI compatibility 92 areguaranteed for the same MAJOR version number. Because LFS92 is guaranteed for the same MAJOR version number. Because LFS 93 93 installs only the shared libraries, there is no need to recompile 94 94 packages which link to 95 95 <filename class="libraryfile">libcrypto.so</filename> or 96 96 <filename class="libraryfile">libssl.so</filename> 97 <emphasis>when upgrading to a version with MAJOR version number98 unchanged</emphasis>.97 <emphasis>when upgrading to a version with the same MAJOR version 98 number</emphasis>. 99 99 </para> 100 100 -
chapter08/perl.xml
r2ef64c4 r524c5e3 47 47 <screen><userinput remap="pre">patch -Np1 -i ../&perl-fix-patch;</userinput></screen> 48 48 --> 49 <para>This version of Perl nowbuilds the Compress::Raw::Zlib and49 <para>This version of Perl builds the Compress::Raw::Zlib and 50 50 Compress::Raw::BZip2 modules. By 51 51 default Perl will use an internal copy of the sources for the build. … … 58 58 <para>To have full control over the way Perl is set up, you can remove the 59 59 <quote>-des</quote> options from the following command and hand-pick the way 60 this package is built. Alternatively, use the command exactly as below to60 this package is built. Alternatively, use the command exactly as shown below to 61 61 use the defaults that Perl auto-detects:</para> 62 62 … … 83 83 <listitem> 84 84 <para>This ensures <command>perl</command> knows how to 85 tell packages where they should install their perl modules.</para>85 tell packages where they should install their Perl modules.</para> 86 86 </listitem> 87 87 </varlistentry> … … 100 100 <listitem> 101 101 <para>Since Groff is not installed yet, <command>Configure</command> 102 thinks that we do not want man pages for Perl. Issuing these103 parameters override s this decision.</para>102 will not create man pages for Perl. These 103 parameters override this behavior.</para> 104 104 </listitem> 105 105 </varlistentry> … … 108 108 <term><parameter>-Duseshrplib</parameter></term> 109 109 <listitem> 110 <para>Build a shared libperl needed by some perl modules.</para>110 <para>Build a shared libperl needed by some Perl modules.</para> 111 111 </listitem> 112 112 </varlistentry> … … 115 115 <term><parameter>-Dusethreads</parameter></term> 116 116 <listitem> 117 <para>Build perl with support for threads.</para>117 <para>Build Perl with support for threads.</para> 118 118 </listitem> 119 119 </varlistentry> … … 122 122 <term><parameter>-Dprivlib,-Darchlib,-Dsitelib,...</parameter></term> 123 123 <listitem> 124 <para>These settings define where Perl is lookingfor installed124 <para>These settings define where Perl looks for installed 125 125 modules. The LFS editors chose to put them in a directory structure 126 126 based on the Major.Minor version of Perl (&perl-version-min;) which 127 127 allows upgrading Perl to newer Patch levels (&perl-version;) without 128 the need to reinstall all of the modules again.</para>128 reinstalling all of the modules.</para> 129 129 </listitem> 130 130 </varlistentry> … … 186 186 <term><command>corelist</command></term> 187 187 <listitem> 188 <para>A command line frontend to Module::CoreList</para>188 <para>A command line front end to Module::CoreList</para> 189 189 <indexterm zone="ch-system-perl corelist"> 190 190 <primary sortas="b-corelist">corelist</primary> … … 251 251 <term><command>instmodsh</command></term> 252 252 <listitem> 253 <para>Shell script for examining installed Perl modules ,254 andcan create a tarball from an installed module</para>253 <para>Shell script for examining installed Perl modules; 254 it can create a tarball from an installed module</para> 255 255 <indexterm zone="ch-system-perl instmodsh"> 256 256 <primary sortas="b-instmodsh">instmodsh</primary> … … 285 285 <para>Combines some of the best features of C, <command>sed</command>, 286 286 <command>awk</command> and <command>sh</command> into a single 287 swiss-army language</para>287 Swiss Army language</para> 288 288 <indexterm zone="ch-system-perl perl"> 289 289 <primary sortas="b-perl">perl</primary> -
chapter08/python.xml
r2ef64c4 r524c5e3 26 26 <para>The Python 3 package contains the Python development environment. It 27 27 is useful for object-oriented programming, writing scripts, prototyping 28 large programs, or developing entire applications.</para> 28 large programs, and developing entire applications. Python is an interpreted 29 computer language.</para> 29 30 30 31 <segmentedlist> … … 57 58 <term><parameter>--with-system-expat</parameter></term> 58 59 <listitem> 59 <para>This switch enables linking against system version of60 <para>This switch enables linking against the system version of 60 61 <application>Expat</application>.</para> 61 62 </listitem> … … 65 66 <term><parameter>--with-system-ffi</parameter></term> 66 67 <listitem> 67 <para>This switch enables linking against system version of68 < application>libffi</application>.</para>68 <para>This switch enables linking against the system version of 69 <filename class='libraryfile'>libffi.so</filename>.</para> 69 70 </listitem> 70 71 </varlistentry> … … 73 74 <term><parameter>--enable-optimizations</parameter></term> 74 75 <listitem> 75 <para>This switch enables stable, but expensive, optimizations.</para> 76 <para>This switch enables extensive, but time-consuming, optimization 77 steps. The interpreter is built twice; tests performed on the first 78 build are used to improve the optimized final version.</para> 79 <!-- This description was drawn from the README.rst file 80 in the Python-3.11.0 package. --> 76 81 </listitem> 77 82 </varlistentry> … … 85 90 <para>Running the tests at this point is not recommended. The 86 91 tests are known to hang indefinitely in the partial LFS environment. 87 If desired, the tests can be rerun at the end of this chapter or92 If desired, the tests can be rerun at the end of this chapter, or 88 93 when Python 3 is reinstalled in BLFS. To run the tests anyway, 89 94 issue <command>make test</command>.</para> … … 93 98 <screen><userinput remap="install">make install</userinput></screen> 94 99 95 <para> In several places we use the <command>pip3</command> command to100 <para>We use the <command>pip3</command> command to 96 101 install Python 3 programs and modules for all users as 97 <systemitem class='username'>root</systemitem>. This conflicts 98 with the Python developers recommendation to install packages into a 99 virtual environment or the home directory of a regular user (by running 100 <command>pip3</command> as this user). To this end, a multi-line warning 101 is written when using <command>pip3</command> as the 102 <systemitem class='username'>root</systemitem> user. The main reason 103 of this recommendation is for avoiding a conflict with the system 104 package manager (<command>dpkg</command> for example), but LFS does not 105 have a system-wide package manager so this is not a problem. And, 106 <command>pip3</command> will attempt to check for a new version of 107 itself whenever it's run. As domain name resolving is not configured 108 yet in LFS chroot environment, it will fail to check for a new version 109 and produce a warning. Once we boot the LFS system and set up network 110 connection, it will then produce a warning telling the user to update it 111 from a pre-built wheel on PyPI if any new version is available. But LFS 112 consider <command>pip3</command> a part of Python 3 so it should not be 113 updated separately, and an update from a pre-built wheel will deviate 114 from our purpose to build a Linux system from source code. So the 115 warning for a new <command>pip3</command> version should be ignored as 116 well. If desired, suppress these warnings by running the following 117 commands:</para> 102 <systemitem class='username'>root</systemitem> in several places in this book. 103 This conflicts with the Python developers' recommendation: to install packages into a 104 virtual environment, or into the home directory of a regular user (by running 105 <command>pip3</command> as this user). A multi-line warning 106 is triggered whenever <command>pip3</command> is issued by the 107 <systemitem class='username'>root</systemitem> user.</para> 108 109 <para>The main reason 110 for the recommendation is to avoid conflicts with the system's 111 package manager (<command>dpkg</command>, for example). LFS does not 112 have a system-wide package manager, so this is not a problem. Also, 113 <command>pip3</command> will check for a new version of 114 itself whenever it's run. Since domain name resolution is not yet configured 115 in the LFS chroot environment, <command>pip3</command> cannot check 116 for a new version of itself, and will 117 produce a warning. </para> 118 119 <para>After we boot the LFS system and set up a network connection, 120 a different warning will be issued, telling the user to update <command>pip3</command> 121 from a pre-built wheel on PyPI (whenever a new version is available). But LFS 122 considers <command>pip3</command> to be a part of Python 3, so it should not be 123 updated separately. Also, an update from a pre-built wheel would deviate 124 from our objective: to build a Linux system from source code. So the 125 warning about a new version of <command>pip3</command> should be ignored as 126 well. If you wish, you can suppress all these warnings by running the following 127 command, which creates a configuration file:</para> 118 128 119 129 <screen><userinput remap="install">cat > /etc/pip.conf << EOF … … 131 141 <para> 132 142 In LFS and BLFS we normally build and install Python modules with the 133 <command>pip3</command> command. Please take care that the134 <command>pip3 install</command> commands in both the books should be135 run as the &root; user unless it's for a Python virtual environment.136 Running a<command>pip3 install</command> as a non-&root; user may seem137 to work fine, but it will cause the installed module to be inaccessible143 <command>pip3</command> command. Please be sure that the 144 <command>pip3 install</command> commands in both books are 145 run as the &root; user (unless it's for a Python virtual environment). 146 Running <command>pip3 install</command> as a non-&root; user may seem 147 to work, but it will cause the installed module to be inaccessible 138 148 by other users. 139 149 </para> … … 141 151 <para> 142 152 <command>pip3 install</command> will not reinstall an already installed 143 module by default. Forusing the <command>pip3 install</command>153 module automatically. When using the <command>pip3 install</command> 144 154 command to upgrade a module (for example, from meson-0.61.3 to 145 155 meson-0.62.0), insert the option <parameter>--upgrade</parameter> into 146 the command line. If it's really necessary to downgrade a module or156 the command line. If it's really necessary to downgrade a module, or 147 157 reinstall the same version for some reason, insert 148 158 <parameter>--force-reinstall --no-deps</parameter> into the command … … 168 178 <listitem> 169 179 <para>Ensure the installed files have the correct ownership and 170 permissions. Without these options, using<application>tar</application>180 permissions. Without these options, <application>tar</application> 171 181 will install the package files with the upstream creator's values. 172 182 </para> … … 227 237 is a wrapper script that opens a <application>Python</application> 228 238 aware GUI editor. For this script to run, you must have installed 229 <application>Tk</application> before Python so that the Tkinter230 Python module is built 239 <application>Tk</application> before Python, so that the Tkinter 240 Python module is built. 231 241 </para> 232 242 <indexterm zone="ch-system-Python"> … … 241 251 <para> 242 252 The package installer for Python. You can use pip to install 243 packages from Python Package Index and other indexes 253 packages from Python Package Index and other indexes. 244 254 </para> 245 255 <indexterm zone="ch-system-Python"> … … 265 275 <listitem> 266 276 <para> 267 is an interpreted, interactive, object-oriented programming268 language277 is the interpreter for Python, an interpreted, interactive, 278 object-oriented programming language 269 279 </para> 270 280 <indexterm zone="ch-system-Python"> -
chapter08/shadow.xml
r2ef64c4 r524c5e3 63 63 <emphasis>crypt</emphasis> method, use the more secure 64 64 <emphasis>SHA-512</emphasis> method of password encryption, which also 65 allows passwords longer than 8 characters. It is also necessary to change 65 allows passwords longer than 8 characters. In addition, set the number of 66 rounds to 500,000 instead of the default 5000, which is much too low to 67 prevent brute force password attacks. It is also necessary to change 66 68 the obsolete <filename class="directory">/var/spool/mail</filename> location 67 69 for user mailboxes that Shadow uses by default to the <filename … … 81 83 82 84 <screen><userinput remap="pre">sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \ 85 -e 's@#\(SHA_CRYPT_..._ROUNDS 5000\)@\100@' \ 83 86 -e 's:/var/spool/mail:/var/mail:' \ 84 87 -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \ … … 640 643 <term><filename class='libraryfile'>libsubid</filename></term> 641 644 <listitem> 642 <para>library for processing subordinate id ranges for users</para>645 <para>library to handle subordinate id ranges for users and groups</para> 643 646 <indexterm zone="ch-system-shadow libsubid"> 644 647 <primary sortas="c-libsubid">libsubid</primary> -
chapter08/tcl.xml
r2ef64c4 r524c5e3 4 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 5 5 %general-entities; 6 <!ENTITY tdbc-ver "1.1. 3">7 <!ENTITY itcl-ver "4.2. 2">6 <!ENTITY tdbc-ver "1.1.5"> 7 <!ENTITY itcl-ver "4.2.3"> 8 8 ]> 9 9 -
chapter08/wheel.xml
r2ef64c4 r524c5e3 41 41 <title>Installation of Wheel</title> 42 42 43 <para>Compile wheel with the following command:</para>43 <para>Compile Wheel with the following command:</para> 44 44 45 45 <screen><userinput remap="make">PYTHONPATH=src pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen> 46 46 47 <para>Install wheel with the following command:</para>47 <para>Install Wheel with the following command:</para> 48 48 49 49 <screen><userinput remap="install">pip3 install --no-index --find-links=dist wheel</userinput></screen> 50 50 51 51 <variablelist> 52 <title>The meaning of the pip3 co mmands:</title>52 <title>The meaning of the pip3 configuration options and commands:</title> 53 53 54 54 <varlistentry> 55 55 <term><envar>PYTHONPATH=src</envar></term> 56 56 <listitem> 57 <para>Allow usingthis package (not installed yet) to build a57 <para>Allows this package (not installed yet) to build a 58 58 wheel archive for itself, to avoid a chicken-or-egg problem.</para> 59 59 </listitem> … … 63 63 <term><command>wheel</command></term> 64 64 <listitem> 65 <para> Buildwheel archive for this package.</para>65 <para>This command builds the wheel archive for this package.</para> 66 66 </listitem> 67 67 </varlistentry> … … 70 70 <term><parameter>-w dist</parameter></term> 71 71 <listitem> 72 <para> Put the created wheelsinto the72 <para>Instructs pip to put the created wheel into the 73 73 <filename class='directory'>dist</filename> directory.</para> 74 74 </listitem> … … 78 78 <term><command>install</command></term> 79 79 <listitem> 80 <para> Installthe package.</para>80 <para>This command installs the package.</para> 81 81 </listitem> 82 82 </varlistentry> … … 87 87 <parameter>--no-index</parameter></term> 88 88 <listitem> 89 <para> Prevent pip fromfetching files from the online package89 <para>These options prevent fetching files from the online package 90 90 repository (PyPI). If packages are installed in the correct order, 91 then it won't need to fetch any files in the first place, butthese91 pip won't need to fetch any files in the first place; these 92 92 options add some safety in case of user error.</para> 93 93 </listitem> … … 97 97 <term><parameter>--find-links dist</parameter></term> 98 98 <listitem> 99 <para> Search wheel archives fromthe99 <para>Instructs pip to search for wheel archives in the 100 100 <filename class='directory'>dist</filename> directory.</para> 101 101 </listitem> … … 129 129 <listitem> 130 130 <para> 131 is a n utility to unpack, pack, or convert wheel packages131 is a utility to unpack, pack, or convert wheel archives 132 132 </para> 133 133 <indexterm zone="ch-system-wheel"> -
packages.ent
r2ef64c4 r524c5e3 208 208 <!ENTITY flex-fin-sbu "0.4 SBU"> 209 209 210 <!ENTITY gawk-version "5.2. 0">211 <!ENTITY gawk-size "3,3 07KB">210 <!ENTITY gawk-version "5.2.1"> 211 <!ENTITY gawk-size "3,332 KB"> 212 212 <!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz"> 213 <!ENTITY gawk-md5 " 2f724d925873fc82f5e7b1d605ba9a42">213 <!ENTITY gawk-md5 "02956bc5d117a7437bb4f7039f23b964"> 214 214 <!ENTITY gawk-home "&gnu-software;gawk/"> 215 215 <!ENTITY gawk-tmp-du "45 MB"> … … 320 320 <!ENTITY gzip-fin-sbu "0.3 SBU"> 321 321 322 <!ENTITY iana-etc-version "20221 025">323 <!ENTITY iana-etc-size "58 4KB">322 <!ENTITY iana-etc-version "20221122"> 323 <!ENTITY iana-etc-size "585 KB"> 324 324 <!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz"> 325 <!ENTITY iana-etc-md5 " feeb662fd7875d94767fd5aed5ae21d7">325 <!ENTITY iana-etc-md5 "2d4ea18372691d8c6ffd009a766e3380"> 326 326 <!ENTITY iana-etc-home "https://www.iana.org/protocols"> 327 327 <!ENTITY iana-etc-fin-du "4.8 MB"> … … 429 429 <!ENTITY linux-major-version "6"> 430 430 <!ENTITY linux-minor-version "0"> 431 <!ENTITY linux-patch-version " 9">431 <!ENTITY linux-patch-version "11"> 432 432 <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">--> 433 433 <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;"> 434 <!ENTITY linux-size "130,7 76KB">434 <!ENTITY linux-size "130,780 KB"> 435 435 <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz"> 436 <!ENTITY linux-md5 " 3de364bdbacd2115950cc3dd94157ab6">436 <!ENTITY linux-md5 "7a47796e842b77519613abbca6037c91"> 437 437 <!ENTITY linux-home "https://www.kernel.org/"> 438 438 <!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is … … 494 494 <!ENTITY markupsafe-fin-sbu "less than 0.1 SBU"> 495 495 496 <!ENTITY meson-version "0.64. 0">497 <!ENTITY meson-size "2,04 2KB">496 <!ENTITY meson-version "0.64.1"> 497 <!ENTITY meson-size "2,041 KB"> 498 498 <!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz"> 499 <!ENTITY meson-md5 " 63a3d83206e7e277fce4b90e8ad8003a">499 <!ENTITY meson-md5 "9f260adfcbc66ed2e15047c6eb98e503"> 500 500 <!ENTITY meson-home "https://mesonbuild.com"> 501 501 <!ENTITY meson-fin-du "38 MB"> … … 679 679 <!ENTITY tar-fin-sbu "1.7 SBU"> 680 680 681 <!ENTITY tcl-version "8.6.1 2">681 <!ENTITY tcl-version "8.6.13"> 682 682 <!ENTITY tcl-major-version "8.6"> 683 <!ENTITY tcl-size "10, 112KB">683 <!ENTITY tcl-size "10,581 KB"> 684 684 <!ENTITY tcl-url "https://downloads.sourceforge.net/tcl/tcl&tcl-version;-src.tar.gz"> 685 <!ENTITY tcl-md5 " 87ea890821d2221f2ab5157bc5eb885f">685 <!ENTITY tcl-md5 "0e4358aade2f5db8a8b6f2f6d9481ec2"> 686 686 <!ENTITY tcl-home "http://tcl.sourceforge.net/"> 687 687 <!ENTITY tcl-docs-url "https://downloads.sourceforge.net/tcl/tcl&tcl-version;-html.tar.gz"> 688 <!ENTITY tcl-docs-md5 " a0d1a5b60bbb68f2f0bd3066a19c527a">689 <!ENTITY tcl-docs-size "1,1 76KB">688 <!ENTITY tcl-docs-md5 "4452f2f6d557f5598cca17b786d6eb68"> 689 <!ENTITY tcl-docs-size "1,165 KB"> 690 690 <!ENTITY tcl-tmp-du "88 MB"> 691 691 <!ENTITY tcl-tmp-sbu "3.2 SBU"> 692 692 693 <!ENTITY texinfo-version "7.0 ">694 <!ENTITY texinfo-size "4,7 86 KB">693 <!ENTITY texinfo-version "7.0.1"> 694 <!ENTITY texinfo-size "4,776 KB"> 695 695 <!ENTITY texinfo-url "&gnu;texinfo/texinfo-&texinfo-version;.tar.xz"> 696 <!ENTITY texinfo-md5 " c9bda68c809e3afe67f1fbcd7c3d9fd3">696 <!ENTITY texinfo-md5 "545e6fdb23f5c7923c057187aa19f9f4"> 697 697 <!ENTITY texinfo-home "&gnu-software;texinfo/"> 698 698 <!ENTITY texinfo-tmp-du "113 MB"> … … 701 701 <!ENTITY texinfo-fin-sbu "0.6 SBU"> 702 702 703 <!ENTITY tzdata-version "2022 f">704 <!ENTITY tzdata-size "4 27KB">703 <!ENTITY tzdata-version "2022g"> 704 <!ENTITY tzdata-size "430 KB"> 705 705 <!ENTITY tzdata-url "https://www.iana.org/time-zones/repository/releases/tzdata&tzdata-version;.tar.gz"> 706 <!ENTITY tzdata-md5 " 7dbb997b73a0504b61a83a85988d7771">706 <!ENTITY tzdata-md5 "884250fd2a8a55f6322900ad4ab94d7b"> 707 707 <!ENTITY tzdata-home "https://www.iana.org/time-zones"> 708 708 … … 754 754 <!ENTITY xml-parser-fin-sbu "less than 0.1 SBU"> 755 755 756 <!ENTITY xz-version "5.2. 8">757 <!ENTITY xz-size "1,26 0KB">756 <!ENTITY xz-version "5.2.9"> 757 <!ENTITY xz-size "1,261 KB"> 758 758 <!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz"> 759 <!ENTITY xz-md5 " 7cfa6136d984083e7d4da12c8fb083ea">759 <!ENTITY xz-md5 "115d93141a38801983572f816c6dd68a"> 760 760 <!ENTITY xz-home "https://tukaani.org/xz"> 761 761 <!ENTITY xz-tmp-du "16 MB">
Note:
See TracChangeset
for help on using the changeset viewer.