私はrpmbuild
でRPMパッケージ構築を自動化しています。ファイルは、RPMS
の下のarchitectureサブディレクトリにあります。RPMの現在のアーキテクチャを取得
質問 - RPMが使用しているホストのアーキテクチャ名をシェルスクリプトから取得するにはどうすればよいですか? arch
コマンドと同じではありません。
私はrpmbuild
でRPMパッケージ構築を自動化しています。ファイルは、RPMS
の下のarchitectureサブディレクトリにあります。RPMの現在のアーキテクチャを取得
質問 - RPMが使用しているホストのアーキテクチャ名をシェルスクリプトから取得するにはどうすればよいですか? arch
コマンドと同じではありません。
既知のOSレベルのアーキテクチャ名を標準的なRPMアーキテクチャ名に変換する/usr/lib/rpm/rpmrc
があります。次のシェルスクリプトは、私の仕事です。
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を再定義してください。
このアーキテクチャは、生成されたファイル名の一部でもあり、慣習的に使用されています。そして私はそれをそのようにしたい。ですから、ファイル名の形式を変更するよりもむしろアーキテクチャを取得したいと思います。 –