vine-users ML アーカイブ



[vine-users:074245] How to change 'install arch'

  • From: Fujita Yoshihiko <starfish@xxxxxxxxxxxxxxxx>
  • Subject: [vine-users:074245] How to change 'install arch'
  • Date: Sat, 18 Mar 2006 02:59:43 +0900
藤田です。

アーキテクチャ指定でリビルドした rpm のインストールで
インストールする場合に、アーキテクチャが合わなくてインストール
できないことがあります。
おそらく rpm --showrc で表示される 'install arch' の項目を
rpm パッケージと一致させれば --ignorearch オプション無しで
インストールできると思うのですがその方法が分かりません。

====
user% rpmbuild --target k6 --rebuild ffmpeg-0.4.9-pre1.src
  (略)
user% sudo rpm -Uhv ffmpeg-0.4.9-pre1.k6.rpm
Password:
準備中...                   ###########################################
[100%]
パッケージ ffmpeg-0.4.9-pre1 は異なるアーキテクチャ向けです
パッケージ ffmpeg-0.4.9-pre1 は既にインストールされています
====
(* 既に --ignorearch でインストールしてあります)


パッケージ自体は k6 用になっていると思います

====
user% rpm --qf '%{OS}:%{ARCH}:%{BUILDARCHS}\n' -qp ffmpeg-0.4.9-pre1.k6.rpm
linux:k6:(none)
====


showrc の結果を示しますと、

====
user% rpm --showrc | head -14
ARCHITECTURE AND OS:
build arch            : k6
compatible build archs: i586 i486 i386 noarch
build os              : Linux
compatible build os's : Linux
install arch          : i586
install os            : Linux
compatible archs      : i586 i486 i386 noarch
compatible os's       : Linux

RPMRC VALUES:
macrofiles            :
/usr/lib/rpm/macros:/usr/lib/rpm/i586-linux/macros:/etc/rpm/macros.specspo:/etc/rpm/macros.db1:/etc/rpm/macros.cdb:/etc/rpm/macros:/etc/rpm/i586-linux/macros:/home/yoshi/.rpmmacros
optflags              : -O2 -pipe -march=i586 -mcpu=i686
====


'install arch' が i586 になっているのが原因と思われますが、
これを変更する方法が良く分かりません。
どなたか手掛りになるようなヒントはありませんでしょうか?
'build arch' が k6 なのは ~/.rpmrc で buildarchtranslate を
指定しているからです。


どこが問題か分からないのでとりあえず、~/.rpmrc と ~/.rpmmacros,
uname -i を示しておきます。

====
user% grep -E -v '^#|^\s*$' ~/.rpmrc
buildarchtranslate: athlon: k6
buildarchtranslate: i686: k6
buildarchtranslate: i586: k6
buildarchtranslate: i486: k6
buildarchtranslate: i386: k6
optflags: k6 -O3 -march=k6-2 -m3dnow -mmmx

user% grep -E -v '^#|^\s*$' ~/.rpmmacros
%_topdir ${HOME}/rpm
%packager Yoshihiko Fujita      <starfish@xxxxxxxxxxxxxxxx>

user% uname -i
i586
====