Инструкция по сборке пакетов с помощью rpm: различия между версиями
Sb (обсуждение | вклад) м (+ buildreq) |
Sb (обсуждение | вклад) м (+rpmbuild --rebuild как вариант пересборки) |
||
Строка 14: | Строка 14: | ||
При этом исходники (исходный код) пакета разместятся в {{path|~/RPM/SOURCES}}, а [[Spec|спек]] — в {{path|~/RPM/SPECS}}.<br>Наличие исходного кода программного обеспечения и спека, т.е. описания процесса сборки, является необходимым и достаточным условием для самой процедуры сборки rpm пакета (или пересборки, например, пакета из более нового [[Branches|бранча]] для более старого). | При этом исходники (исходный код) пакета разместятся в {{path|~/RPM/SOURCES}}, а [[Spec|спек]] — в {{path|~/RPM/SPECS}}.<br>Наличие исходного кода программного обеспечения и спека, т.е. описания процесса сборки, является необходимым и достаточным условием для самой процедуры сборки rpm пакета (или пересборки, например, пакета из более нового [[Branches|бранча]] для более старого). | ||
Пересобрать пакет без его установки (распаковки) можно и так: | |||
<code>rpmbuild --rebuild -target (i586|x86_64) название_пакета_с_версией.src.rpm</code> | |||
При этом необходимо раскрыть скобки в зависимости от архитектуры, под которую происходит сборка пакета. | |||
{{Note|Также см. [[Spec/Предопределенные_макросы|Предопределённые макросы в spec]] для расширения кругозора.}} | {{Note|Также см. [[Spec/Предопределенные_макросы|Предопределённые макросы в spec]] для расширения кругозора.}} |
Версия от 15:24, 2 августа 2014
1. Установка необходимых пакетов для процесса сборки
apt-get install rpm-build
2. Установка src.rpm пакета нужного ПО, которое требуется собрать
Находим и качаем src.rpm пакет нужного ПО, которое будем собирать, и устанавливаем его:
rpm -i название_пакета_с_версией.src.rpm
При этом исходники (исходный код) пакета разместятся в ~/RPM/SOURCES, а спек — в ~/RPM/SPECS.
Наличие исходного кода программного обеспечения и спека, т.е. описания процесса сборки, является необходимым и достаточным условием для самой процедуры сборки rpm пакета (или пересборки, например, пакета из более нового бранча для более старого).
Пересобрать пакет без его установки (распаковки) можно и так:
rpmbuild --rebuild -target (i586|x86_64) название_пакета_с_версией.src.rpm
При этом необходимо раскрыть скобки в зависимости от архитектуры, под которую происходит сборка пакета.
3. Сборка пакета
Приступаем к сборке, делается это командой:
rpm -ba --target (i586|x86_64) ~/RPM/SPECS/имя_спека_нужного_пакета_для_сборки.spec
При этом необходимо раскрыть скобки в зависимости от архитектуры, под которую происходит сборка пакета.
Собранные пакеты разместятся в ~/RPM/RPMS.
4. Установка сборочных зависимостей
Почти 100% сборка сразу не пойдёт — в самом начале вывода в консоли будут показаны пакеты, которые должны быть установлены в систему, прежде чем сборка сможет пойти далее. Вы их (эти выведенные в консоль зависимости сборки) установите
apt-get install пакет1 пакет2 пакет3 ...
а после повторите сборку (возврат к шагу 3).
5. Автоматический поиск зависимостей для вновь собираемого пакета
Если вы собираете новый пакет, а не пересобираете уже существующий srpm, то хорошим подспорьем в рамках оформления (поиска и прописывания) нужных зависимостей в спек вам послужит утилита Buildreq:
buildreq имя_спек_файла.spec