Моя задача - настроить хост сборки 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)
Если вы не хотите настраивать макет (но я тоже рекомендую это делать), это может помочь.