Различия между версиями 1 и 2
Версия 1 от 2013-03-29 14:29:43
Размер: 2141
Редактор: FrBrGeorge
Комментарий:
Версия 2 от 2013-03-29 14:40:04
Размер: 2141
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 2: Строка 2:
=== «Пакт исходников» === === «Пакет исходников» ===
Строка 8: Строка 8:
=== Спецификация ==== === Спецификация ===
Строка 12: Строка 12:
Разделы, параграфы и макросы.  Разделы, параграфы и макросы.

Сборка пакета из исходников

«Пакет исходников»

  • Исторические корни
  • Состав: исходники (upstream+patches+дополнительно) + спецификация
  • Пререквизиты: BuildReq и BuildPreReq

  • rpmbuild

  • Результат rpm -i *.src.rpm. Структура %_topdir

Спецификация

Материал для изучения: http://www.altlinux.org/Spec На примере ALT RPM:

Структура spec-файла

Разделы, параграфы и макросы.

  • Много макросов в /usr/lib/rpm/macros*

  • ~/.rpmmacros

Разделы и полезные макросы:

  • Заголовок
    • Паспорт: Name, License, Summary, Group, Url
    • Версия: Version, Release, Epoch
    • Исходники: параграфы Source, Source#, Patch, Patch#
    • Зависимости: Build(Pre)Req, (Pre)Requires. Версии в зависимостях
    • Прочее: BuildArch, Provides, Obsoletes, Conflicts, …

    • макросы %name, %version, …, %summary
  • %description
  • %prep: %setup, %patch*
  • %build: %configure, %make, %make_build
    • Привязка к установке в каталог %buildroot
    • Макросы для других сборочных инструментов: %cmake, %autoreconf
  • %install
    • %makeinstall
    • %_что-то-там-dir, %_prefix
    • rpm --eval

  • %check
  • %files: %dir, %config, %attr
  • %changelog ([[http://www.altlinux.org/Руководство_по_написанию_changelog|ALT руководство)

    • автозакрытие ошибок
  • Множественные пакеты (%package и соотв. разделы)

Полезное при сборке

  • Редкоиспользуемые в ALT секции
    • %clean (никогда), %pre
  • rpmbuild … --short-circuit …
  • buildreq
  • Установка пакетов из свалки: rpm-dir в /etc/apt/sources.list

LecturesCMC/PackageMaintaining2013/03-BuildingPackage (последним исправлял пользователь FrBrGeorge 2013-03-29 15:15:24)