でRPMパッケージの構築を自動化していrpmbuild
ます。ファイルは、でアーキテクチャサブディレクトリに配置されRPMS
ます。
質問-RPMが使用しているホストのアーキテクチャ名をシェルスクリプトから取得するにはどうすればよいですか?arch
コマンドと同じではありません。
のように見えます
rpm --eval '%{_arch}'
トリックを行います:
$ rpm --eval '%{_arch}'
x86_64
$ rpm --target 'SPARC64' --eval '%{_arch}'
sparc64
/usr/lib/rpm/rpmrc
既知のOSレベルのアーキテクチャ名を正規のRPMアーキテクチャ名に変換するものがあります。次のシェルスクリプトは私のために仕事をします:
ARCH=`arch`
# OS-level architecture name, like 'i686'
ARCH=`cat /usr/lib/rpm/rpmrc | grep "buildarchtranslate: $ARCH" | cut -c21-`
# returns the translate line as "arch-from: arch-to"
ARCH=${ARCH/#*: /}
# strips the prefix up to colon and following space, returns arch-to.
# Assumes just one space after colon. If not, more regex magic is needed.
あなたはそれを間違っています。〜/ .rpmmacrosで%_build_name_fmtを再定義します。