7.5.3. Установка из пакетов, содержащих исходный код

We use cookies. Read the Privacy and Cookie Policy

7.5.3. Установка из пакетов, содержащих исходный код

Иногда в пакетах RPM находятся не откомпилированные версии программ, а их исходный код. Признаком этого является слово «src» вместо названия архитектуры. Для установки такого пакета введите:

$ rpm -iv <пакет>.src.rpm

Менеджер пакетов распакует исходные тексты в каталог Red Hat: по умолчанию это /usr/src/redhat, но вы можете установить другой каталог директивой topdir в конфигурационном файле /etc/rpmrc. В подкаталог SOURCES будут распакованы исходные тексты и заплатки (патчи) к ним, в подкаталог SPECS — spec-файлы, содержащие инструкции по прикладыванию заплаток и последующей сборке. Чтобы собрать программу, выполните команды:

$ cd /usr/src/redhat/SPECS

$ rpm -bp <пакет>.spec

Явление патча (заплатки — мы же на русском языке говорим) очень распространено в мире открытого кода, поэтому я скажу о нем здесь. Допустим, кто-то нашел и исправил ошибку в каком-нибудь известном пакете. Исправление может заключаться в двух строках кода, так что же — выкладывать в общий доступ исправленные исходники целиком? Нет, он распространяет заплатку, которую желающие могут приложить сами. Заплатка представляет собой текстовый файл, содержащий список отличий исправленного кода от исходного.

Такой список в стандартном виде генерирует утилита diff с ключами -uNr. Чтобы его приложить, нужно перейти в корневой каталог дерева исходного кода пакета и выполнить команду

$ patch -р0 < <файл_заплатка>

# < - это знак перенаправления ввода

Ключ -p указывает, сколько отделенных «/» частей нужно отщипнуть от путей к файлам, подлежащим исправлению (вдруг каталог пакета у автора заплатки назывался иначе?).

Приложив заплатку, выполните обычные команды сборки:

$ ./configure

$ make

$ make install

Данный текст является ознакомительным фрагментом.