Назад | Перейти на главную страницу

настройка сервера сборки rhel 5.x RPM для смертных пользователей

Моя задача - настроить хост сборки RHEL 5.x, который может создавать RPM для смертных пользователей.

На RHEL 6.x с версией 4.8 об / мин у меня в /usr/lib/macros:

#       Path to top of build area.
%_topdir                %{getenv:HOME}/rpmbuild

В RHEL 5.x с rpm версии 4.4% {getevn: HOME} недоступен.

Я знаю что могу использовать /home/someuser/.rpmmacros:

%_topdir                /home/someuser/rpmbuild

и это будет работать для этого пользователя, однако я не хочу делать это для каждого пользователя отдельно. Более того, поскольку .rpmmacro не будет расширяться ${HOME} или ~ Я подозреваю, что использовать их небезопасно. Это, в свою очередь, делает /etc/skel нестабилен для этой задачи (или я так подозреваю).

Короче говоря, мой вопрос: Как настроить хост RHEL 5.x, который позволяет всем пользователям создавать пакеты RPM в своем домашнем каталоге?

Если возможно, сделайте свой сервер сборки EL6. Это избавит вас от лишних хлопот в дальнейшем ...

Для простой сборки, в которой будут собираться только случайные RPM-пакеты, пусть ваши пользователи используют mock. Вы найдете его в репозитории EPEL.

С помощью mock для сборки RPM гарантирует, что все правильные зависимости сборки были указаны путем сборки в среде chroot.

Добавьте пользователей, у которых должен быть доступ mock к mock группа.

Затем эти пользователи могут создать RPM с помощью такой команды, как:

mock -r epel-5-x86_64 file.src.rpm

Если вам нужно построить много пакетов RPM, или вы создаете репозиторий, вы можете настроить сервер автоматической сборки с чем-то вроде Коджи.

В моем .rpmmacros на RHEL5 я использую

%_topdir        %(echo ${HOME}/rpm)

Если вы не хотите настраивать макет (но я тоже рекомендую это делать), это может помочь.