diff --git a/docs/build-system/binutils.md b/docs/build-system/binutils.md index aa1ed429..2a482880 100644 --- a/docs/build-system/binutils.md +++ b/docs/build-system/binutils.md @@ -2,25 +2,17 @@ ## Подготовка -Удалите проблемный тест: +Исправьте ошибку, затрагивающею сборку некоторых пакетов: ```bash {{ include('../packages/binutils/prepare') }} ``` -Примените патч +Примените патч: ```bash {{ include('../packages/binutils/patch') }} ``` - -Ошибка в системе сборки приводит к тому, что страницы руководства становятся пустыми. Можно обойти проблему, чтобы страницы руководства были созданы правильно: - -```bash -sed -i '63d' etc/texi2pod.pl -find -name \*.1 -delete -``` - ## Настройка ```bash diff --git a/docs/build-system/libffi.md b/docs/build-system/libffi.md index 2309aefe..fdfe0523 100644 --- a/docs/build-system/libffi.md +++ b/docs/build-system/libffi.md @@ -58,4 +58,3 @@ Библиотеки: libffi.so - diff --git a/docs/build-system/zstd.md b/docs/build-system/zstd.md index a82e6365..d88887a7 100644 --- a/docs/build-system/zstd.md +++ b/docs/build-system/zstd.md @@ -1,5 +1,13 @@ {{ include('../packages/zstd/README.md') }} +## Подготовка + +Примените патч: + +```bash +patch -Np1 -i ../zstd-1.5.2-upstream_fixes-1.patch +``` + ## Сборка ```bash @@ -46,7 +54,7 @@ ## Установленные файлы -Программы: zstd, zstdcat (link to zstd), zstdgrep, zstdless, zstdmt (ссылка на zstd), and unzstd (ссылка на zstd) +Программы: zstd, zstdcat (ссылка на zstd), zstdgrep, zstdless, zstdmt (ссылка на zstd), and unzstd (ссылка на zstd) Библиотеки: libzstd.so diff --git a/docs/build-temp-system/binutils-p2.md b/docs/build-temp-system/binutils-p2.md index 4faa9fea..ac59727f 100644 --- a/docs/build-temp-system/binutils-p2.md +++ b/docs/build-temp-system/binutils-p2.md @@ -2,6 +2,12 @@ ## Подготовка +Исправьте ошибку связанную с поставкой устаревшей версии `libtool` вместе с `Binutils`: + +```bash +sed '6009s/$add_dir//' -i ltmain.sh +``` + Пакет Binutils требует использовать отдельную директорию для сборки. Создайте её: ```bash @@ -35,6 +41,5 @@ make ## Установка ```bash -make DESTDIR=$LIN install -j1 -install -vm755 libctf/.libs/libctf.so.0.0.0 $LIN/usr/lib +make DESTDIR=$LIN install ``` diff --git a/docs/build-temp-system/gcc-p2.md b/docs/build-temp-system/gcc-p2.md index b40538a8..7508e8fa 100644 --- a/docs/build-temp-system/gcc-p2.md +++ b/docs/build-temp-system/gcc-p2.md @@ -32,32 +32,40 @@ mkdir -v build cd build ``` +Исправьте ошибку кросс-компиляции `libstdc++': + +```bash +sed 's/gnu++17/& -nostdinc++/' \ + -i libstdc++-v3/src/c++17/Makefile.in +``` + Разрешим сборку `libgcc` с поддержкой многопоточности: ```bash -mkdir -pv $LIN_TGT/libgcc -ln -s ../../../libgcc/gthr-posix.h $LIN_TGT/libgcc/gthr-default.h +sed '/thread_header =/s/@.*@/gthr-posix.h/' \ + -i libgcc/Makefile.in libstdc++-v3/include/Makefile.in ``` Настройка: ```bash -../configure \ - --build=$(../config.guess) \ - --host=$LIN_TGT \ - --prefix=/usr \ - CC_FOR_TARGET=$LIN_TGT-gcc \ - --with-build-sysroot=$LIN \ - --enable-initfini-array \ - --disable-nls \ - --disable-decimal-float \ - --disable-libatomic \ - --disable-libgomp \ - --disable-libquadmath \ - --disable-libssp \ - --disable-libvtv \ - --disable-libstdcxx \ - --enable-languages=c,c++ \ +../configure \ + --build=$(../config.guess) \ + --host=$LIN_TGT \ + --target=$LIN_TGT \ + LDFLAGS_FOR_TARGET=-L$PWD/$LIN_TGT/libgcc \ + --prefix=/usr \ + --with-build-sysroot=$LFS \ + --enable-initfini-array \ + --disable-nls \ + --disable-multilib \ + --disable-decimal-float \ + --disable-libatomic \ + --disable-libgomp \ + --disable-libquadmath \ + --disable-libssp \ + --disable-libvtv \ + --enable-languages=c,c++ \ --disable-multilib ``` @@ -69,7 +77,7 @@ ln -s ../../../libgcc/gthr-posix.h $LIN_TGT/libgcc/gthr-default.h `--enable-initfini-array` - параметр заставляет использовать некоторые внутренние структуры данных, которые необходимы, но не могут быть обнаружены при построении кросс-компилятора. -`--disable-decimal-float, --disable-threads, --disable-libatomic, --disable-libgomp, --disable-libquadmath, --disable-libssp, --disable-libvtv, --disable-libstdcxx` - параметр отключают поддержку десятичных расширений с плавающей запятой, потоковой передачи, libatomic, libgomp, libquadmath, libssp, libvtv и стандартной библиотеки C++ соответственно. Эти функции не будут скомпилированы при сборке кросс-компилятора и не являются необходимыми для кросс-компиляции временной libc. +`--disable-decimal-float, --disable-threads, --disable-libatomic, --disable-libgomp, --disable-libquadmath, --disable-libssp, --disable-libvtv` - параметры отключают поддержку десятичных расширений с плавающей запятой, потоковой передачи, libatomic, libgomp, libquadmath, libssp и libvtv не требующиеся на данном этапе. `--enable-languages​​=c,c++` - опция включает поддержку компиляторов C и C++. Это единственные языки, которые нужны сейчас. diff --git a/docs/build-temp-system/libstdc-p2.md b/docs/build-temp-system/libstdc-p2.md deleted file mode 100644 index 1ab4af07..00000000 --- a/docs/build-temp-system/libstdc-p2.md +++ /dev/null @@ -1,58 +0,0 @@ -# LibstdC++ проход 2 - -Пакет содержит библиотеку времени исполнения, необходимую программам, написанным на языке C++ и собранным при помощи компилятора GNU. - -{{ include('../packages/gcc/README.md') }} - - -## Настройка - -???+ warning "Предупреждение" - **Данный пакет входит в архив с исходниками GCC**. - -Создайте необходимую символическую ссылку: - -```bash -ln -s gthr-posix.h libgcc/gthr-default.h -``` - -Создайте отдельную директорию для сборки: - -```bash -mkdir -v build -cd build -``` - -Запустите скрипт `configure` - -```bash -../libstdc++-v3/configure \ - CXXFLAGS="-O2 -s -D_GNU_SOURCE" \ - --prefix=/usr \ - --disable-nls \ - --host=$(uname -m)-lin-linux-gnu \ - --disable-libstdcxx-pch --disable-multilib -``` - -### Для multilib - -Замените `--disable-multilib` на `--enable-multilib`. - -### Значения параметров - -`--disable-libstdcxx-pch` - отключает установку предварительно скомпилированных заголовков, ненужных на данном этапе - -`--host=$(uname -m)-lin-linux-gnu` - Libstdc++ должна быть собрана с такими же параметрами, что и GCC - -## Сборка - -```bash -make -``` - -## Установка - - -```bash -make install -``` diff --git a/docs/changelog.md b/docs/changelog.md index c5d12490..0c3152b6 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -11,6 +11,16 @@ ## Обновление пакетов +- linux 5.16.12 +- zstd 1.5.2 +- expat 2.4.6 +- gdbm 1.23 +- iana-etc 20220222 +- man-db 2.10.1 +- binutils 2.38 +- meson 0.61.2 +- MarkupSafe 2.1.0 +- dbus 1.14.0 - glibc 2.35 - findutils 4.9.0 - expat 2.4.4 @@ -33,6 +43,8 @@ ## Изменения +- Инструкции установки libstdc++ при втором проходе включены в инструкции для GCC +- Добавлены патчи для Binutils и Zstd - Удалена устаревшая команда для glibc - Добавлен патч для coreutils - Пакет `file` удален из временной системы, так как не требуется на данном этапе. diff --git a/docs/packages/binutils-2.37-upstream_fix-1/.filename b/docs/packages/binutils-2.37-upstream_fix-1/.filename deleted file mode 100644 index a136c8c1..00000000 --- a/docs/packages/binutils-2.37-upstream_fix-1/.filename +++ /dev/null @@ -1 +0,0 @@ -binutils-2.37-upstream_fix-1.patch \ No newline at end of file diff --git a/docs/packages/binutils-2.37-upstream_fix-1/.name b/docs/packages/binutils-2.37-upstream_fix-1/.name deleted file mode 100644 index e0697aa8..00000000 --- a/docs/packages/binutils-2.37-upstream_fix-1/.name +++ /dev/null @@ -1 +0,0 @@ -binutils-2.37-upstream_fix-1-1 \ No newline at end of file diff --git a/docs/packages/binutils-2.37-upstream_fix-1/.name_short b/docs/packages/binutils-2.37-upstream_fix-1/.name_short deleted file mode 100644 index 175b7483..00000000 --- a/docs/packages/binutils-2.37-upstream_fix-1/.name_short +++ /dev/null @@ -1 +0,0 @@ -binutils-2.37-upstream_fix-1 \ No newline at end of file diff --git a/docs/packages/binutils-2.37-upstream_fix-1/.scripts b/docs/packages/binutils-2.37-upstream_fix-1/.scripts deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/packages/binutils-2.37-upstream_fix-1/.url b/docs/packages/binutils-2.37-upstream_fix-1/.url deleted file mode 100644 index 48fc23bb..00000000 --- a/docs/packages/binutils-2.37-upstream_fix-1/.url +++ /dev/null @@ -1 +0,0 @@ -https://lx4u.ru/downloads/packages/binutils-2.37-upstream_fix-1.patch \ No newline at end of file diff --git a/docs/packages/binutils-2.37-upstream_fix-1/.version b/docs/packages/binutils-2.37-upstream_fix-1/.version deleted file mode 100644 index 56a6051c..00000000 --- a/docs/packages/binutils-2.37-upstream_fix-1/.version +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/docs/packages/binutils-2.37-upstream_fix-1/README.md b/docs/packages/binutils-2.37-upstream_fix-1/README.md deleted file mode 100644 index d967db7d..00000000 --- a/docs/packages/binutils-2.37-upstream_fix-1/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# binutils-2.37-upstream_fix-1 - - - -Версия: **1** - -Размер: **0.01Mb** - -Приоритет: **Необходимый** - -Оригинальное расположение: [https://www.linuxfromscratch.org/patches/lfs/development/binutils-2.37-upstream_fix-1.patch](https://www.linuxfromscratch.org/patches/lfs/development/binutils-2.37-upstream_fix-1.patch) - -Ссылка для загрузки: [https://lx4u.ru/downloads/packages/binutils-2.37-upstream_fix-1.patch](https://lx4u.ru/downloads/packages/binutils-2.37-upstream_fix-1.patch) - -MD5: **3518fa864fe8d7ef65be4960f380b03b** - -Домашняя страница: []() \ No newline at end of file diff --git a/docs/packages/binutils/patch b/docs/packages/binutils/patch index be52e1a3..0e697658 100644 --- a/docs/packages/binutils/patch +++ b/docs/packages/binutils/patch @@ -1 +1 @@ -patch -Np1 -i ../binutils-2.37-upstream_fix-1.patch \ No newline at end of file +patch -Np1 -i ../binutils-2.38-lto_fix-1.patch diff --git a/docs/packages/binutils/prepare b/docs/packages/binutils/prepare index 1a0fd8f9..712d5548 100644 --- a/docs/packages/binutils/prepare +++ b/docs/packages/binutils/prepare @@ -1 +1,2 @@ -sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in +sed -e '/R_386_TLS_LE /i \ || (TYPE) == R_386_TLS_IE \\' \ + -i ./bfd/elfxx-x86.h diff --git a/docs/packages/packages.json b/docs/packages/packages.json index cd994020..63731a7c 100644 --- a/docs/packages/packages.json +++ b/docs/packages/packages.json @@ -130,11 +130,11 @@ }, { "name": "bc", - "fileName": "bc-5.2.1.tar.xz", + "fileName": "bc-5.2.2.tar.xz", "description": "BC (basic calculator) — интерактивный интерпретатор Си-подобного языка, позволяет выполнять вычисления с произвольно заданной точностью. Часто используется как калькулятор в командной строке UNIX-подобных операционных систем.", - "url": "https://github.com/gavinhoward/bc/releases/download/5.2.1/bc-5.2.1.tar.xz", + "url": "https://github.com/gavinhoward/bc/releases/download/5.2.2/bc-5.2.2.tar.xz", "homeUrl": "https://git.yzena.com/gavin/bc", - "version": "5.2.1", + "version": "5.2.2", "releasesUrl": "https://git.yzena.com/gavin/bc/releases", "priority": "important", "md5": "19dbb20c3aba33acacec29edd0b2c46e", @@ -149,15 +149,15 @@ "test" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/bc-5.2.1.tar.xz" + "downloadUrl": "https://lx4u.ru/downloads/packages/bc-5.2.2.tar.xz" }, { "name": "binutils", - "fileName": "binutils-2.37.tar.xz", + "fileName": "binutils-2.38.tar.xz", "description": "Пакет содержит компоновщик, ассемблер и другие утилиты и инструменты для работы с объектными файлами. Программы отсюда необходимы для сборки большинства пакетов.", - "url": "https://ftp.gnu.org/gnu/binutils/binutils-2.37.tar.xz", + "url": "https://ftp.gnu.org/gnu/binutils/binutils-2.38.tar.xz", "homeUrl": "https://www.gnu.org/software/binutils", - "version": "2.37", + "version": "2.38", "releasesUrl": "https://ftp.gnu.org/gnu/binutils", "priority": "required", "md5": "e78d9ff2976b745a348f4c1f27c77cb1", @@ -180,7 +180,7 @@ "test" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/binutils-2.37.tar.xz" + "downloadUrl": "https://lx4u.ru/downloads/packages/binutils-2.38.tar.xz" }, { "name": "bison", @@ -292,11 +292,11 @@ }, { "name": "dbus", - "fileName": "dbus-1.13.18.tar.xz", + "fileName": "dbus-1.14.0.tar.xz", "description": "D-Bus - система межпроцессного взаимодействия, которая позволяет приложениям в операционной системе сообщаться друг с другом. D-Bus предоставляет собой системную службу (для обработки таких событий, как 'Добавлено новое аппаратное устройство' или 'очередь принтеров изменена') и системную службу сеанса для каждого пользователя (для общих потребностей IPC среди пользовательских приложений.) Кроме того, D-Bus построен поверх общей платформы передачи сообщений от одного к другому, которая может использоваться любыми двумя приложениями для связки (в обход шины сообщений).", - "url": "https://dbus.freedesktop.org/releases/dbus/dbus-1.13.18.tar.xz", + "url": "https://dbus.freedesktop.org/releases/dbus/dbus-1.14.0.tar.xz", "homeUrl": "https://www.freedesktop.org/wiki/Software/dbus/", - "version": "1.13.18", + "version": "1.14.0", "releasesUrl": "https://dbus.freedesktop.org/releases/dbus/", "priority": "important", "md5": "b25e4fcfbfd4889bef76f7241dfa1a04", @@ -317,7 +317,7 @@ "test" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/dbus-1.13.18.tar.xz" + "downloadUrl": "https://lx4u.ru/downloads/packages/dbus-1.14.0.tar.xz" }, { "name": "dejagnu", @@ -475,11 +475,11 @@ }, { "name": "expat", - "fileName": "expat-2.4.4.tar.xz", + "fileName": "expat-2.4.6.tar.xz", "description": "Expat - потокоориентированная библиотека парсинга XML, написанная на C. Как один из наиболее доступных XML парсеров, широко используется в открытом программном обеспечении.", - "url": "https://prdownloads.sourceforge.net/expat/expat-2.4.4.tar.xz", + "url": "https://prdownloads.sourceforge.net/expat/expat-2.4.6.tar.xz", "homeUrl": "https://sourceforge.net/projects/expat", - "version": "2.4.4", + "version": "2.4.6", "releasesUrl": "https://sourceforge.net/projects/expat/files/expat/", "priority": "important", "md5": "a712d23b7afb32e7527cf0b3fd8f12ac", @@ -499,7 +499,7 @@ "test" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/expat-2.4.4.tar.xz" + "downloadUrl": "https://lx4u.ru/downloads/packages/expat-2.4.6.tar.xz" }, { "name": "expect", @@ -648,11 +648,11 @@ }, { "name": "gdbm", - "fileName": "gdbm-1.22.tar.gz", + "fileName": "gdbm-1.23.tar.gz", "description": "Библиотека функций базы данных, которая использует расширяемое хэширование и работает аналогично стандартным функциям dbm UNIX. Эти процедуры предоставляются программисту, которому необходимо создать и обработать хешированную базу данных. Основное предназначение gdbm — хранение пары ключ/данные в файле данных. Каждый ключ должен быть уникальным и сопряженным только с одним элементом данных. Ключи не могут быть напрямую доступны в отсортированном порядке.", - "url": "https://ftp.gnu.org/gnu/gdbm/gdbm-1.22.tar.gz", + "url": "https://ftp.gnu.org/gnu/gdbm/gdbm-1.23.tar.gz", "homeUrl": "https://gnu.org/software/gdbm", - "version": "1.22", + "version": "1.23", "releasesUrl": "https://ftp.gnu.org/gnu/gdbm/", "priority": "important", "md5": "0bbd38f12656e4728e2f7c4708aec014", @@ -667,7 +667,7 @@ "test" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/gdbm-1.22.tar.gz" + "downloadUrl": "https://lx4u.ru/downloads/packages/gdbm-1.23.tar.gz" }, { "name": "gettext", @@ -873,11 +873,11 @@ }, { "name": "iana-etc", - "fileName": "iana-etc-20220110.tar.gz", + "fileName": "iana-etc-20220222.tar.gz", "description": "Пакет Iana-Etc содержит данные для сетевых служб и протоколов.", - "url": "https://github.com/Mic92/iana-etc/releases/download/20220110/iana-etc-20220110.tar.gz", + "url": "https://github.com/Mic92/iana-etc/releases/download/20220222/iana-etc-20220222.tar.gz", "homeUrl": "https://www.iana.org/protocols", - "version": "20220110", + "version": "20220222", "releasesUrl": "https://github.com/Mic92/iana-etc/releases/", "priority": "required", "md5": "cd22a9f75b03a2be5638e67d4e72bf19", @@ -889,7 +889,7 @@ "install" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/iana-etc-20220110.tar.gz" + "downloadUrl": "https://lx4u.ru/downloads/packages/iana-etc-20220222.tar.gz" }, { "name": "inetutils", @@ -1194,11 +1194,11 @@ }, { "name": "linux", - "fileName": "linux-5.16.2.tar.xz", + "fileName": "linux-5.16.12.tar.xz", "description": "Ядро операционной системы.", - "url": "https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.16.2.tar.xz", + "url": "https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.16.12.tar.xz", "homeUrl": "https://www.kernel.org", - "version": "5.16.2", + "version": "5.16.12", "releasesUrl": "https://www.kernel.org", "priority": "required", "md5": "fd00badc3b53d42da3d84a7cf6f53f17", @@ -1206,7 +1206,7 @@ "installedSize": 0, "sbu": 0, "sbu2": 4.4, - "downloadUrl": "https://lx4u.ru/downloads/packages/linux-5.16.2.tar.xz", + "downloadUrl": "https://lx4u.ru/downloads/packages/linux-5.16.12.tar.xz", "scripts": [], "multilibSupport": false }, @@ -1259,11 +1259,11 @@ }, { "name": "man-db", - "fileName": "man-db-2.9.4.tar.xz", + "fileName": "man-db-2.10.1.tar.xz", "description": "Пакет Man-DB содержит программы для поиска и просмотра справочных страниц.", - "url": "https://download.savannah.gnu.org/releases/man-db/man-db-2.9.4.tar.xz", + "url": "https://download.savannah.gnu.org/releases/man-db/man-db-2.10.1.tar.xz", "homeUrl": "https://savannah.nongnu.org/projects/man-db", - "version": "2.9.4", + "version": "2.10.1", "releasesUrl": "https://download.savannah.gnu.org/releases/man-db/", "priority": "optional", "md5": "6e233a555f7b9ae91ce7cd0faa322bce", @@ -1278,7 +1278,7 @@ "test" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/man-db-2.9.4.tar.xz" + "downloadUrl": "https://lx4u.ru/downloads/packages/man-db-2.10.1.tar.xz" }, { "name": "man-pages", @@ -1302,11 +1302,11 @@ }, { "name": "meson", - "fileName": "meson-0.61.1.tar.gz", + "fileName": "meson-0.61.2.tar.gz", "description": "Meson - высокопроизводительная и удобная система сборки с открытым исходным кодом. Пакет содержит инструменты для автоматизации сборки программ. Основная цель Meson - минимизировать затраты времени на конфигурирование системы сборки.", - "url": "https://github.com/mesonbuild/meson/releases/download/0.61.1/meson-0.61.1.tar.gz", + "url": "https://github.com/mesonbuild/meson/releases/download/0.61.2/meson-0.61.2.tar.gz", "homeUrl": "https://mesonbuild.com", - "version": "0.61.1", + "version": "0.61.2", "releasesUrl": "https://github.com/mesonbuild/meson/releases/", "priority": "important", "md5": "8ed66d5537275df3defffb66d1fb897f", @@ -1320,7 +1320,7 @@ "prepare" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/meson-0.61.1.tar.gz" + "downloadUrl": "https://lx4u.ru/downloads/packages/meson-0.61.2.tar.gz" }, { "name": "mpc", @@ -1699,11 +1699,11 @@ }, { "name": "markupsafe", - "fileName": "MarkupSafe-2.0.1.tar.gz", + "fileName": "MarkupSafe-2.1.0.tar.gz", "description": "MarkupSafe - это модуль Python, который экранирует символы, поэтому текст безопасно использовать в HTML и XML. Символы, имеющие особое значение, заменяются так, чтобы они отображались как фактические символы. Это смягчает атаки инъекций, что означает, что вводимые пользователем данные, которым не доверяют, могут безопасно отображаться на странице.", - "url": "https://files.pythonhosted.org/packages/source/M/MarkupSafe/MarkupSafe-2.0.1.tar.gz", - "homeUrl": "https://markupsafe.palletsprojects.com/en/2.0.x/", - "version": "2.0.1", + "url": "https://files.pythonhosted.org/packages/source/M/MarkupSafe/MarkupSafe-2.1.0.tar.gz", + "homeUrl": "https://markupsafe.palletsprojects.com/en/2.1.x/", + "version": "2.1.0", "releasesUrl": "https://pypi.org/project/MarkupSafe/#files", "priority": "required", "md5": "892e0fefa3c488387e5cc0cad2daa523", @@ -1716,7 +1716,7 @@ "install" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/MarkupSafe-2.0.1.tar.gz" + "downloadUrl": "https://lx4u.ru/downloads/packages/MarkupSafe-2.1.0.tar.gz" }, { "name": "jinja2", @@ -1902,11 +1902,11 @@ }, { "name": "util-linux", - "fileName": "util-linux-2.37.2.tar.xz", + "fileName": "util-linux-2.37.4.tar.xz", "description": "Содержит стандартный набор служебных утилит командной строки, такие как: утилиты для работы с файловой системой, консолью, разделами, и сообщениями.", - "url": "https://www.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.2.tar.xz", + "url": "https://www.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.4.tar.xz", "homeUrl": "https://en.wikipedia.org/wiki/Util-linux", - "version": "2.37.2", + "version": "2.37.4", "releasesUrl": "https://www.kernel.org/pub/linux/utils/util-linux/", "priority": "required", "md5": "d659bf7cd417d93dc609872f6334b019", @@ -1933,15 +1933,15 @@ "test-systemd" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/util-linux-2.37.2.tar.xz" + "downloadUrl": "https://lx4u.ru/downloads/packages/util-linux-2.37.4.tar.xz" }, { "name": "vim", - "fileName": "vim-8.2.4115.tar.gz", + "fileName": "vim-8.2.4489.tar.gz", "description": "Один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, возможными благодаря расширениям и надстройкам.", - "url": "https://github.com/vim/vim/archive/refs/tags/v8.2.4115.tar.gz", + "url": "https://github.com/vim/vim/archive/refs/tags/v8.2.4489.tar.gz", "homeUrl": "https://www.vim.org/", - "version": "8.2.4115", + "version": "8.2.4489", "releasesUrl": "https://github.com/vim/vim/releases", "priority": "optional", "md5": "c9a0f3b6b08f9ed89b0ec6c45180442c", @@ -1958,7 +1958,7 @@ "test" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/vim-8.2.4115.tar.gz" + "downloadUrl": "https://lx4u.ru/downloads/packages/vim-8.2.4489.tar.gz" }, { "name": "nano", @@ -2069,11 +2069,11 @@ }, { "name": "zstd", - "fileName": "zstd-1.5.1.tar.gz", + "fileName": "zstd-1.5.2.tar.gz", "description": "Zstandard - это алгоритм сжатия в реальном времени, обеспечивающий высокую степень сжатия. Он предлагает очень широкий спектр компромиссов между сжатием и скоростью, а также очень быстрым декодером.", - "url": "https://github.com/facebook/zstd/releases/download/v1.5.1/zstd-1.5.1.tar.gz", + "url": "https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz", "homeUrl": "https://facebook.github.io/zstd/", - "version": "1.5.1", + "version": "1.5.2", "releasesUrl": "https://github.com/facebook/zstd/releases/", "priority": "important", "md5": "b97d53547220355907dedec7de9a4f29", @@ -2092,7 +2092,7 @@ "test" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/zstd-1.5.1.tar.gz" + "downloadUrl": "https://lx4u.ru/downloads/packages/zstd-1.5.2.tar.gz" }, { "name": "popt", @@ -2433,10 +2433,10 @@ "scripts": [] }, { - "name": "binutils-2.37-upstream_fix-1", - "fileName": "binutils-2.37-upstream_fix-1.patch", + "name": "binutils-2.38-lto_fix-1", + "fileName": "binutils-2.38-lto_fix-1.patch", "description": "", - "url": "https://www.linuxfromscratch.org/patches/lfs/development/binutils-2.37-upstream_fix-1.patch", + "url": "https://www.linuxfromscratch.org/patches/lfs/development/binutils-2.38-lto_fix-1.patch", "homeUrl": "", "version": "1", "releasesUrl": "", @@ -2446,7 +2446,7 @@ "installedSize": 0, "sbu": 0, "sbu2": 0, - "downloadUrl": "https://lx4u.ru/downloads/packages/binutils-2.37-upstream_fix-1.patch", + "downloadUrl": "https://lx4u.ru/downloads/packages/binutils-2.38-lto_fix-1.patch", "multilibSupport": false, "scripts": [] }, @@ -2468,4 +2468,4 @@ "multilibSupport": false, "scripts": [] } -] \ No newline at end of file +] diff --git a/docs/packages/tcl/configure b/docs/packages/tcl/configure index d542de94..98942d3f 100644 --- a/docs/packages/tcl/configure +++ b/docs/packages/tcl/configure @@ -1,5 +1,4 @@ SRCDIR=$(pwd) cd unix ./configure --prefix=/usr \ - --mandir=/usr/share/man \ - $([ "$(uname -m)" = x86_64 ] && echo --enable-64bit) \ No newline at end of file + --mandir=/usr/share/man diff --git a/docs/patches/binutils-2.37-upstream_fix-1.patch b/docs/patches/binutils-2.37-upstream_fix-1.patch deleted file mode 100644 index eec8bf22..00000000 --- a/docs/patches/binutils-2.37-upstream_fix-1.patch +++ /dev/null @@ -1,239 +0,0 @@ -Submitted By: Bruce Dubbs -Date: 2021-08-13 -Initial Package Version: 2.37 -Upstream Status: Committed -Origin: Upstream -Description: bfd: Close the file descriptor if there is no archive fd - -From 1c611b40e6bfc8029bff7696814330b5bc0ee5c0 Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Mon, 26 Jul 2021 05:59:55 -0700 -Subject: [PATCH] bfd: Close the file descriptor if there is no archive fd - -Close the file descriptor if there is no archive plugin file descriptor -to avoid running out of file descriptors on thin archives with many -archive members. - -bfd/ - - PR ld/28138 - * plugin.c (bfd_plugin_close_file_descriptor): Close the file - descriptor there is no archive plugin file descriptor. - -ld/ - - PR ld/28138 - * testsuite/ld-plugin/lto.exp: Run tmpdir/pr28138 only for - native build. - - PR ld/28138 - * testsuite/ld-plugin/lto.exp: Run ld/28138 tests. - * testsuite/ld-plugin/pr28138.c: New file. - * testsuite/ld-plugin/pr28138-1.c: Likewise. - * testsuite/ld-plugin/pr28138-2.c: Likewise. - * testsuite/ld-plugin/pr28138-3.c: Likewise. - * testsuite/ld-plugin/pr28138-4.c: Likewise. - * testsuite/ld-plugin/pr28138-5.c: Likewise. - * testsuite/ld-plugin/pr28138-6.c: Likewise. - * testsuite/ld-plugin/pr28138-7.c: Likewise. - -(cherry picked from commit 5a98fb7513b559e20dfebdbaa2a471afda3b4742) -(cherry picked from commit 7dc37e1e1209c80e0bab784df6b6bac335e836f2) ---- - bfd/plugin.c | 8 +++++++ - ld/testsuite/ld-plugin/lto.exp | 34 ++++++++++++++++++++++++++++++ - ld/testsuite/ld-plugin/pr28138-1.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-2.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-3.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-4.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-5.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-6.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-7.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138.c | 20 ++++++++++++++++++ - 10 files changed, 104 insertions(+) - create mode 100644 ld/testsuite/ld-plugin/pr28138-1.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-2.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-3.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-4.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-5.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-6.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-7.c - create mode 100644 ld/testsuite/ld-plugin/pr28138.c - -diff --git a/bfd/plugin.c b/bfd/plugin.c -index 6cfa2b66470..3bab8febe88 100644 ---- a/bfd/plugin.c -+++ b/bfd/plugin.c -@@ -291,6 +291,14 @@ bfd_plugin_close_file_descriptor (bfd *abfd, int fd) - && !bfd_is_thin_archive (abfd->my_archive)) - abfd = abfd->my_archive; - -+ /* Close the file descriptor if there is no archive plugin file -+ descriptor. */ -+ if (abfd->archive_plugin_fd == -1) -+ { -+ close (fd); -+ return; -+ } -+ - abfd->archive_plugin_fd_open_count--; - /* Dup the archive plugin file descriptor for later use, which - will be closed by _bfd_archive_close_and_cleanup. */ -diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp -index def69e43ab3..999d911ce6a 100644 ---- a/ld/testsuite/ld-plugin/lto.exp -+++ b/ld/testsuite/ld-plugin/lto.exp -@@ -687,6 +687,40 @@ if { [is_elf_format] && [check_lto_shared_available] } { - } - } - -+run_cc_link_tests [list \ -+ [list \ -+ "Build pr28138.a" \ -+ "-T" "" \ -+ {pr28138-1.c pr28138-2.c pr28138-3.c pr28138-4.c pr28138-5.c \ -+ pr28138-6.c pr28138-7.c} {} "pr28138.a" \ -+ ] \ -+ [list \ -+ "Build pr28138.o" \ -+ "" "" \ -+ {pr28138.c} {} \ -+ ] \ -+] -+ -+set exec_output [run_host_cmd "sh" \ -+ "-c \"ulimit -n 20; \ -+ $CC -Btmpdir/ld -o tmpdir/pr28138 \ -+ tmpdir/pr28138.o tmpdir/pr28138.a\""] -+set exec_output [prune_warnings $exec_output] -+if [string match "" $exec_output] then { -+ if { [isnative] } { -+ set exec_output [run_host_cmd "tmpdir/pr28138" ""] -+ if [string match "PASS" $exec_output] then { -+ pass "PR ld/28138" -+ } else { -+ fail "PR ld/28138" -+ } -+ } else { -+ pass "PR ld/28138" -+ } -+} else { -+ fail "PR ld/28138" -+} -+ - set testname "Build liblto-11.a" - remote_file host delete "tmpdir/liblto-11.a" - set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"] -diff --git a/ld/testsuite/ld-plugin/pr28138-1.c b/ld/testsuite/ld-plugin/pr28138-1.c -new file mode 100644 -index 00000000000..51d119e1642 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-1.c -@@ -0,0 +1,6 @@ -+extern int a0(void); -+int -+a1(void) -+{ -+ return 1 + a0(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-2.c b/ld/testsuite/ld-plugin/pr28138-2.c -new file mode 100644 -index 00000000000..1120cd797e9 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-2.c -@@ -0,0 +1,6 @@ -+extern int a1(void); -+int -+a2(void) -+{ -+ return 1 + a1(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-3.c b/ld/testsuite/ld-plugin/pr28138-3.c -new file mode 100644 -index 00000000000..ec464947ee6 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-3.c -@@ -0,0 +1,6 @@ -+extern int a2(void); -+int -+a3(void) -+{ -+ return 1 + a2(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-4.c b/ld/testsuite/ld-plugin/pr28138-4.c -new file mode 100644 -index 00000000000..475701b2c5c ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-4.c -@@ -0,0 +1,6 @@ -+extern int a3(void); -+int -+a4(void) -+{ -+ return 1 + a3(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-5.c b/ld/testsuite/ld-plugin/pr28138-5.c -new file mode 100644 -index 00000000000..e24f86c363e ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-5.c -@@ -0,0 +1,6 @@ -+extern int a4(void); -+int -+a5(void) -+{ -+ return 1 + a4(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-6.c b/ld/testsuite/ld-plugin/pr28138-6.c -new file mode 100644 -index 00000000000..b5b938bdb21 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-6.c -@@ -0,0 +1,6 @@ -+extern int a5(void); -+int -+a6(void) -+{ -+ return 1 + a5(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-7.c b/ld/testsuite/ld-plugin/pr28138-7.c -new file mode 100644 -index 00000000000..4ef75bf0f0c ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-7.c -@@ -0,0 +1,6 @@ -+extern int a6(void); -+int -+a7(void) -+{ -+ return 1 + a6(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138.c b/ld/testsuite/ld-plugin/pr28138.c -new file mode 100644 -index 00000000000..68252c9f382 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138.c -@@ -0,0 +1,20 @@ -+#include -+ -+extern int a7(void); -+ -+int -+a0(void) -+{ -+ return 0; -+} -+ -+int -+main() -+{ -+ if (a7() == 7) -+ { -+ printf ("PASS\n"); -+ return 0; -+ } -+ return 1; -+} --- -2.27.0 - diff --git a/docs/patches/binutils-2.38-lto_fix-1.patch b/docs/patches/binutils-2.38-lto_fix-1.patch new file mode 100644 index 00000000..89cc2db2 --- /dev/null +++ b/docs/patches/binutils-2.38-lto_fix-1.patch @@ -0,0 +1,122 @@ +Submitted By: Xi Ruoyao +Date: 2021-02-14 +Initial Package Version: 2.38 +Upstream Status: Committed +Origin: Upstream +Description: Unbreak building some BLFS packages with LTO + enabled by default + +From 20ea3acc727f3be6322dfbd881e506873535231d Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Fri, 11 Feb 2022 15:13:19 -0800 +Subject: [PATCH] ld: Keep indirect symbol from IR if referenced from shared + object + +Don't change indirect symbol defined in IR to undefined if it is +referenced from shared object. + +bfd/ + + PR ld/28879 + * elflink.c (_bfd_elf_merge_symbol): Don't change indirect + symbol defined in IR to undefined if it is referenced from + shared object. + +ld/ + + PR ld/28879 + * testsuite/ld-plugin/lto.exp: Run PR ld/28879 tests. + * testsuite/ld-plugin/pr28879a.cc: New file. + * testsuite/ld-plugin/pr28879b.cc: Likewise. +--- + bfd/elflink.c | 5 ++--- + ld/testsuite/ld-plugin/lto.exp | 26 ++++++++++++++++++++++++++ + ld/testsuite/ld-plugin/pr28879a.cc | 7 +++++++ + ld/testsuite/ld-plugin/pr28879b.cc | 8 ++++++++ + 4 files changed, 43 insertions(+), 3 deletions(-) + create mode 100644 ld/testsuite/ld-plugin/pr28879a.cc + create mode 100644 ld/testsuite/ld-plugin/pr28879b.cc + +diff --git a/bfd/elflink.c b/bfd/elflink.c +index 6fa18d92007..f8521426cad 100644 +--- a/bfd/elflink.c ++++ b/bfd/elflink.c +@@ -1294,9 +1294,8 @@ _bfd_elf_merge_symbol (bfd *abfd, + h->root.non_ir_ref_dynamic = true; + hi->root.non_ir_ref_dynamic = true; + } +- +- if ((oldbfd->flags & BFD_PLUGIN) != 0 +- && hi->root.type == bfd_link_hash_indirect) ++ else if ((oldbfd->flags & BFD_PLUGIN) != 0 ++ && hi->root.type == bfd_link_hash_indirect) + { + /* Change indirect symbol from IR to undefined. */ + hi->root.type = bfd_link_hash_undefined; +diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp +index a70a84562b8..64b880265ee 100644 +--- a/ld/testsuite/ld-plugin/lto.exp ++++ b/ld/testsuite/ld-plugin/lto.exp +@@ -471,6 +471,32 @@ set lto_link_elf_tests [list \ + [list {pr27441c.so} \ + {-shared -fPIC -Wl,--as-needed tmpdir/pr27441c.o tmpdir/pr27441b.so tmpdir/pr27441a.so} {-fPIC} \ + {dummy.c} {{readelf {-dW} pr27441c.d}} {pr27441c.so}] \ ++ [list \ ++ "Build libpr28879a.so" \ ++ "-shared" \ ++ "-O0 -fpic" \ ++ {pr28879a.cc} \ ++ {} \ ++ "libpr28879a.so" \ ++ "c++" \ ++ ] \ ++ [list \ ++ "Build libpr28879b.so" \ ++ "-shared -Wl,--no-as-needed tmpdir/libpr28879a.so" \ ++ "-O2 -fpic" \ ++ {dummy.c} \ ++ {} \ ++ "libpr28879b.so" \ ++ ] \ ++ [list \ ++ "Build pr28879" \ ++ "-Wl,--no-as-needed tmpdir/libpr28879b.so -Wl,-rpath-link,." \ ++ "-O0 -flto -D_GLIBCXX_ASSERTIONS" \ ++ {pr28879b.cc} \ ++ {} \ ++ "pr28879" \ ++ "c++" \ ++ ] \ + ] + + # PR 14918 checks that libgcc is not spuriously included in a shared link of +diff --git a/ld/testsuite/ld-plugin/pr28879a.cc b/ld/testsuite/ld-plugin/pr28879a.cc +new file mode 100644 +index 00000000000..8307a42e2fb +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28879a.cc +@@ -0,0 +1,7 @@ ++#include ++ ++void ++func (std::string *s) ++{ ++ delete s; ++} +diff --git a/ld/testsuite/ld-plugin/pr28879b.cc b/ld/testsuite/ld-plugin/pr28879b.cc +new file mode 100644 +index 00000000000..02fc351366c +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28879b.cc +@@ -0,0 +1,8 @@ ++#include ++ ++int ++main (void) ++{ ++ std::string header; ++ return 0; ++} +-- +2.27.0 + diff --git a/docs/patches/zstd-1.5.2-upstream_fixes-1.patch b/docs/patches/zstd-1.5.2-upstream_fixes-1.patch new file mode 100644 index 00000000..bc9dcdd2 --- /dev/null +++ b/docs/patches/zstd-1.5.2-upstream_fixes-1.patch @@ -0,0 +1,96 @@ +Submitted By: Xi Ruoyao +Date: 2021-03-04 +Initial Package Version: 1.5.2 +Upstream Status: Applied +Origin: Upstream Git Repository +Description: Fix bad assertions causing test failure. + +From 246982e782849d8646b2d5df6648319935669228 Mon Sep 17 00:00:00 2001 +From: Nick Terrell +Date: Thu, 20 Jan 2022 22:41:47 -0800 +Subject: [PATCH] [dibio] Fix assertion triggered by no inputs + +Passing 0 inputs to `DiB_shuffle()` caused an assertion failure where +it should just return. + +A test is added in a later commit, with the initial introduction of the +new testing framework. + +Fixes #3007. +--- + programs/dibio.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/programs/dibio.c b/programs/dibio.c +index d19f954486..147d1e7bfd 100644 +--- a/programs/dibio.c ++++ b/programs/dibio.c +@@ -27,9 +27,9 @@ + #include /* memset */ + #include /* fprintf, fopen, ftello64 */ + #include /* errno */ +-#include + + #include "timefn.h" /* UTIL_time_t, UTIL_clockSpanMicro, UTIL_getTime */ ++#include "../lib/common/debug.h" /* assert */ + #include "../lib/common/mem.h" /* read */ + #include "dibio.h" + +@@ -193,7 +193,8 @@ static U32 DiB_rand(U32* src) + static void DiB_shuffle(const char** fileNamesTable, unsigned nbFiles) { + U32 seed = 0xFD2FB528; + unsigned i; +- assert(nbFiles >= 1); ++ if (nbFiles == 0) ++ return; + for (i = nbFiles - 1; i > 0; --i) { + unsigned const j = DiB_rand(&seed) % (i + 1); + const char* const tmp = fileNamesTable[j]; + +From d109cef2012b1e0ca7a6f47278a2838f68bbc196 Mon Sep 17 00:00:00 2001 +From: Xi Ruoyao +Date: Sat, 5 Mar 2022 03:56:44 +0800 +Subject: [PATCH] fix the assertion in readLinesFromFile (#3084) + +* fix the assertion in readLinesFromFile + +When the file is not terminated by endline, readLineFromFile will append +a '\0' for the last line. In this case pos + lineLength == dstCapacity. + +* test: don't print very long text garbage +--- + programs/util.c | 2 +- + tests/playTests.sh | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/programs/util.c b/programs/util.c +index d69b72a37c..55bcff25af 100644 +--- a/programs/util.c ++++ b/programs/util.c +@@ -418,7 +418,7 @@ readLinesFromFile(void* dst, size_t dstCapacity, + while ( !feof(inputFile) ) { + size_t const lineLength = readLineFromFile(buf+pos, dstCapacity-pos, inputFile); + if (lineLength == 0) break; +- assert(pos + lineLength < dstCapacity); ++ assert(pos + lineLength <= dstCapacity); /* '=' for inputFile not terminated with '\n' */ + pos += lineLength; + ++nbFiles; + } +diff --git a/tests/playTests.sh b/tests/playTests.sh +index 71e8dc0581..d4271b2f07 100755 +--- a/tests/playTests.sh ++++ b/tests/playTests.sh +@@ -735,11 +735,11 @@ test -f tmp4 + + println "test : survive the list of files with too long filenames (--filelist=FILE)" + datagen -g5M > tmp_badList +-zstd -f --filelist=tmp_badList && die "should have failed : file name length is too long" ++zstd -qq -f --filelist=tmp_badList && die "should have failed : file name length is too long" # printing very long text garbage on console will cause CI failure + + println "test : survive a list of files which is text garbage (--filelist=FILE)" + datagen > tmp_badList +-zstd -f --filelist=tmp_badList && die "should have failed : list is text garbage" ++zstd -qq -f --filelist=tmp_badList && die "should have failed : list is text garbage" # printing very long text garbage on console will cause CI failure + + println "test : survive a list of files which is binary garbage (--filelist=FILE)" + datagen -P0 -g1M > tmp_badList diff --git a/mkdocs.yml b/mkdocs.yml index 75d4f2f4..91a6b30c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -145,7 +145,6 @@ nav: - Смена владельца каталога $LIN: build-temp-system/change-owner.md - Вход в окружение chroot: build-temp-system/enter-in-chroot.md - Создание базовых файлов и ссылок: build-temp-system/create-files.md - - libstdc++ проход 2: build-temp-system/libstdc-p2.md - gettext: build-temp-system/gettext.md - bison: build-temp-system/bison.md - perl: build-temp-system/perl.md