Changeset ed431efc


Ignore:
Timestamp:
09/19/2023 07:14:59 AM (8 months ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
xry111/loongarch, xry111/loongarch-12.1
Children:
07fda6fe
Parents:
706a5bb (diff), f510f26 (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/loongarch

Files:
46 edited

Legend:

Unmodified
Added
Removed
  • .gitignore

    r706a5bb red431efc  
    11lfs-bootscripts-*.tar.xz
     2lfs-*.tar.xz
    23conditional.ent
    34version.ent
  • Makefile

    r706a5bb red431efc  
    210210all: book nochunks pdf dump-commands
    211211
    212 .PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list version
    213 
     212dist:
     213        $(Q)DIST=/tmp/LFS-RELEASE ./git-version.sh $(REV)
     214        $(Q)rm -f lfs-$$(</tmp/LFS-RELEASE).tar.xz
     215        $(Q)tar cJf lfs-$$(</tmp/LFS-RELEASE).tar.xz \
     216                $(shell git ls-tree HEAD . --name-only) version.ent \
     217                -C /tmp LFS-RELEASE \
     218                --transform "s,^,lfs-$$(</tmp/LFS-RELEASE)/,"
     219        $(Q)echo "Generated XML tarball lfs-$$(</tmp/LFS-RELEASE).tar.xz"
     220
     221.PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list version dist
     222
  • appendices/dependencies.xml

    r706a5bb red431efc  
    287287        <seglistitem>
    288288          <seg>Bash, Binutils, Coreutils, Diffutils, File, Flex, Gawk, GCC,
    289           Glibc, Grep, Make, Perl, Sed, Texinfo, and Zlib</seg>
     289          Glibc, Grep, Make, Perl, Pkgconf, Sed, Texinfo, Zlib, and
     290          Zstd</seg>
    290291        </seglistitem>
    291292      </segmentedlist>
     
    294295        <segtitle>&runtime;</segtitle>
    295296        <seglistitem>
    296           <seg>Glibc and Zlib</seg>
     297          <seg>Glibc, Zlib, and Zstd</seg>
    297298        </seglistitem>
    298299      </segmentedlist>
     
    438439          <seg>
    439440            <ulink url='&github;/testing-cabal/subunit'>libsubunit</ulink>
     441            and
     442            <ulink url='http://cyberelk.net/tim/software/patchutils/'>
     443              patchutils</ulink>
    440444          </seg>
    441445        </seglistitem>
     
    25162520        <segtitle>&before;</segtitle>
    25172521        <seglistitem>
    2518           <seg><phrase revision='systemd'>D-Bus, </phrase>E2fsprogs,
     2522          <seg>Binutils,
     2523          <phrase revision='systemd'>D-Bus, </phrase>E2fsprogs,
    25192524          IProute2, Kmod, Man-DB, Procps-ng, Python,
    25202525          &systemd-udev;, and Util-linux</seg>
     
    25682573            <phrase revision='systemd'>None</phrase>
    25692574            <phrase revision='sysv'>
    2570               <ulink url='&blfs-book;general/elogind.xml'>elogind</ulink>
     2575              <ulink url='&blfs-book;general/elogind.html'>elogind</ulink>
    25712576            </phrase>
    25722577          </seg>
     
    33943399        <segtitle>&before;</segtitle>
    33953400        <seglistitem>
    3396           <seg>GCC, Libelf, and &systemd-udev;</seg>
     3401          <seg>Binutils, GCC, Libelf, and &systemd-udev;</seg>
    33973402        </seglistitem>
    33983403      </segmentedlist>
  • bootscripts/lfs/init.d/checkfs

    r706a5bb red431efc  
    102102      if [ "${error_value}" = 2 -o "${error_value}" = 3 ]; then
    103103         msg="\nWARNING:\n\nFile system errors "
    104          msg="${msg}were found and have been been "
     104         msg="${msg}were found and have been "
    105105         msg="${msg}corrected, but the nature of the "
    106106         msg="${msg}errors require this system to be rebooted.\n\n"
  • chapter01/changelog.xml

    r706a5bb red431efc  
    4242
    4343    <listitem>
     44      <para>2023-09-17</para>
     45      <itemizedlist>
     46        <listitem>
     47          <para>[xry111] - Update to linux-6.5.3.  Fixes
     48          <ulink url='&lfs-ticket-root;5343'>#5343</ulink>.</para>
     49        </listitem>
     50        <listitem>
     51          <para>[xry111] - Update to iana-etc-20230912.  Addresses
     52          <ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
     53        </listitem>
     54        <listitem>
     55          <para>[xry111] - Update to iproute2-6.5.0.  Fixes
     56          <ulink url='&lfs-ticket-root;5342'>#5342</ulink>.</para>
     57        </listitem>
     58      </itemizedlist>
     59    </listitem>
     60
     61    <listitem>
     62      <para>2023-09-13</para>
     63      <itemizedlist>
     64        <listitem>
     65          <para>[xry111] - Fix CVE-2023-4806 for Glibc-2.38.  Fixes
     66          <ulink url='&lfs-ticket-root;5347'>#5347</ulink>.</para>
     67        </listitem>
     68      </itemizedlist>
     69    </listitem>
     70
     71    <listitem>
     72      <para>2023-09-12</para>
     73      <itemizedlist>
     74        <listitem>
     75          <para>[xry111] - Fix CVE-2023-4527 for Glibc-2.38.  Fixes
     76          <ulink url='&lfs-ticket-root;5346'>#5346</ulink>.</para>
     77        </listitem>
     78      </itemizedlist>
     79    </listitem>
     80
     81    <listitem>
     82      <para>2023-09-07</para>
     83      <itemizedlist>
     84        <listitem>
     85          <para>[xry111] - Fix an issue in pkgconf-2.0.3 causing
     86          BLFS packages fail to build.  Fixes
     87          <ulink url='&lfs-ticket-root;5341'>#5341</ulink>.</para>
     88        </listitem>
     89      </itemizedlist>
     90    </listitem>
     91
     92    <listitem>
     93      <para>2023-09-05</para>
     94      <itemizedlist>
     95        <listitem>
     96           <para>[xry111] - Move pkgconf before binutils for binutils
     97           building system to detect zstd properly.  Fixes
     98           <ulink url='&lfs-ticket-root;5340'>#5340</ulink>.</para>
     99        </listitem>
     100        <listitem>
     101          <para>[xry111] - Update to linux-6.5.1.  Fixes
     102          <ulink url='&lfs-ticket-root;5332'>#5332</ulink>.</para>
     103        </listitem>
     104        <listitem>
     105          <para>[xry111] - Update to pkgconf-2.0.3.  Fixes
     106          <ulink url='&lfs-ticket-root;5339'>#5339</ulink>.</para>
     107        </listitem>
     108        <listitem>
     109          <para>[xry111] - Update to dbus-1.14.10.  Fixes
     110          <ulink url='&lfs-ticket-root;5337'>#5337</ulink>.</para>
     111        </listitem>
     112      </itemizedlist>
     113    </listitem>
     114
     115    <listitem>
     116      <para>2023-09-04</para>
     117      <itemizedlist>
     118        <listitem>
     119           <para>[bdubbs] - Move caution regarding building by mixing
     120           different version of LFS to General Compilation Instructions. Fixes
     121           <ulink url='&lfs-ticket-root;5338'>#5338</ulink>.</para>
     122        </listitem>
     123      </itemizedlist>
     124    </listitem>
     125
     126    <listitem>
     127      <para>2023-09-02</para>
     128      <itemizedlist>
     129        <listitem>
     130           <para>[xry111] - Add --no-cache-dir option for pip3 wheel
     131           commands.  Addresses
     132           <ulink url='&blfs-ticket-root;18466'>BLFS #18466</ulink>.</para>
     133        </listitem>
     134        <listitem>
     135           <para>[bdubbs] - Update to vim-9.0.1837. Addresses
     136           <ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
     137        </listitem>
     138        <listitem>
     139           <para>[bdubbs] - Update to zlib-1.3. Fixes
     140           <ulink url='&lfs-ticket-root;5324'>#5324</ulink>.</para>
     141        </listitem>
     142        <listitem>
     143           <para>[bdubbs] - Update to wheel-0.41.2 (Python Module). Fixes
     144           <ulink url='&lfs-ticket-root;5328'>#5328</ulink>.</para>
     145        </listitem>
     146        <listitem>
     147           <para>[bdubbs] - Update to util-linux-2.39.2. Fixes
     148           <ulink url='&lfs-ticket-root;5322'>#5322</ulink>.</para>
     149        </listitem>
     150        <listitem revision='sysv'>
     151           <para>[bdubbs] - Update to sysvinit-3.08. Fixes
     152           <ulink url='&lfs-ticket-root;5321'>#5321</ulink>.</para>
     153        </listitem>
     154        <listitem>
     155           <para>[bdubbs] - Update to shadow-4.14.0. Fixes
     156           <ulink url='&lfs-ticket-root;5319'>#5319</ulink>.</para>
     157        </listitem>
     158        <listitem>
     159           <para>[bdubbs] - Update to Python-3.11.5. Fixes
     160           <ulink url='&lfs-ticket-root;5330'>#5330</ulink>.</para>
     161        </listitem>
     162        <listitem>
     163           <para>[bdubbs] - Update to procps-ng-4.0.4. Fixes
     164           <ulink url='&lfs-ticket-root;5335'>#5335</ulink>.</para>
     165        </listitem>
     166        <listitem>
     167           <para>[bdubbs] - Update to pkgconf-2.0.2. Fixes
     168           <ulink url='&lfs-ticket-root;5323'>#5323</ulink>.</para>
     169        </listitem>
     170        <listitem>
     171           <para>[bdubbs] - Update to mpfr-4.2.1. Fixes
     172           <ulink url='&lfs-ticket-root;5326'>#5326</ulink>.</para>
     173        </listitem>
     174        <listitem>
     175           <para>[bdubbs] - Update to kbd-2.6.2. Fixes
     176           <ulink url='&lfs-ticket-root;5318'>#5318</ulink>.</para>
     177        </listitem>
     178        <listitem>
     179           <para>[bdubbs] - Update to gzip-1.13. Fixes
     180           <ulink url='&lfs-ticket-root;5325'>#5325</ulink>.</para>
     181        </listitem>
     182        <listitem>
     183           <para>[bdubbs] - Update to coreutils-9.4. Fixes
     184           <ulink url='&lfs-ticket-root;5334'>#5334</ulink>.</para>
     185        </listitem>
     186        <listitem revision='systemd'>
     187           <para>[bdubbs] - Specify the 'nobody-group' for systemd. Fixes
     188           <ulink url='&lfs-ticket-root;5333'>#5333</ulink>.</para>
     189        </listitem>
     190        <listitem>
     191           <para>[bdubbs] - Remove unused usb group. Fixes
     192           <ulink url='&lfs-ticket-root;5331'>#5331</ulink>.</para>
     193        </listitem>
     194      </itemizedlist>
     195    </listitem>
     196
     197    <listitem>
    44198      <para>2023-09-01</para>
    45199      <itemizedlist>
  • chapter01/whatsnew.xml

    r706a5bb red431efc  
    1212  <title>What's new since the last release</title>
    1313
    14 <!--
    15 
    16 This does not belong on this page.  I don't want to address this now.
    17 At first I thought it would go on another page, but nothing seems to fit.
    18 Perhaps a new page - somthing like 'Upgrading an Existing LFS System'.
    19   - Bruce 9/1/23
    20 
    21   <caution>
    22     <para>
    23       During a development cycle of LFS, the instructions in the book is
    24       often modified to adapt for a package update or take the advantage of
    25       new features from updated packages.  Mixing up the instructions of
    26       different versions of the LFS book can cause subtle breakages.  This
    27       kind of issue is generally a result from reusing some script created
    28       for a prior LFS release.  Such a reuse is strongly discouraged.  If
    29       you are reusing scripts for a prior LFS release for any reason, you'll
    30       need to be very careful to update the scripts to match current version
    31       of the LFS book.
    32     </para>
    33   </caution>
    34 
    35   <para>In the 12.0 release, <parameter>- -disable-fixincludes</parameter>
    36   is set for GCC.  It's a configure switch newly added in GCC 13.1 to
    37   prevent GCC from <quote>fixing</quote> the system headers.  Such a
    38   <quote>fix</quote> is unnecessary for a modern Linux system and may cause
    39   issues if a package is updated after installing GCC.</para>
    40 
    4114  <para>Here is a list of the packages updated since the previous
    4215  release of LFS.</para>
    43 -->
     16
    4417  <!--
    4518    Every package in the book is listed in the "Upgraded to:" section.
     
    6740    </listitem>-->
    6841    <!--<listitem>
    69       <para>Bash &bash-version;</para>
    70     </listitem>-->
    71     <!--<listitem>
    72       <para>Bc &bc-version;</para>
     42      <para>Bash-&bash-version;</para>
     43    </listitem>-->
     44    <!--<listitem>
     45      <para>Bc-&bc-version;</para>
    7346    </listitem>-->
    7447    <!--<listitem>
     
    8457      <para>Check-&check-version;</para>
    8558    </listitem>-->
    86     <!--<listitem>
     59    <listitem>
    8760      <para>Coreutils-&coreutils-version;</para>
    88     </listitem>-->
     61    </listitem>
    8962    <!--<listitem>
    9063      <para>DejaGNU-&dejagnu-version;</para>
    9164    </listitem>-->
     65    <listitem revision="systemd">
     66      <para>D-Bus-&dbus-version;</para>
     67    </listitem>
     68    <!--<listitem>
     69      <para>Diffutils-&diffutils-version;</para>
     70    </listitem>-->
     71    <!--<listitem>
     72       <para>E2fsprogs-&e2fsprogs-version;</para>
     73    </listitem>-->
     74    <!--<listitem>
     75       <para>Expat-&expat-version;</para>
     76    </listitem>-->
     77    <!--<listitem>
     78       <para>Expect-&expect-version;</para>
     79    </listitem>-->
     80    <!--<listitem>
     81       <para>File-&file-version;</para>
     82    </listitem>-->
     83    <!--<listitem>
     84      <para>Findutils-&findutils-version;</para>
     85    </listitem>-->
     86    <!--<listitem>
     87      <para>Flex-&flex-version;</para>
     88    </listitem>-->
     89    <!--<listitem>
     90      <para>Flit-core-&flit-core-version;</para>
     91    </listitem>-->
     92    <!--<listitem>
     93      <para>Gawk-&gawk-version;</para>
     94    </listitem>-->
     95    <!--<listitem>
     96       <para>GCC-&gcc-version;</para>
     97    </listitem>-->
     98    <!--<listitem>
     99       <para>GDBM-&gdbm-version;</para>
     100    </listitem>-->
     101    <!--<listitem>
     102      <para>Gettext-&gettext-version;</para>
     103    </listitem>-->
     104    <!--<listitem>
     105      <para>Glibc-&glibc-version;</para>
     106    </listitem>-->
     107    <!--<listitem>
     108      <para>GMP-&gmp-version;</para>
     109    </listitem>-->
     110    <!--<listitem>
     111      <para>Gperf-&gperf-version;</para>
     112    </listitem>-->
     113    <!--<listitem>
     114      <para>Grep-&grep-version;</para>
     115    </listitem>-->
     116    <!--<listitem>
     117      <para>Groff-&groff-version;</para>
     118    </listitem>-->
     119    <!--<listitem>
     120      <para>GRUB-&grub-version;</para>
     121    </listitem>-->
     122    <listitem>
     123      <para>Gzip-&gzip-version;</para>
     124    </listitem>
     125    <!--<listitem>
     126      <para>Iana-Etc-&iana-etc-version;</para>
     127    </listitem>-->
     128    <!--<listitem>
     129      <para>Inetutils-&inetutils-version;</para>
     130    </listitem>-->
     131    <!--<listitem>
     132      <para>Intltool-&intltool-version;</para>
     133    </listitem>-->
     134    <!--<listitem>
     135      <para>IPRoute2-&iproute2-version;</para>
     136    </listitem>-->
    92137    <!--<listitem revision="systemd">
    93       <para>D-Bus-&dbus-version;</para>
    94     </listitem>-->
    95     <!--<listitem>
    96       <para>Diffutils-&diffutils-version;</para>
    97     </listitem>-->
    98     <!--<listitem>
    99        <para>E2fsprogs-&e2fsprogs-version;</para>
     138      <para>Jinja2-&jinja2-version;</para>
     139    </listitem>-->
     140    <listitem>
     141      <para>Kbd-&kbd-version;</para>
     142    </listitem>
     143    <!--<listitem>
     144      <para>Kmod-&kmod-version;</para>
     145    </listitem>-->
     146    <!--<listitem>
     147      <para>Less-&less-version;</para>
     148    </listitem>-->
     149    <!--<listitem>
     150      <para>LFS-Bootscripts-&lfs-bootscripts-version;</para>
     151    </listitem>-->
     152    <!--<listitem>
     153      <para>Libcap-&libcap-version;</para>
     154    </listitem>-->
     155    <!--<listitem>
     156      <para>Libelf-&elfutils-version; (from elfutils)</para>
     157    </listitem>-->
     158    <!--<listitem>
     159      <para>Libffi-&libffi-version;</para>
     160    </listitem>-->
     161    <!--<listitem>
     162      <para>Libpipeline-&libpipeline-version;</para>
     163    </listitem>-->
     164    <!--<listitem>
     165      <para>Libtool-&libtool-version;</para>
     166    </listitem>-->
     167    <listitem>
     168      <para>Linux-&linux-version;</para>
     169    </listitem>
     170    <!--<listitem>
     171      <para>M4-&m4-version;</para>
     172    </listitem>-->
     173    <!--<listitem>
     174      <para>Make-&make-version;</para>
     175    </listitem>-->
     176    <!--<listitem>
     177      <para>Man-DB-&man-db-version;</para>
     178    </listitem>-->
     179    <!--<listitem>
     180      <para>Man-pages-&man-pages-version;</para>
     181    </listitem>-->
     182    <!--<listitem revision="systemd">
     183      <para>MarkupSafe-&markupsafe-version;</para>
     184    </listitem>-->
     185    <!--<listitem>
     186      <para>Meson-&meson-version;</para>
     187    </listitem>-->
     188    <!--<listitem>
     189      <para>MPC-&mpc-version;</para>
     190    </listitem>-->
     191    <listitem>
     192      <para>MPFR-&mpfr-version;</para>
     193    </listitem>
     194    <!--<listitem>
     195      <para>Ncurses-&ncurses-version;</para>
     196    </listitem>-->
     197    <!--<listitem>
     198      <para>Ninja-&ninja-version;</para>
     199    </listitem>-->
     200    <!--<listitem>
     201      <para>Openssl-&openssl-version;</para>
     202    </listitem>-->
     203    <!--<listitem>
     204      <para>Patch-&patch-version;</para>
     205    </listitem>-->
     206    <listitem>
     207      <para>Pkgconf-&pkgconf-version;</para>
     208    </listitem>
     209    <!--<listitem>
     210      <para>Perl-&perl-version;</para>
     211    </listitem>-->
     212    <listitem>
     213      <para>Procps-ng-&procps-ng-version;</para>
     214    </listitem>
     215    <!--<listitem>
     216      <para>Psmisc-&psmisc-version;</para>
     217    </listitem>-->
     218    <listitem>
     219      <para>Python-&python-version;</para>
     220    </listitem>
     221    <!--<listitem>
     222      <para>Readline-&readline-version;</para>
     223    </listitem>-->
     224    <!--<listitem>
     225      <para>Sed-&sed-version;</para>
     226    </listitem>-->
     227    <listitem>
     228      <para>Shadow-&shadow-version;</para>
     229    </listitem>
     230    <!--<listitem revision="sysv">
     231      <para>Sysklogd-&sysklogd-version;</para>
     232    </listitem>-->
     233    <!--<listitem>
     234      <para>Systemd-&systemd-version;</para>
     235    </listitem>-->
     236    <listitem revision="sysv">
     237      <para>SysVinit-&sysvinit-version;</para>
     238    </listitem>
     239    <!--<listitem>
     240      <para>Tar-&tar-version;</para>
     241    </listitem>-->
     242    <!--<listitem>
     243      <para>Tcl-&tcl-version;</para>
     244    </listitem>-->
     245    <!--<listitem>
     246      <para>Texinfo-&texinfo-version;</para>
     247    </listitem>-->
     248    <!--<listitem>
     249      <para>Tzdata-&tzdata-version;</para>
    100250    </listitem>-->
    101251    <!--<listitem revision="sysv">
    102252       <para>Udev-&systemd-version; (from systemd)</para>
    103253    </listitem>-->
    104     <!--<listitem>
    105        <para>Expat-&expat-version;</para>
    106     </listitem>-->
    107     <!--<listitem>
    108        <para>Expect-&expect-version;</para>
    109     </listitem>-->
    110     <!--<listitem>
    111        <para>File-&file-version;</para>
    112     </listitem>-->
    113     <!--<listitem>
    114       <para>Findutils-&findutils-version;</para>
    115     </listitem>-->
    116     <!--<listitem>
    117       <para>Flex-&flex-version;</para>
    118     </listitem>-->
    119     <!--<listitem>
    120       <para>Flit-core-&flit-core-version;</para>
    121     </listitem>-->
    122     <!--<listitem>
    123       <para>Gawk-&gawk-version;</para>
    124     </listitem>-->
    125     <!--<listitem>
    126        <para>GCC-&gcc-version;</para>
    127     </listitem>-->
    128     <!--<listitem>
    129        <para>GDBM-&gdbm-version;</para>
    130     </listitem>-->
    131     <!--<listitem>
    132       <para>Gettext-&gettext-version;</para>
    133     </listitem>-->
    134     <!--<listitem>
    135       <para>Glibc-&glibc-version;</para>
    136     </listitem>-->
    137     <!--<listitem>
    138       <para>GMP-&gmp-version;</para>
    139     </listitem>-->
    140     <!--<listitem>
    141       <para>Gperf-&gperf-version;</para>
    142     </listitem>-->
    143     <!--<listitem>
    144       <para>Grep-&grep-version;</para>
    145     </listitem>-->
    146     <!--<listitem>
    147       <para>Groff-&groff-version;</para>
    148     </listitem>-->
    149     <!--<listitem>
    150       <para>GRUB-&grub-version;</para>
    151     </listitem>-->
    152     <!--<listitem>
    153       <para>Gzip-&gzip-version;</para>
    154     </listitem>-->
    155     <!--<listitem>
    156       <para>IANA-Etc-&iana-etc-version;</para>
    157     </listitem>-->
    158     <!--<listitem>
    159       <para>Inetutils-&inetutils-version;</para>
    160     </listitem>-->
    161     <!--<listitem>
    162       <para>Intltool-&intltool-version;</para>
    163     </listitem>-->
    164     <!--<listitem>
    165       <para>IPRoute2-&iproute2-version;</para>
    166     </listitem>-->
    167     <!--<listitem revision="systemd">
    168       <para>Jinja2-&jinja2-version;</para>
    169     </listitem>-->
    170     <!--<listitem>
    171       <para>Kbd-&kbd-version;</para>
    172     </listitem>-->
    173     <!--<listitem>
    174       <para>Kmod-&kmod-version;</para>
    175     </listitem>-->
    176     <!--<listitem>
    177       <para>Less-&less-version;</para>
    178     </listitem>-->
    179     <!--<listitem>
    180       <para>LFS-Bootscripts-&lfs-bootscripts-version;</para>
    181     </listitem>-->
    182     <!--<listitem>
    183       <para>Libcap-&libcap-version;</para>
    184     </listitem>-->
    185     <!--<listitem>
    186       <para>Libelf-&elfutils-version; (from elfutils)</para>
    187     </listitem>-->
    188     <!--<listitem>
    189       <para>Libffi-&libffi-version;</para>
    190     </listitem>-->
    191     <!--<listitem>
    192       <para>Libpipeline-&libpipeline-version;</para>
    193     </listitem>-->
    194     <!--<listitem>
    195       <para>Libtool-&libtool-version;</para>
    196     </listitem>-->
    197     <!--<listitem>
    198       <para>Linux-&linux-version;</para>
    199     </listitem>-->
    200     <!--<listitem>
    201       <para>M4-&m4-version;</para>
    202     </listitem>-->
    203     <!--<listitem>
    204       <para>Make-&make-version;</para>
    205     </listitem>-->
    206     <!--<listitem>
    207       <para>Man-DB-&man-db-version;</para>
    208     </listitem>-->
    209     <!--<listitem>
    210       <para>Man-pages-&man-pages-version;</para>
    211     </listitem>-->
    212     <!--<listitem revision="systemd">
    213       <para>MarkupSafe-&markupsafe-version;</para>
    214     </listitem>-->
    215     <!--<listitem>
    216       <para>Meson-&meson-version;</para>
    217     </listitem>-->
    218     <!--<listitem>
    219       <para>MPC-&mpc-version;</para>
    220     </listitem>-->
    221     <!--<listitem>
    222       <para>MPFR-&mpfr-version;</para>
    223     </listitem>-->
    224     <!--<listitem>
    225       <para>Ncurses-&ncurses-version;</para>
    226     </listitem>-->
    227     <!--<listitem>
    228       <para>Ninja-&ninja-version;</para>
    229     </listitem>-->
    230     <!--<listitem>
    231       <para>Openssl-&openssl-version;</para>
    232     </listitem>-->
    233     <!--<listitem>
    234       <para>Patch-&patch-version;</para>
    235     </listitem>-->
    236     <!--<listitem>
    237       <para>Pkgconf-&pkgconf-version;</para>
    238     </listitem>-->
    239     <!--<listitem>
    240       <para>Perl-&perl-version;</para>
    241     </listitem>-->
    242     <!--<listitem>
    243       <para>Procps-ng-&procps-ng-version;</para>
    244     </listitem>-->
    245     <!--<listitem>
    246       <para>Psmisc-&psmisc-version;</para>
    247     </listitem>-->
    248     <!--<listitem>
    249       <para>Python-&python-version;</para>
    250     </listitem>-->
    251     <!--<listitem>
    252       <para>Readline-&readline-version;</para>
    253     </listitem>-->
    254     <!--<listitem>
    255       <para>Sed-&sed-version;</para>
    256     </listitem>-->
    257     <!--<listitem>
    258       <para>Shadow-&shadow-version;</para>
    259     </listitem>-->
    260     <!--<listitem revision="sysv">
    261       <para>Sysklogd-&sysklogd-version;</para>
    262     </listitem>-->
    263     <!--<listitem>
    264       <para>Systemd-&systemd-version;</para>
    265     </listitem>-->
    266     <!--<listitem revision="sysv">
    267       <para>SysVinit-&sysvinit-version;</para>
    268     </listitem>-->
    269     <!--<listitem>
    270       <para>Tar-&tar-version;</para>
    271     </listitem>-->
    272     <!--<listitem>
    273       <para>Tcl-&tcl-version;</para>
    274     </listitem>-->
    275     <!--<listitem>
    276       <para>Texinfo-&texinfo-version;</para>
    277     </listitem>-->
    278     <!--<listitem>
    279       <para>Tzdata-&tzdata-version;</para>
    280     </listitem>-->
    281     <!--<listitem>
    282       <para>Util-Linux-&util-linux-version;</para>
    283     </listitem>-->
    284     <!--<listitem>
     254    <listitem>
     255      <para>Util-linux-&util-linux-version;</para>
     256    </listitem>
     257    <listitem>
    285258      <para>Vim-&vim-version;</para>
    286     </listitem>-->
    287     <!--<listitem>
    288       <para>wheel-&wheel-version;</para>
    289     </listitem>-->
    290     <!--<listitem>
    291       <para>XML-Parser-&xml-parser-version;</para>
    292     </listitem>-->
    293     <!--<listitem>
    294       <para>XZ-Utils-&xz-version;</para>
    295     </listitem>-->
    296     <!--<listitem>
     259    </listitem>
     260    <listitem>
     261      <para>Wheel-&wheel-version;</para>
     262    </listitem>
     263    <!--<listitem>
     264      <para>XML::Parser-&xml-parser-version;</para>
     265    </listitem>-->
     266    <!--<listitem>
     267      <para>Xz-&xz-version;</para>
     268    </listitem>-->
     269    <listitem>
    297270      <para>Zlib-&zlib-version;</para>
    298     </listitem>-->
     271    </listitem>
    299272    <!--<listitem>
    300273      <para>Zstd-&zstd-version;</para>
     
    315288    <listitem><para></para></listitem>  <!-- satisfy build -->
    316289
    317     <!--<listitem>
    318       <para>&grub-upstream-fixes-patch;</para>
    319     </listitem>-->
    320 
    321     <!--<listitem>
    322       <para>&readline-fixes-patch;</para>
    323     </listitem>-->
    324 
    325     <!--<listitem revision="systemd">
    326       <para>&systemd-upstream-patch;</para>
    327     </listitem>-->
     290    <listitem>
     291      <para>&glibc-upstream-fixes-patch;</para>
     292    </listitem>
     293
    328294  </itemizedlist>
    329295
     
    331297    <title>Removed:</title>
    332298    <listitem><para></para></listitem>  <!-- satisfy build -->
    333 <!--
    334     <listitem revision='sysv'>
    335       <para>eudev-3.2.12</para>
    336     </listitem>
    337 
    338     <listitem>
    339       <para>Pkg-config-0.29.2</para>
    340     </listitem>
    341 
    342     <listitem revision='systemd'>
    343       <para>systemd-252-security_fix-1.patch</para>
    344     </listitem>
    345 -->
     299
     300    <listitem>
     301      <para>glibc-2.38-memalign_fix-1.patch</para>
     302    </listitem>
     303
    346304  </itemizedlist>
    347305
  • chapter02/hostreqs.xml

    r706a5bb red431efc  
    185185  the ability to compile programs, run the following commands:</para>
    186186
    187 <screen role="nodump"><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
     187<screen role="nodump"><?dbfo keep-together="auto"?><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
    188188<literal>#!/bin/bash
    189189# A script to list version numbers of critical development tools
  • chapter03/patches.xml

    r706a5bb red431efc  
    8787
    8888    <varlistentry>
    89       <term>Glibc Memalign Patch - <token>&glibc-memalign-patch-size;</token>:</term>
    90       <listitem>
    91         <para>Download: <ulink url="&patches-root;&glibc-memalign-patch;"/></para>
    92         <para>MD5 sum: <literal>&glibc-memalign-patch-md5;</literal></para>
     89      <term>Glibc Upstream Fixes Patch - <token>&glibc-upstream-fixes-patch-size;</token>:</term>
     90      <listitem>
     91        <para>Download: <ulink url="&patches-root;&glibc-upstream-fixes-patch;"/></para>
     92        <para>MD5 sum: <literal>&glibc-upstream-fixes-patch-md5;</literal></para>
    9393      </listitem>
    9494    </varlistentry>
  • chapter05/libstdc++.xml

    r706a5bb red431efc  
    125125    cross-compilation:</para>
    126126
    127 <screen><userinput remap="install">rm -v $LFS/usr/lib/lib{stdc++,stdc++fs,supc++}.la</userinput></screen>
     127<screen><userinput remap="install">rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la</userinput></screen>
    128128
    129129  </sect2>
  • chapter06/binutils-pass2.xml

    r706a5bb red431efc  
    4444    <title>Installation of Binutils</title>
    4545
    46     <!-- Don't remove this until Binutils upstream updates the libtool
    47          copy.  On some host distros the issue doesn't show up.  -->
    48     <para>Binutils ships an outdated copy of libtool in the tarball.  It lacks
    49     sysroot support, so the produced binaries will be mistakenly linked to
    50     libraries from the host distro.  Work around this issue:</para>
     46    <!-- Don't remove this until Binutils upstream resolves this issue.
     47         We can test by building Binutils on a complete system with
     48         zlib (libz.so) installed, passing enable-shared and
     49         without-system-zlib.  If the resulted libctf.so still links against
     50         libz.so (check with readelf -d) despite we are saying
     51         without-system-zlib, then the issue is still unresolved.  -->
     52    <para>Binutils building system relies on an shipped libtool copy to link against
     53    internal static libraries, but the libiberty and zlib copies shipped
     54    in the package do not use libtool.  This inconsistency may cause
     55    produced binaries mistakenly linked against libraries from the host
     56    distro.  Work around this issue:</para>
    5157
    5258<screen><userinput remap="pre">sed '6009s/$add_dir//' -i ltmain.sh</userinput></screen>
  • chapter06/coreutils.xml

    r706a5bb red431efc  
    4444    <title>Installation of Coreutils</title>
    4545
    46 <!--
    47 <screen><userinput remap="configure">export gl_cv_macro_MB_CUR_MAX_good=y</userinput></screen>
    48 -->
    4946    <para>Prepare Coreutils for compilation:</para>
    5047
     
    5350            --build=$(build-aux/config.guess) \
    5451            --enable-install-program=hostname \
    55             --enable-no-install-program=kill,uptime \
    56             gl_cv_macro_MB_CUR_MAX_good=y</userinput></screen>
     52            --enable-no-install-program=kill,uptime</userinput></screen>
    5753
    5854    <variablelist>
  • chapter07/createfiles.xml

    r706a5bb red431efc  
    108108video:x:12:
    109109utmp:x:13:
    110 usb:x:14:
    111110cdrom:x:15:
    112111adm:x:16:
     
    136135video:x:12:
    137136utmp:x:13:
    138 usb:x:14:
    139137cdrom:x:15:
    140138adm:x:16:
  • chapter07/kernfs.xml

    r706a5bb red431efc  
    110110  mkdir -pv $LFS/$(readlink $LFS/dev/shm)
    111111else
    112   mount -t tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm
     112  mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm
    113113fi</userinput></screen>
    114114
  • chapter07/perl.xml

    r706a5bb red431efc  
    5858
    5959    <variablelist>
    60       <title>The meaning of the new Configure options:</title>
     60      <title>The meaning of the Configure options:</title>
     61
    6162      <varlistentry>
    6263        <term><parameter>-des</parameter></term>
     
    6566          all items; -e ensures completion of all tasks; -s silences
    6667          non-essential output.</para>
     68        </listitem>
     69      </varlistentry>
     70
     71      <varlistentry>
     72        <term><parameter>-Dvendorprefix=/usr</parameter></term>
     73        <listitem>
     74          <para>This ensures <command>perl</command> knows how to
     75          tell packages where they should install their Perl modules.</para>
     76        </listitem>
     77      </varlistentry>
     78
     79      <varlistentry>
     80        <term><parameter>-Duseshrplib</parameter></term>
     81        <listitem>
     82          <para>Build <systemitem class='library'>libperl</systemitem>
     83          needed by some Perl modules as a shared library, instead of
     84          a static library.</para>
     85        </listitem>
     86      </varlistentry>
     87
     88      <varlistentry>
     89        <term><parameter>-Dprivlib,-Darchlib,-Dsitelib,...</parameter></term>
     90        <listitem>
     91          <para>These settings define where Perl looks for installed
     92          modules. The LFS editors chose to put them in a directory structure
     93          based on the MAJOR.MINOR version of Perl (&perl-version-min;) which
     94          allows upgrading Perl to newer patch levels (the patch level is
     95          the last dot separated part in the full version string like
     96          &perl-version;) without reinstalling all of the modules.</para>
    6797        </listitem>
    6898      </varlistentry>
  • chapter08/autoconf.xml

    r706a5bb red431efc  
    154154          software package; it examines the source files in a directory tree,
    155155          searching them for common portability issues, and creates a
    156           <filename>configure.scan</filename> file that serves as as a
     156          <filename>configure.scan</filename> file that serves as a
    157157          preliminary <filename>configure.in</filename> file for the
    158158          package</para>
  • chapter08/chapter08.xml

    r706a5bb red431efc  
    3030  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/>
    3131  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dejagnu.xml"/>
     32  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgconf.xml"/>
    3233  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="binutils.xml"/>
    3334  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gmp.xml"/>
     
    4041  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="shadow.xml"/>
    4142  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc.xml"/>
    42   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgconf.xml"/>
    4343  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/>
    4444  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sed.xml"/>
  • chapter08/flit-core.xml

    r706a5bb red431efc  
    4343    <para>Build the package:</para>
    4444
    45 <screen><userinput remap="install">pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
     45<screen><userinput remap="install">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
    4646
    4747    <para>Install the package:</para>
     
    6464           <para>Instructs pip to put the created wheel into the
    6565           <filename class='directory'>dist</filename> directory.</para>
     66        </listitem>
     67      </varlistentry>
     68
     69      <varlistentry>
     70        <term><parameter>--no-cache-dir</parameter></term>
     71        <listitem>
     72          <para>Prevents pip from copying the created wheel into the
     73          <filename class='directory'>/root/.cache/pip</filename>
     74          directory.</para>
    6675        </listitem>
    6776      </varlistentry>
  • chapter08/glibc.xml

    r706a5bb red431efc  
    5151<screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen>
    5252
    53     <para>Now fix a regression causing the posix_memalign() function
    54     to be very slow in some conditions:</para>
    55 
    56 <screen><userinput remap="pre">patch -Np1 -i ../&glibc-memalign-patch;</userinput></screen>
     53    <para>Now fix two security vulnerabilities and a regression causing the
     54    posix_memalign() function very slow in some conditions:</para>
     55
     56<screen><userinput remap="pre">patch -Np1 -i ../&glibc-upstream-fixes-patch;</userinput></screen>
    5757
    5858    <para>The Glibc documentation recommends building Glibc
     
    321321    following:</para>
    322322
    323 <screen><userinput>cat &gt; /etc/nsswitch.conf &lt;&lt; "EOF"
     323<screen revision='sysv'><userinput>cat &gt; /etc/nsswitch.conf &lt;&lt; "EOF"
    324324<literal># Begin /etc/nsswitch.conf
    325325
     
    329329
    330330hosts: files dns
     331networks: files
     332
     333protocols: files
     334services: files
     335ethers: files
     336rpc: files
     337
     338# End /etc/nsswitch.conf</literal>
     339EOF</userinput></screen>
     340
     341<screen revision='systemd'><userinput>cat &gt; /etc/nsswitch.conf &lt;&lt; "EOF"
     342<literal># Begin /etc/nsswitch.conf
     343
     344passwd: files systemd
     345group: files systemd
     346shadow: files systemd
     347
     348hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
    331349networks: files
    332350
  • chapter08/gmp.xml

    r706a5bb red431efc  
    129129
    130130    <segmentedlist>
    131       <segtitle>Installed Libraries</segtitle>
     131      <segtitle>Installed libraries</segtitle>
    132132      <segtitle>Installed directory</segtitle>
    133133
  • chapter08/jinja2.xml

    r706a5bb red431efc  
    4343    <para>Build the package:</para>
    4444
    45 <screen><userinput remap="install">pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
     45<screen><userinput remap="install">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
    4646
    4747    <para>Install the package:</para>
  • chapter08/libelf.xml

    r706a5bb red431efc  
    7676
    7777    <segmentedlist>
    78       <segtitle>Installed Library</segtitle>
    79       <segtitle>Installed Directory</segtitle>
     78      <segtitle>Installed library</segtitle>
     79      <segtitle>Installed directory</segtitle>
    8080
    8181      <seglistitem>
  • chapter08/markupsafe.xml

    r706a5bb red431efc  
    4343    <para>Compile MarkupSafe with the following command:</para>
    4444
    45 <screen><userinput remap="make">pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
     45<screen><userinput remap="make">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
    4646
    4747    <para>This package does not come with a test suite.</para>
  • chapter08/meson.xml

    r706a5bb red431efc  
    4747    <para>Compile Meson with the following command:</para>
    4848
    49 <screen><userinput remap="make">pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
     49<screen><userinput remap="make">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
    5050
    5151    <para>The test suite requires some packages outside the scope of LFS.</para>
  • chapter08/mpc.xml

    r706a5bb red431efc  
    7070
    7171    <segmentedlist>
    72       <segtitle>Installed Libraries</segtitle>
    73       <segtitle>Installed Directory</segtitle>
     72      <segtitle>Installed libraries</segtitle>
     73      <segtitle>Installed directory</segtitle>
    7474
    7575      <seglistitem>
  • chapter08/mpfr.xml

    r706a5bb red431efc  
    4242    <title>Installation of MPFR</title>
    4343
    44     <!-- https://sympa.inria.fr/sympa/arc/mpfr/2023-01/msg00002.html
    45          https://gitlab.inria.fr/mpfr/mpfr/-/commit/5172494c
    46 
    47          Note that it's a different issue from Glibc #30068 we've fixed in
    48          chapter08/glibc.xml with a sed.  Normally we just document the
    49          test failure, but in this case the particular subtest also serves
    50          as an additional guard against Glibc #30068.  So we apply the
    51          upstream fix here.   -->
    52     <para>Fix a test case based on a bug of old Glibc releases:</para>
    53 
    54 <screen><userinput remap="pre">sed -e 's/+01,234,567/+1,234,567 /' \
    55     -e 's/13.10Pd/13Pd/'            \
    56     -i tests/tsprintf.c</userinput></screen>
    57 
    5844    <para>Prepare MPFR for compilation:</para>
    5945
     
    7359    </important>
    7460
    75     <para>Test the results and ensure that all 197 tests passed:</para>
     61    <para>Test the results and ensure that all 198 tests passed:</para>
    7662
    7763<screen><userinput remap="test">make check</userinput></screen>
     
    8975
    9076    <segmentedlist>
    91       <segtitle>Installed Libraries</segtitle>
     77      <segtitle>Installed libraries</segtitle>
    9278      <segtitle>Installed directory</segtitle>
    9379
  • chapter08/openssl.xml

    r706a5bb red431efc  
    101101        <emphasis>when upgrading to a version with the same MAJOR version
    102102        number</emphasis>.
    103       </para>
    104 
    105       <!-- https://bugzilla.mindrot.org/show_bug.cgi?id=3548 -->
    106       <para>
    107         If <application>OpenSSH</application> is installed, it will be an
    108         exception of the general rule above.  It contains an
    109         over-restrictive OpenSSL version check, so both SSH client and SSH
    110         server will refuse to start if OpenSSL
    111         is updated with MAJOR version number unchanged but MINOR version
    112         number changed.  You need to rebuild
    113         <application>OpenSSH</application> after such an upgrade.
    114         <emphasis role='bold'>If <application>OpenSSH</application> is being
    115         used to access the system, you must rebuild and reinstall it
    116         after upgrading OpenSSL to a new MINOR version number before logout
    117         or you won't be able to login via SSH anymore.</emphasis>
    118103      </para>
    119104
  • chapter08/perl.xml

    r706a5bb red431efc  
    7777
    7878    <variablelist>
    79       <title>The meaning of the configure options:</title>
    80 
    81       <varlistentry>
    82         <term><parameter>-Dvendorprefix=/usr</parameter></term>
    83         <listitem>
    84           <para>This ensures <command>perl</command> knows how to
    85           tell packages where they should install their Perl modules.</para>
    86         </listitem>
    87       </varlistentry>
     79      <title>The meaning of the new Configure options:</title>
    8880
    8981      <varlistentry>
     
    10698
    10799      <varlistentry>
    108         <term><parameter>-Duseshrplib</parameter></term>
    109         <listitem>
    110           <para>Build a shared libperl needed by some Perl modules.</para>
    111         </listitem>
    112       </varlistentry>
    113 
    114       <varlistentry>
    115100        <term><parameter>-Dusethreads</parameter></term>
    116101        <listitem>
    117102          <para>Build Perl with support for threads.</para>
    118         </listitem>
    119       </varlistentry>
    120 
    121       <varlistentry>
    122         <term><parameter>-Dprivlib,-Darchlib,-Dsitelib,...</parameter></term>
    123         <listitem>
    124           <para>These settings define where Perl looks for installed
    125           modules. The LFS editors chose to put them in a directory structure
    126           based on the MAJOR.MINOR version of Perl (&perl-version-min;) which
    127           allows upgrading Perl to newer patch levels (the patch level is
    128           the last dot separated part in the full version string like
    129           &perl-version;) without reinstalling all of the modules.</para>
    130103        </listitem>
    131104      </varlistentry>
  • chapter08/pkgconf.xml

    r706a5bb red431efc  
    4444
    4545    <title>Installation of Pkgconf</title>
    46 <!--
    47     <para>Pkgconf-2.0.0 explicitly errors when attempting to run
    48     <option>- -modversion</option> with multiple arguments, even if these
    49     arguments are constraints for the same package.  This breaks many
    50     packages in BLFS. Run this sed to reinstate the old
    51     output for pkgconf:</para>
    5246
    53      <screen><userinput remap="pre">sed -i '1330,1336s|^|//|' cli/main.c</userinput></screen>
    54 -->
     47    <!-- https://github.com/pkgconf/pkgconf/issues/317 -->
     48    <para>Fix a regression in pkgconf-2.0.3 breaking BLFS packages:</para>
     49
     50    <screen><userinput remap="pre">sed -i 's/str\(cmp.*package\)/strn\1, strlen(pkg-&gt;why)/' cli/main.c</userinput></screen>
     51
    5552    <para>Prepare Pkgconf for compilation:</para>
    5653
  • chapter08/procps.xml

    r706a5bb red431efc  
    6868    <para>Compile the package:</para>
    6969
    70 <screen><userinput remap="make">make</userinput></screen>
    71 <!--
    72     <para>The test suite needs some custom modifications for LFS.
    73     Remove a test that fails when scripting does not use a tty device and
    74     fix two others.
    75     To run the test suite, run the following commands:</para>
    76 
    77 <screen><userinput remap="test">sed -i -r 's|(pmap_initname)\\\$|\1|' testsuite/pmap.test/pmap.exp
    78 sed -i '/set tty/d' testsuite/pkill.test/pkill.exp
    79 rm testsuite/pgrep.test/pgrep.exp
    80 make check</userinput></screen>
    81 -->
     70<screen revision='sysv'><userinput remap="make">make</userinput></screen>
     71<screen revision='systemd'><userinput remap="make">make src_w_LDADD='$(LDADD) -lsystemd'</userinput></screen>
     72
    8273    <para> To run the test suite, run:</para>
    8374
  • chapter08/python.xml

    r706a5bb red431efc  
    192192
    193193    <segmentedlist>
    194       <segtitle>Installed Programs</segtitle>
    195       <segtitle>Installed Library</segtitle>
    196       <segtitle>Installed Directories</segtitle>
     194      <segtitle>Installed programs</segtitle>
     195      <segtitle>Installed library</segtitle>
     196      <segtitle>Installed directories</segtitle>
    197197
    198198      <seglistitem>
  • chapter08/shadow.xml

    r706a5bb red431efc  
    108108            --disable-static    \
    109109            --with-{b,yes}crypt \
     110            --without-libbsd    \
    110111            --with-group-name-max-length=32</userinput></screen>
    111112
     
    142143          <para>The longest permissible user name is 32 characters.  Make the maximum
    143144          length of a group name the same.</para>
     145        </listitem>
     146      </varlistentry>
     147
     148      <varlistentry>
     149        <term><parameter>--without-libbsd</parameter></term>
     150        <listitem>
     151           <para>Do not use the readpassphrase function from libbsd which
     152           is not in LFS.  Use the internal copy instead.</para>
    144153        </listitem>
    145154      </varlistentry>
  • chapter08/stripping.xml

    r706a5bb red431efc  
    3030  dynamically linked binaries and shared libraries).</para>
    3131
    32   <para>The debugging symbols from selected libraries are preserved
    33   in separate files.  That debugging information is needed to run
    34   regression tests with <ulink
     32  <!-- TODO: Zstd is better than Zlib for both speed and size.
     33             Unfortunately Valgrind does not support Zstd-compressed debug
     34             info yet: https://bugs.kde.org/show_bug.cgi?id=469782 -->
     35  <para>The debugging symbols from selected libraries are compressed with
     36  <application>Zlib</application> and preserved in separate files.  That
     37  debugging information is needed to run regression tests with <ulink
    3538  url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink
    3639  url='&blfs-book;/general/gdb.html'>gdb</ulink> later, in BLFS.
     
    7982
    8083for LIB in $save_usrlib; do
    81     objcopy --only-keep-debug $LIB $LIB.dbg
     84    objcopy --only-keep-debug --compress-debug-sections=zlib $LIB $LIB.dbg
    8285    cp $LIB /tmp/$LIB
    8386    strip --strip-unneeded /tmp/$LIB
     
    9598               libreadline.so.&readline-soversion;
    9699               libz.so.&zlib-version;
     100               libzstd.so.&zstd-version;
    97101               $(cd /usr/lib; find libnss*.so* -type f)"
    98102
  • chapter08/systemd.xml

    r706a5bb red431efc  
    7070      -Dpamconfdir=no               \
    7171      -Ddev-kvm-mode=0660           \
     72      -Dnobody-group=nogroup        \
    7273      -Ddocdir=/usr/share/doc/systemd-&systemd-version; \
    7374      ..</userinput></screen>
     
    178179          <filename class='devicefile'>/dev/kvm</filename>.  The editors
    179180          consider it dangerous.  This option overrides it.</para>
     181        </listitem>
     182      </varlistentry>
     183
     184      <varlistentry>
     185        <term><parameter>-Dnobody-group=nogroup</parameter></term>
     186        <listitem>
     187          <para>Tell the package the group name with GID 65534 is
     188          <systemitem class='groupname'>nogroup</systemitem>.</para>
    180189        </listitem>
    181190      </varlistentry>
  • chapter08/util-linux.xml

    r706a5bb red431efc  
    4343    <title>Installation of Util-linux</title>
    4444
    45     <para>First, disable a problem test:</para>
     45    <para>First, disable a problematic test:</para>
    4646
    4747    <screen><userinput remap="pre">sed -i '/test_mkfds/s/^/#/' tests/helpers/Makemodule.am</userinput></screen>
     
    12251225          unique among all UUIDs created, on the local system and on other
    12261226          systems, in the past and in the future, with extremely high
    1227           probability (~340 trillion trillion trillion unique UUIDs are possible)</para>
     1227          probability (2<superscript>128</superscript> UUIDs are
     1228          possible)</para>
    12281229          <indexterm zone="ch-system-util-linux uuidgen">
    12291230            <primary sortas="b-uuidgen">uuidgen</primary>
  • chapter08/wheel.xml

    r706a5bb red431efc  
    4343    <para>Compile Wheel with the following command:</para>
    4444
    45 <screen><userinput remap="make">pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
     45<screen><userinput remap="make">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
    4646
    4747    <para>Install Wheel with the following command:</para>
  • chapter09/network.xml

    r706a5bb red431efc  
    179179     </indexterm>
    180180
    181      <para>Decide on the IP address, fully-qualified domain name (FQDN), and
    182      possible aliases for use in the <filename>/etc/hosts</filename> file. The
    183      syntax is:</para>
     181     <para>Decide on a fully-qualified domain name (FQDN), and possible aliases
     182     for use in the <filename>/etc/hosts</filename> file. If using static IP
     183     addresses, you'll also need to decide on an IP address. The syntax
     184     for a hosts file entry is:</para>
    184185
    185186<screen><literal>IP_address myhost.example.org aliases</literal></screen>
     
    198199     range 0-255.</para>
    199200
    200      <para>A valid private IP address could be 192.168.1.1. A valid FQDN for
    201      this IP could be lfs.example.org.</para>
    202 
    203      <para>Even if not using a network card, a valid FQDN is still required.
    204      This is necessary for certain programs to operate correctly.</para>
     201     <para>A valid private IP address could be 192.168.1.1.</para>
     202
     203     <para>If the computer is to be visible to the Internet, a valid FQDN
     204     can be the domain name itself, or a string resulted by concatenating a
     205     prefix (often the hostname) and the domain name with a <quote>.</quote>
     206     character.  And, you need to contact the domain provider to resolve the
     207     FQDN to your public IP address.</para>
     208
     209     <para>Even if the computer is not visible to the Internet, a FQDN is
     210     still needed for certain programs, such as MTAs, to operate properly.
     211     A special FQDN, <literal>localhost.localdomain</literal>, can be used
     212     for this purpose.</para>
    205213
    206214     <para>Create the  <filename>/etc/hosts</filename> file by running:</para>
  • chapter09/networkd.xml

    r706a5bb red431efc  
    317317     range 0-255.</para>
    318318
    319      <para>A valid private IP address could be 192.168.1.1. A valid FQDN for
    320      this IP could be lfs.example.org.</para>
    321 
    322      <para>Even if not using a network card, a valid FQDN is still required.
    323      This is necessary for certain programs, such as MTAs, to operate properly.</para>
    324 
    325 <!--
    326      <para>Create the /etc/hosts file using the following command:</para>
    327 
    328 <screen role="nodump"><userinput>cat &gt; /etc/hosts &lt;&lt; "EOF"
     319     <para>A valid private IP address could be 192.168.1.1.</para>
     320
     321     <para>If the computer is to be visible to the Internet, a valid FQDN
     322     can be the domain name itself, or a string resulted by concatenating a
     323     prefix (often the hostname) and the domain name with a <quote>.</quote>
     324     character.  And, you need to contact the domain provider to resolve the
     325     FQDN to your public IP address.</para>
     326
     327     <para>Even if the computer is not visible to the Internet, a FQDN is
     328     still needed for certain programs, such as MTAs, to operate properly.
     329     A special FQDN, <literal>localhost.localdomain</literal>, can be used
     330     for this purpose.</para>
     331
     332     <para>Create the <filename>/etc/hosts</filename> file using the following
     333     command:</para>
     334
     335<screen><userinput>cat &gt; /etc/hosts &lt;&lt; "EOF"
    329336<literal># Begin /etc/hosts
    330337
    331 127.0.0.1 localhost.localdomain localhost
    332 127.0.1.1 <replaceable>&lt;FQDN&gt;</replaceable> <replaceable>&lt;HOSTNAME&gt;</replaceable>
    333 ::1       localhost ip6-localhost ip6-loopback
     338<replaceable>&lt;192.168.0.2&gt;</replaceable> <replaceable>&lt;FQDN&gt;</replaceable> <replaceable>[alias1] [alias2] ...</replaceable>
     339::1       ip6-localhost ip6-loopback
    334340ff02::1   ip6-allnodes
    335341ff02::2   ip6-allrouters
     
    337343# End /etc/hosts</literal>
    338344EOF</userinput></screen>
    339 -->
    340 
    341      <para>Create the <filename>/etc/hosts</filename> file using the following
    342      command:</para>
    343 
    344 <screen><userinput>cat &gt; /etc/hosts &lt;&lt; "EOF"
    345 <literal># Begin /etc/hosts
    346 
    347 127.0.0.1 localhost.localdomain localhost
    348 127.0.1.1 <replaceable>&lt;FQDN&gt;</replaceable> <replaceable>&lt;HOSTNAME&gt;</replaceable>
    349 <replaceable>&lt;192.168.0.2&gt;</replaceable> <replaceable>&lt;FQDN&gt;</replaceable> <replaceable>&lt;HOSTNAME&gt;</replaceable> <replaceable>[alias1] [alias2] ...</replaceable>
    350 ::1       localhost ip6-localhost ip6-loopback
    351 ff02::1   ip6-allnodes
    352 ff02::2   ip6-allrouters
    353 
    354 # End /etc/hosts</literal>
    355 EOF</userinput></screen>
    356 
    357      <para>The <replaceable>&lt;192.168.0.2&gt;</replaceable>,
    358      <replaceable>&lt;FQDN&gt;</replaceable>, and
    359      <replaceable>&lt;HOSTNAME&gt;</replaceable> values need to be
     345
     346     <para>The <replaceable>&lt;192.168.0.2&gt;</replaceable> and
     347     <replaceable>&lt;FQDN&gt;</replaceable> values need to be
    360348     changed for specific uses or requirements (if assigned an IP address by a
    361349     network/system administrator and the machine will be connected to an
    362350     existing network). The optional alias name(s) can be omitted, and the
    363351     <replaceable>&lt;192.168.0.2&gt;</replaceable> line can be omitted if you
    364      are using a connection configured with DHCP or IPv6 Autoconfiguration.</para>
     352     are using a connection configured with DHCP or IPv6 Autoconfiguration,
     353     or using <literal>localhost.localdomain</literal> as the FQDN.</para>
     354
     355     <para>The <filename>/etc/hostname</filename> does not contain entries
     356     for <literal>localhost</literal>,
     357     <literal>localhost.localdomain</literal>, or the hostname (without a
     358     domain) because they are handled by the
     359     <systemitem class='library'>myhostname</systemitem> NSS module, read
     360     the man page <filename>nss-myhostname(8)</filename> for details.</para>
    365361
    366362     <para>The ::1 entry is the IPv6 counterpart of 127.0.0.1 and represents
    367      the IPv6 loopback interface. 127.0.1.1 is a loopback entry reserved
    368      specifically for the FQDN.</para>
     363     the IPv6 loopback interface.</para>
    369364
    370365   </sect2>
  • chapter10/kernel.xml

    r706a5bb red431efc  
    123123
    124124    <note>
     125      <?dbfo keep-together="auto"?>
    125126      <para>A good starting place for setting up the kernel configuration is to
    126127      run <command>make defconfig</command>. This will set the base
  • chapter11/reboot.xml

    r706a5bb red431efc  
    114114
    115115<screen><userinput>umount -v $LFS/dev/pts
    116 mountpoint -q $LFS/dev/shm &amp;&amp; umount $LFS/dev/shm
     116mountpoint -q $LFS/dev/shm &amp;&amp; umount -v $LFS/dev/shm
    117117umount -v $LFS/dev
    118118umount -v $LFS/run
  • chapter11/theend.xml

    r706a5bb red431efc  
    5959PRETTY_NAME="Linux From Scratch &version;"
    6060VERSION_CODENAME="&lt;your name here&gt;"
     61HOME_URL="&lfs-root;lfs/"
    6162EOF</userinput></screen>
    6263
  • general.ent

    r706a5bb red431efc  
    102102-->
    103103<!ENTITY lfs-ticket-root "https://wiki.linuxfromscratch.org/lfs/ticket/">
     104<!ENTITY blfs-ticket-root "https://wiki.linuxfromscratch.org/blfs/ticket/">
    104105
    105106<!ENTITY anduin-sources  "https://anduin.linuxfromscratch.org/LFS">
  • git-version.sh

    r706a5bb red431efc  
    1 #!/bin/sh
     1#!/bin/bash
    22
    33if [ "$1" = sysv ]; then
     
    1515echo "<!ENTITY % systemd \"$SYSTEMD\">"  >> conditional.ent
    1616
     17if [ -e LFS-RELEASE ]; then
     18        exit 0
     19fi
     20
    1721if ! git status > /dev/null; then
    1822    # Either it's not a git repository, or git is unavaliable.
     
    2529    echo "]]>"                                             >> version.ent
    2630    echo "<!ENTITY releasedate       \"unknown\">"         >> version.ent
    27     echo "<!ENTITY copyrightdate     \"1999-2022\">"       >> version.ent
     31    echo "<!ENTITY copyrightdate     \"1999-2023\">"       >> version.ent
    2832    exit 0
    2933fi
     
    6670echo "<!ENTITY releasedate       \"$full_date\">"          >> version.ent
    6771echo "<!ENTITY copyrightdate     \"1999-$year\">"          >> version.ent
     72
     73[ -z "$DIST" ] || echo $version > "$DIST"
  • lfs-latest.php

    • Property mode changed from 100644 to 120000
    r706a5bb red431efc  
    1 #! /usr/bin/php
    2 <?php
    3 $dirs = array();
    4 $vers = array();
    5 
    6 date_default_timezone_set( "GMT" );
    7 $date = date( "Y-m-d H:i:s" );
    8 
    9 // Special cases
    10 $exceptions = array();
    11 //$exceptions[ 'gmp' ] = "UPDIR=/.*(gmp-\d[\d\.-]*\d).*/:DOWNDIR=";
    12 
    13 $regex = array();
    14 //$regex[ 'bzip2'    ] = "/^.*current version is ([\d\.]+).*$/";
    15 $regex[ 'check'    ] = "/^.*Check (\d[\d\.]+\d).*$/";
    16 $regex[ 'intltool' ] = "/^.*Latest version is (\d[\d\.]+\d).*$/";
    17 $regex[ 'less'     ] = "/^.*current released version is less-(\d+).*$/";
    18 $regex[ 'mpfr'     ] = "/^mpfr-([\d\.]+)\.tar.*$/";
    19 $regex[ 'Python'   ] = "/^.*Latest Python 3.*Python (3[\d\.]+\d).*$/";
    20 $regex[ 'systemd'  ] = "/^.*v([\d]+)$/";
    21 //$regex[ 'sysvinit' ] = "/^.*sysvinit-([\d\.]+)dsf\.tar.*$/";
    22 $regex[ 'tzdata'   ] = "/^.*tzdata([\d]+[a-z]).*$/";
    23 $regex[ 'xz'       ] = "/^.*xz-([\d\.]*\d).*$/";
    24 $regex[ 'zlib'     ] = "/^.*zlib ([\d\.]*\d).*$/";
    25 
    26 function find_max( $lines, $regex_match, $regex_replace )
    27 {
    28   $a = array();
    29   if ( ! is_array( $lines ) ) return -1;
    30 
    31   foreach ( $lines as $line )
    32   {
    33      if ( ! preg_match( $regex_match, $line ) ) continue;
    34 
    35      // Isolate the version and put in an array
    36      $slice = preg_replace( $regex_replace, "$1", $line );
    37      if ( $slice == $line ) continue;
    38 
    39      array_push( $a, $slice );
    40   }
    41 
    42   // SORT_NATURAL requires php-5.4.0 or later
    43   rsort( $a, SORT_NATURAL );  // Max version is at the top
    44   return ( isset( $a[0] ) ) ? $a[0] : -2;
    45 }
    46 
    47 function find_even_max( $lines, $regex_match, $regex_replace )
    48 {
    49   $a = array();
    50   foreach ( $lines as $line )
    51   {
    52      if ( ! preg_match( $regex_match, $line ) ) continue;
    53 
    54      // Isolate the version and put in an array
    55      $slice = preg_replace( $regex_replace, "$1", $line );
    56 
    57      if ( "x$slice" == "x$line" ) continue;
    58 
    59      // Skip odd numbered minor versions and minors > 80
    60      list( $major, $minor, $rest ) = explode( ".", $slice . ".0" );
    61      if ( $minor % 2 == 1  ) continue;
    62      if ( $minor     >  80 ) continue;
    63      array_push( $a, $slice );
    64   }
    65 
    66   rsort( $a, SORT_NATURAL );  // Max version is at the top
    67   return ( isset( $a[0] ) ) ? $a[0] : -2;
    68 }
    69 
    70 function http_get_file( $url )
    71 {
    72   if ( ! preg_match( "/sourceforge/", $url ) &&
    73        ! preg_match( "/psmisc/",      $url ) )
    74   {
    75     exec( "curl --location --silent --max-time 30 $url", $dir );
    76 
    77     $s   = implode( "\n", $dir );
    78     $dir = strip_tags( $s );
    79     return explode( "\n", $dir );
    80   }
    81   else
    82   {
    83     exec( "links -dump $url 2>/dev/null", $lines );
    84     return $lines;
    85   }
    86 }
    87 
    88 function max_parent( $dirpath, $prefix )
    89 {
    90   // First, remove a directory
    91   $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
    92   $position = strrpos( $dirpath, "/" );
    93   $dirpath  = substr ( $dirpath, 0, $position );
    94 
    95   $lines = http_get_file( $dirpath );
    96 
    97   $regex_match   = "#${prefix}[\d\.]+/#";
    98   $regex_replace = "#^.*(${prefix}[\d\.]+)/.*$#";
    99   $max           = find_max( $lines, $regex_match, $regex_replace );
    100 
    101   return "$dirpath/$max";
    102 }
    103 
    104 function get_packages( $package, $dirpath )
    105 {
    106   global $exceptions;
    107   global $regex;
    108 
    109 //if ( $package != "psmisc" ) return 0; // Debug
    110 
    111 if ( $package == "bc"         ) $dirpath = "https://github.com/gavinhoward/bc/releases";
    112 if ( $package == "check"      ) $dirpath = "https://github.com/libcheck/check/releases";
    113 if ( $package == "e2fsprogs"  ) $dirpath = "http://sourceforge.net/projects/e2fsprogs/files/e2fsprogs";
    114 if ( $package == "expat"      ) $dirpath = "http://sourceforge.net/projects/expat/files";
    115 if ( $package == "elfutils"   ) $dirpath = "https://sourceware.org/ftp/elfutils";
    116 if ( $package == "expect"     ) $dirpath = "http://sourceforge.net/projects/expect/files";
    117 if ( $package == "file"       ) $dirpath = "https://github.com/file/file/releases";
    118 if ( $package == "flex"       ) $dirpath = "https://github.com/westes/flex/releases";
    119 if ( $package == "gcc"        ) $dirpath = max_parent( $dirpath, "gcc-" );
    120 if ( $package == "iana-etc"   ) $dirpath = "https://github.com/Mic92/iana-etc/releases";
    121 if ( $package == "intltool"   ) $dirpath = "https://launchpad.net/intltool/trunk";
    122 if ( $package == "meson"      ) $dirpath = "https://github.com/mesonbuild/meson/releases";
    123 if ( $package == "mpc"        ) $dirpath = "https://ftp.gnu.org/gnu/mpc";
    124 if ( $package == "mpfr"       ) $dirpath = "http://mpfr.loria.fr/mpfr-current";
    125 if ( $package == "ninja"      ) $dirpath = "https://github.com/ninja-build/ninja/releases";
    126 if ( $package == "procps-ng"  ) $dirpath = "https://gitlab.com/procps-ng/procps/-/tags";
    127 if ( $package == "psmisc"     ) $dirpath = "https://gitlab.com/psmisc/psmisc/-/tags";
    128 if ( $package == "Python"     ) $dirpath = "https://www.python.org/downloads/source/";
    129 if ( $package == "shadow"     ) $dirpath = "https://github.com/shadow-maint/shadow/releases";
    130 if ( $package == "systemd"    ) $dirpath = "https://github.com/systemd/systemd/releases";
    131 if ( $package == "tcl"        ) $dirpath = "http://sourceforge.net/projects/tcl/files";
    132 if ( $package == "util-linux" ) $dirpath = max_parent( $dirpath, "v." );
    133 if ( $package == "vim"        ) $dirpath = "https://github.com/vim/vim/releases";
    134 if ( $package == "zstd"       ) $dirpath = "https://github.com/facebook/zstd/releases";
    135 //if ( $package == "vim"        ) $dirpath = "ftp://ftp.vim.org/pub/vim/unix";
    136 
    137   // Check for ftp
    138   if ( preg_match( "/^ftp/", $dirpath ) )
    139   {
    140     $dirpath  = substr( $dirpath, 6 );           // Remove ftp://
    141     $dirpath  = rtrim ( $dirpath, "/" );         // Trim any trailing slash
    142     $position = strpos( $dirpath, "/" );         // Divide at first slash
    143     $server   = substr( $dirpath, 0, $position );
    144     $path     = substr( $dirpath, $position );
    145 
    146     $conn = ftp_connect( $server );
    147     ftp_login( $conn, "anonymous", "" );
    148 
    149     // See if we need special handling
    150     if ( isset( $exceptions[ $package ] ) )
    151     {
    152        $specials = explode( ":", $exceptions[ $package ] );
    153 
    154        foreach ( $specials as $i )
    155        {
    156           list( $op, $regexp ) = explode( "=", $i );
    157 
    158           switch ($op)
    159           {
    160             case "UPDIR":
    161               // Remove last dir from $path
    162               $position = strrpos( $path, "/" );
    163               $path = substr( $path, 0, $position );
    164 
    165               // Get dir listing
    166               $lines = ftp_rawlist ($conn, $path);
    167               $max   = find_max( $lines, $regexp, $regexp );
    168               break;
    169 
    170             case "DOWNDIR":
    171               // Append found directory
    172               $path .= "/$max";
    173               break;
    174 
    175             default:
    176               echo "Error in specials array for $package\n";
    177               return -5;
    178               break;
    179           }
    180        }
    181     }
    182 
    183     $lines = ftp_rawlist ($conn, $path);
    184     ftp_close( $conn );
    185   }
    186   else // http
    187   {
    188      // Customize http directories as needed
    189      if ( $package == "tzdata" )
    190      {
    191         // Remove two directories
    192         $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
    193         $position = strrpos( $dirpath, "/" );
    194         $dirpath  = substr ( $dirpath, 0, $position );
    195         $position = strrpos( $dirpath, "/" );
    196         $dirpath  = substr ( $dirpath, 0, $position );
    197      }
    198 
    199      //if ( $package == "bzip2" )
    200      //{
    201      //   // Remove one directory
    202      //   $dirpath  = rtrim  ( $dirpath, "/" );    // Trim any trailing slash
    203      //   $position = strrpos( $dirpath, "/" );
    204      //   $dirpath  = substr ( $dirpath, 0, $position );
    205      //}
    206 
    207      $lines = http_get_file( $dirpath );
    208      if ( ! is_array( $lines ) ) return -6;
    209   } // End fetch
    210 //print_r($lines);
    211   if ( isset( $regex[ $package ] ) )
    212   {
    213      // Custom search for latest package name
    214      foreach ( $lines as $l )
    215      {
    216         $ver = preg_replace( $regex[ $package ], "$1", $l );
    217         if ( $ver == $l ) continue;
    218         return $ver;  // Return first match of regex
    219      }
    220 
    221      return -7;  // This is an error
    222   }
    223 
    224   if ( $package == "perl" )  // Custom for perl
    225   {
    226      $tmp = array();
    227 
    228      foreach ( $lines as $l )
    229      {
    230         if ( preg_match( "/sperl/", $l ) ) continue; // Don't want this
    231         $ver = preg_replace( "/^.*perl-([\d\.]+\d)\.tar.*$/", "$1", $l );
    232         if ( $ver == $l ) continue;
    233         list( $s1, $s2, $rest ) = explode( ".", $ver );
    234         if ( $s2 % 2 == 1 ) continue; // Remove odd minor versions
    235         array_push( $tmp, $l );
    236      }
    237 
    238      $lines = $tmp;
    239   }
    240 
    241   if ( $package == "attr" ||
    242        $package == "acl"  )
    243   {
    244      return find_max( $lines, "/$package/", "/^.*$package-([\d\.-]*\d).tar.*$/" );
    245   }
    246 
    247   if ( $package == "e2fsprogs" )
    248      return find_max( $lines, "/v\d/", "/^.*v(\d[\d\.]+\d).*$/" );
    249 
    250   if ( $package == "expect" )
    251      return find_max( $lines, "/expect/", "/^.*expect(\d[\d\.]+\d).tar.*$/" );
    252 
    253   if ( $package == "elfutils" )
    254      return find_max( $lines, "/^\d/", "/^(\d[\d\.]+\d)\/.*$/" );
    255 
    256   if ( $package == "XML-Parser" )
    257   {
    258      $max = find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d).tar.*$/" );
    259      # 2.44_01 is a developer release
    260      if ( $max == "2.44_01" ) { return "2.44"; }
    261      return $max;
    262   }
    263 
    264   if ( $package == "tcl" )
    265      return find_max( $lines, "/tcl/", "/^.*tcl(\d[\d\.]*\d)-src.*$/" );
    266 
    267   if ( $package == "ninja" )
    268      return find_max( $lines, "/v\d/", "/^.*v(\d[\d\.]*\d).*$/" );
    269 
    270   if ( $package == "gmp" )
    271      return find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d[a-z]?).tar.*$/" );
    272 
    273   if ( $package == "dbus" )
    274      return find_even_max( $lines, "/$package/", "/^.*$package-([\d\.]+).tar.*$/" );
    275 
    276   if ( $package == "file" )
    277   {
    278      $max = find_max( $lines, "/FILE5/", "/^.*FILE(5_\d+)*$/" );
    279      return str_replace( "_", ".", $max );
    280   }
    281 
    282   if ( $package == "procps-ng" )
    283      return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" );
    284 
    285   if ( $package == "psmisc" )
    286      return find_max( $lines, "/v\d/", "/^.*v([\d\.]+) .*$/" );
    287 
    288   if ( $package == "grub" )
    289      return find_max( $lines, "/grub/", "/^.*grub-(\d\..*).tar.xz.*$/" );
    290 
    291   if ( $package == "openssl" )
    292      return find_max( $lines, "/openssl/", "/^.*openssl-([\d\.p]*\d.?).tar.*$/" );
    293 
    294   if ( $package == "vim" )
    295      return find_max( $lines, "/v\d\./", "/^.*v([\d\.]+).*$/" );
    296 
    297   if ( $package == "zstd" )
    298      return find_max( $lines, "/Zstandard v/", "/^.*v([\d\.]+).*$/" );
    299 
    300   // Most packages are in the form $package-n.n.n
    301   // Occasionally there are dashes (e.g. 201-1)
    302   return find_max( $lines, "/$package/", "/^.*$package-([\d\.-]*\d)\.tar.*$/" );
    303 }
    304 
    305 function get_current()
    306 {
    307    global $dirs;
    308    global $vers;
    309 
    310    // Fetech from svn and get wget-list
    311    $current = array();
    312    $lfssvn = "svn://svn.linuxfromscratch.org/LFS/trunk";
    313 
    314    $tmpdir = exec( "mktemp -d /tmp/lfscheck.XXXXXX" );
    315    $cdir   = getcwd();
    316    chdir( $tmpdir );
    317    exec ( "svn --quiet export $lfssvn LFS" );
    318    chdir( $cdir );
    319 
    320    $PAGE       = "$tmpdir/LFS/BOOK/chapter03/chapter03.xml";
    321    $STYLESHEET = "$tmpdir/LFS/BOOK/stylesheets/wget-list.xsl";
    322 
    323    exec( "xsltproc --xinclude --nonet $STYLESHEET $PAGE", $current );
    324    exec( "rm -rf $tmpdir" );
    325 
    326    foreach ( $current as $line )
    327    {
    328       $file = basename( $line ) . "\n";
    329       if ( preg_match( "/patch$/", $file ) ) { continue; } // Skip patches
    330 
    331       $file = preg_replace( "/bz2/", '', $file ); // The 2 confusses the regex
    332 
    333       $file        = rtrim( $file );
    334       $pkg_pattern = "/(\D*).*/";
    335       //$pattern     = "/\D*(\d.*\d)\D*/";
    336       $pattern     = "/\D*(\d.*\d)\D*/";
    337 
    338       if ( preg_match( "/e2fsprogs/", $file ) )
    339       {
    340         $pattern = "/e2\D*(\d.*\d)\D*/";
    341         $pkg_pattern = "/(e2\D*).*/";
    342       }
    343 
    344       else if ( preg_match( "/tzdata/", $file ) )
    345       {
    346         $pattern = "/\D*(\d.*[a-z])\.tar\D*/";
    347       }
    348 
    349       else if ( preg_match( "/openssl/", $file ) )
    350       {
    351         $pattern = "/\D*(\d.*\d.*).tar.*$/";
    352       }
    353 
    354       else if ( preg_match( "/gmp/", $file ) )
    355       {
    356         $pattern = "/\D*(\d.*[a-z]*)\.tar\D*/";
    357       }
    358 
    359       else if ( preg_match( "/systemd-man-pages/", $file ) ) continue;
    360       else if ( preg_match( "/python/"         , $file ) ) continue;
    361 
    362       $version = preg_replace( $pattern, "$1", $file );   // Isolate version
    363       $version = preg_replace( "/^\d-/", "", $version );  // Remove leading #-
    364 
    365       // Touch up package names
    366       $pkg_name = preg_replace( $pkg_pattern, "$1", $file );
    367       $pkg_name = trim( $pkg_name, "-" );
    368 
    369       if ( preg_match( "/bzip|iproute/", $pkg_name ) ) { $pkg_name .= "2"; }
    370       if ( preg_match( "/^m$/"         , $pkg_name ) ) { $pkg_name .= "4"; }
    371       if ( preg_match( "/shadow/"      , $pkg_name ) ) { $pkg_name  = "shadow"; }
    372 
    373       $dirs[ $pkg_name ] = dirname( $line );
    374       $vers[ $pkg_name ] = $version;
    375    }
    376 }
    377 
    378 function mail_to_lfs()
    379 {
    380    global $date;
    381    global $vers;
    382    global $dirs;
    383 
    384    //$to      = "bruce.dubbs@gmail.com";
    385    $to      = "lfs-book@lists.linuxfromscratch.org";
    386    $from    = "bdubbs@linuxfromscratch.org";
    387    $subject = "LFS Package Currency Check - $date GMT";
    388    $headers = "From: bdubbs@anduin.linuxfromscratch.org";
    389 
    390    $message = "Package         LFS      Upstream  Flag\n\n";
    391 
    392    foreach ( $dirs as $pkg => $dir )
    393    {
    394       //if ( $pkg != "gmp" ) continue;  //debug
    395       $v = get_packages( $pkg, $dir );
    396 
    397       $flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
    398 
    399       // Pad for output
    400       $pad = "                ";
    401       $p   = substr( $pkg          . $pad, 0, 15 );
    402       $l   = substr( $vers[ $pkg ] . $pad, 0, 10 );
    403       $c   = substr( $v            . $pad, 0, 10 );
    404 
    405       $message .= "$p $l $c $flag\n";
    406    }
    407 
    408    exec ( "echo '$message' | mailx -r $from -s '$subject' $to" );
    409    //echo $message;
    410 }
    411 
    412 function html()
    413 {
    414 
    415    global $date;
    416    global $vers;
    417    global $dirs;
    418 
    419    echo "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
    420                       'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
    421 <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
    422 <head>
    423 <title>LFS Package Currency Check - $date</title>
    424 <style type='text/css'>
    425 h1, h2 {
    426    text-align      : center;
    427 }
    428 
    429 table {
    430    border-width    : 1px;
    431    border-spacing  : 0px;
    432    border-style    : outset;
    433    border-color    : gray;
    434    border-collapse : separate;
    435    background-color: white;
    436    margin          : 0px auto;
    437 }
    438 
    439 table th {
    440    border-width    : 1px;
    441    padding         : 2px;
    442    border-style    : inset;
    443    border-color    : gray;
    444    background-color: white;
    445 }
    446 
    447 table td {
    448    border-width    : 1px;
    449    padding         : 2px;
    450    border-style    : inset;
    451    border-color    : gray;
    452    background-color: white;
    453 }
    454 </style>
    455 
    456 </head>
    457 <body>
    458 <h1>LFS Package Currency Check</h1>
    459 <h2>As of $date GMT</h1>
    460 
    461 <table>
    462 <tr><th>LFS Package</th> <th>LFS Version</th> <th>Latest</th> <th>Flag</th></tr>\n";
    463 
    464    // Get the latest version of each package
    465    foreach ( $dirs as $pkg => $dir )
    466    {
    467       $v    = get_packages( $pkg, $dir );
    468       $flag = ( $vers[ $pkg ] != $v ) ? "*" : "";
    469       echo "<tr><td>$pkg</td> <td>${vers[ $pkg ]}</td> <td>$v</td> <td>$flag</td></tr>\n";
    470    }
    471 
    472    echo "</table>
    473 </body>
    474 </html>\n";
    475 
    476 }
    477 
    478 get_current();  // Get what is in the book
    479 mail_to_lfs();
    480 //html();  // Write html output
    481 ?>
     1lfs-latest-git.php
  • packages.ent

    r706a5bb red431efc  
    105105<!ENTITY check-fin-sbu "0.1 SBU (about 1.6 SBU with tests)">
    106106
    107 <!ENTITY coreutils-version "9.3">
    108 <!ENTITY coreutils-size "5,673 KB">
     107<!ENTITY coreutils-version "9.4">
     108<!ENTITY coreutils-size "5,840 KB">
    109109<!ENTITY coreutils-url "&gnu;coreutils/coreutils-&coreutils-version;.tar.xz">
    110 <!ENTITY coreutils-md5 "040b4b7acaf89499834bfc79609af29f">
     110<!ENTITY coreutils-md5 "459e9546074db2834eefe5421f250025">
    111111<!ENTITY coreutils-home "&gnu-software;coreutils/">
    112112<!ENTITY coreutils-tmp-du "168 MB">
     
    115115<!ENTITY coreutils-fin-sbu "0.9 SBU">
    116116
    117 <!ENTITY dbus-version "1.14.8">
    118 <!ENTITY dbus-size "1,340 KB">
     117<!ENTITY dbus-version "1.14.10">
     118<!ENTITY dbus-size "1,344 KB">
    119119<!ENTITY dbus-url "https://dbus.freedesktop.org/releases/dbus/dbus-&dbus-version;.tar.xz">
    120 <!ENTITY dbus-md5 "da42f55aeec51b355587bc3062fc2d41">
     120<!ENTITY dbus-md5 "46070a3487817ff690981f8cd2ba9376">
    121121<!ENTITY dbus-home "https://www.freedesktop.org/wiki/Software/dbus">
    122122<!ENTITY dbus-fin-du "20 MB">
     
    309309<!ENTITY grub-fin-sbu "0.3 SBU">
    310310
    311 <!ENTITY gzip-version "1.12">
    312 <!ENTITY gzip-size "807 KB">
     311<!ENTITY gzip-version "1.13">
     312<!ENTITY gzip-size "819 KB">
    313313<!ENTITY gzip-url "&gnu;gzip/gzip-&gzip-version;.tar.xz">
    314 <!ENTITY gzip-md5 "9608e4ac5f061b2a6479dc44e917a5db">
     314<!ENTITY gzip-md5 "d5c9fc9441288817a4a0be2da0249e29">
    315315<!ENTITY gzip-home "&gnu-software;gzip/">
    316316<!ENTITY gzip-tmp-du "11 MB">
     
    319319<!ENTITY gzip-fin-sbu "0.3 SBU">
    320320
    321 <!ENTITY iana-etc-version "20230810">
     321<!ENTITY iana-etc-version "20230912">
    322322<!ENTITY iana-etc-size "588 KB">
    323323<!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz">
    324 <!ENTITY iana-etc-md5 "0502bd41cc0bf1c1c3cd8651058b9650">
     324<!ENTITY iana-etc-md5 "29f49a14cdbbc9236e24b2271fbbd993">
    325325<!ENTITY iana-etc-home "https://www.iana.org/protocols">
    326326<!ENTITY iana-etc-fin-du "4.8 MB">
     
    344344<!ENTITY intltool-fin-sbu "less than 0.1 SBU">
    345345
    346 <!ENTITY iproute2-version "6.4.0">
    347 <!ENTITY iproute2-size "904 KB">
     346<!ENTITY iproute2-version "6.5.0">
     347<!ENTITY iproute2-size "908 KB">
    348348<!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz">
    349 <!ENTITY iproute2-md5 "90ce0eb84a8f1e2b14ffa77e8eb3f5ed">
     349<!ENTITY iproute2-md5 "ae811fc51b3a2c9c7701be308152c45a">
    350350<!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/">
    351351<!ENTITY iproute2-fin-du "17 MB">
     
    360360<!ENTITY jinja2-fin-sbu "less than 0.1 SBU">
    361361
    362 <!ENTITY kbd-version "2.6.1">
    363 <!ENTITY kbd-size "1,554 KB">
     362<!ENTITY kbd-version "2.6.2">
     363<!ENTITY kbd-size "1,469 KB">
    364364<!ENTITY kbd-url "https://www.kernel.org/pub/linux/utils/kbd/kbd-&kbd-version;.tar.xz">
    365 <!ENTITY kbd-md5 "986241b5d94c6bd4ed2f6d2a5ab4320b">
     365<!ENTITY kbd-md5 "35e261a31e673c8aec7dbc6553ea075c">
    366366<!ENTITY kbd-home "https://kbd-project.org/">
    367367<!ENTITY kbd-fin-du "35 MB">
     
    372372<!ENTITY kmod-url "&kernel;linux/utils/kernel/kmod/kmod-&kmod-version;.tar.xz">
    373373<!ENTITY kmod-md5 "85202f0740a75eb52f2163c776f9b564">
    374 <!ENTITY kmod-home " ">
     374<!ENTITY kmod-home "https://github.com/kmod-project/kmod">
    375375<!ENTITY kmod-fin-du "12 MB">
    376376<!ENTITY kmod-fin-sbu "less than 0.1 SBU">
     
    433433
    434434<!ENTITY linux-major-version "6">
    435 <!ENTITY linux-minor-version "4">
    436 <!ENTITY linux-patch-version "12">
     435<!ENTITY linux-minor-version "5">
     436<!ENTITY linux-patch-version "3">
    437437<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
    438438<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
    439 <!ENTITY linux-size "134,616 KB">
     439<!ENTITY linux-size "135,696 KB">
    440440<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
    441 <!ENTITY linux-md5 "24570ba0ef9dd592bd640a1a41686fac">
     441<!ENTITY linux-md5 "c54b2cd13ba845e2f5a667ce712e92b9">
    442442<!ENTITY linux-home "https://www.kernel.org/">
    443 <!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is
    444  allnoconfig rounded down to allow for ongoing cleanups,
    445  max is allmodconfig  -->
    446 <!ENTITY linux-knl-du "1200 - 8800 MB (typically about 1700 MB)">
    447 <!ENTITY linux-knl-sbu "1.5 - 130.0 SBU (typically about 12 SBU)">
     443<!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is
     444 allnoconfig + some configs we recommend for the users, rounded down to
     445 allow ongoing cleanups; max is allmodconfig but IKHEADERS unset; typical
     446 is the "daily use" config for the workstation measuring the min/max values.
     447 The disk usage is the sum of the size of linux-6.5.3 directory and the
     448 installed kernel image & modules.  -->
     449<!ENTITY linux-knl-du "1.8 - 10.6 GB (typically about 2 GB)">
     450<!ENTITY linux-knl-sbu "0.6 - 20.4 SBU (typically about 1.4 SBU)">
    448451
    449452<!ENTITY linux-headers-tmp-du "1.5 GB">
     
    510513<!ENTITY mpc-fin-sbu "0.1 SBU">
    511514
    512 <!ENTITY mpfr-version "4.2.0">
    513 <!ENTITY mpfr-size "1,443 KB">
     515<!ENTITY mpfr-version "4.2.1">
     516<!ENTITY mpfr-size "1,459 KB">
    514517<!ENTITY mpfr-url "https://ftp.gnu.org/gnu/mpfr/mpfr-&mpfr-version;.tar.xz">
    515 <!ENTITY mpfr-md5 "a25091f337f25830c16d2054d74b5af7">
     518<!ENTITY mpfr-md5 "523c50c6318dde6f9dc523bc0244690a">
    516519<!ENTITY mpfr-home "https://www.mpfr.org/">
    517520<!ENTITY mpfr-fin-du "43 MB">
     
    568571<!ENTITY perl-fin-sbu "7.1 SBU">
    569572
    570 <!ENTITY pkgconf-version "2.0.1">
     573<!ENTITY pkgconf-version "2.0.3">
    571574<!ENTITY pkgconf-size "304 KB">
    572575<!ENTITY pkgconf-url "https://distfiles.ariadne.space/pkgconf/pkgconf-&pkgconf-version;.tar.xz">
    573 <!ENTITY pkgconf-md5 "efc1318f368bb592aba6ebb18d9ff254">
     576<!ENTITY pkgconf-md5 "b82ca48ed3097adfa007ee71489b6719">
    574577<!ENTITY pkgconf-home "http://pkgconf.org/">
    575578<!ENTITY pkgconf-fin-du "4.6 MB">
    576579<!ENTITY pkgconf-fin-sbu "less than 0.1 SBU">
    577580
    578 <!ENTITY procps-ng-version "4.0.3">
    579 <!ENTITY procps-ng-size "1,268 KB">
     581<!ENTITY procps-ng-version "4.0.4">
     582<!ENTITY procps-ng-size "1,369 KB">
    580583<!ENTITY procps-ng-url "https://sourceforge.net/projects/procps-ng/files/Production/procps-ng-&procps-ng-version;.tar.xz">
    581 <!ENTITY procps-ng-md5 "22b287bcd758831cbaf3356cd3054fe7">
     584<!ENTITY procps-ng-md5 "2f747fc7df8ccf402d03e375c565cf96">
    582585<!ENTITY procps-ng-home "https://sourceforge.net/projects/procps-ng">
    583586<!ENTITY procps-ng-fin-du "25 MB">
     
    595598     meson pages will be needed: python3.6 and python3.6m -->
    596599
    597 <!ENTITY python-version "3.11.4">
     600<!ENTITY python-version "3.11.5">
    598601<!ENTITY python-minor "3.11">
    599 <!ENTITY python-size "19,488 KB">
     602<!ENTITY python-size "19,584 KB">
    600603<!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz">
    601 <!ENTITY python-md5 "fb7f7eae520285788449d569e45b6718">
     604<!ENTITY python-md5 "393856f1b7713aa8bba4b642ab9985d3">
    602605<!ENTITY python-home "https://www.python.org/">
    603606<!ENTITY python-tmp-du "533 MB">
     
    606609<!ENTITY python-fin-sbu "1.9 SBU">
    607610<!ENTITY python-docs-url "https://www.python.org/ftp/python/doc/&python-version;/python-&python-version;-docs-html.tar.bz2">
    608 <!ENTITY python-docs-md5 "cdce7b1189bcf52947f3b434ab04d7e2">
    609 <!ENTITY python-docs-size "7,649 KB">
     611<!ENTITY python-docs-md5 "1abed52338038f4b53a277a5558af838">
     612<!ENTITY python-docs-size "7,678 KB">
    610613
    611614<!ENTITY readline-version "8.2">
     
    628631<!ENTITY sed-fin-sbu "0.3 SBU">
    629632
    630 <!ENTITY shadow-version "4.13">
    631 <!ENTITY shadow-size "1,722 KB">
     633<!ENTITY shadow-version "4.14.0">
     634<!ENTITY shadow-size "1,746 KB">
    632635<!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz">
    633 <!ENTITY shadow-md5 "b1ab01b5462ddcf43588374d57bec123">
     636<!ENTITY shadow-md5 "bb0166bebc24db9003bb77bfd1359042">
    634637<!ENTITY shadow-home "https://shadow-maint.github.io/shadow/">
    635638<!ENTITY shadow-fin-du "46 MB">
     
    661664<!ENTITY systemd-fin-sbu  "0.7 SBU">
    662665
    663 <!ENTITY sysvinit-version "3.07">
    664 <!ENTITY sysvinit-size "258 KB">
     666<!ENTITY sysvinit-version "3.08">
     667<!ENTITY sysvinit-size "263 KB">
    665668<!ENTITY sysvinit-url "&github;/slicer69/sysvinit/releases/download/&sysvinit-version;/sysvinit-&sysvinit-version;.tar.xz">
    666 <!ENTITY sysvinit-md5 "190398c660af29c97d892126d2a95e28">
     669<!ENTITY sysvinit-md5 "81a05f28d7b67533cfc778fcadea168c">
    667670<!ENTITY sysvinit-home "&savannah-nongnu;/projects/sysvinit">
    668671<!ENTITY sysvinit-fin-du "4.5 MB">
     
    717720
    718721<!ENTITY util-linux-minor "2.39">
    719 <!ENTITY util-linux-version "2.39.1"> <!-- 2.33.x -->
    720 <!ENTITY util-linux-size "8,156 KB">
     722<!ENTITY util-linux-version "2.39.2"> <!-- 2.33.x -->
     723<!ENTITY util-linux-size "8,167 KB">
    721724<!ENTITY util-linux-url "&kernel;linux/utils/util-linux/v&util-linux-minor;/util-linux-&util-linux-version;.tar.xz">
    722 <!ENTITY util-linux-md5 "c542cd7c0726254e4b3006a9b428201a">
     725<!ENTITY util-linux-md5 "2feb3e7c306f336a3d22a182dfffc942">
    723726<!ENTITY util-linux-home "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/">
    724727<!ENTITY util-linux-tmp-du "169 MB">
     
    727730<!ENTITY util-linux-fin-sbu "0.5 SBU">
    728731
    729 <!ENTITY vim-version "9.0.1677">
     732<!ENTITY vim-version "9.0.1837">
    730733<!-- <!ENTITY vim-majmin "90"> -->
    731734<!ENTITY vim-docdir "vim/vim90">
    732 <!ENTITY vim-size "16,670 KB">
     735<!ENTITY vim-size "16,838 KB">
    733736<!--<!ENTITY vim-url "https://github.com/vim/vim/archive/v&vim-version;/vim-&vim-version;.tar.gz">-->
    734737<!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.gz">
    735 <!ENTITY vim-md5 "65e6b09ef0628a2d8eba79f1d1d5a564">
     738<!ENTITY vim-md5 "de7cba78a556f96482ae8f09b082aa59">
    736739<!ENTITY vim-home "https://www.vim.org">
    737740<!ENTITY vim-fin-du "229 MB">
    738741<!ENTITY vim-fin-sbu "2.3 SBU">
    739742
    740 <!ENTITY wheel-version "0.41.1">
     743<!ENTITY wheel-version "0.41.2">
    741744<!ENTITY wheel-size "96 KB">
    742745<!ENTITY wheel-url "&pypi-src;/w/wheel/wheel-&wheel-version;.tar.gz">
    743 <!ENTITY wheel-md5 "181cb3f4d8ed340c904a0e1c416d341d">
     746<!ENTITY wheel-md5 "06271a9e90c948b7e93dd7ce0fd90272">
    744747<!ENTITY wheel-home "&pypi-home;/wheel/">
    745748<!ENTITY wheel-fin-du "1.5 MB">
     
    764767<!ENTITY xz-fin-sbu "0.1 SBU">
    765768
    766 <!ENTITY zlib-version "1.2.13">
    767 <!ENTITY zlib-size "1267 KB">
    768 <!ENTITY zlib-url "&anduin-sources;/zlib-&zlib-version;.tar.xz">
    769 <!ENTITY zlib-md5 "7d9fc1d78ae2fa3e84fe98b77d006c63">
    770 <!ENTITY zlib-home "https://www.zlib.net/">
     769<!ENTITY zlib-version "1.3">
     770<!ENTITY zlib-size "1,461 KB">
     771<!-- DO NOT remove "fossils"!
     772     The upstream removes https://zlib.net/zlib-&zlib-version;.tar.xz
     773     once a newer version is released EVEN IF there is no security fixes.
     774     Unfortunately there is no .xz files in fossils directory.  -->
     775<!ENTITY zlib-url "https://zlib.net/fossils/zlib-&zlib-version;.tar.gz">
     776<!ENTITY zlib-md5 "60373b133d630f74f4a1f94c1185a53f">
     777<!ENTITY zlib-home "https://zlib.net/">
    771778<!ENTITY zlib-fin-du "6.2 MB">
    772779<!ENTITY zlib-fin-sbu "less than 0.1 SBU">
  • part3intro/generalinstructions.xml

    r706a5bb red431efc  
    1111
    1212  <title>General Compilation Instructions</title>
     13
     14  <caution>
     15    <para>
     16      During a development cycle of LFS, the instructions in the book are
     17      often modified to adapt for a package update or take the advantage of
     18      new features from updated packages.  Mixing up the instructions of
     19      different versions of the LFS book can cause subtle breakages.  This
     20      kind of issue is generally a result from reusing some script created
     21      for a prior LFS release.  Such a reuse is strongly discouraged.  If
     22      you are reusing scripts for a prior LFS release for any reason, you'll
     23      need to be very careful to update the scripts to match current version
     24      of the LFS book.
     25    </para>
     26  </caution>
    1327
    1428  <para>Here are some things you should know about building each package:</para>
  • patches.ent

    r706a5bb red431efc  
    22
    33<!-- Start of Common Patches -->
    4 
    5 <!--
    6 <!ENTITY autoconf-fixes-patch "autoconf-&autoconf-version;-consolidated_fixes-1.patch">
    7 <!ENTITY autoconf-fixes-patch-md5 "3c515415ecdd777990c91e8900279cb9">
    8 <!ENTITY autoconf-fixes-patch-size "3.8 KB">
    9 -->
    10 <!--
    11 <!ENTITY bash-fixes-patch "bash-&bash-version;-upstream_fixes-1.patch">
    12 <!ENTITY bash-fixes-patch-md5 "5f20760139d6a97e55124988fcddae44">
    13 <!ENTITY bash-fixes-patch-size "2.0 KB">
    14 -->
    15 <!--
    16 <!ENTITY binutils-lto-patch "binutils-&binutils-version;-lto_fix-1.patch">
    17 <!ENTITY binutils-lto-patch-md5 "3df11b6123d5bbdb0fc83862a003827a">
    18 <!ENTITY binutils-lto-patch-size "3.5 KB">
    19 -->
    204
    215<!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
     
    248
    259<!ENTITY coreutils-i18n-patch "coreutils-&coreutils-version;-i18n-1.patch">
    26 <!ENTITY coreutils-i18n-patch-md5 "3c6340b3ddd62f4acdf8d3caa6fad6b0">
     10<!ENTITY coreutils-i18n-patch-md5 "cca7dc8c73147444e77bc45d210229bb">
    2711<!ENTITY coreutils-i18n-patch-size "166 KB">
    28 <!--
    29 <!ENTITY coreutils-chmod-patch "coreutils-&coreutils-version;-chmod_fix-1.patch">
    30 <!ENTITY coreutils-chmod-patch-md5 "4709df88e68279e6ef357aa819ba5b1a">
    31 <!ENTITY coreutils-chmod-patch-size "3.8 KB">
    32 -->
     12
    3313<!ENTITY elfutils-loongarch-patch "elfutils-&elfutils-version;-loongarch-3.patch">
    3414<!ENTITY elfutils-loongarch-patch-md5 "cd7125a123145d1e2911b1dd2186793a">
    3515<!ENTITY elfutils-loongarch-patch-size "44 KB">
    36 <!--
    37 <!ENTITY flex-fixes-patch "flex-&flex-version;-upstream_fixes-3.patch">
    38 <!ENTITY flex-fixes-patch-md5 "b46f6b0380e502a3dfb8b503227cd680">
    39 <!ENTITY flex-fixes-patch-size "3.4 KB">
    40 -->
    4116
    42 <!--
    43 <!ENTITY file-upstream-fixes-patch "file-&file-version;-upstream_fixes-1.patch">
    44 <!ENTITY file-upstream-fixes-md5 "d99090db596b9db2bed869662199a56a">
    45 <!ENTITY file-upstream-fixes-patch-size "4.0 KB">
    46 -->
    47 <!--
    48 <!ENTITY gcc-upstream-fixes-patch "gcc-&gcc-version;-glibc_2.36-1.patch">
    49 <!ENTITY gcc-upstream-fixes-patch-md5 "8a5a4c3d14b9b2398b32f20b53a4de50">
    50 <!ENTITY gcc-upstream-fixes-patch-size "1.7 KB">
    51 -->
    5217<!ENTITY glibc-fhs-patch "glibc-&glibc-version;-fhs-1.patch">
    5318<!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2">
    5419<!ENTITY glibc-fhs-patch-size "2.8 KB">
    5520
    56 <!ENTITY glibc-memalign-patch "glibc-&glibc-version;-memalign_fix-1.patch">
    57 <!ENTITY glibc-memalign-patch-md5 "2c3552bded42a83ad6a7087c5fbf3857">
    58 <!ENTITY glibc-memalign-patch-size "20 KB">
     21<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-1.patch">
     22<!ENTITY glibc-upstream-fixes-patch-md5 "2e347e291804b62a18a43a8cdc79e01e">
     23<!ENTITY glibc-upstream-fixes-patch-size "24 KB">
    5924
    6025<!ENTITY grub-upstream-fixes-patch "grub-&grub-version;-upstream_fixes-1.patch">
     
    6631<!ENTITY kbd-backspace-patch-size "12 KB">
    6732
    68 <!--
    69 <!ENTITY libpipeline-checks-patch "libpipeline-&libpipeline-version;-check_fixes-3.patch">
    70 <!ENTITY libpipeline-checks-patch-md5 "0cd71f98eadaee07647d021d2e4c8621">
    71 <!ENTITY libpipeline-checks-patch-size "22 KB">
    72 
    73 <!ENTITY meson-fix-patch "meson-&meson-version;-upstream_fix-2.patch">
    74 <!ENTITY meson-fix-patch-md5 "dd0b2187d287abcb41c3dd7e497b7df3">
    75 <!ENTITY meson-fix-patch-size "5.5 KB">
    76 
    77 <!ENTITY ninja-limit-jobs-patch "ninja-&ninja-version;-add_NINJAJOBS_var-1.patch">
    78 <!ENTITY ninja-limit-jobs-patch-md5 "f537a633532492e805aa342fa869ca45">
    79 <!ENTITY ninja-limit-jobs-patch-size "2.5 KB">
    80 -->
    81 <!--
    82 <!ENTITY perl-fix-patch "perl-&perl-version;-upstream_fixes-1.patch">
    83 <!ENTITY perl-fix-patch-md5 "fb42558b59ed95ee00eb9f1c1c9b8056">
    84 <!ENTITY perl-fix-patch-size "1.6 KB">
    85 -->
    8633<!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fix-1.patch">
    8734<!ENTITY readline-fixes-patch-md5 "dd1764b84cfca6b677f44978218a75da">
    8835<!ENTITY readline-fixes-patch-size "1.3 KB">
    8936
    90 <!--
    91 <!ENTITY shadow-segfault-patch "shadow-&shadow-version;-useradd_segfault-1.patch">
    92 <!ENTITY shadow-segfault-patch-md5 "66b299c0c9ac66fdb7c91b40df5984c0">
    93 <!ENTITY shadow-segfault-patch-size "1.7 KB">
    94 -->
    9537<!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch">
    9638<!ENTITY sysvinit-consolidated-patch-md5 "17ffccbb8e18c39e8cedc32046f3a475">
    9739<!ENTITY sysvinit-consolidated-patch-size "2.5 KB">
    9840
    99 <!--
    100 <!ENTITY systemd-upstream-patch "systemd-&systemd-version;-security_fix-1.patch">
    101 <!ENTITY systemd-upstream-patch-md5 "da817e69e897d35cdffd7c45ea06be39">
    102 <!ENTITY systemd-upstream-patch-size "76.0 KB">
    103 -->
    104 <!--
    105 <!ENTITY xz-upstream-fix-patch "xz-&xz-version;-upstream_fix-1.patch">
    106 <!ENTITY xz-upstream-fix-patch-md5 "584c72ea3d8f7502b2770670f3090788">
    107 <!ENTITY xz-upstream-fix-patch-size "3.7 KB">
    108 -->
    109 <!--
    110 <!ENTITY zstd-upstream-fixes-patch "zstd-&zstd-version;-upstream_fixes-1.patch">
    111 <!ENTITY zstd-upstream-fixes-patch-md5 "a7e576e3f87415fdf388392b257cdcf3">
    112 <!ENTITY zstd-upstream-fixes-patch-size "4 KB">
    113 -->
Note: See TracChangeset for help on using the changeset viewer.