Pracuji na systému sestavení pro poměrně velký a starý průmyslový software. Výsledkem sestavení je, že vyplivne kolem 20 otáček za minutu (vytvořeno od nuly pomocí rpmbuild, od nuly přes setup.py, opraveno a přestavěno src.rpms).
Spuštění sestavení na různých počítačích (všechny Centos 6.4 a 6.9) přináší nekonzistentní výsledky s ohledem na konečnou architekturu balíčků. Jeden stroj vyplivne všechny balíčky i386. Na jiných počítačích některé balíčky vyjdou i386, zatímco některé vyjdou i686. Výsledky jsou konzistentní na každém počítači, ale nekonzistentní mezi různými počítači.
Moje otázka zní:
Jaké faktory ovlivňují, zda rpmbuild vytváří balíčky i386 vs. balíčky i686?
Přijatá odpověď:
Existuje několik faktorů, které řídí architekturu.
1) V souborech „spec“ může každý balíček obsahovat BuildArch
pole se specifickým obloukem.
2) Pokud balíčky v souboru ‚spec‘ nemají BuildArch
pole, pak sestavení balíčku bude mít cílovou architekturu sestavení systému.
3) Staré verze rpm
příkaz měl --buildarch <arch>
možnost, která má definovaný arch.