Сборка пакета с нуля

Материал из ALT Linux Wiki


Данное руководство покажет, как правильно собрать пакет RPM в Sisyphus с нуля в инфраструктуре Gear и git.alt, имея только исходный код пакета, и права мейнтейнера на git.alt. В качестве примера опакетим Qt Mobility, чтобы закрыть запрос на сборку в багзилле: https://bugzilla.altlinux.org/25111.

Подготовка

Для сборки пакетов подразумеваются следующие начальные условия:

  1. У вас установлен дистрибутив ALT Linux;
  2. Есть желание собрать пакет правильно, а не для единичного случая;
  3. Вы носите гордое звание «мейнтейнер ALT Linux Team», что подразумевает наличие электронных ключей и доступа к инфраструктуре git.alt

Третий пункт необязателен для новичков, которые просто хотят собрать пакет правильно для себя.

Введение

В ALT Linux используется формат пакетов RPM, который представляет собой архив, содержащий архив с устанавливаемыми или собираемыми файлами и заголовок с метаинформацией (например, название, версия, группа и т.п.). Различают два вида пакетов RPM:

  • Пакет с исходным кодом (имеет расширение .src.rpm). Такой пакет содержит архив (один или несколько) с исходным кодом, файл Spec и, возможно, разнообразные патчи и дополнения. Пакет src.rpm можно использовать только для сборки двоичных пакетов, но не установки. Сборка осуществляется командой:
rpmbuild --rebuild package...src.rpm
  • Собранный двоичный пакет (имеет расширение вида <архитектура>.rpm). В качестве архитектуры может быть i586, x86_64 или noarch. Такие пакеты можно устанавливать командой
rpm -Uvh package...rpm

Подробную информацию по структуре RPM и сборке с помощью команды rpm можно найти в Maximum RPM].

Установка пакетов для сборки

Для сборки нам потребуются следующие компоненты:

  • Любой удобный текстовый редактор (наиболее удобными является Vim и Emacs);
  • Система управления версиями Git
  • Сборочная среда Hasher
  • Инфраструктура Gear
  • Доступ к репозиторию пакетов