Estoy modificando una construcción automatizada, y quiero decir rpmbuild
a utilice un área de construcción específica al invocarlo.Cómo configurar el área de construcción para rpmbuild por invocación
Esto es similar a existing question, pero más específico.
No quiero ejecutar ninguno de los comandos de compilación como el usuario raíz; el objetivo es solo tener un RPM, no instalar nada en el sistema.
No quiero require the user to change their dotfiles (por ejemplo,
$HOME/.rpmrc
); la construcción debe ser independiente y no afectar la configuración existente del usuario.No deseo codificar la ubicación en el archivo
foo.spec
; ese archivo debería ser utilizable tal como está si el usuario desea construir en una ubicación diferente.El
--buildroot
option no es lo que necesito; que establece un sistema de archivos pseudo-root para la partemake
del proceso de compilación, pero debo especificar el "área de compilación" para el proceso de compilación entero de RPM.
Lo que estoy buscando es una hipotética opción --build-area FOODIR
que se puede dar al comando rpmbuild
, o una variable de entorno equivalente. Por lo tanto, debería afectar solo esa invocación única del comando y hacer que use una ubicación especificada por el usuario para su área de construcción.
He visto referencias a una macro _topdir
que parece ser de lo que estoy hablando, pero no parece ser configurable por invocación.
Sería ideal si rpmbuild
pudiera establecer su propio entorno en esa ubicación cuando lo necesita, pero no me importa configurar los directorios para esa estructura, ya que eso se puede automatizar como parte de la compilación. El objetivo es que la ubicación que pueda escribir el usuario exista solo durante la ejecución de la compilación y luego elimine toda esa ubicación una vez que se haya generado el archivo RPM.
Gracias! ¡Este realmente me ayudó! – yonix
gracias! realmente me ayudó a – Joakim
Para el caso particular del paquete de kernel de Linux, puede pasar esa opción a través de 'RPMOPTS = 'definir" foo bar "'' en la línea de comando make. – Novelocrat