Сборка пакетов (etersoft-build-utils): различия между версиями
Нет описания правки |
Ilis (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{h0|Краткая инструкция по сборке пакетов с помощью <tt>etersoft-build-utils</tt>}} | |||
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/СборкаПакетов}} | {{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/СборкаПакетов}} | ||
Здесь рассмотрена процедура сборки [http://ru.wikipedia.org/wiki/RPM RPM-] пакетов для [[Main Page|ALT Linux]]. | Здесь рассмотрена процедура сборки [http://ru.wikipedia.org/wiki/RPM RPM-] пакетов для [[Main Page|ALT Linux]]. | ||
Это облегчённая инструкция для начинающих разработчиков, написанная с учётом использования пакета etersoft-build-utils. | Это облегчённая инструкция для начинающих разработчиков, написанная с учётом использования пакета etersoft-build-utils. | ||
[http://tigro.info/blog/index.php?id=375 Сборка пакетов RPM и DEB | [http://tigro.info/blog/index.php?id=375 Сборка пакетов RPM и DEB в других системах.] | ||
== | == Первоначальная настройка == | ||
=== С правами root === | |||
Устанавливаем пакеты, необходимые для сборки: | Устанавливаем пакеты, необходимые для сборки: | ||
<pre># apt-get install etersoft-build-utils</pre> | <pre># apt-get install etersoft-build-utils</pre> | ||
Данный пакет | Данный пакет «вытянет» по зависимостям всё остальное, обычно необходимое при сборке. | ||
=== Под пользователем === | |||
Исправляем данные о сборщике в файле ~/.rpmmacros. | Исправляем данные о сборщике в файле ~/.rpmmacros. | ||
Вот, например, содержимое моего файла ~/.rpmmacros: | Вот, например, содержимое моего файла ~/.rpmmacros: | ||
<pre>%_topdir %homedir/RPM | <pre>%_topdir %homedir/RPM | ||
Строка 30: | Строка 24: | ||
<div style="display: inline; color: red;">ВНИМАНИЕ! Сборка принципиально невозможна под учётной записью root.</div> | <div style="display: inline; color: red;">ВНИМАНИЕ! Сборка принципиально невозможна под учётной записью root.</div> | ||
== Сборка пакетов == | |||
Образец того, как надо оформлять спек, вы можете посмотреть в пакете [http://sisyphus.ru/srpm/wcalc wcalc] или [http://sisyphus.ru/srpm/gnubiff gnubiff]. Настоятельно рекомендуется обратиться | Образец того, как надо оформлять спек, вы можете посмотреть в пакете [http://sisyphus.ru/srpm/wcalc wcalc] или [http://sisyphus.ru/srpm/gnubiff gnubiff]. Настоятельно рекомендуется обратиться | ||
к документации, а также смотреть | к документации, а также смотреть «как это сделано в другом пакете». | ||
Получить src.rpm для установленного в систему пакета можно командой <tt>$ rpmgp название_пакета</tt> | Получить src.rpm для установленного в систему пакета можно командой <tt>$ rpmgp название_пакета</tt> | ||
Также образцы спеков для разных типов пакетов доступны [http://wiki.sisyphus.ru/devel/SampleSpecs здесь]. | Также образцы спеков для разных типов пакетов доступны [http://wiki.sisyphus.ru/devel/SampleSpecs здесь]. | ||
=== Подготовка уже имеющегося src.rpm === | |||
Устанавливаем файл *.src.rpm, который хотим собирать (''под пользователем''): | Устанавливаем файл *.src.rpm, который хотим собирать (''под пользователем''): | ||
<pre>$ rpm -i название*.src.rpm</pre> | <pre>$ rpm -i название*.src.rpm</pre> | ||
Исходники пакета при этом разместятся в <tt>~/RPM/SOURCES</tt>, а | Исходники пакета при этом разместятся в <tt>~/RPM/SOURCES</tt>, а спек — в <tt>~/RPM/SPECS</tt>. | ||
Заходим в каталог <tt>~/RPM/SPECS</tt>, и видим там спек для собираемого пакета. | Заходим в каталог <tt>~/RPM/SPECS</tt>, и видим там спек для собираемого пакета. | ||
Строка 49: | Строка 41: | ||
чтобы привести спек в пригодный для использования вид. Далее его нужно поправить вручную, используя взятый из ALT Linux пример спека в качестве образца. | чтобы привести спек в пригодный для использования вид. Далее его нужно поправить вручную, используя взятый из ALT Linux пример спека в качестве образца. | ||
=== Сборка пакета «с нуля» === | |||
Вы должны разместить исходники пакета (архивы) в <tt>~/RPM/SOURCES</tt>, а шаблон будущего спека (скопированный из образца) | Вы должны разместить исходники пакета (архивы) в <tt>~/RPM/SOURCES</tt>, а шаблон будущего спека (скопированный из образца) — в <tt>~/RPM/SPEC</tt>. | ||
=== Типовые действия === | |||
Находясь в каталоге SPEC: | Находясь в каталоге SPEC: | ||
<tt>$ rpmbb название.spec</tt> | <tt>$ rpmbb название.spec</tt> | ||
:::для сборки двоичного пакета (он будет создан в ~/RPM/RPMS) | ::: для сборки двоичного пакета (он будет создан в ~/RPM/RPMS) | ||
<tt>$ rpmbb -r название.spec</tt> | <tt>$ rpmbb -r название.spec</tt> | ||
:::для того, чтобы в пакет автоматически прописались зависимости на пакеты, необходимые при сборке. Если пересобирается уже имеющийся пакет из Сизифа, то это не обязательно. (см. также [http://wiki.sisyphus.ru/devel/spectips/buildreq Использование buildreq]) | ::: для того, чтобы в пакет автоматически прописались зависимости на пакеты, необходимые при сборке. Если пересобирается уже имеющийся пакет из Сизифа, то это не обязательно. (см. также [http://wiki.sisyphus.ru/devel/spectips/buildreq Использование buildreq]) | ||
<tt>$ add_changelog название.spec</tt> | <tt>$ add_changelog название.spec</tt> | ||
:::для добавления строчки о данной сборке в секцию %changelog, в конце спека. После этого следует в спеке дописать комментарий, какие изменения были сделаны в данной сборке. Иногда также бывает удобно сразу указать список изменений: | ::: для добавления строчки о данной сборке в секцию %changelog, в конце спека. После этого следует в спеке дописать комментарий, какие изменения были сделаны в данной сборке. Иногда также бывает удобно сразу указать список изменений: | ||
:::<tt>$ add_changelog example.spec -e 'Initial build'</tt> | ::: <tt>$ add_changelog example.spec -e 'Initial build'</tt> | ||
::: Более подробно об использовании этого скрипта вы можете узнать здесь: [http://wiki.sisyphus.ru/devel/spectips/addchangelog http://wiki.sisyphus.ru/devel/spectips/addchangelog] | ::: Более подробно об использовании этого скрипта вы можете узнать здесь: [http://wiki.sisyphus.ru/devel/spectips/addchangelog http://wiki.sisyphus.ru/devel/spectips/addchangelog] | ||
Строка 70: | Строка 62: | ||
Сформированные зависимости (строчка BuildRequires) нужно просмотреть, чтобы там не было ненужных пакетов. Правильность сборки проверяется пересборкой готового пакета в hasher (см. ниже). | Сформированные зависимости (строчка BuildRequires) нужно просмотреть, чтобы там не было ненужных пакетов. Правильность сборки проверяется пересборкой готового пакета в hasher (см. ниже). | ||
== Ошибки при сборке == | |||
Для начала, нужно локализовать | Для начала, нужно локализовать проблему — определить, является ли она проблемой конкретного дистрибутива/системы (например: отсутствие или неверная версия необходимых для сборки библиотек, специфика дистрибутива) или более глобальной (например: несобираемость определённой версией компилятора, ошибки в коде, несоответствие кода новым стандартам). | ||
В первом случае, поможет осуществить поиск по дистрибутиву/репозиторию, поискать решение проблемы в [http://lists.altlinux.org архивах почтовых рассылок] или непосредственно попросить помощи в тематических конференциях, посвещенных дистрибутиву (sisyphus, devel, community). <div style="display: inline; color: red;">ВНИМАНИЕ: порядок действий, для решения проблемы имеет значение (репозиторий -> поиск в архиве -> рассылки)</div>. | В первом случае, поможет осуществить поиск по дистрибутиву/репозиторию, поискать решение проблемы в [http://lists.altlinux.org архивах почтовых рассылок] или непосредственно попросить помощи в тематических конференциях, посвещенных дистрибутиву (sisyphus, devel, community). <div style="display: inline; color: red;">ВНИМАНИЕ: порядок действий, для решения проблемы имеет значение (репозиторий -> поиск в архиве -> рассылки)</div>. | ||
Во втором случае, стоит начать с поиска готовых решений. В открытом сообществе, считается хорошим тоном публиковать решения найденных проблем. Зачастую, поисковики выдают море полезной информации по кратко описанной в трёх-пяти словах | Во втором случае, стоит начать с поиска готовых решений. В открытом сообществе, считается хорошим тоном публиковать решения найденных проблем. Зачастую, поисковики выдают море полезной информации по кратко описанной в трёх-пяти словах проблеме конкретного софта или тексту ошибки, полученной при сборке. Например, запроса вида « gcc4.1 mysoftware patch» может быть достаточно для поиска патча, решающего проблему сборки с новым gcc4.1). | ||
Стоит также воспользоваться имеющимися [http://wiki.sisyphus.ru/devel/repositories репозиториями открытой разработки]. Зачастую, мейнтейнеры этих репозиториев, уже сталкивались с такими же проблемами, и возможно у них есть решение (патч) для сложившейся ситуации. | Стоит также воспользоваться имеющимися [http://wiki.sisyphus.ru/devel/repositories репозиториями открытой разработки]. Зачастую, мейнтейнеры этих репозиториев, уже сталкивались с такими же проблемами, и возможно у них есть решение (патч) для сложившейся ситуации. | ||
О том, как устранить отсутствие необходимых библиотек или заголовочных файлов, рассказано в следующем пункте. | О том, как устранить отсутствие необходимых библиотек или заголовочных файлов, рассказано в следующем пункте. | ||
== Поиск пакетов == | |||
Возможно при сборке вам придётся доустанавливать недостающие библиотеки. Имейте в виду, что в ALT принято называть пакеты для разработки так: libX-devel, где | Возможно при сборке вам придётся доустанавливать недостающие библиотеки. Имейте в виду, что в ALT принято называть пакеты для разработки так: libX-devel, где X — название библиотеки. Пользуйтесь <tt>apt-cache search название</tt> для поиска недостающего пакета. Если пакета нет в вашей системе, поищите его в [http://sisyphus.ru/ Сизифе]. Если его нет и там, обратитесь к крупным собраниям информации о пакетах: | ||
* [http://citkit.ru http://citkit.ru] | * [http://citkit.ru http://citkit.ru] | ||
* [http://rpm.pbone.net http://rpm.pbone.net] | * [http://rpm.pbone.net http://rpm.pbone.net] | ||
а также в [http://www.altlinux.org/Repositories репозитории открытой разработки]. | а также в [http://www.altlinux.org/Repositories репозитории открытой разработки]. | ||
== Сборочная среда Hasher == | |||
Чтобы убедиться в том, что все зависимости правильны и сборка вашего пакета нормально пройдёт на сборочном сервере в ALT Linux, используется | Чтобы убедиться в том, что все зависимости правильны и сборка вашего пакета нормально пройдёт на сборочном сервере в ALT Linux, используется Hasher — среда, которая позволяет осуществить сборку пакета в «чистой» системе, куда установлены только пакеты, указанные в сборочных зависимостях. | ||
<pre>$ sudo apt-get install hasher</pre> | <pre>$ sudo apt-get install hasher</pre> | ||
Для настройки сборочной среды hasher нужно добавить пользователя: | Для настройки сборочной среды hasher нужно добавить пользователя: | ||
Строка 100: | Строка 92: | ||
Для подключения обратно команду $screen -r | Для подключения обратно команду $screen -r | ||
=== Лимиты на сборку у инкамингера === | |||
При сборке пакетов в сборочном окружении используются следующие лимиты: | При сборке пакетов в сборочном окружении используются следующие лимиты: | ||
<pre>В терминах hasher-priv.conf(5): | <pre>В терминах hasher-priv.conf(5): | ||
Строка 112: | Строка 103: | ||
ldv@ in [http://lists.altlinux.ru/pipermail/devel/2006-April/030876.html devel] | ldv@ in [http://lists.altlinux.ru/pipermail/devel/2006-April/030876.html devel] | ||
== Вспомогательные скрипты для сборки == | |||
Существует набор скриптов, облегчающих процесс сборки, собранный в пакет etersoft-build-utils. В параметрах скриптов обычно указываются названия спеков. | Существует набор скриптов, облегчающих процесс сборки, собранный в пакет etersoft-build-utils. В параметрах скриптов обычно указываются названия спеков. | ||
Строка 131: | Строка 121: | ||
|buildreq | |buildreq | ||
|Спек, строка BuildRequires: | |Спек, строка BuildRequires: | ||
|вычисление необходимых | |вычисление необходимых зависимостей сборки с занесением в спек | ||
|- | |- | ||
|rpmbs -u | |rpmbs -u | ||
Строка 185: | Строка 175: | ||
Ключ -r указывает произвести сборку на удалённом сервере | Ключ -r указывает произвести сборку на удалённом сервере | ||
Ключ -u указывает отправить в инкоминг после сборки (- | Ключ -u указывает отправить в инкоминг после сборки (-U — в Updates, а не backports) | ||
Также есть команда loginhsh для входа в (тестовый) hasher. | Также есть команда loginhsh для входа в (тестовый) hasher. | ||
== Использование ccache == | |||
Для ускорения сборки программного кода (если он пересобирается более одного раза) предлагается использовать ccache. Алексей Турбин поделился своими настройками: | Для ускорения сборки программного кода (если он пересобирается более одного раза) предлагается использовать ccache. Алексей Турбин поделился своими настройками: | ||
<pre>~/.zshrc: | <pre>~/.zshrc: | ||
Строка 200: | Строка 190: | ||
%__ccache_dir %_tmppath/.ccache</pre> | %__ccache_dir %_tmppath/.ccache</pre> | ||
== Стандартная процедура == | |||
Если вы не хотите использовать etersoft-build-utils, вот описание использования стандартных команд: | Если вы не хотите использовать etersoft-build-utils, вот описание использования стандартных команд: | ||
Строка 211: | Строка 200: | ||
Собираем пакет командой <tt>rpm -bb</tt>. | Собираем пакет командой <tt>rpm -bb</tt>. | ||
== Дополнительная документация == | |||
* Sisyphus:/devel/RpmSetup | * Sisyphus:/devel/RpmSetup | ||
* [[ОсобенностиСборкиПакетов|Описание нюансов сборки RPM-пакетов в ALT Linux и не только]] | * [[ОсобенностиСборкиПакетов|Описание нюансов сборки RPM-пакетов в ALT Linux и не только]] | ||
Строка 221: | Строка 209: | ||
* [http://atmsk.altlinux.org.ua/index.php?option=articles&Itemid=3&topid=9 Статьи по сборке пакетов] | * [http://atmsk.altlinux.org.ua/index.php?option=articles&Itemid=3&topid=9 Статьи по сборке пакетов] | ||
Краткие справочники команд RPM и | Краткие справочники команд RPM и APT — на странице [http://www.linux-os.ru/articles http://www.linux-os.ru/articles] (спасти, поскольку сервер не работает) | ||
Vitaly Lipatov <lav@etersoft.ru>, 11.01.04, 08.03.04, 28.10.04, 28.02.2005, 04.09.2005, 21.02.2006 | |||
[[Категория:Devel]] | |||
[[Категория:Packaging]] |
Версия от 06:38, 19 марта 2009
Краткая инструкция по сборке пакетов с помощью etersoft-build-utils
Здесь рассмотрена процедура сборки RPM- пакетов для ALT Linux.
Это облегчённая инструкция для начинающих разработчиков, написанная с учётом использования пакета etersoft-build-utils.
Сборка пакетов RPM и DEB в других системах.
Первоначальная настройка
С правами root
Устанавливаем пакеты, необходимые для сборки:
# apt-get install etersoft-build-utils
Данный пакет «вытянет» по зависимостям всё остальное, обычно необходимое при сборке.
Под пользователем
Исправляем данные о сборщике в файле ~/.rpmmacros. Вот, например, содержимое моего файла ~/.rpmmacros:
%_topdir %homedir/RPM %_tmppath %homedir/tmp %_gpg_path %homedir/.gnupg %_gpg_name Vitaly Lipatov <lav@altlinux.ru> %packager Vitaly Lipatov <lav@altlinux.ru>
Если вы являетесь мантейнером, то для того, чтобы подписывать пакеты и отправлять их для сборки в Сизиф, вы должны указать данные адреса, под которым вы зарегистрированы в ALT Linux.
Сборка пакетов
Образец того, как надо оформлять спек, вы можете посмотреть в пакете wcalc или gnubiff. Настоятельно рекомендуется обратиться к документации, а также смотреть «как это сделано в другом пакете». Получить src.rpm для установленного в систему пакета можно командой $ rpmgp название_пакета Также образцы спеков для разных типов пакетов доступны здесь.
Подготовка уже имеющегося src.rpm
Устанавливаем файл *.src.rpm, который хотим собирать (под пользователем):
$ rpm -i название*.src.rpm
Исходники пакета при этом разместятся в ~/RPM/SOURCES, а спек — в ~/RPM/SPECS.
Заходим в каталог ~/RPM/SPECS, и видим там спек для собираемого пакета. Если спек взят из другого дистрибутива, то сначала делаем
$ rpmcs название.spec
чтобы привести спек в пригодный для использования вид. Далее его нужно поправить вручную, используя взятый из ALT Linux пример спека в качестве образца.
Сборка пакета «с нуля»
Вы должны разместить исходники пакета (архивы) в ~/RPM/SOURCES, а шаблон будущего спека (скопированный из образца) — в ~/RPM/SPEC.
Типовые действия
Находясь в каталоге SPEC:
$ rpmbb название.spec
- для сборки двоичного пакета (он будет создан в ~/RPM/RPMS)
$ rpmbb -r название.spec
- для того, чтобы в пакет автоматически прописались зависимости на пакеты, необходимые при сборке. Если пересобирается уже имеющийся пакет из Сизифа, то это не обязательно. (см. также Использование buildreq)
$ add_changelog название.spec
- для добавления строчки о данной сборке в секцию %changelog, в конце спека. После этого следует в спеке дописать комментарий, какие изменения были сделаны в данной сборке. Иногда также бывает удобно сразу указать список изменений:
- $ add_changelog example.spec -e 'Initial build'
- Более подробно об использовании этого скрипта вы можете узнать здесь: http://wiki.sisyphus.ru/devel/spectips/addchangelog
Сформированные зависимости (строчка BuildRequires) нужно просмотреть, чтобы там не было ненужных пакетов. Правильность сборки проверяется пересборкой готового пакета в hasher (см. ниже).
Ошибки при сборке
Для начала, нужно локализовать проблему — определить, является ли она проблемой конкретного дистрибутива/системы (например: отсутствие или неверная версия необходимых для сборки библиотек, специфика дистрибутива) или более глобальной (например: несобираемость определённой версией компилятора, ошибки в коде, несоответствие кода новым стандартам).
В первом случае, поможет осуществить поиск по дистрибутиву/репозиторию, поискать решение проблемы в архивах почтовых рассылок или непосредственно попросить помощи в тематических конференциях, посвещенных дистрибутиву (sisyphus, devel, community).
.
Во втором случае, стоит начать с поиска готовых решений. В открытом сообществе, считается хорошим тоном публиковать решения найденных проблем. Зачастую, поисковики выдают море полезной информации по кратко описанной в трёх-пяти словах проблеме конкретного софта или тексту ошибки, полученной при сборке. Например, запроса вида « gcc4.1 mysoftware patch» может быть достаточно для поиска патча, решающего проблему сборки с новым gcc4.1). Стоит также воспользоваться имеющимися репозиториями открытой разработки. Зачастую, мейнтейнеры этих репозиториев, уже сталкивались с такими же проблемами, и возможно у них есть решение (патч) для сложившейся ситуации. О том, как устранить отсутствие необходимых библиотек или заголовочных файлов, рассказано в следующем пункте.
Поиск пакетов
Возможно при сборке вам придётся доустанавливать недостающие библиотеки. Имейте в виду, что в ALT принято называть пакеты для разработки так: libX-devel, где X — название библиотеки. Пользуйтесь apt-cache search название для поиска недостающего пакета. Если пакета нет в вашей системе, поищите его в Сизифе. Если его нет и там, обратитесь к крупным собраниям информации о пакетах:
а также в репозитории открытой разработки.
Сборочная среда Hasher
Чтобы убедиться в том, что все зависимости правильны и сборка вашего пакета нормально пройдёт на сборочном сервере в ALT Linux, используется Hasher — среда, которая позволяет осуществить сборку пакета в «чистой» системе, куда установлены только пакеты, указанные в сборочных зависимостях.
$ sudo apt-get install hasher
Для настройки сборочной среды hasher нужно добавить пользователя:
- hasher-useradd имя_пользователя
(после этого надо заново зайти в систему)
См . README в /usr/share/doc/hasher-*/
Для сборки пакета в hasher запускаем
rpmbsh -i -u спек.spec
Эта команда соберёт пакет, установит его в тестовый hasher, после чего предложит отправить его в Incoming.
Если вы производите сборку на удалённом сервере, то рекомендуется воспользоваться командой screen. Запускаете: $screen Далее, для отключения от сеанса: Ctrl-A, D Для подключения обратно команду $screen -r
Лимиты на сборку у инкамингера
При сборке пакетов в сборочном окружении используются следующие лимиты:
В терминах hasher-priv.conf(5): rlimit_hard_as=1073741824 rlimit_soft_cpu=7200 rlimit_hard_cpu=7260 wlimit_time_elapsed=14400 wlimit_time_idle=3600 wlimit_bytes_written=268435456
ldv@ in devel
Вспомогательные скрипты для сборки
Существует набор скриптов, облегчающих процесс сборки, собранный в пакет etersoft-build-utils. В параметрах скриптов обычно указываются названия спеков.
Вспомогательная | Обычная | Где результат | Комментарий |
---|---|---|---|
rpmbb | rpm -bb | ~/RPM/RPMS | полная сборка пакета |
rpmbb -r | buildreq | Спек, строка BuildRequires: | вычисление необходимых зависимостей сборки с занесением в спек |
rpmbs -u | ~/RPM/remote/upload | собрать src.rpm, подписать его и выложить в Incoming; удалить buildroot | |
rpmbsh [-i ] [ -r ] [ -u ] | ~/hasher/repo/i586/RPMS.hasher | собрать из спека src.rpm и отправить его на сборку в hasher (если сразу указан src.rpm, собираем его) | |
rpmbb -i | ~/RPM/RPMS | выполнить секцию установки и упаковать пакет, пропустив компиляцию | |
rpmrb спек [ новая_версия ] | для указанного спека скачивает архив с исходниками новой (указанной) версии, собирает в hasher и устанавливает в тестовый hasher, после выхода из которого предлагает выложить в Incoming | ||
rpmgs спек [ новая_версия ] | для указанного спека скачивает архив с исходниками | ||
rpmgp пакет | для указанного пакета скачивает src.rpm | ||
rpmbph [-M50] -U спек | выполняет бэкпорт указанного спека в указанный дистрибутив | ||
rpmbs | rpm -bs | ~/RPM/SRPMS | собрать src.rpm |
rpmcs спек | cleanup_spec | ||
привести спек к стандартам ALT Linux | |||
rpmbb -c | rpm -bc --short-circuit | ~/RPM/BUILD | компиляция без установки |
Ключ -r указывает произвести сборку на удалённом сервере Ключ -u указывает отправить в инкоминг после сборки (-U — в Updates, а не backports) Также есть команда loginhsh для входа в (тестовый) hasher.
Использование ccache
Для ускорения сборки программного кода (если он пересобирается более одного раза) предлагается использовать ccache. Алексей Турбин поделился своими настройками:
~/.zshrc: unset CCACHE_PATH export GCC_USE_CCACHE=1 export CCACHE_DIR=$TMPDIR/.ccache export CC=gcc CXX=g++ ~/.rpmmacros: %_tmppath /tmp/.private/at %__ccache_dir %_tmppath/.ccache
Стандартная процедура
Если вы не хотите использовать etersoft-build-utils, вот описание использования стандартных команд:
Устанавливаем необходимые для сборки пакеты
# apt-get install rpm-build
Приводим спек по возможности в пригодный для использования вид:
$ cleanup_spec название.spec
Собираем пакет командой rpm -bb.
Дополнительная документация
- Sisyphus:/devel/RpmSetup
- Описание нюансов сборки RPM-пакетов в ALT Linux и не только
При сборке пакетов сверяйтесь со следующей документацией:
- Документация разработчика ALT Linux
- Сборка программ для ALTLinux с использованием hasher
- Статьи по сборке пакетов
Краткие справочники команд RPM и APT — на странице http://www.linux-os.ru/articles (спасти, поскольку сервер не работает)
Vitaly Lipatov <lav@etersoft.ru>, 11.01.04, 08.03.04, 28.10.04, 28.02.2005, 04.09.2005, 21.02.2006