Технология сборки пакетов RPM: различия между версиями
Строка 12: | Строка 12: | ||
Отдельным источником можно назвать пакет src.rpm или deb-src из другого дистрибутива. | Отдельным источником можно назвать пакет src.rpm или deb-src из другого дистрибутива. | ||
В этом случае можно "подсмотреть как собирают пакеты другие. | В этом случае можно "подсмотреть как собирают пакеты другие" этот пакет. | ||
На этом этапе надо понять как в принципе собирается данный пакет. | |||
=== Написание инструкции сборки пакета === | === Написание инструкции сборки пакета === | ||
=== | На втором этапе, зная алгоритм сборки пакета, мы записываем алгоритм в виде spec-файла. | ||
Сборку пакета из исходников можно разделить на следующие основные этапы : | |||
* Распаковка исходного текста пакета и наложение патчей на него (например, исправляющие makefile пакета, чтобы он собирался не куда-нибудь в /opt, а каталог предназначенный для сборки пакета). | |||
(секция %pre) | |||
* Компиляция и линковка программ пакета (секция %setup) | |||
* Размещение программ в каталог, который будет упаковываться в rpm (секция %install) | |||
* Написание скриптов нестандартных действий, которые выполняться при установке и удалении пакета (секции %post и %postust) | |||
* Сама упаковка пакета и проверка его "правильности" (верификация пакета). | |||
=== Непосредственная сборки пакета === | |||
== Сборка внутри хэшера == | == Сборка внутри хэшера == |
Версия от 14:35, 11 мая 2022
Классическая сборка пакетов rpm
Классическая сборка пакета rpm состоит из следующих этапов :
Нахождение исходного текста пакета
Обычно мы находим исходный текст программы. Обычно исходный текст программы можно получить на официальном сайте программы.
Это может быть готовы архив в виде tar, упакованный каким-нибудь компрессором, типа gzip, bzip и т.п.. Так-же это может быть репозиторий git, cvs , меркурий и т.п.
В любом случае мы получаем каталог с текстом программы и инструкцией, как можно программу собрать.
Отдельным источником можно назвать пакет src.rpm или deb-src из другого дистрибутива. В этом случае можно "подсмотреть как собирают пакеты другие" этот пакет.
На этом этапе надо понять как в принципе собирается данный пакет.
Написание инструкции сборки пакета
На втором этапе, зная алгоритм сборки пакета, мы записываем алгоритм в виде spec-файла.
Сборку пакета из исходников можно разделить на следующие основные этапы :
- Распаковка исходного текста пакета и наложение патчей на него (например, исправляющие makefile пакета, чтобы он собирался не куда-нибудь в /opt, а каталог предназначенный для сборки пакета).
(секция %pre)
- Компиляция и линковка программ пакета (секция %setup)
- Размещение программ в каталог, который будет упаковываться в rpm (секция %install)
- Написание скриптов нестандартных действий, которые выполняться при установке и удалении пакета (секции %post и %postust)
- Сама упаковка пакета и проверка его "правильности" (верификация пакета).