Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0000954Vine Linux1 バグ公開2010-03-11 00:382010-03-11 18:54
iwaim 
daisuke 
不明 
完了不明 
VineSeed 
 
binutils-2.20.51.0.2-4
0000954: RPMパッケージ作成時に /usr/lib/rpm/brp-strip-shared が走ったときにPermission deniedになりRPMパッケージが作成できない
今のVineSeedでRPMパッケージを作成する際、/usr/lib/rpm/brp-strip-sharedでstripする際に対象のファイルに書き込み権限がない場合にRPMパッケージの作成ができなくなります。

Momonga Linuxの方のブログによれば、
 - binutils 2.20のstrip(1)の挙動が変わったことに起因
 - brp-strip-sharedは今やrpmのデフォルトでは実行されない
 - brp-strip-sharedを実行していないディストリビューションも多い
ということらしく、Momonga Linuxでは走らせるのをとめたらしいです。
http://d.hatena.ne.jp/toshiharu_z/20100220/1266681803 [^]

例えば、VineSeed上でVine5 updatesのopenssl-0.9.8k-5をix86環境でrebuildすれば再現します。
------------------
 + /usr/lib/rpm/brp-compress
 + /usr/lib/rpm/brp-strip
 + /usr/lib/rpm/brp-strip-shared
 strip: unable to copy file '/home/foo/rpm/BUILDROOT/openssl-0.9.8k-5vl6.i386/usr/lib/openssl/engines/libgmp.so'; reason: Permission denied
 strip: unable to copy file '/home/foo/rpm/BUILDROOT/openssl-0.9.8k-5vl6.i386/usr/lib/openssl/engines/libcapi.so'; reason: Permission denied
------------------
となり、結果
------------------
 エラー: /var/tmp/rpm-tmp.wJnBln の不正な終了ステータス (%install)
------------------
となります。
設定されていません。
課題の履歴
2010-03-11 00:38iwaim新規課題
2010-03-11 03:48daisuke担当者 => daisuke
2010-03-11 03:48daisukeコメント追加: 0004030
2010-03-11 08:43daisuke状態新規 => テスト待ち
2010-03-11 08:43daisukeコメント追加: 0004031
2010-03-11 18:54iwaim状態テスト待ち => 完了
2010-03-11 18:54iwaimコメント追加: 0004032

コメント
(0004030)
daisuke   
2010-03-11 03:48   
ConnectivaまたはConnectiva由来のdistributionではshared libraryに
実行権限をつけていませんでした。(いまもMandrivaはそうかもしれません)
このため、実行権限がついていないものを strip するためのものとして
brp-strip-shared が用意されています。

Vine でも /usr/lib などに入っている shared library は +x されて
いますので brp-strip で strip されます。(ごく一部に +x されてい
ないモジュール類があるかもしれませんが、例外なので問題にはならない
と思われます)

rpm-4.8.0-6 で削除することで対応したいとおもいます。
(0004031)
daisuke   
2010-03-11 08:43   
rpm-4.8.0-6 を upload しました。

strip-shared を外した以外には以下の変更を行っています。
- patch が rpm-4.8 に対応していなかったため、なくなっていた
  legacy macro を復活させました。(Vine6までに再度消えるかもしれません)
- brp-compress を xz/lzma に対応させました
- brp-strip-static-archive で *.a だけを調べるように変更しました
(0004032)
iwaim   
2010-03-11 18:54   
RPMパッケージの作成を問題なくできることを確認しました。完了とします。