Сборка пакетов rpm: различия между версиями
OlegA (обсуждение | вклад) (Новая: {{Суперпользователь}} == Подготовка == Для правильной сборки пакетов нам понадобиться mock. Для установки...) |
|||
Строка 7: | Строка 7: | ||
</source> | </source> | ||
− | Mock позволяет собирать пакеты в chroot от простого пользователя (без прав root), причём определяется автоматически какие пакеты нужны для сборки. | + | Mock позволяет собирать пакеты в chroot от простого пользователя (без прав root), причём определяется автоматически какие пакеты нужны для сборки[http://medobot.ru]. |
Для того, чтобы пользователь мог запускать mock необходимо добавить пользователя или пользователей в группу mock: | Для того, чтобы пользователь мог запускать mock необходимо добавить пользователя или пользователей в группу mock: | ||
<source lang="bash"> | <source lang="bash"> | ||
Строка 24: | Строка 24: | ||
где <code>fedora-8-i386</code> - профиль для сборки. Список профилей доступен по <code>/etc/mock</code>. | где <code>fedora-8-i386</code> - профиль для сборки. Список профилей доступен по <code>/etc/mock</code>. | ||
− | Если необходимо просматривать установку в реальном режиме, то используйте параметр <code>-v</code> (verbose). | + | Если необходимо просматривать установку в реальном режиме, то используйте параметр <code>-v</code> (verbose)[http://hotturism.ru]. |
− | Первый запуск обычно достаточно долгий, т.к. создаётся основное дерево для сборки. Но последующие запуски будут быстрее, т.к. используется кэш. | + | Первый запуск обычно достаточно долгий, т.к. создаётся основное дерево для сборки. Но последующие запуски будут быстрее, т.к. используется кэш[http://turzalet.ru]. |
== Дополнительные опции Mock == | == Дополнительные опции Mock == |
Версия 20:53, 12 мая 2010
ВНИМАНИЕ: команды предваряемые символом '#
' должны выполняться с правами root (Суперпользователь). Открыв терминал (или находясь в консоли) с правами обычного пользователя, введите команду $ su -
для повышения уровня привелегий. Символы '$
' и '#
' в начале строки не являются частью команды и не должны вводится. Прочие команды могут выполняться с правами обыкновенного пользователя.
Подготовка
Для правильной сборки пакетов нам понадобиться mock. Для установки выполняем следующее:
# yum install mock
Mock позволяет собирать пакеты в chroot от простого пользователя (без прав root), причём определяется автоматически какие пакеты нужны для сборки[1]. Для того, чтобы пользователь мог запускать mock необходимо добавить пользователя или пользователей в группу mock:
# usermod -a -G mock <user>
Не забываем, что после добавления в группу, необходимо пройти заново авторизацию.
Сборка
Для сборки нам нужен готовый src.rpm. Запуск сборки происходит по команде:
$ mock -r fedora-8-i386 rebuild package-1.2-3.src.rpm
где fedora-8-i386
- профиль для сборки. Список профилей доступен по /etc/mock
.
Если необходимо просматривать установку в реальном режиме, то используйте параметр -v
(verbose)[2].
Первый запуск обычно достаточно долгий, т.к. создаётся основное дерево для сборки. Но последующие запуски будут быстрее, т.к. используется кэш[3].
Дополнительные опции Mock
Вы можете добавлять и менять репозитории в профиле. Так же Вы можете добавить прокси сервер, если доступ в Интернет проходит только через прокси. Просто добавьте после строк конфигурации и перед репозиториями:
proxy=http://localhost:3128/
Есть возможность задавать значение макросов rpm. при помощи добавления в тот же профиль после конфигурационных строк, например:
config_opts['macros']['%packager'] = "FedoraMD.org Project"
config_opts['macros']['%vendor'] = "FedoraMD.org Project"
или заданием параметра --define "packager FedoraMD.org Project" --define "vendor FedoraMD.org Project"
при вызове mock.
По умолчанию собранные пакеты и логи находятся в /var/lib/mock.