Ich arbeite am Build-System für eine ziemlich große und alte Industriesoftware. Als Ergebnis des Builds spuckt es ungefähr 20 U / min aus (von Grund auf neu erstellt mit rpmbuild, von Grund auf neu erstellt über setup.py, gepatcht und neu erstellt src.rpms).
Das Ausführen des Builds auf verschiedenen Computern (alle Centos 6.4 und 6.9) führt zu inkonsistenten Ergebnissen in Bezug auf die endgültige Architektur der Pakete. Eine Maschine spuckt alle i386-Pakete aus. Auf anderen Maschinen kommen einige der Pakete als i386 heraus, während andere als i686 herauskommen. Die Ergebnisse sind auf jedem Computer konsistent, aber zwischen verschiedenen Computern inkonsistent.
Meine Frage ist:
Welche Faktoren steuern, ob rpmbuild i386-Pakete im Vergleich zu i686-Paketen erstellt?
Akzeptierte Antwort:
Es gibt mehrere Faktoren, die die produzierte Architektur steuern.
1) In „spec“-Dateien kann jedes Paket aus BuildArch
bestehen Feld mit spezifischem Bogen.
2) Wenn Pakete in der 'spec'-Datei kein BuildArch
haben Feld, dann hat das Build-Paket eine Ziel-Build-Systemarchitektur.
3) Alte Versionen von rpm
Befehl hatte --buildarch <arch>
Option, die arch definiert hat.