Changes in / [dfe9593:a747ea2]
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/changelog.xml
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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 … … 36 36 <screen><userinput>mkdir -pv $LFS/tools</userinput></screen> 37 37 38 <note> 39 <para> 40 The LFS editors have deliberately decided not to use a 41 <filename class="directory">/usr/lib64</filename> directory. Several 42 steps are taken to be sure the toolchain will not use it. If for any 43 reason this directory appears (either because you made an error in 44 following the instructions, or because you installed a binary package that 45 created it after finishing LFS), it may break your system. 46 You should always be sure this directory does not exist. 47 </para> 48 </note> 49 38 50 </sect1> -
chapter05/gcc-pass1.xml
rdfe9593 ra747ea2 161 161 162 162 <varlistentry> 163 <term><parameter>--disable- decimal-float, --disable-threads,164 163 <term><parameter>--disable-threads, 164 --disable-libatomic, --disable-libgomp, 165 165 --disable-libquadmath, --disable-libssp, --disable-libvtv, 166 166 --disable-libstdcxx</parameter></term> 167 167 <listitem> 168 <para>These switches disable support for the decimal floating point169 extension,threading, libatomic, libgomp, libquadmath, libssp,168 <para>These switches disable support for 169 threading, libatomic, libgomp, libquadmath, libssp, 170 170 libvtv, and the C++ standard library respectively. These features 171 willfail to compile when building a cross-compiler and are not171 may fail to compile when building a cross-compiler and are not 172 172 necessary for the task of cross-compiling the temporary libc.</para> 173 173 </listitem> -
chapter07/creatingdirs.xml
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 77 77 --with-system-zlib</userinput></screen> 78 78 79 <para> Note that for other programming languages there are some prerequisites that80 are not yet available. See the79 <para>GCC supports seven different computer languages, but the 80 prerequisites for most of them have not yet been installed. See the 81 81 <ulink url="&blfs-book;general/gcc.html">BLFS Book GCC page</ulink> 82 82 for instructions on how to build all of GCC's supported languages.</para> … … 88 88 <term><parameter>LD=ld</parameter></term> 89 89 <listitem> 90 <para>This parameter makes the configure script use the ld installed91 by the binutilsbuilt earlier in this chapter, rather than90 <para>This parameter makes the configure script use the ld program installed 91 by the Binutils package built earlier in this chapter, rather than 92 92 the cross-built version which would otherwise be used.</para> 93 93 </listitem> … … 98 98 <listitem> 99 99 <para>This switch tells GCC to link to the system installed copy of 100 the zlib library, rather than its own internal copy.</para>100 the Zlib library, rather than its own internal copy.</para> 101 101 </listitem> 102 102 </varlistentry> … … 106 106 <anchor id="pie-ssp-info" xreflabel="note on PIE and SSP"/> 107 107 <para> 108 PIE (position-independent executable ) is a technique to produce108 PIE (position-independent executables) are 109 109 binary programs that can be loaded anywhere in memory. Without PIE, 110 110 the security feature named ASLR (Address Space Layout Randomization) 111 can be applied for the shared libraries, but not the executable112 itself. Enabling PIE allows ASLR for the executables in addition to111 can be applied for the shared libraries, but not for the executables 112 themselves. Enabling PIE allows ASLR for the executables in addition to 113 113 the shared libraries, and mitigates some attacks based on fixed 114 114 addresses of sensitive code or data in the executables. … … 116 116 <para> 117 117 SSP (Stack Smashing Protection) is a technique to ensure 118 that the parameter stack is not corrupted. Stack corruption can 119 for example alter the return address of a subroutine,120 which would allowtransferring control to some dangerous code118 that the parameter stack is not corrupted. Stack corruption can, 119 for example, alter the return address of a subroutine, 120 thus transferring control to some dangerous code 121 121 (existing in the program or shared libraries, or injected by the 122 attacker somehow) instead of the original one.122 attacker somehow). 123 123 </para> 124 124 </note> … … 130 130 <important> 131 131 <para>In this section, the test suite for GCC is considered 132 important, but it takes a long time. First 133 encouraged to not skip it. The time to run the tests can be134 reduced significantly by adding -jx to the make command below135 where x is the number of cores on your system.</para>132 important, but it takes a long time. First-time builders are 133 encouraged to run the test suite. The time to run the tests can be 134 reduced significantly by adding -jx to the <command>make -k check</command> command below, 135 where x is the number of CPU cores on your system.</para> 136 136 </important> 137 137 … … 146 146 su tester -c "PATH=$PATH make -k check"</userinput></screen> 147 147 148 <para>To receivea summary of the test suite results, run:</para>148 <para>To extract a summary of the test suite results, run:</para> 149 149 150 150 <screen><userinput remap="test">../contrib/test_summary</userinput></screen> 151 151 152 <para> Foronly the summaries, pipe the output through152 <para>To filter out only the summaries, pipe the output through 153 153 <userinput>grep -A7 Summ</userinput>.</para> 154 154 … … 222 222 223 223 <para>The GCC build directory is owned by <systemitem class="username"> 224 tester</systemitem> now and the ownership of the installed header225 directory (and its content) will be incorrect. Change the ownership to224 tester</systemitem> now, and the ownership of the installed header 225 directory (and its content) is incorrect. Change the ownership to the 226 226 <systemitem class="username">root</systemitem> user and group:</para> 227 227 … … 260 260 <screen><computeroutput>[Requesting program interpreter: /lib/ld-linux-aarch64.so.1]</computeroutput></screen> 261 261 262 <para>Now make sure that we're set up to use the correct start files:</para>262 <para>Now make sure that we're set up to use the correct start files:</para> 263 263 264 264 <screen><userinput>grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log</userinput></screen> … … 309 309 SEARCH_DIR("/usr/lib");</computeroutput></screen> 310 310 311 <para>A 32-bit system may see a few differentdirectories. For example, here311 <para>A 32-bit system may use a few other directories. For example, here 312 312 is the output from an i686 machine:</para> 313 313 … … 342 342 steps to find out where the problem is and correct it. <!--The most likely 343 343 reason is that something went wrong with the specs file adjustment.--> Any 344 issues will need tobe resolved before continuing with the process.</para>344 issues should be resolved before continuing with the process.</para> 345 345 346 346 <para>Once everything is working correctly, clean up the test files:</para> … … 409 409 <listitem> 410 410 <para>The C preprocessor; it is used by the compiler to expand the 411 #include, #define, and similar statements in the source files</para>411 #include, #define, and similar directives in the source files</para> 412 412 <indexterm zone="ch-system-gcc cpp"> 413 413 <primary sortas="b-cpp">cpp</primary> … … 442 442 plugin to the command line. This program is only used 443 443 to add "link time optimization" and is not useful with the 444 default build options </para>444 default build options.</para> 445 445 <indexterm zone="ch-system-gcc gcc-ar"> 446 446 <primary sortas="b-gcc-ar">gc-ar</primary> … … 455 455 plugin to the command line. This program is only used 456 456 to add "link time optimization" and is not useful with the 457 default build options </para>457 default build options.</para> 458 458 <indexterm zone="ch-system-gcc gcc-nm"> 459 459 <primary sortas="b-gcc-nm">gc-nm</primary> … … 468 468 plugin to the command line. This program is only used 469 469 to add "link time optimization" and is not useful with the 470 default build options </para>470 default build options.</para> 471 471 <indexterm zone="ch-system-gcc gcc-ranlib"> 472 472 <primary sortas="b-gcc-ranlib">gc-ranlib</primary> … … 479 479 <listitem> 480 480 <para>A coverage testing tool; it is used to analyze programs to 481 determine where optimizations will have the most effect</para>481 determine where optimizations will have the greatest effect</para> 482 482 <indexterm zone="ch-system-gcc gcov"> 483 483 <primary sortas="b-gcov">gcov</primary> … … 560 560 <term><filename class="libraryfile">libgcov</filename></term> 561 561 <listitem> 562 <para>This library is linked in 562 <para>This library is linked into a program when GCC is instructed 563 563 to enable profiling</para> 564 564 <indexterm zone="ch-system-gcc libgcov"> … … 602 602 <term><filename class="libraryfile">liblto_plugin</filename></term> 603 603 <listitem> 604 <para>GCC's LTO plugin allows binutils to process object files604 <para>GCC's LTO plugin allows Binutils to process object files 605 605 produced by GCC with LTO enabled</para> 606 606 <indexterm zone="ch-system-gcc liblto_plugin"> … … 624 624 <listitem> 625 625 <para>Contains routines supporting GCC's stack-smashing protection 626 functionality. Normally it 's unused because glibc also provides627 those routines </para>626 functionality. Normally it is not used, because Glibc also provides 627 those routines.</para> 628 628 <indexterm zone="ch-system-gcc libssp"> 629 629 <primary sortas="c-libssp">libssp</primary> -
chapter08/gdbm.xml
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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 ARM64 .</para>62 fail on ARM64 systems.</para> 63 63 64 64 <para>Install only Libelf:</para> -
chapter08/libffi.xml
rdfe9593 ra747ea2 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> … … 125 130 <term><filename class="libraryfile">libffi</filename></term> 126 131 <listitem> 127 <para> contains the foreign function interface API functions</para>132 <para>Contains the foreign function interface API functions</para> 128 133 <indexterm zone="ch-system-libffi"> 129 134 <primary sortas="c-libffi">libffi</primary> -
chapter08/libtool.xml
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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
rdfe9593 ra747ea2 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"> … … 318 318 <!ENTITY gzip-fin-sbu "0.3 SBU"> 319 319 320 <!ENTITY iana-etc-version "20221 025">321 <!ENTITY iana-etc-size "58 4KB">320 <!ENTITY iana-etc-version "20221122"> 321 <!ENTITY iana-etc-size "585 KB"> 322 322 <!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz"> 323 <!ENTITY iana-etc-md5 " feeb662fd7875d94767fd5aed5ae21d7">323 <!ENTITY iana-etc-md5 "2d4ea18372691d8c6ffd009a766e3380"> 324 324 <!ENTITY iana-etc-home "https://www.iana.org/protocols"> 325 325 <!ENTITY iana-etc-fin-du "4.8 MB"> … … 425 425 <!ENTITY linux-major-version "6"> 426 426 <!ENTITY linux-minor-version "0"> 427 <!ENTITY linux-patch-version " 9">427 <!ENTITY linux-patch-version "11"> 428 428 <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">--> 429 429 <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;"> 430 <!ENTITY linux-size "130,7 76KB">430 <!ENTITY linux-size "130,780 KB"> 431 431 <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz"> 432 <!ENTITY linux-md5 " 3de364bdbacd2115950cc3dd94157ab6">432 <!ENTITY linux-md5 "7a47796e842b77519613abbca6037c91"> 433 433 <!ENTITY linux-home "https://www.kernel.org/"> 434 434 <!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is … … 488 488 <!ENTITY markupsafe-fin-sbu "less than 0.1 SBU"> 489 489 490 <!ENTITY meson-version "0.64. 0">491 <!ENTITY meson-size "2,04 2KB">490 <!ENTITY meson-version "0.64.1"> 491 <!ENTITY meson-size "2,041 KB"> 492 492 <!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz"> 493 <!ENTITY meson-md5 " 63a3d83206e7e277fce4b90e8ad8003a">493 <!ENTITY meson-md5 "9f260adfcbc66ed2e15047c6eb98e503"> 494 494 <!ENTITY meson-home "https://mesonbuild.com"> 495 495 <!ENTITY meson-fin-du "38 MB"> … … 673 673 <!ENTITY tar-fin-sbu "1.7 SBU"> 674 674 675 <!ENTITY tcl-version "8.6.1 2">675 <!ENTITY tcl-version "8.6.13"> 676 676 <!ENTITY tcl-major-version "8.6"> 677 <!ENTITY tcl-size "10, 112KB">677 <!ENTITY tcl-size "10,581 KB"> 678 678 <!ENTITY tcl-url "https://downloads.sourceforge.net/tcl/tcl&tcl-version;-src.tar.gz"> 679 <!ENTITY tcl-md5 " 87ea890821d2221f2ab5157bc5eb885f">679 <!ENTITY tcl-md5 "0e4358aade2f5db8a8b6f2f6d9481ec2"> 680 680 <!ENTITY tcl-home "http://tcl.sourceforge.net/"> 681 681 <!ENTITY tcl-docs-url "https://downloads.sourceforge.net/tcl/tcl&tcl-version;-html.tar.gz"> 682 <!ENTITY tcl-docs-md5 " a0d1a5b60bbb68f2f0bd3066a19c527a">683 <!ENTITY tcl-docs-size "1,1 76KB">682 <!ENTITY tcl-docs-md5 "4452f2f6d557f5598cca17b786d6eb68"> 683 <!ENTITY tcl-docs-size "1,165 KB"> 684 684 <!ENTITY tcl-tmp-du "88 MB"> 685 685 <!ENTITY tcl-tmp-sbu "3.2 SBU"> 686 686 687 <!ENTITY texinfo-version "7.0 ">688 <!ENTITY texinfo-size "4,7 86 KB">687 <!ENTITY texinfo-version "7.0.1"> 688 <!ENTITY texinfo-size "4,776 KB"> 689 689 <!ENTITY texinfo-url "&gnu;texinfo/texinfo-&texinfo-version;.tar.xz"> 690 <!ENTITY texinfo-md5 " c9bda68c809e3afe67f1fbcd7c3d9fd3">690 <!ENTITY texinfo-md5 "545e6fdb23f5c7923c057187aa19f9f4"> 691 691 <!ENTITY texinfo-home "&gnu-software;texinfo/"> 692 692 <!ENTITY texinfo-tmp-du "113 MB"> … … 695 695 <!ENTITY texinfo-fin-sbu "0.6 SBU"> 696 696 697 <!ENTITY tzdata-version "2022 f">698 <!ENTITY tzdata-size "4 27KB">697 <!ENTITY tzdata-version "2022g"> 698 <!ENTITY tzdata-size "430 KB"> 699 699 <!ENTITY tzdata-url "https://www.iana.org/time-zones/repository/releases/tzdata&tzdata-version;.tar.gz"> 700 <!ENTITY tzdata-md5 " 7dbb997b73a0504b61a83a85988d7771">700 <!ENTITY tzdata-md5 "884250fd2a8a55f6322900ad4ab94d7b"> 701 701 <!ENTITY tzdata-home "https://www.iana.org/time-zones"> 702 702 … … 745 745 <!ENTITY xml-parser-fin-sbu "less than 0.1 SBU"> 746 746 747 <!ENTITY xz-version "5.2. 8">748 <!ENTITY xz-size "1,26 0KB">747 <!ENTITY xz-version "5.2.9"> 748 <!ENTITY xz-size "1,261 KB"> 749 749 <!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz"> 750 <!ENTITY xz-md5 " 7cfa6136d984083e7d4da12c8fb083ea">750 <!ENTITY xz-md5 "115d93141a38801983572f816c6dd68a"> 751 751 <!ENTITY xz-home "https://tukaani.org/xz"> 752 752 <!ENTITY xz-tmp-du "16 MB">
Note:
See TracChangeset
for help on using the changeset viewer.