No meu .rpmmacros
no RHEL5 eu uso
%_topdir %(echo ${HOME}/rpm)
Se você não quiser configurar a simulação (mas também recomendo fazer isso), isso pode ajudar.
Minha tarefa é configurar um host de criação do RHEL 5.x, que pode criar RPMs para usuários mortais.
No RHEL 6.x com versão 4.8 do rpm, eu tenho em /usr/lib/macros
:
# Path to top of build area.
%_topdir %{getenv:HOME}/rpmbuild
No RHEL 5.x com versão 4.4 do rpm, o% {getevn: HOME} não está disponível.
Eu sei que posso usar /home/someuser/.rpmmacros
:
%_topdir /home/someuser/rpmbuild
e isso funcionará para esse usuário, mas não quero fazer isso para cada usuário separadamente. Além disso, como .rpmmacro
não expandirá ${HOME}
ou ~
, suspeito que não seja seguro usá-los. Isso, por sua vez, torna /etc/skel
instável para esta tarefa (ou assim eu suspeito).
Então, em resumo, minha pergunta é: Como configurar o host do RHEL 5.x que permite que todos os usuários criem pacotes RPM em seu diretório inicial?
Se for possível, faça o seu servidor de compilação EL6. Isso vai poupar muito aborrecimento depois ...
Para uma caixa de construção simples na qual apenas o pacote RPM ocasional será criado, peça aos usuários que usem mock
. Você vai encontrá-lo no repositório EPEL.
Usar mock
para criar um RPM garante que todas as dependências de compilação corretas tenham sido especificadas ao criá-lo em um ambiente chroot.
Adicione usuários que devem poder acessar mock
ao grupo mock
.
Então, esses usuários podem criar um RPM com um comando como:
mock -r epel-5-x86_64 file.src.rpm
Se você precisa criar um lote de RPMs, ou você está criando um repositório, você pode querer configurar um servidor de compilação automatizado com algo como koji .
Tags rpm redhat user-permissions rhel5