LINUX.ORG.RU

Сборка rpmbuild от non-root пользователя

 


0

1

Всем привет!

Стоит такая задача: 1) Собрать бинарный rpm пакет (т.е. пакет уже должен содержать бинари), при этом сборка должна осуществляться от non-root пользователя, а директория установки должна соответствовать директории, права на запись в которую имеет только root.

Проблема в том, как подменить install папку на время сборки приложения, чтобы не поехали различные пути?

Все так и происходит.

rpmbuild-ом пакет собирается в ~/rpmbuild, а что и куда этот пакет в системе ставит - прописано в спеке.

Kuzz ★★★ ()
Ответ на: комментарий от Kuzz

Kuzz, а что происходит в такой ситуации: 1) сначала rpmbuild должен собрать какую-то либу 2) затем собирается приложение, которое линкуется с либой на первом шаге 3) вся это кухня упаковывается в rpm пакет.

Как я понимаю, чтобы на втором шаге приложение нашло либу, собранную на первом шаге, должен быть указан путь к этой директории и в итоге в пакете осядет путь ~/rpmbuild/opt/app/lib вместо /opt/app/lib

Haster ()
Ответ на: комментарий от dexpl

dexpl, спасибо, буду копать. Правда, складывается впечатление, что для использования нужен root (chroot ведь его требует, а mock на нем основан)

Haster ()
Ответ на: комментарий от Haster

для использования нужен root (chroot ведь его требует, а mock на нем основан)

В самом начале man mock рассказано о том, как использовать его без рута:

To use mock, a user should become a member of the mock group by adding their username to the mock line in /etc/group. This can be done with the following command:

	sudo /usr/sbin/usermod -a -G mock $USER

Note that mock is not intended to be run directly as root.

dexpl ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.