1

でRPMパッケージの構築を自動化していrpmbuildます。ファイルは、でアーキテクチャサブディレクトリに配置されRPMSます。

質問-RPMが使用しているホストのアーキテクチャ名をシェルスクリプトから取得するにはどうすればよいですか?archコマンドと同じではありません。

4

3 に答える 3

2

のように見えます

rpm --eval '%{_arch}'

トリックを行います:

$ rpm --eval '%{_arch}'
x86_64

$ rpm --target 'SPARC64' --eval '%{_arch}'
sparc64
于 2020-12-27T16:14:31.513 に答える
1

/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. 
于 2012-03-04T21:59:17.707 に答える
0

あなたはそれを間違っています。〜/ .rpmmacrosで%_build_name_fmtを再定義します。

于 2012-03-04T18:58:23.947 に答える