Получить Fedora
Новости
Сборка пакетов rpm
ВНИМАНИЕ: команды предваряемые символом '#' должны выполняться с правами root (Суперпользователь). Открыв терминал (или находясь в консоли) с правами обычного пользователя, введите команду $ su - для повышения уровня привелегий. Символы '$' и '#' в начале строки не являются частью команды и не должны вводится. Прочие команды могут выполняться с правами обыкновенного пользователя.
[править] Подготовка
Для правильной сборки пакетов нам понадобиться mock. Для установки выполняем следующее:
# yum install mock
Mock позволяет собирать пакеты в chroot от простого пользователя (без прав root), причём определяется автоматически какие пакеты нужны для сборки. Для того, чтобы пользователь мог запускать 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).
Первый запуск обычно достаточно долгий, т.к. создаётся основное дерево для сборки. Но последующие запуски будут быстрее, т.к. используется кэш.
[править] Дополнительные опции 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.
Последнее изменение этой страницы: 22:04, 12 мая 2010. К этой странице обращались 1228 раз.
