[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:17456] Re: rpm bug?



From: Hiroshi KISE <fuyuneko@xxxxxxxxxxxx>
Subject: [debian-users:17423] Re: rpm bug?
Date: Sun, 15 Aug 1999 00:01:40 +0900
> > rpm -q -vv -l -p king-0.90-1.i386.rpm
> > としてみると、中のファイル、ディレクトリともにrootでした。
> 
> まず、これがあやしいです。もともとのrpmファイルのuidとgidが
> それぞれ300ではないか、と思いました。ですが、上のrpmコマンドでは
> root/rootです。
> 
> slink環境でrpm2cpioの実験をすればよかった…。

実験したところ、300/300でした。rpmのうそつき〜(使い方が間違っている
可能性も大きいけど)。

結局、展開するところではslinkでもpotatoでもそのままで、パッケージング
するときに、slinkではroot/rootに変更、potatoではそのまま、ということに
なりました。

debian/rulesを比較していくと、potatoではdh_fixpermsの行がコメント
になっていることがわかりました。そこで、/usr/doc/alien/changelog.gzを
探したところ、
−−−−−−−−−−−−−−−ここから−−−−−−−−−−−−−−−
alien (6.42) unstable; urgency=low

  * Don't call dh_fixperms. As bug #36700 points out, some things you'll
    want to convert have odd permissions intentionally. I suppose this
    change will make a lot of stuff that has odd permissions accidentially
    come through with bad perms, but that's life..

 -- Joey Hess <joeyh@master.debian.org>  Mon, 28 Jun 1999 15:51:37 -0700
−−−−−−−−−−−−−−−ここまで−−−−−−−−−−−−−−−
とあります。ようするに仕様だと。

まとめます。

Q、alienでrpmからdebに変換したパッケージに含まれるファイルの所有者が
   rootでなかったり、グループがrootでないことがありますが、これはなぜ?

A、2つの要因があります。1つは、もとのrpmパッケージに含まれている
   ファイルの所有者/グループがroot/rootではない、ということ。
   もう1つは、alienコマンド(バージョン6.42以降)がパッケージを構築
   するときに、所有者/グループをroot/rootに変更しない、ということです。

   root/rootにしたい場合は、
	alien -g foobar-1.0.rpm
	cd foobar-1.0
	(debian/rulesのdh_fixpermsの行を有効にする)
	debian/rules binary (root権限)
   などとするといいでしょう。ただし、これによってパーミッションや
   所有者が変更されますから、これらに依存したプログラムがあるなら、
   動かなくなる可能性もあるかもしれません。
-- 
喜瀬“冬猫”浩@南国沖縄