Estoy trabajando en el sistema de compilación de un software industrial bastante grande y antiguo. Como resultado de la construcción, escupe alrededor de 20 rpm (construido desde cero con rpmbuild, construido desde cero a través de setup.py, parcheado y reconstruido src.rpms).
Ejecutar la compilación en diferentes máquinas (todas Centos 6.4 y 6.9) produce resultados inconsistentes con respecto a la arquitectura final de los paquetes. Una máquina escupe todos los paquetes i386. En otras máquinas, algunos de los paquetes salen i386 mientras que otros salen i686. Los resultados son consistentes en cualquier máquina, pero inconsistentes entre diferentes máquinas.
Mi pregunta es:
¿Qué factores controlan si rpmbuild produce paquetes i386 frente a paquetes i686?
Respuesta aceptada:
Hay varios factores que controlan la arquitectura producida.
1) En los archivos de 'especificaciones', cada paquete puede consistir en BuildArch
campo con arco específico.
2) Si los paquetes en el archivo 'spec' no tienen BuildArch
campo, entonces el paquete de compilación tendrá la arquitectura del sistema de compilación de destino.
3) Versiones antiguas de rpm
el comando tenía --buildarch <arch>
opción que ha definido arch.