Je travaille sur le système de construction d'un logiciel industriel assez volumineux et ancien. À la suite de la construction, il crache environ 20 rpms (construit à partir de zéro avec rpmbuild, construit à partir de zéro via setup.py, corrigé et reconstruit src.rpms).
L'exécution de la construction sur différentes machines (tous Centos 6.4 et 6.9) produit des résultats incohérents par rapport à l'architecture finale des packages. Une machine recrache tous les packages i386. Sur d'autres machines, certains packages sortent i386 tandis que d'autres sortent i686. Les résultats sont cohérents sur n'importe quelle machine, mais incohérents entre différentes machines.
Ma question est :
Quels facteurs contrôlent si rpmbuild produit des packages i386 par rapport aux packages i686 ?
Réponse acceptée :
Plusieurs facteurs contrôlent l'architecture produite.
1) Dans les fichiers 'spec', chaque package peut consister en BuildArch
champ avec arch spécifique.
2) Si les packages du fichier 'spec' n'ont pas BuildArch
champ, alors le package de construction aura l'architecture du système de construction cible.
3) Anciennes versions de rpm
la commande avait --buildarch <arch>
option qui a défini arch.