Сборка пакетов rpm: различия между версиями

Материал из FedoraMD.org Wiki
Перейти к навигации Перейти к поиску
(Новая: {{Суперпользователь}} == Подготовка == Для правильной сборки пакетов нам понадобиться 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.