Сборка пакетов start: различия между версиями
Нет описания правки |
|||
Строка 1: | Строка 1: | ||
Возможно будет дорабатываться статья [[Сборка пакета с нуля]] | Возможно будет дорабатываться статья [[Сборка пакета с нуля]] | ||
=Подготовка= | =Подготовка= | ||
== | ==Инструменты для сборки== | ||
В ALT Linux для сборки есть два инструмента. | |||
* [[Hasher]] - для сборки в изолированном окружении. | |||
В chroot ставится базовый комплект пакетов и пакеты, необходимые для сборки (поле BuildRequires в спеке). | |||
Если какой-то пакет для сборки не указан в спеке, то появится ошибка. Так обеспечивается чистота сборки. | |||
Обратной стороной является необходимость иметь доступ к репозиторию, так как пакеты ставятся при каждой сборке в Hasher. | |||
* [[Gear]] - для сборки пакетов из репозитория Git. | |||
В этом случае все файлы лежат в распакованном виде и в src.rpm упаковываются по правилам, определённым в [http://docs.altlinux.org/manpages/gear-rules.5.html .gear/rules]. | |||
Это позволяет работать сразу с содержимым, быстро делать патчи, вести историю изменений и обмениваться изменениями при коллективной разработке. | |||
=Виды сборки пакетов= | =Виды сборки пакетов= |
Версия от 18:34, 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
Глоссарий
- Gear - инструмент, позволяющий оперируя данными из git репозитория проводить сборку исходного текста в rpm пакет,тарболл или просто экспортировать результаты выполненияправил (gear-rules) в определённый каталог.
- Hasher - инструмент безопасной и воспроизводимой сборки пакетов. Все пакеты Sisyphus собираются с его помощью.
- Исходный код - часть программного обеспечения, с которой программисты работают, чтобы изменить работу приложения или добавить новые функции.
- Патч (Patch) - программное средство, используемое для устранения проблем в программном обеспечении или изменения его функциональности
- Спек (Spec) - файл содержащий инструкции для программы rpmbuild, необходимые для сборки пакета.