[Momonga-devel.ja:01084] Re: 無用な Requires を減らしたい
- From: Shingo Akagaki <dora@xxxxxxxxxxxxxxxxxx>
- Date: Wed, 18 Dec 2002 02:23:51 +0900
あかがきです。
On Tue, 17 Dec 2002 22:31:19 +0900
Kazuhiko <kazuhiko@xxxxxxxxxx> wrote:
> rpm-4 では、けっこう自動的に Requires を見つけてくれて、それはそれであり
> がたいのですが、%doc なものからも見つけようとするのは、ややおせっかいが
> 過ぎる仕様だと思います。たとえば、パッケージを普通に使う分には全く不要な
> のに、
>
> /usr/share/doc/hoge-1.0/contrib/example.pl
>
> とかであやしい perl モジュールが使われていたらそれが Requires が追加され
> ちゃう、というようなケースです。
rpm-4.0.4-43m で、 rpm-4.0.4-exclude-doc-autoreq.patch というのを
捏造してあててみました。
これは、 find-hoge スクリプトへのパッチではなく、 rpm 本体への
パッチとなっていて、これをあてると、find-hoge に渡すファイルリストを
作成するときに、%doc 指定のついたファイルを除外したリストを作成
するようになります。
ですから、
%doc /usr/bin/example.pl (いやだ...)
のようなファイルは find-hoge から除外されますし
/usr/share/doc/perl5/site_perl/5.8.0/hoge.pl (もっといやだ...)
のようなファイルがあれば find-hoge で検査されます。
とりあえず、 /usr/share/doc というパスに依存せずにドキュメントを
自動 require,provide の検査から除外できますので、 kaz さんの
要望には適っていると思います。
ちょっと長いですが、テストケースを 2つつけときます。
[dora@mimy pkgs]$ diff -uNr ~/perl-Jcode.before ~/PKGS/.i586.mphcache/perl-Jcode-0.82-2m.i586.rpm.mph
--- /home/dora/perl-Jcode.before 2002-12-18 01:29:34.000000000 +0900
+++ /home/dora/PKGS/.i586.mphcache/perl-Jcode-0.82-2m.i586.rpm.mph 2002-12-18 01:31:00.000000000 +0900
@@ -4,9 +4,9 @@
DependsVer: [4.0-1] [3.0.4-1] [3.0.3-1] [] [] [] [] [0:5.004] [] [] [] [] [] []
DependsFlags: 76 76 76 16384 16384 16384 16384 16396 16384 16384 16384 16384 16384 16384
Provides: Unicode.so perl(Jcode) perl(Jcode::Constants) perl(Jcode::H2Z) perl(Jcode::Tr) perl(Jcode::Unicode) perl(Jcode::Unicode::Constants) perl(Jcode::Unicode::NoXS) perl-Jcode
-ProvidesVer: [] [0.82] [1.2] [0.77] [0.78] [1.2] [] [0.77] [0.82-2m]
-ProvidesFlags: 32768 32776 32776 32776 32776 32776 32768 32776 8
+ProvidesVer: [] [0.82] [1.2] [0.77] [0.78] [1.2] [1.2] [0.77] [0.82-2m]
+ProvidesFlags: 32768 32776 32776 32776 32776 32776 32776 32776 8
Filename: perl-Jcode-0.82-2m.i586.rpm
-Size: 183029
-SigMD5: 97c2429d0d3c8a6dfc54b719206f8c77
+Size: 167592
+SigMD5: f7990bbe9c63fd9cc9a6dd1e11b7da29
必要な Require,Provide はおちていない。
ProvidesVer が一箇所違うのは 4.0.4-40m での変更。
[dora@mimy pkgs]$ diff -uNr ~/beep2.before ~/PKGS/.i586.mphcache/beep2-1.2a-4k.i586.rpm.mph
--- /home/dora/beep2.before 2002-12-18 01:25:14.000000000 +0900
+++ /home/dora/PKGS/.i586.mphcache/beep2-1.2a-4k.i586.rpm.mph 2002-12-18 01:26:24.000000000 +0900
@@ -1,12 +1,12 @@
Package: beep2
Version: 1.2a-4k
-Depends: rpm rpm ld-linux.so.2 libc.so.6 /usr/bin/beep2 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1)
-DependsVer: [4.0-1] [3.0.4-1] [] [] [] [] []
-DependsFlags: 76 76 16384 16384 16384 16384 16384
+Depends: rpm rpm ld-linux.so.2 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1)
+DependsVer: [4.0-1] [3.0.4-1] [] [] [] []
+DependsFlags: 76 76 16384 16384 16384 16384
Provides: /usr/bin/beep2 beep2
ProvidesVer: [] [1.2a-4k]
ProvidesFlags: 0 8
Filename: beep2-1.2a-4k.i586.rpm
-Size: 19221
-SigMD5: b7f79dfc6589efbb5b3d69ecdbd781eb
+Size: 19198
+SigMD5: ff14bacee41f54d7065b1e2dd959cc95
/usr/share/doc/beep2-1.2a/sample/abc-score.bps などの
#!/usr/bin/beep2 -s
を拾わなくなっている。