Сборка пакетов start: различия между версиями

Материал из ALT Linux Wiki
Строка 23: Строка 23:


==Сборка пакета из srcrpm==
==Сборка пакета из srcrpm==
В ALT Linux кроме обычных пакетов есть '''пакеты с исходным кодом''' (имеют расширение .src.rpm).
В ALT Linux кроме обычных пакетов есть '''пакеты с исходным кодом''' (имеют расширение '''<nowiki>*</nowiki>.src.rpm''').


Такой пакет содержит:
Такой пакет содержит:
Строка 30: Строка 30:
*возможно, разнообразные патчи и дополнения.
*возможно, разнообразные патчи и дополнения.


Пакет src.rpm можно использовать только для сборки двоичных пакетов, но не установки.
Пакет '''<nowiki>*</nowiki>.src.rpm''' можно использовать только для сборки двоичных пакетов, но не установки.


Сборка осуществляется командой:
Сборка осуществляется командой:
  rpmbuild --rebuild package...src.rpm
  rpmbuild --rebuild package.src.rpm
 
В итоге получится готовый <nowiki>*</nowiki>.rpm-пакет который можно установить командой:
# rpm -Uvh package.rpm


=Глоссарий=
=Глоссарий=

Версия от 18:40, 4 октября 2023

Возможно будет дорабатываться статья Сборка пакета с нуля

Подготовка

Инструменты для сборки

В ALT Linux для сборки есть два инструмента.

  • Hasher - для сборки в изолированном окружении.

В chroot ставится базовый комплект пакетов и пакеты, необходимые для сборки (поле BuildRequires в спеке).

Если какой-то пакет для сборки не указан в спеке, то появится ошибка. Так обеспечивается чистота сборки.

Обратной стороной является необходимость иметь доступ к репозиторию, так как пакеты ставятся при каждой сборке в Hasher.

  • Gear - для сборки пакетов из репозитория Git.

В этом случае все файлы лежат в распакованном виде и в src.rpm упаковываются по правилам, определённым в .gear/rules.

Это позволяет работать сразу с содержимым, быстро делать патчи, вести историю изменений и обмениваться изменениями при коллективной разработке.

Виды сборки пакетов

Создание пакета с нуля

Создание пакета на основе существующего

Сборка пакета из srcrpm

В ALT Linux кроме обычных пакетов есть пакеты с исходным кодом (имеют расширение *.src.rpm).

Такой пакет содержит:

  • архив (один или несколько) с исходным кодом
  • файл Spec (далее — просто спек)
  • возможно, разнообразные патчи и дополнения.

Пакет *.src.rpm можно использовать только для сборки двоичных пакетов, но не установки.

Сборка осуществляется командой:

rpmbuild --rebuild package.src.rpm

В итоге получится готовый *.rpm-пакет который можно установить командой:

# rpm -Uvh package.rpm

Глоссарий

  • Gear - инструмент, позволяющий оперируя данными из git репозитория проводить сборку исходного текста в rpm пакет,тарболл или просто экспортировать результаты выполненияправил (gear-rules) в определённый каталог.
  • Hasher - инструмент безопасной и воспроизводимой сборки пакетов. Все пакеты Sisyphus собираются с его помощью.
  • Исходный код - часть программного обеспечения, с которой программисты работают, чтобы изменить работу приложения или добавить новые функции.
  • Патч (Patch) - программное средство, используемое для устранения проблем в программном обеспечении или изменения его функциональности
  • Спек (Spec) - файл содержащий инструкции для программы rpmbuild, необходимые для сборки пакета.