En mi organización, implementamos todo nuestro software en nuestras máquinas de producción usando RPM. Nuestro proceso de compilación (que está automatizado) implica verificar la fuente desde el control de versiones, dividir ese directorio de origen y luego ejecutar rpmbuild usando ese tarball de origen. rpmbuild solo usa ese tarball para descomprimir las fuentes para trabajar en ellas. Por lo tanto, parece que todo el negocio de taring y untaring es solo un paso adicional innecesario en el proceso de construcción. ¿Hay alguna manera de especificar el directorio de origen en el archivo de especificaciones, evitando esos pasos adicionales?
13
Esta pregunta es un poco antigua, pero en caso de que otras personas la encuentren en la búsqueda, hay una forma más correcta de hacerlo que también permite la creación de un SRPM.
En la sección de preparación, en lugar de utilizar la macro de configuración , debe escribir lo que quiere que haga, es decir, copiar el directorio de origen de FUENTES a CONSTRUIR, en lugar de desempaquetar un archivo. Descubrí que también debes agregar un CD en tu directorio de origen en las secciones de compilación e instalación.
Fragmento de ejemplo
fuente
%{_topdir}/SOURCES
ser%{_sourcedir}
? ¿Y%{_topdir}/BUILD
podría ser%{buildroot}
? (Por otro lado, para situaciones similares pero diferentes en las que intenta agregar archivos adicionales para anular los extraídos de%setup
, los documentos de Fedora recomiendan usar%{SOURCE2}
etc - fedoraproject.org/wiki/Packaging:RPM_Source_Dir )