23 апреля 2026 № 1 (2026)

ROSARIUM

газета советского программного инженера

Модуль 3: Сборочное окружение

Подготовка рабочего места, первая локальная сборка, переход к воспроизводимой проверке.

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

Этот модуль специально начинается с локальной сборки, потому что так проще учиться. Но локальная сборка здесь рассматривается как первый проход, а не как финальное доказательство качества пакета.

Цели модуля

После изучения этого модуля вы будете:

  • Иметь настроенное окружение для сборки RPM
  • Понимать структуру каталогов rpmbuild
  • Уметь собирать пакеты локально
  • Понимать, почему после локальной сборки нужен ещё проход в mock или ABF
  • Знать, что такое buildroot и как он работает
  • Уметь диагностировать и исправлять типичные ошибки

Содержание модуля

  1. Установка инструментов
    Какие пакеты нужны для сборки, настройка окружения.

  2. Структура ~/rpmbuild
    Каталоги BUILD, RPMS, SOURCES, SPECS, SRPMS и их назначение.

  3. Первая сборка: GNU Hello
    Пошаговая сборка простого пакета от скачивания исходников до установки.

  4. Что такое buildroot
    Временный корень файловой системы, изоляция сборки.

  5. Типичные ошибки и их решение
    Разбор частых проблем при первых сборках с объяснениями и решениями.

Практическое задание

После изучения всех тем модуля:

  1. Настройте окружение для сборки
  2. Соберите пакет GNU Hello
  3. Установите его и проверьте работу
  4. Проверьте пакет с помощью rpmlint
  5. Соберите SRPM и пересоберите его в mock или подготовьте к отправке в ABF

Следующий модуль

После освоения локальной сборки переходите к Модулю 4: Системы сборки — там мы разберём особенности Autotools, CMake, Meson, Python, Rust и Go. Затем уже будет естественный переход к mock и ABF.