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 @@ + + + + - - - - - +