From f1bc347e8ff8971b5208a0061d7a3c210dba8e98 Mon Sep 17 00:00:00 2001 From: Vladimir Pertsev <2363951+Poltern@users.noreply.github.com> Date: Tue, 24 May 2022 01:04:50 +0500 Subject: [PATCH] =?UTF-8?q?Added=20several=20sections=20to=20chapter=206?= =?UTF-8?q?=20(=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=BE=20?= =?UTF-8?q?=D0=BD=D0=B5=D1=81=D0=BA=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=BE=D0=B2=20=D0=B2=20=D0=B3?= =?UTF-8?q?=D0=BB=D0=B0=D0=B2=D1=83=206)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chapter06/bash.xml | 91 ++++++++++++++++++ chapter06/binutils-pass2.xml | 110 ++++++++++++++++++++++ chapter06/coreutils.xml | 101 ++++++++++++++++++++ chapter06/diffutils.xml | 68 +++++++++++++ chapter06/file.xml | 100 ++++++++++++++++++++ chapter06/findutils.xml | 71 ++++++++++++++ chapter06/gawk.xml | 74 +++++++++++++++ chapter06/gcc-pass2.xml | 178 +++++++++++++++++++++++++++++++++++ chapter06/grep.xml | 70 ++++++++++++++ chapter06/gzip.xml | 68 +++++++++++++ chapter06/make.xml | 83 ++++++++++++++++ chapter06/ncurses.xml | 2 +- chapter06/patch.xml | 71 ++++++++++++++ chapter06/sed.xml | 69 ++++++++++++++ chapter06/tar.xml | 69 ++++++++++++++ chapter06/xz.xml | 70 ++++++++++++++ 16 files changed, 1294 insertions(+), 1 deletion(-) create mode 100644 chapter06/bash.xml create mode 100644 chapter06/binutils-pass2.xml create mode 100644 chapter06/coreutils.xml create mode 100644 chapter06/diffutils.xml create mode 100644 chapter06/file.xml create mode 100644 chapter06/findutils.xml create mode 100644 chapter06/gawk.xml create mode 100644 chapter06/gcc-pass2.xml create mode 100644 chapter06/grep.xml create mode 100644 chapter06/gzip.xml create mode 100644 chapter06/make.xml create mode 100644 chapter06/patch.xml create mode 100644 chapter06/sed.xml create mode 100644 chapter06/tar.xml create mode 100644 chapter06/xz.xml diff --git a/chapter06/bash.xml b/chapter06/bash.xml new file mode 100644 index 0000000..9e73334 --- /dev/null +++ b/chapter06/bash.xml @@ -0,0 +1,91 @@ + + + %general-entities; +]> + + + + + + bash + &bash-version; +
&bash-url;
+
+ + Bash-&bash-version; + + + Bash + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/bash.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&bash-tmp-sbu;</seg> + <seg>&bash-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Bash + + Подготовьте Bash к компиляции: + +./configure --prefix=/usr \ + --build=$(support/config.guess) \ + --host=$LFS_TGT \ + --without-bash-malloc + + + Значение параметров настройки: + + + --without-bash-malloc + + Этот параметр отключает использование функции распределения + памяти (malloc) Bash, которая, как известно, + вызывает ошибки сегментации. Если опция отключена, Bash будет + использовать функции malloc из Glibc, которые более стабильны. + + + + + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + Создайте символическую ссылку для программ, которые используют + sh как оболочку: + +ln -sv bash $LFS/bin/sh + + + + + + + <para>Подробная информация об этом пакете находится в + <xref linkend="contents-bash" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/binutils-pass2.xml b/chapter06/binutils-pass2.xml new file mode 100644 index 0000000..b128295 --- /dev/null +++ b/chapter06/binutils-pass2.xml @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-binutils-pass2" role="wrap"> + <?dbhtml filename="binutils-pass2.html"?> + + <sect1info condition="script"> + <productname>binutils-pass2</productname> + <productnumber>&binutils-version;</productnumber> + <address>&binutils-url;</address> + </sect1info> + + <title>Binutils-&binutils-version; - Проход 2 + + + Binutils + tools, pass 2 + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/binutils.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&binutils-tmpp2-sbu;</seg> + <seg>&binutils-tmpp2-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Binutils + + + Binutils поставляет устаревшую версию libtool в архиве. В нем отсутствует + поддержка sysroot, поэтому созданные двоичные файлы будут ошибочно связаны с + библиотеками из основного дистрибутива. Решение этой проблемы: + +sed '6009s/$add_dir//' -i ltmain.sh + + Создайте отдельный каталог для сборки: + +mkdir -v build +cd build + + Подготовьте Binutils к компиляции: + +../configure \ + --prefix=/usr \ + --build=$(../config.guess) \ + --host=$LFS_TGT \ + --disable-nls \ + --enable-shared \ + --disable-werror \ + --enable-64-bit-bfd + + + Значение новых параметров настройки: + + + --enable-shared + + Собирает libbfd как разделяемую библиотеку + + + + + + --enable-64-bit-bfd + + Включает 64-разрядную поддержку (на хостах с более узким размером + слов). Может и не понадобиться в 64-разрядных системах, но вреда от этого не будет. + + + + + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + + + + + + <para>Подробная информация об этом пакете находится в + <xref linkend="contents-binutils" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml new file mode 100644 index 0000000..df05738 --- /dev/null +++ b/chapter06/coreutils.xml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-coreutils" role="wrap"> + <?dbhtml filename="coreutils.html"?> + + <sect1info condition="script"> + <productname>coreutils</productname> + <productnumber>&coreutils-version;</productnumber> + <address>&coreutils-url;</address> + </sect1info> + + <title>Coreutils-&coreutils-version; + + + Coreutils + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/coreutils.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&coreutils-tmp-sbu;</seg> + <seg>&coreutils-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Coreutils + + Подготовьте Coreutils к компиляции: + +./configure --prefix=/usr \ + --host=$LFS_TGT \ + --build=$(build-aux/config.guess) \ + --enable-install-program=hostname \ + --enable-no-install-program=kill,uptime + + + Значение параметров настройки: + + + --enable-install-program=hostname + + Это позволяет создать и установить двоичный файл + hostname – по умолчанию он отключен, но + требуется для набора тестов Perl. + + + + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + Переместите программы в их конечное местоположение. Хотя во временной среде в + этом нет необходимости, мы должны это сделать, потому что некоторые программы жестко + прописывают местоположение исполняемых файлов: + +mv -v $LFS/usr/bin/chroot $LFS/usr/sbin +mkdir -pv $LFS/usr/share/man/man8 +mv -v $LFS/usr/share/man/man1/chroot.1 $LFS/usr/share/man/man8/chroot.8 +sed -i 's/"1"/"8"/' $LFS/usr/share/man/man8/chroot.8 + + + + + + + <para>Подробная информация об этом пакете находится в + <xref linkend="contents-coreutils" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/diffutils.xml b/chapter06/diffutils.xml new file mode 100644 index 0000000..a553d88 --- /dev/null +++ b/chapter06/diffutils.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-diffutils" role="wrap"> + <?dbhtml filename="diffutils.html"?> + + <sect1info condition="script"> + <productname>diffutils</productname> + <productnumber>&diffutils-version;</productnumber> + <address>&diffutils-url;</address> + </sect1info> + + <title>Diffutils-&diffutils-version; + + + Diffutils + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/diffutils.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&diffutils-tmp-sbu;</seg> + <seg>&diffutils-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Diffutils + + Подготовьте Diffutils для компиляции: + +./configure --prefix=/usr --host=$LFS_TGT + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + + + + + + <para>Подробная информация об этом пакете находится в + <xref linkend="contents-diffutils" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/file.xml b/chapter06/file.xml new file mode 100644 index 0000000..96456d0 --- /dev/null +++ b/chapter06/file.xml @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-file" role="wrap"> + <?dbhtml filename="file.html"?> + + <sect1info condition="script"> + <productname>file</productname> + <productnumber>&file-version;</productnumber> + <address>&file-url;</address> + </sect1info> + + <title>File-&file-version; + + + File + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/file.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&file-tmp-sbu;</seg> + <seg>&file-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета File + + + Команда file на хосте сборки должна быть той же версии, что и + собираемая, чтобы создать файл подписи. Запустите следующие команды, для сборки пакета: + + +mkdir build +pushd build + ../configure --disable-bzlib \ + --disable-libseccomp \ + --disable-xzlib \ + --disable-zlib + make +popd + + + Значение новой опции настройки: + + + --disable-* + + Сценарий конфигурации пытается использовать некоторые пакеты из + основного дистрибутива, если существуют соответствующие файлы библиотек. + Это может привести к сбою компиляции, если файлы библиотек существует, + но отсутствуют соответствующие заголовочные файлы. Эти параметры + предотвращают использование ненужных возможностей хоста. + + + + + Подготовьте файл для компиляции: + +./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess) + + + Скомпилируйте пакет: + +make FILE_COMPILE=$(pwd)/build/src/file + + Установите пакет: + +make DESTDIR=$LFS install + + + + + + <para>Подробная информация об этом пакете находится в <xref linkend="contents-file" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/findutils.xml b/chapter06/findutils.xml new file mode 100644 index 0000000..0ec84cf --- /dev/null +++ b/chapter06/findutils.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-findutils" role="wrap"> + <?dbhtml filename="findutils.html"?> + + <sect1info condition="script"> + <productname>findutils</productname> + <productnumber>&findutils-version;</productnumber> + <address>&findutils-url;</address> + </sect1info> + + <title>Findutils-&findutils-version; + + + Findutils + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/findutils.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&findutils-tmp-sbu;</seg> + <seg>&findutils-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Findutils + + Подготовьте Findutils к компиляции: + +./configure --prefix=/usr \ + --localstatedir=/var/lib/locate \ + --host=$LFS_TGT \ + --build=$(build-aux/config.guess) + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + + + + + + <para>Подробная информация об этом пакете находится в + <xref linkend="contents-findutils" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/gawk.xml b/chapter06/gawk.xml new file mode 100644 index 0000000..d4b0af1 --- /dev/null +++ b/chapter06/gawk.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-gawk" role="wrap"> + <?dbhtml filename="gawk.html"?> + + <sect1info condition="script"> + <productname>gawk</productname> + <productnumber>&gawk-version;</productnumber> + <address>&gawk-url;</address> + </sect1info> + + <title>Gawk-&gawk-version; + + + Gawk + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/gawk.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&gawk-tmp-sbu;</seg> + <seg>&gawk-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Gawk + + Во-первых, убедитесь, что некоторые ненужные файлы не будут установлены: + +sed -i 's/extras//' Makefile.in + + Подготовьте Gawk к компиляции: + +./configure --prefix=/usr \ + --host=$LFS_TGT \ + --build=$(build-aux/config.guess) + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + + + + + + <para>Подробная информация об этом пакете находится в + <xref linkend="contents-gawk" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/gcc-pass2.xml b/chapter06/gcc-pass2.xml new file mode 100644 index 0000000..2b9fd76 --- /dev/null +++ b/chapter06/gcc-pass2.xml @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-gcc-pass2" role="wrap" xreflabel="gcc-pass2"> + <?dbhtml filename="gcc-pass2.html"?> + + <sect1info condition="script"> + <productname>gcc-pass2</productname> + <productnumber>&gcc-version;</productnumber> + <address>&gcc-url;</address> + </sect1info> + + <title>GCC-&gcc-version; - Проход 2 + + + GCC + tools, pass 2 + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/gcc.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&gcc-tmpp2-sbu;</seg> + <seg>&gcc-tmpp2-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета GCC + + Как и при первой сборке GCC, требуются пакеты GMP, MPFR и MPC. Распакуйте + архивы и переместите их в каталоги с нужными именами: + +tar -xf ../mpfr-&mpfr-version;.tar.xz +mv -v mpfr-&mpfr-version; mpfr +tar -xf ../gmp-&gmp-version;.tar.xz +mv -v gmp-&gmp-version; gmp +tar -xf ../mpc-&mpc-version;.tar.gz +mv -v mpc-&mpc-version; mpc + + При сборке на x86_64 измените имя каталога по умолчанию для 64-разрядных + библиотек на lib.: + +case $(uname -m) in + x86_64) + sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64 + ;; +esac + + Переопределите правила сборки заголовочных файлов libgcc и libstdc++, чтобы + разрешить создание этих библиотек с поддержкой потоков POSIX: + +sed '/thread_header =/s/@.*@/gthr-posix.h/' \ + -i libgcc/Makefile.in libstdc++-v3/include/Makefile.in + + Снова создайте отдельный каталог сборки: + +mkdir -v build +cd build + + Перед началом сборки GCC не забудьте отключить все переменные среды, + которые переопределяют флаги оптимизации по умолчанию. + + Теперь подготовьте GCC к компиляции: + +../configure \ + --build=$(../config.guess) \ + --host=$LFS_TGT \ + --target=$LFS_TGT \ + LDFLAGS_FOR_TARGET=-L$PWD/$LFS_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++ + + + Значение новых параметров настройки: + + + --with-build-sysroot=$LFS + + Обычно, использование --host гарантирует, что + для сборки GCC используется кросс-компилятор, и этот компилятор знает, + что он должен искать заголовочные файлы и библиотеки в $LFS. Но сборочная система GCC использует + другие инструменты, которые не знают об этом местоположении. Этот + переключатель необходим для того, чтобы они могли находить нужные файлы в $LFS, а не на хосте. + + + + + --target=$LFS_TGT + + Поскольку мы выполняем кросс-компиляцию GCC, невозможно создать + целевые библиотеки (libgcc + и libstdc++) со скомпилированными + двоичными файлами GCC, потому что эти двоичные файлы не будут работать на + хост-дистрибутиве. Система сборки GCC попытается использовать + компиляторы C и C++ в хост-дистрибутиве в качестве обходного пути. + Сейчас не поддерживается создание целевых библиотек GCC с другими версиями GCC, + поэтому использование хост-компиляторов может привести к отказу сборки. Этот + параметр обеспечивает сборку библиотек с помощью GCC собранного на первом проходе, + чтобы предотвратить проблему + + + + + LDFLAGS_FOR_TARGET=... + + Разрешить libstdc++ использовать + общую библиотеку libgcc, + собранную на этом проходе, вместо статической версии, собранной в GCC + Проход 1. Это необходимо для поддержки обработки исключения C++ + + + + + --enable-initfini-array + + Эта опция включается автоматически при сборке собственного + компилятора с родным компилятором на x86. Но сейчас мы собираем с помощью + кросс-компилятора, поэтому нам нужно явно включить эту опцию. + + + + + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + В качестве завершающего штриха создайте символическую ссылку на утилиту. + Многие программы и скрипты используют cc вместо gcc, + чтобы сделать программы более универсальными и, следовательно, для соместимости со всеми + типами UNIX-систем, где компилятор GNU C не всегда установлен. Наличие cc + оставляет системному администратору право самостоятельно решать, какой компилятор C устанавливать: + +ln -sv gcc $LFS/usr/bin/cc + + + + + + + <para>Подробная информация об этом пакете находится в + <xref linkend="contents-gcc" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/grep.xml b/chapter06/grep.xml new file mode 100644 index 0000000..7dd2aa0 --- /dev/null +++ b/chapter06/grep.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-grep" role="wrap"> + <?dbhtml filename="grep.html"?> + + <sect1info condition="script"> + <productname>grep</productname> + <productnumber>&grep-version;</productnumber> + <address>&grep-url;</address> + </sect1info> + + <title>Grep-&grep-version; + + + Grep + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/grep.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&grep-tmp-sbu;</seg> + <seg>&grep-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Grep + + Подготовьте Grep к компиляции: + + +./configure --prefix=/usr \ + --host=$LFS_TGT + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + + + + + + <para>Подробная информация об этом пакете находится в + <xref linkend="contents-grep" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/gzip.xml b/chapter06/gzip.xml new file mode 100644 index 0000000..5952f6d --- /dev/null +++ b/chapter06/gzip.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-gzip" role="wrap"> + <?dbhtml filename="gzip.html"?> + + <sect1info condition="script"> + <productname>gzip</productname> + <productnumber>&gzip-version;</productnumber> + <address>&gzip-url;</address> + </sect1info> + + <title>Gzip-&gzip-version; + + + Gzip + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/gzip.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&gzip-tmp-sbu;</seg> + <seg>&gzip-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Gzip + + Подготовьте Gzip к компиляции: + +./configure --prefix=/usr --host=$LFS_TGT + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + + + + + + <para>Подробная информация об этом пакете находится в + <xref linkend="contents-gzip" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/make.xml b/chapter06/make.xml new file mode 100644 index 0000000..a06d511 --- /dev/null +++ b/chapter06/make.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> +<sect1 id="ch-tools-make" role="wrap"> + <?dbhtml filename="make.html"?> + + <sect1info condition="script"> + <productname>make</productname> + <productnumber>&make-version;</productnumber> + <address>&make-url;</address> + </sect1info> + + <title>Make-&make-version; + + + Make + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/make.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&make-tmp-sbu;</seg> + <seg>&make-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Make + + Подготовьте Make к компиляции: + +./configure --prefix=/usr \ + --without-guile \ + --host=$LFS_TGT \ + --build=$(build-aux/config.guess) + + + Значение новой опции настройки: + + + --without-guile + + Несмотря на то, что мы выполняем кросс-компиляцию, configure + пытается использовать guile с узла сборки, если он его находит. Это + приводит к сбою компиляции, этот аргумент предотвращает его использование. + + + + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + + + + + + <para>Подробная информация об этом пакете находится в + <xref linkend="contents-make" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index 70dbd16..4b97e65 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -41,7 +41,7 @@ </sect2> <sect2 role="installation"> - <title>Установка Ncurses + Установка пакета Ncurses Во-первых, убедитесь, что gawk найден первым во время настройки: diff --git a/chapter06/patch.xml b/chapter06/patch.xml new file mode 100644 index 0000000..893f8e0 --- /dev/null +++ b/chapter06/patch.xml @@ -0,0 +1,71 @@ + + + %general-entities; +]> + + + + + + patch + &patch-version; +
&patch-url;
+
+ + Patch-&patch-version; + + + Patch + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/patch.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&patch-tmp-sbu;</seg> + <seg>&patch-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Patch + + Подготовьте Patch к компиляции: + + +./configure --prefix=/usr \ + --host=$LFS_TGT \ + --build=$(build-aux/config.guess) + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + + + + + + <para>Подробная информация об этом пакете находится в + <xref linkend="contents-patch" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/sed.xml b/chapter06/sed.xml new file mode 100644 index 0000000..9269a49 --- /dev/null +++ b/chapter06/sed.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-sed" role="wrap"> + <?dbhtml filename="sed.html"?> + + <sect1info condition="script"> + <productname>sed</productname> + <productnumber>&sed-version;</productnumber> + <address>&sed-url;</address> + </sect1info> + + <title>Sed-&sed-version; + + + Sed + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/sed.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&sed-tmp-sbu;</seg> + <seg>&sed-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Sed + + Подготовьте Sed к компиляции: + +./configure --prefix=/usr \ + --host=$LFS_TGT + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + + + + + + <para>Подробная информация об этом пакете находится в + <xref linkend="contents-sed" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/tar.xml b/chapter06/tar.xml new file mode 100644 index 0000000..98bed3f --- /dev/null +++ b/chapter06/tar.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-tar" role="wrap"> + <?dbhtml filename="tar.html"?> + + <sect1info condition="script"> + <productname>tar</productname> + <productnumber>&tar-version;</productnumber> + <address>&tar-url;</address> + </sect1info> + + <title>Tar-&tar-version; + + + Tar + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/tar.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&tar-tmp-sbu;</seg> + <seg>&tar-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Tar + + Подготовьте Tar к компиляции: + +./configure --prefix=/usr \ + --host=$LFS_TGT \ + --build=$(build-aux/config.guess) + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + + + + + + <para>Подробная информация об этом пакете находится в <xref linkend="contents-tar" role="."/></para> + + </sect2> + +</sect1> diff --git a/chapter06/xz.xml b/chapter06/xz.xml new file mode 100644 index 0000000..1aeef96 --- /dev/null +++ b/chapter06/xz.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-xz" role="wrap"> + <?dbhtml filename="xz.html"?> + + <sect1info condition="script"> + <productname>xz</productname> + <productnumber>&xz-version;</productnumber> + <address>&xz-url;</address> + </sect1info> + + <title>Xz-&xz-version; + + + Xz + tools + + + + + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter08/xz.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&xz-tmp-sbu;</seg> + <seg>&xz-tmp-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Установка пакета Xz + + Подготовьте Xz к компиляции: + +./configure --prefix=/usr \ + --host=$LFS_TGT \ + --build=$(build-aux/config.guess) \ + --disable-static \ + --docdir=/usr/share/doc/xz-&xz-version; + + Скомпилируйте пакет: + +make + + Установите пакет: + +make DESTDIR=$LFS install + + + + + + <para>Подробная информация об этом пакете находится в <xref linkend="contents-xz" role="."/></para> + + </sect2> + +</sect1>