Changeset 524c5e3


Ignore:
Timestamp:
12/09/2022 07:53:16 AM (17 months ago)
Author:
Xi Ruoyao <xry111@…>
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.
Message:

Merge remote-tracking branch 'origin/trunk' into xry111/clfs-ng

Files:
21 edited

Legend:

Unmodified
Added
Removed
  • chapter01/changelog.xml

    r2ef64c4 r524c5e3  
    4141    -->
    4242    <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>
    4391      <para>2022-11-22</para>
    4492      <itemizedlist>
  • chapter01/whatsnew.xml

    r2ef64c4 r524c5e3  
    248248      <para>Tar-&tar-version;</para>
    249249    </listitem>-->
    250     <!--<listitem>
     250    <listitem>
    251251      <para>Tcl-&tcl-version;</para>
    252     </listitem>-->
     252    </listitem>
    253253   <listitem>
    254254      <para>Texinfo-&texinfo-version;</para>
  • chapter04/creatingminlayout.xml

    r2ef64c4 r524c5e3  
    99  <?dbhtml filename="creatingminlayout.html"?>
    1010
    11   <title>Creating a limited directory layout in LFS filesystem</title>
     11  <title>Creating a Limited Directory Layout in the LFS Filesystem</title>
    1212
    1313  <para>In this section, we begin populating the LFS filesystem with the
     
    4343<screen><userinput>mkdir -pv $LFS/tools</userinput></screen>
    4444
     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
    4557</sect1>
  • chapter05/gcc-pass1.xml

    r2ef64c4 r524c5e3  
    164164
    165165      <varlistentry>
    166         <term><parameter>--disable-decimal-float, --disable-threads,
    167               --disable-libatomic, --disable-libgomp,
     166        <term><parameter>--disable-threads,
     167        --disable-libatomic, --disable-libgomp,
    168168        --disable-libquadmath, --disable-libssp, --disable-libvtv,
    169169        --disable-libstdcxx</parameter></term>
    170170        <listitem>
    171           <para>These switches disable support for the decimal floating point
    172           extension, threading, libatomic, libgomp, libquadmath, libssp,
     171          <para>These switches disable support for
     172          threading, libatomic, libgomp, libquadmath, libssp,
    173173          libvtv, and the C++ standard library respectively. These features
    174           will fail to compile when building a cross-compiler and are not
     174          may fail to compile when building a cross-compiler and are not
    175175          necessary for the task of cross-compiling the temporary libc.</para>
    176176        </listitem>
  • chapter07/creatingdirs.xml

    r2ef64c4 r524c5e3  
    6969    directories, if you wish.  </para>
    7070
     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
    7182  </sect2>
    7283
  • chapter08/bash.xml

    r2ef64c4 r524c5e3  
    2424    <title/>
    2525
    26     <para>The Bash package contains the Bourne-Again SHell.</para>
     26    <para>The Bash package contains the Bourne-Again Shell.</para>
    2727
    2828    <segmentedlist>
     
    7474<screen><userinput remap="test">chown -Rv tester .</userinput></screen>
    7575
    76     <para>The testsuite of the package is designed to be run as a non-&root;
    77     user that owns the terminal connected to standard input.  To satisfy the
     76    <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
    7878    requirement, spawn a new pseudo terminal using
    7979    <application>Expect</application> and run the tests as the <systemitem
  • chapter08/gawk.xml

    r2ef64c4 r524c5e3  
    4444
    4545<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>
    5046
    5147    <para>Prepare Gawk for compilation:</para>
  • chapter08/gcc.xml

    r2ef64c4 r524c5e3  
    8080             --with-system-zlib</userinput></screen>
    8181
    82     <para>Note that for other programming languages there are some prerequisites that
    83     are not yet available. See the
     82    <para>GCC supports seven different computer languages, but the
     83    prerequisites for most of them have not yet been installed. See the
    8484    <ulink url="&blfs-book;general/gcc.html">BLFS Book GCC page</ulink>
    8585    for instructions on how to build all of GCC's supported languages.</para>
     
    9191        <term><parameter>LD=ld</parameter></term>
    9292        <listitem>
    93           <para>This parameter makes the configure script use the ld installed
    94           by the binutils built earlier in this chapter, rather than
     93          <para>This parameter makes the configure script use the ld program installed
     94          by the Binutils package built earlier in this chapter, rather than
    9595          the cross-built version which would otherwise be used.</para>
    9696        </listitem>
     
    101101        <listitem>
    102102          <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>
    104104        </listitem>
    105105      </varlistentry>
     
    109109      <anchor id="pie-ssp-info" xreflabel="note on PIE and SSP"/>
    110110      <para>
    111         PIE (position-independent executable) is a technique to produce
     111        PIE (position-independent executables) are
    112112        binary programs that can be loaded anywhere in memory.  Without PIE,
    113113        the security feature named ASLR (Address Space Layout Randomization)
    114         can be applied for the shared libraries, but not the executable
    115         itself.  Enabling PIE allows ASLR for the executables in addition to
     114        can be applied for the shared libraries, but not for the executables
     115        themselves.  Enabling PIE allows ASLR for the executables in addition to
    116116        the shared libraries, and mitigates some attacks based on fixed
    117117        addresses of sensitive code or data in the executables.
     
    119119      <para>
    120120        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 allow transferring control to some dangerous code
     121        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
    124124        (existing in the program or shared libraries, or injected by the
    125         attacker somehow) instead of the original one.
     125        attacker somehow).
    126126      </para>
    127127    </note>
     
    133133    <important>
    134134      <para>In this section, the test suite for GCC is considered
    135       important, but it takes a long time. First time builders are
    136       encouraged to not skip it.  The time to run the tests can be
    137       reduced significantly by adding -jx to the make command below
    138       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>
    139139    </important>
    140140
     
    149149su tester -c "PATH=$PATH make -k check"</userinput></screen>
    150150
    151     <para>To receive a summary of the test suite results, run:</para>
     151    <para>To extract a summary of the test suite results, run:</para>
    152152
    153153<screen><userinput remap="test">../contrib/test_summary</userinput></screen>
    154154
    155     <para>For only the summaries, pipe the output through
     155    <para>To filter out only the summaries, pipe the output through
    156156    <userinput>grep -A7 Summ</userinput>.</para>
    157157
     
    160160    <ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para>
    161161
    162     <para>In gcc, eleven tests, in the i386 test suite are known to FAIL.
     162    <para>Eleven tests in the i386 test suite for the gcc compiler are known to FAIL.
    163163    It's because the test files do not account for the
    164164    <parameter>--enable-default-pie</parameter> option.</para>
    165165
    166     <para>In g++, four tests related to PR100400 are known to be reported
    167     as both XPASS and FAIL.  It's because the test file for this known issue
     166    <para>Four tests related to PR100400 may be reported
     167    as both XPASS and FAIL when testing the g++ compiler; the test file
    168168    is not well written.</para>
    169169
     
    187187
    188188    <para>The GCC build directory is owned by <systemitem class="username">
    189     tester</systemitem> now and the ownership of the installed header
    190     directory (and its content) will be incorrect.  Change the ownership to
     189    tester</systemitem> now, and the ownership of the installed header
     190    directory (and its content) is incorrect.  Change the ownership to the
    191191    <systemitem class="username">root</systemitem> user and group:</para>
    192192
     
    225225<screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
    226226
    227   <para>Now make sure that we're setup to use the correct start files:</para>
     227  <para>Now make sure that we're set up to use the correct start files:</para>
    228228
    229229<screen><userinput>grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log</userinput></screen>
     
    274274SEARCH_DIR("/usr/lib");</computeroutput></screen>
    275275
    276    <para>A 32-bit system may see a few different directories. For example, here
     276   <para>A 32-bit system may use a few other directories. For example, here
    277277   is the output from an i686 machine:</para>
    278278
     
    307307  steps to find out where the problem is and correct it. <!--The most likely
    308308  reason is that something went wrong with the specs file adjustment.--> Any
    309   issues will need to be resolved before continuing with the process.</para>
     309  issues should be resolved before continuing with the process.</para>
    310310
    311311  <para>Once everything is working correctly, clean up the test files:</para>
     
    374374        <listitem>
    375375          <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>
    377377          <indexterm zone="ch-system-gcc cpp">
    378378            <primary sortas="b-cpp">cpp</primary>
     
    407407          plugin to the command line. This program is only used
    408408          to add "link time optimization" and is not useful with the
    409           default build options</para>
     409          default build options.</para>
    410410          <indexterm zone="ch-system-gcc gcc-ar">
    411411            <primary sortas="b-gcc-ar">gc-ar</primary>
     
    420420          plugin to the command line. This program is only used
    421421          to add "link time optimization" and is not useful with the
    422           default build options</para>
     422          default build options.</para>
    423423          <indexterm zone="ch-system-gcc gcc-nm">
    424424            <primary sortas="b-gcc-nm">gc-nm</primary>
     
    433433          plugin to the command line. This program is only used
    434434          to add "link time optimization" and is not useful with the
    435           default build options</para>
     435          default build options.</para>
    436436          <indexterm zone="ch-system-gcc gcc-ranlib">
    437437            <primary sortas="b-gcc-ranlib">gc-ranlib</primary>
     
    444444        <listitem>
    445445          <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>
    447447          <indexterm zone="ch-system-gcc gcov">
    448448            <primary sortas="b-gcov">gcov</primary>
     
    525525        <term><filename class="libraryfile">libgcov</filename></term>
    526526        <listitem>
    527           <para>This library is linked in to a program when GCC is instructed
     527          <para>This library is linked into a program when GCC is instructed
    528528          to enable profiling</para>
    529529          <indexterm zone="ch-system-gcc libgcov">
     
    567567        <term><filename class="libraryfile">liblto_plugin</filename></term>
    568568        <listitem>
    569           <para>GCC's LTO plugin allows binutils to process object files
     569          <para>GCC's LTO plugin allows Binutils to process object files
    570570          produced by GCC with LTO enabled</para>
    571571          <indexterm zone="ch-system-gcc liblto_plugin">
     
    589589        <listitem>
    590590          <para>Contains routines supporting GCC's stack-smashing protection
    591           functionality.  Normally it's unused because glibc also provides
    592           those routines</para>
     591          functionality.  Normally it is not used, because Glibc also provides
     592          those routines.</para>
    593593          <indexterm zone="ch-system-gcc libssp">
    594594            <primary sortas="c-libssp">libssp</primary>
  • chapter08/gdbm.xml

    r2ef64c4 r524c5e3  
    2525
    2626    <para>The GDBM package contains the GNU Database Manager.  It is a library
    27     of database functions that use extensible hashing and works similar to the
     27    of database functions that uses extensible hashing and works like the
    2828    standard UNIX dbm.  The library provides primitives for storing key/data
    2929    pairs, searching and retrieving the data by its key and deleting a key
  • chapter08/gettext.xml

    r2ef64c4 r524c5e3  
    347347        <term><filename class="libraryfile">libasprintf</filename></term>
    348348        <listitem>
    349           <para>defines the <emphasis>autosprintf</emphasis> class, which makes
     349          <para>Defines the <emphasis>autosprintf</emphasis> class, which makes
    350350          C formatted output routines usable in C++ programs, for use with the
    351351          <emphasis>&lt;string&gt;</emphasis> strings and the
     
    360360        <term><filename class="libraryfile">libgettextlib</filename></term>
    361361        <listitem>
    362           <para>a private library containing common routines used by the
     362          <para>Contains common routines used by the
    363363          various Gettext programs; these are not intended for general use</para>
    364364          <indexterm zone="ch-system-gettext libgettextlib">
     
    386386        <term><filename class="libraryfile">libgettextsrc</filename></term>
    387387        <listitem>
    388           <para>A private library containing common routines used by the
     388          <para>Provides common routines used by the
    389389          various Gettext programs; these are not intended for general use</para>
    390390          <indexterm zone="ch-system-gettext libgettextsrc">
     
    407407        <term><filename class="libraryfile">preloadable_libintl</filename></term>
    408408        <listitem>
    409           <para>A library, intended to be used by LD_PRELOAD that assists
    410           <filename class="libraryfile">libintl</filename> in logging
     409          <para>A library, intended to be used by LD_PRELOAD, that helps
     410          <filename class="libraryfile">libintl</filename> log
    411411          untranslated messages</para>
    412412          <indexterm zone="ch-system-gettext preloadable_libintl">
  • chapter08/libelf.xml

    r2ef64c4 r524c5e3  
    4242    <title>Installation of Libelf</title>
    4343
    44       <para>Libelf is part of elfutils-&elfutils-version; package. Use
    45       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>
    4646
    4747    <para>Prepare Libelf for compilation:</para>
     
    6060
    6161    <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>
    6363
    6464    <para>Install only Libelf:</para>
  • chapter08/libffi.xml

    r2ef64c4 r524c5e3  
    2727    interface to various calling conventions. This allows a programmer to call
    2828    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>
    2934
    3035    <segmentedlist>
     
    4449
    4550    <note>
    46       <para>Similar to GMP, libffi builds with optimizations specific
     51      <para>Like GMP, Libffi builds with optimizations specific
    4752      to the processor in use. If building for another system, change the
    4853      value of the <parameter>--with-gcc-arch=</parameter> parameter in the
     
    5358    </note>
    5459
    55     <para>Prepare libffi for compilation:</para>
     60    <para>Prepare Libffi for compilation:</para>
    5661
    5762    <screen><userinput remap="configure">./configure --prefix=/usr          \
     
    6873          <para>Ensure GCC optimizes for the current system.  If this
    6974          is not specified, the system is guessed and the code generated
    70           may not be correct for some systems.  If the generated code
     75          may not be correct.  If the generated code
    7176          will be copied from the native system to a less capable
    7277          system, use the less capable system as a parameter. For details
     
    8186        <term><parameter>--disable-exec-static-tramp</parameter></term>
    8287        <listitem>
    83           <para>Disable static trampoline support.  It's a new security
    84           feature in libffi, but some BLFS packages (notably
     88          <para>Disable static trampoline support, a new security
     89          feature in Libffi. Some BLFS packages (notably
    8590          <application>GJS</application>) have not been adapted for it.</para>
    8691        </listitem>
     
    122127        <term><filename class="libraryfile">libffi</filename></term>
    123128        <listitem>
    124           <para>contains the foreign function interface API functions</para>
     129          <para>Contains the foreign function interface API functions</para>
    125130          <indexterm zone="ch-system-libffi">
    126131            <primary sortas="c-libffi">libffi</primary>
  • chapter08/libtool.xml

    r2ef64c4 r524c5e3  
    2525
    2626    <para>The Libtool package contains the GNU generic library support script.
    27     It wraps the complexity of using shared libraries in a consistent, portable
     27    It makes the use of shared libraries simpler with a consistent, portable
    2828    interface.</para>
    2929
     
    5555<screen><userinput remap="test">make -k check</userinput></screen>
    5656
    57     <note><para>The test time for libtool can be reduced significantly on a
     57    <note><para>The test time for Libtool can be reduced significantly on a
    5858    system with multiple cores.  To do this, append
    5959    <command>TESTSUITEFLAGS=-j&lt;N&gt;</command> to the line above.  For
     
    6363    <para>Five tests are known to fail in the LFS build environment due
    6464    to a circular dependency, but these tests pass if rechecked after
    65     automake is installed.  Additionally, with grep-3.8, two tests will
     65    automake has been installed.  Additionally, with grep-3.8, two tests will
    6666    trigger a warning for non-POSIX regular expressions and fail.</para>
    6767
     
    124124        <term><filename class="libraryfile">libltdl</filename></term>
    125125        <listitem>
    126           <para>Hides the various difficulties of dlopening libraries</para>
     126          <para>Hides the various difficulties of opening dynamically loaded libraries</para>
    127127          <indexterm zone="ch-system-libtool libltdl">
    128128            <primary sortas="c-libltdl">libltdl</primary>
  • chapter08/ninja.xml

    r2ef64c4 r524c5e3  
    3737
    3838    <tip revision="sysv">
    39       <para>This section is not strictly required for LFS if not using
    40       systemd. On the other hand, ninja associated to meson makes
     39      <para>This section is not strictly required when LFS does not use
     40      systemd. On the other hand, Ninja, along with Meson, makes
    4141      a powerful build system combination,
    42       which is expected to be used more and more often. It is required for
     42      which will probably be used more and more often. It is required for
    4343      several packages in <ulink url="&blfs-book;">the BLFS
    4444      book</ulink>.</para>
     
    5050    <title>Installation of Ninja</title>
    5151
    52     <para>When run, ninja normally runs a maximum number of processes
    53     in parallel.  By default this is the number of cores on the system
    54     plus two.  In some cases this can overheat a CPU or run a system out
    55     of memory.  If run from the command line, passing a -jN parameter
    56     will limit the number of parallel processes, but some packages
    57     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>
    5858
    5959    <para>Using the <emphasis>optional</emphasis> procedure below allows a user to
     
    6363    <screen>export NINJAJOBS=4</screen>
    6464
    65     will limit ninja to four parallel processes.</para>
     65    will limit <command>ninja</command> to four parallel processes.</para>
    6666
    67     <para>If desired, add the capability to use the environment variable
    68     NINJAJOBS by running:</para>
     67    <para>If desired, make <command>ninja</command> recognize the environment variable
     68    NINJAJOBS by running the stream editor:</para>
    6969
    7070<screen><userinput remap="pre">sed -i '/int Guess/a \
     
    8585        <term><parameter>--bootstrap</parameter></term>
    8686        <listitem>
    87           <para>This parameter forces ninja to rebuild itself for the current
     87          <para>This parameter forces Ninja to rebuild itself for the current
    8888          system.</para>
    8989        </listitem>
  • chapter08/openssl.xml

    r2ef64c4 r524c5e3  
    9090        is announced.  Since OpenSSL 3.0.0, the OpenSSL versioning scheme
    9191        follows the MAJOR.MINOR.PATCH format.  API/ABI compatibility
    92         are guaranteed for the same MAJOR version number.  Because LFS
     92        is guaranteed for the same MAJOR version number.  Because LFS
    9393        installs only the shared libraries, there is no need to recompile
    9494        packages which link to
    9595        <filename class="libraryfile">libcrypto.so</filename> or
    9696        <filename class="libraryfile">libssl.so</filename>
    97         <emphasis>when upgrading to a version with MAJOR version number
    98         unchanged</emphasis>.
     97        <emphasis>when upgrading to a version with the same MAJOR version
     98        number</emphasis>.
    9999      </para>
    100100
  • chapter08/perl.xml

    r2ef64c4 r524c5e3  
    4747<screen><userinput remap="pre">patch -Np1 -i ../&perl-fix-patch;</userinput></screen>
    4848-->
    49     <para>This version of Perl now builds the Compress::Raw::Zlib and
     49    <para>This version of Perl builds the Compress::Raw::Zlib and
    5050    Compress::Raw::BZip2 modules. By
    5151    default Perl will use an internal copy of the sources for the build.
     
    5858    <para>To have full control over the way Perl is set up, you can remove the
    5959    <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 to
     60    this package is built. Alternatively, use the command exactly as shown below to
    6161    use the defaults that Perl auto-detects:</para>
    6262
     
    8383        <listitem>
    8484          <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>
    8686        </listitem>
    8787      </varlistentry>
     
    100100        <listitem>
    101101          <para>Since Groff is not installed yet, <command>Configure</command>
    102           thinks that we do not want man pages for Perl.  Issuing these
    103           parameters overrides this decision.</para>
     102          will not create man pages for Perl.  These
     103          parameters override this behavior.</para>
    104104        </listitem>
    105105      </varlistentry>
     
    108108        <term><parameter>-Duseshrplib</parameter></term>
    109109        <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>
    111111        </listitem>
    112112      </varlistentry>
     
    115115        <term><parameter>-Dusethreads</parameter></term>
    116116        <listitem>
    117           <para>Build perl with support for threads.</para>
     117          <para>Build Perl with support for threads.</para>
    118118        </listitem>
    119119      </varlistentry>
     
    122122        <term><parameter>-Dprivlib,-Darchlib,-Dsitelib,...</parameter></term>
    123123        <listitem>
    124           <para>These settings define where Perl is looking for installed
     124          <para>These settings define where Perl looks for installed
    125125          modules. The LFS editors chose to put them in a directory structure
    126126          based on the Major.Minor version of Perl (&perl-version-min;) which
    127127          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>
    129129        </listitem>
    130130      </varlistentry>
     
    186186        <term><command>corelist</command></term>
    187187        <listitem>
    188           <para>A commandline frontend to Module::CoreList</para>
     188          <para>A command line front end to Module::CoreList</para>
    189189          <indexterm zone="ch-system-perl corelist">
    190190            <primary sortas="b-corelist">corelist</primary>
     
    251251        <term><command>instmodsh</command></term>
    252252        <listitem>
    253           <para>Shell script for examining installed Perl modules,
    254           and can 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>
    255255          <indexterm zone="ch-system-perl instmodsh">
    256256            <primary sortas="b-instmodsh">instmodsh</primary>
     
    285285          <para>Combines some of the best features of C, <command>sed</command>,
    286286          <command>awk</command> and <command>sh</command> into a single
    287           swiss-army language</para>
     287          Swiss Army language</para>
    288288          <indexterm zone="ch-system-perl perl">
    289289            <primary sortas="b-perl">perl</primary>
  • chapter08/python.xml

    r2ef64c4 r524c5e3  
    2626    <para>The Python 3 package contains the Python development environment. It
    2727    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>
    2930
    3031    <segmentedlist>
     
    5758      <term><parameter>--with-system-expat</parameter></term>
    5859      <listitem>
    59         <para>This switch enables linking against system version of
     60        <para>This switch enables linking against the system version of
    6061        <application>Expat</application>.</para>
    6162       </listitem>
     
    6566      <term><parameter>--with-system-ffi</parameter></term>
    6667      <listitem>
    67         <para>This switch enables linking against system version of
    68         <application>libffi</application>.</para>
     68        <para>This switch enables linking against the system version of
     69        <filename class='libraryfile'>libffi.so</filename>.</para>
    6970      </listitem>
    7071    </varlistentry>
     
    7374      <term><parameter>--enable-optimizations</parameter></term>
    7475      <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. -->
    7681      </listitem>
    7782    </varlistentry>
     
    8590    <para>Running the tests at this point is not recommended.  The
    8691    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 or
     92    If desired, the tests can be rerun at the end of this chapter, or
    8893    when Python 3 is reinstalled in BLFS.  To run the tests anyway,
    8994    issue <command>make test</command>.</para>
     
    9398<screen><userinput remap="install">make install</userinput></screen>
    9499
    95     <para>In several places we use the <command>pip3</command> command to
     100    <para>We use the <command>pip3</command> command to
    96101    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>
    118128
    119129<screen><userinput remap="install">cat &gt; /etc/pip.conf &lt;&lt; EOF
     
    131141      <para>
    132142        In LFS and BLFS we normally build and install Python modules with the
    133         <command>pip3</command> command.  Please take care that the
    134         <command>pip3 install</command> commands in both the books should be
    135         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 seem
    137         to work fine, but it will cause the installed module to be inaccessible
     143        <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
    138148        by other users.
    139149      </para>
     
    141151      <para>
    142152        <command>pip3 install</command> will not reinstall an already installed
    143         module by default.  For using the <command>pip3 install</command>
     153        module automatically.  When using the <command>pip3 install</command>
    144154        command to upgrade a module (for example, from meson-0.61.3 to
    145155        meson-0.62.0), insert the option <parameter>--upgrade</parameter> into
    146         the command line.  If it's really necessary to downgrade a module or
     156        the command line.  If it's really necessary to downgrade a module, or
    147157        reinstall the same version for some reason, insert
    148158        <parameter>--force-reinstall --no-deps</parameter> into the command
     
    168178      <listitem>
    169179        <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>
    171181        will install the package files with the upstream creator's values.
    172182        </para>
     
    227237            is a wrapper script that opens a <application>Python</application>
    228238            aware GUI editor. For this script to run, you must have installed
    229             <application>Tk</application> before Python so that the Tkinter
    230             Python module is built
     239            <application>Tk</application> before Python, so that the Tkinter
     240            Python module is built.
    231241          </para>
    232242          <indexterm zone="ch-system-Python">
     
    241251          <para>
    242252            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.
    244254          </para>
    245255          <indexterm zone="ch-system-Python">
     
    265275        <listitem>
    266276          <para>
    267             is an interpreted, interactive, object-oriented programming
    268             language
     277            is the interpreter for Python, an interpreted, interactive,
     278            object-oriented programming language
    269279          </para>
    270280          <indexterm zone="ch-system-Python">
  • chapter08/shadow.xml

    r2ef64c4 r524c5e3  
    6363    <emphasis>crypt</emphasis> method, use the more secure
    6464    <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
    6668    the obsolete <filename class="directory">/var/spool/mail</filename> location
    6769    for user mailboxes that Shadow uses by default to the <filename
     
    8183
    8284<screen><userinput remap="pre">sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \
     85    -e 's@#\(SHA_CRYPT_..._ROUNDS 5000\)@\100@'       \
    8386    -e 's:/var/spool/mail:/var/mail:'                 \
    8487    -e '/PATH=/{s@/sbin:@@;s@/bin:@@}'                \
     
    640643        <term><filename class='libraryfile'>libsubid</filename></term>
    641644        <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>
    643646          <indexterm zone="ch-system-shadow libsubid">
    644647            <primary sortas="c-libsubid">libsubid</primary>
  • chapter08/tcl.xml

    r2ef64c4 r524c5e3  
    44  <!ENTITY % general-entities SYSTEM "../general.ent">
    55  %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">
    88]>
    99
  • chapter08/wheel.xml

    r2ef64c4 r524c5e3  
    4141    <title>Installation of Wheel</title>
    4242
    43     <para>Compile wheel with the following command:</para>
     43    <para>Compile Wheel with the following command:</para>
    4444
    4545<screen><userinput remap="make">PYTHONPATH=src pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
    4646
    47     <para>Install wheel with the following command:</para>
     47    <para>Install Wheel with the following command:</para>
    4848
    4949<screen><userinput remap="install">pip3 install --no-index --find-links=dist wheel</userinput></screen>
    5050
    5151    <variablelist>
    52       <title>The meaning of the pip3 commands:</title>
     52      <title>The meaning of the pip3 configuration options and commands:</title>
    5353
    5454      <varlistentry>
    5555        <term><envar>PYTHONPATH=src</envar></term>
    5656        <listitem>
    57            <para>Allow using this package (not installed yet) to build a
     57           <para>Allows this package (not installed yet) to build a
    5858           wheel archive for itself, to avoid a chicken-or-egg problem.</para>
    5959        </listitem>
     
    6363        <term><command>wheel</command></term>
    6464        <listitem>
    65            <para>Build wheel archive for this package.</para>
     65           <para>This command builds the wheel archive for this package.</para>
    6666        </listitem>
    6767      </varlistentry>
     
    7070        <term><parameter>-w dist</parameter></term>
    7171        <listitem>
    72            <para>Put the created wheels into the
     72           <para>Instructs pip to put the created wheel into the
    7373           <filename class='directory'>dist</filename> directory.</para>
    7474        </listitem>
     
    7878        <term><command>install</command></term>
    7979        <listitem>
    80            <para>Install the package.</para>
     80           <para>This command installs the package.</para>
    8181        </listitem>
    8282      </varlistentry>
     
    8787              <parameter>--no-index</parameter></term>
    8888        <listitem>
    89           <para>Prevent pip from fetching files from the online package
     89          <para>These options prevent fetching files from the online package
    9090          repository (PyPI). If packages are installed in the correct order,
    91           then it won't need to fetch any files in the first place, but these
     91          pip won't need to fetch any files in the first place; these
    9292          options add some safety in case of user error.</para>
    9393        </listitem>
     
    9797        <term><parameter>--find-links dist</parameter></term>
    9898        <listitem>
    99            <para>Search wheel archives from the
     99           <para>Instructs pip to search for wheel archives in the
    100100           <filename class='directory'>dist</filename> directory.</para>
    101101        </listitem>
     
    129129        <listitem>
    130130          <para>
    131             is an utility to unpack, pack, or convert wheel packages
     131            is a utility to unpack, pack, or convert wheel archives
    132132          </para>
    133133          <indexterm zone="ch-system-wheel">
  • packages.ent

    r2ef64c4 r524c5e3  
    208208<!ENTITY flex-fin-sbu "0.4 SBU">
    209209
    210 <!ENTITY gawk-version "5.2.0">
    211 <!ENTITY gawk-size "3,307 KB">
     210<!ENTITY gawk-version "5.2.1">
     211<!ENTITY gawk-size "3,332 KB">
    212212<!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz">
    213 <!ENTITY gawk-md5 "2f724d925873fc82f5e7b1d605ba9a42">
     213<!ENTITY gawk-md5 "02956bc5d117a7437bb4f7039f23b964">
    214214<!ENTITY gawk-home "&gnu-software;gawk/">
    215215<!ENTITY gawk-tmp-du "45 MB">
     
    320320<!ENTITY gzip-fin-sbu "0.3 SBU">
    321321
    322 <!ENTITY iana-etc-version "20221025">
    323 <!ENTITY iana-etc-size "584 KB">
     322<!ENTITY iana-etc-version "20221122">
     323<!ENTITY iana-etc-size "585 KB">
    324324<!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">
    326326<!ENTITY iana-etc-home "https://www.iana.org/protocols">
    327327<!ENTITY iana-etc-fin-du "4.8 MB">
     
    429429<!ENTITY linux-major-version "6">
    430430<!ENTITY linux-minor-version "0">
    431 <!ENTITY linux-patch-version "9">
     431<!ENTITY linux-patch-version "11">
    432432<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
    433433<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
    434 <!ENTITY linux-size "130,776 KB">
     434<!ENTITY linux-size "130,780 KB">
    435435<!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">
    437437<!ENTITY linux-home "https://www.kernel.org/">
    438438<!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is
     
    494494<!ENTITY markupsafe-fin-sbu "less than 0.1 SBU">
    495495
    496 <!ENTITY meson-version "0.64.0">
    497 <!ENTITY meson-size "2,042 KB">
     496<!ENTITY meson-version "0.64.1">
     497<!ENTITY meson-size "2,041 KB">
    498498<!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">
    500500<!ENTITY meson-home "https://mesonbuild.com">
    501501<!ENTITY meson-fin-du "38 MB">
     
    679679<!ENTITY tar-fin-sbu "1.7 SBU">
    680680
    681 <!ENTITY tcl-version "8.6.12">
     681<!ENTITY tcl-version "8.6.13">
    682682<!ENTITY tcl-major-version "8.6">
    683 <!ENTITY tcl-size "10,112 KB">
     683<!ENTITY tcl-size "10,581 KB">
    684684<!ENTITY tcl-url "https://downloads.sourceforge.net/tcl/tcl&tcl-version;-src.tar.gz">
    685 <!ENTITY tcl-md5 "87ea890821d2221f2ab5157bc5eb885f">
     685<!ENTITY tcl-md5 "0e4358aade2f5db8a8b6f2f6d9481ec2">
    686686<!ENTITY tcl-home "http://tcl.sourceforge.net/">
    687687<!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,176 KB">
     688<!ENTITY tcl-docs-md5 "4452f2f6d557f5598cca17b786d6eb68">
     689<!ENTITY tcl-docs-size "1,165 KB">
    690690<!ENTITY tcl-tmp-du "88 MB">
    691691<!ENTITY tcl-tmp-sbu "3.2 SBU">
    692692
    693 <!ENTITY texinfo-version "7.0">
    694 <!ENTITY texinfo-size "4,786 KB">
     693<!ENTITY texinfo-version "7.0.1">
     694<!ENTITY texinfo-size "4,776 KB">
    695695<!ENTITY texinfo-url "&gnu;texinfo/texinfo-&texinfo-version;.tar.xz">
    696 <!ENTITY texinfo-md5 "c9bda68c809e3afe67f1fbcd7c3d9fd3">
     696<!ENTITY texinfo-md5 "545e6fdb23f5c7923c057187aa19f9f4">
    697697<!ENTITY texinfo-home "&gnu-software;texinfo/">
    698698<!ENTITY texinfo-tmp-du "113 MB">
     
    701701<!ENTITY texinfo-fin-sbu "0.6 SBU">
    702702
    703 <!ENTITY tzdata-version "2022f">
    704 <!ENTITY tzdata-size "427 KB">
     703<!ENTITY tzdata-version "2022g">
     704<!ENTITY tzdata-size "430 KB">
    705705<!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">
    707707<!ENTITY tzdata-home "https://www.iana.org/time-zones">
    708708
     
    754754<!ENTITY xml-parser-fin-sbu "less than 0.1 SBU">
    755755
    756 <!ENTITY xz-version "5.2.8">
    757 <!ENTITY xz-size "1,260 KB">
     756<!ENTITY xz-version "5.2.9">
     757<!ENTITY xz-size "1,261 KB">
    758758<!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz">
    759 <!ENTITY xz-md5 "7cfa6136d984083e7d4da12c8fb083ea">
     759<!ENTITY xz-md5 "115d93141a38801983572f816c6dd68a">
    760760<!ENTITY xz-home "https://tukaani.org/xz">
    761761<!ENTITY xz-tmp-du "16 MB">
Note: See TracChangeset for help on using the changeset viewer.