Sto lavorando al sistema di build per un software industriale piuttosto grande e vecchio. Come risultato della build, sputa circa 20 rpm (costruito da zero con rpmbuild, creato da zero tramite setup.py, patchato e ricostruito src.rpms).
L'esecuzione della build su macchine diverse (tutte Centos 6.4 e 6.9) produce risultati incoerenti rispetto all'architettura finale dei pacchetti. Una macchina sputa tutti i pacchetti i386. Su altre macchine alcuni dei pacchetti escono i386 mentre alcuni escono i686. I risultati sono coerenti su qualsiasi macchina, ma non coerenti tra macchine diverse.
La mia domanda è:
Quali fattori controllano se rpmbuild produce pacchetti i386 rispetto a pacchetti i686?
Risposta accettata:
Esistono diversi fattori che controllano l'architettura prodotta.
1) Nei file "spec" ogni pacchetto può essere composto da BuildArch
campo con specifico arch.
2) Se i pacchetti nel file "spec" non hanno BuildArch
campo, quindi il pacchetto di compilazione avrà l'architettura del sistema di compilazione di destinazione.
3) Vecchie versioni di rpm
comando aveva --buildarch <arch>
opzione che ha definito arch.