0
我使用rpmbuild
自動執行RPM程序包構建。這些文件最終在RPMS
下的體系結構子目錄中。檢索RPM的當前體系結構
問題 - 如何從shell腳本中檢索RPM正在使用的主機的體系結構名稱?這與arch
命令不一樣。
我使用rpmbuild
自動執行RPM程序包構建。這些文件最終在RPMS
下的體系結構子目錄中。檢索RPM的當前體系結構
問題 - 如何從shell腳本中檢索RPM正在使用的主機的體系結構名稱?這與arch
命令不一樣。
有/usr/lib/rpm/rpmrc
將已知的操作系統級別的體系結構名稱轉換爲規範的RPM體系結構名稱。以下shell腳本爲我完成這項工作:
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。
按照慣例,該體系結構也是生成的文件名的一部分。我想這樣。所以我寧願檢索體系結構,而不改變文件名格式。 – 2012-03-04 21:20:51