From 5012468b6cbbf9c40c0d5e9789e51d058895d2c4 Mon Sep 17 00:00:00 2001
From: Poltern <2363951+Poltern@users.noreply.github.com>
Date: Sun, 12 May 2024 23:18:03 +0500
Subject: [PATCH] Package updates Update to vim-9.1.0405 Update to
util-linux-2.40.1 Update to linux-6.8.9 Update to jinja2-3.1.4 (Python
mpdule) Update to iana-etc-20240502 Update to gcc-14.1.0
---
appendices/dependencies.xml | 4 ++--
chapter01/changelog.xml | 26 ++++++++++++++++------
chapter01/whatsnew.xml | 16 ++++++--------
chapter03/patches.xml | 20 ++++++++---------
chapter06/bash.xml | 3 ++-
chapter08/automake.xml | 3 ++-
chapter08/bash.xml | 1 +
chapter08/coreutils.xml | 4 +++-
chapter08/expect.xml | 6 ++++++
chapter08/gcc.xml | 41 +++++++++++++++++------------------
chapter08/glibc.xml | 9 ++++----
chapter08/grub.xml | 9 ++++----
chapter08/inetutils.xml | 5 +++++
chapter08/systemd.xml | 2 +-
lfs-latest-git.php | 4 ++--
packages.ent | 43 ++++++++++++++++++++-----------------
patches.ent | 14 +++++++-----
17 files changed, 122 insertions(+), 88 deletions(-)
diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml
index c39b965..1268c0b 100644
--- a/appendices/dependencies.xml
+++ b/appendices/dependencies.xml
@@ -324,8 +324,8 @@
&dependencies;
- Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, M4, Make,
- Perl и Sed
+ Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, M4,
+ Make, Perl и Sed
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index caa0c9f..229b562 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,19 +40,31 @@
-->
- 2024-05-01
+ 2024-05-11
- [bdubbs] - Add security fix to glibc. Fixes
- #5481.
+ [bdubbs] - Update to vim-9.1.0405. Addresses
+ #4500.
- [bdubbs] - Update to linux-6.8.8. Fixes
- #5480.
+ [bdubbs] - Update to util-linux-2.40.1. Fixes
+ #5482.
- [bdubbs] - Update to ncurses-6.5. Fixes
- #5483.
+ [bdubbs] - Update to linux-6.8.9. Fixes
+ #5484.
+
+
+ [bdubbs] - Update to jinja2-3.1.4 (Python module). Fixes
+ #5485.
+
+
+ [bdubbs] - Update to iana-etc-20240502. Addresses
+ #5006.
+
+
+ [bdubbs] - Update to gcc-14.1.0. Fixes
+ #5486.
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index 0fab376..08efc37 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -91,9 +91,9 @@
-
+
@@ -133,9 +133,9 @@
IPRoute2-&iproute2-version;
-
+
@@ -193,9 +193,9 @@
-
+
Ninja-&ninja-version;
@@ -294,9 +294,7 @@
Lz4-&lz4-version;
-
- glibc-2.39-upstream_fix-1.patch
-
+
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index 1b2ebe5..89d0e03 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -58,15 +58,15 @@
Контрольная сумма MD5: &coreutils-i18n-patch-md5;
-
+
+
- Glibc Upstream Fixes Patch - &glibc-upstream-patch-size;:
+ Glibc Upstream Fixes Patch - &glibc-upstream-fixes-patch-size;:
- Ссылка на загрузку:
- Контрольная сумма MD5: &glibc-upstream-patch-md5;
+ Ссылка на загрузку:
+ Контрольная сумма MD5: &glibc-upstream-fixes-patch-md5;
-
+-->
Glibc FHS Patch - &glibc-fhs-patch-size;:
diff --git a/chapter06/bash.xml b/chapter06/bash.xml
index aa6e751..888fd4e 100644
--- a/chapter06/bash.xml
+++ b/chapter06/bash.xml
@@ -48,7 +48,8 @@
./configure --prefix=/usr \
--build=$(sh support/config.guess) \
--host=$LFS_TGT \
- --without-bash-malloc
+ --without-bash-malloc \
+ bash_cv_strtold_broken=no
Значение параметров настройки:
diff --git a/chapter08/automake.xml b/chapter08/automake.xml
index bc70745..464ba43 100644
--- a/chapter08/automake.xml
+++ b/chapter08/automake.xml
@@ -61,7 +61,8 @@
Замените $((...)) количеством логических ядер, которые
вы хотите использовать, если вы не планируете использовать все.
- Известно, что тест t/subobj.sh не проходит.
+ Известно, что из 2926 тестов 52 завершились неудачно из-за несовместимости тестовых
+ сценариев с gcc-14.1 или более поздней версии.
Установите пакет:
diff --git a/chapter08/bash.xml b/chapter08/bash.xml
index 7e86681..8748240 100644
--- a/chapter08/bash.xml
+++ b/chapter08/bash.xml
@@ -49,6 +49,7 @@
./configure --prefix=/usr \
--without-bash-malloc \
--with-installed-readline \
+ bash_cv_strtold_broken=no \
--docdir=/usr/share/doc/bash-&bash-version;
diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml
index 9118f16..d0f0eb8 100644
--- a/chapter08/coreutils.xml
+++ b/chapter08/coreutils.xml
@@ -122,7 +122,9 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
стандартный ввод подключен к PTY из хост-дистрибутива, и узел устройства для
такого PTY недоступен из среды chroot LFS):
-su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check" < /dev/null
+
+su tester -c "PATH=$PATH make -k RUN_EXPENSIVE_TESTS=yes check" \
+ < /dev/null
Удалить временную группу:
diff --git a/chapter08/expect.xml b/chapter08/expect.xml
index d338ede..f02dc65 100644
--- a/chapter08/expect.xml
+++ b/chapter08/expect.xml
@@ -65,6 +65,12 @@
самого Expect), потерпят фатальный сбой, а также могут произойти другие незначительные
сбои.
+
+ Теперь внесите некоторые изменения, чтобы разрешить использование пакета с gcc-14.1
+ или более поздней версией:
+
+patch -Np1 -i ../expect-&expect-version;-gcc14-1.patch
+
Подготовьте Expect к компиляции:
./configure --prefix=/usr \
diff --git a/chapter08/gcc.xml b/chapter08/gcc.xml
index f9f798e..6138ff4 100644
--- a/chapter08/gcc.xml
+++ b/chapter08/gcc.xml
@@ -39,20 +39,7 @@
Установка пакета GCC
-
-
При сборке на x86_64 измените имя каталога по умолчанию для 64-битных библиотек
на lib
:
@@ -75,6 +62,7 @@ cd build
--enable-languages=c,c++ \
--enable-default-pie \
--enable-default-ssp \
+ --enable-host-pie \
--disable-multilib \
--disable-bootstrap \
--disable-fixincludes \
@@ -152,7 +140,16 @@ cd build
ulimit -s 32768
- Выполните тестирование под непривилегированным пользователем, но не останавливайтесь
+ Теперь удалите /исправьте несколько известных ошибок тестирования:
+
+sed -e '/cpython/d' -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp
+sed -e 's/no-pic /&-no-pie /' -i ../gcc/testsuite/gcc.target/i386/pr113689-1.c
+sed -e 's/300000/(1|300000)/' -i ../libgomp/testsuite/libgomp.c-c++-common/pr109062.c
+sed -e 's/{ target nonpic } //' \
+ -e '/GOTPCREL/d' -i ../gcc/testsuite/gcc.target/i386/fentryname3.c
+
+
+ Выполните тестирование от имени непривилегированного пользователя, но не останавливайтесь
на ошибках:
chown -R tester .
@@ -168,14 +165,14 @@ su tester -c "PATH=$PATH make -k check"
Результаты можно сравнить с результатами, размещенными на и
.
-
+pr56837.c
+ pr56837.c
и семь тестов из каталога analyzer
завершились неудачно.
-
+
Также провалился один тест libstdc++ (из более чем 15 000) — это copy.cc.
Известно, что для g++ 21 тест (из примерно 250 000), 14 тестов AddressSanitizer*
и
@@ -184,10 +181,12 @@ su tester -c "PATH=$PATH make -k check"
Кроме того, несколько тестов из каталога
vect завершаются неудачно, если
оборудование не поддерживает AVX.
-
- Не всегда удается избежать неожиданных сбоев. Разработчики GCC обычно знают
- об этих проблемах, но еще не решили их. Если результаты теста не сильно отличаются
- от результатов по указанному выше URL-адресу, можно продолжать.
+-->
+ Не всегда удается избежать неожиданных сбоев. В некоторых случаях неудачное
+ завершение тестов - это следствие их выполнения на конкретном оборудовании системы.
+ Если
+ результаты теста не сильно отличаются от результатов по указанному выше URL-адресу,
+ можно продолжать.
Установите пакет:
diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml
index 6e79e52..530d6ba 100644
--- a/chapter08/glibc.xml
+++ b/chapter08/glibc.xml
@@ -49,11 +49,12 @@
данные в каталогах, совместимых с FHS:
patch -Np1 -i ../&glibc-fhs-patch;
+
Документация Glibc рекомендует выполнять компиляцию в отдельном каталоге:
mkdir -v build
diff --git a/chapter08/grub.xml b/chapter08/grub.xml
index d96db3e..17e6d7a 100644
--- a/chapter08/grub.xml
+++ b/chapter08/grub.xml
@@ -42,10 +42,11 @@
- Если ваша система поддерживает UEFI и вы хотите загрузить LFS с UEFI, вы
- можете пропустить установку этого пакета в LFS и установить GRUB с поддержкой
- UEFI (и его зависимости), следуя инструкции
- из BLFS.
+ Если ваша система поддерживает UEFI и вы хотите загрузить LFS с UEFI, вам необходимо
+ установить GRUB с поддержкой UEFI (и его зависимости), следуя инструкциям на
+ страница BLFS. Вы можете
+ пропустить установку этого пакета или установить его и пакет из BLFS (на странице
+ BLFS приведены инструкции для обоих случаев).
diff --git a/chapter08/inetutils.xml b/chapter08/inetutils.xml
index 0f15119..0b2d6df 100644
--- a/chapter08/inetutils.xml
+++ b/chapter08/inetutils.xml
@@ -40,6 +40,11 @@
Установка пакета Inetutils
+ Сначала внесите некоторые изменения, чтобы сборку пакета с помощью gcc-14.1 или
+ более поздней версии:
+
+sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnet/telnet.c
+
Подготовьте Inetutils к компиляции:
./configure --prefix=/usr \
diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml
index fb7e434..5a0596f 100644
--- a/chapter08/systemd.xml
+++ b/chapter08/systemd.xml
@@ -228,7 +228,7 @@ ninja test
after initializing the system with systemd. -->
Известно, что тест с именем systemd:core / test-namespace
завершился неудачно в среде chroot LFS. Некоторые другие тесты могут не пройти, поскольку
- они зависят от различных параметров конфигурации ядра..
+ они зависят от различных параметров конфигурации ядра.
Установите пакет:
diff --git a/lfs-latest-git.php b/lfs-latest-git.php
index 95abb7c..52eb501 100644
--- a/lfs-latest-git.php
+++ b/lfs-latest-git.php
@@ -147,7 +147,7 @@ if ( $package == "Python" ) $dirpath = "https://www.python.org/downloads/sou
if ( $package == "shadow" ) $dirpath = github("shadow-maint/shadow");
if ( $package == "sysvinit" ) $dirpath = github("slicer69/sysvinit");
if ( $package == "MarkupSafe" ) $dirpath = "https://pypi.python.org/pypi/MarkupSafe/";
-if ( $package == "Jinja" ) $dirpath = "https://pypi.python.org/pypi/Jinja2/";
+if ( $package == "jinja" ) $dirpath = "https://pypi.python.org/pypi/Jinja2/";
if ( $package == "systemd" ) $dirpath = github("systemd/systemd");
//if ( $package == "tcl" ) $dirpath = "https://sourceforge.net/projects/tcl/files";
if ( $package == "tcl" ) $dirpath = "https://www.tcl.tk/software/tcltk/download.html";
@@ -263,7 +263,7 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd");
if ( $package == "grub" )
return find_max( $lines, "/grub/", "/^.*grub-([\d\.]+).tar.xz.*$/" );
- if ( $package == "Jinja" )
+ if ( $package == "jinja" )
return find_max( $lines, "/Jinja/", "/^.*Jinja2 ([\d\.]+).*$/" );
if ( $package == "lz" )
diff --git a/packages.ent b/packages.ent
index 63018b4..cd36062 100644
--- a/packages.ent
+++ b/packages.ent
@@ -218,10 +218,10 @@
-
-
+
+
-
+
@@ -349,10 +349,10 @@
-
-
-
-
+
+
+
+
@@ -431,12 +431,12 @@
-
+
-
+
-
+
+
+
+
-
+
@@ -733,22 +736,22 @@
-
-
+
+
-
+
-
+
-
-
+
+
diff --git a/patches.ent b/patches.ent
index bad4710..7bf0177 100644
--- a/patches.ent
+++ b/patches.ent
@@ -14,14 +14,18 @@
+
+
+
+
-
-
-
-
-
+