大坂です。
私の場合(大雑把な書き方ですが)
rpm2cpio pam-0.77-38vl2.src.rpm | cpio -id ファイルを取り出し
specファイルとdlopen.shファイルををviで書き換えtar.gzに変換し
それからrpmに変換しました。
出てきた2つのrpm(pamとpam-devel)を。--replacepkgsでいれよう
としたが失敗したので--forceでインストールしました。
追加のレスありがとうございました。
長南です。
今ごろになって、間違ったことを書いていたのに気がつきました。
大坂さんを混乱させてしまったのではないかと、心配しています。
私のメールより [vine-users:071300]
rpm --rebuild 時の注意点。 # ここも typo していたのだけれど。
1) glib2-devel パッケージが必要です。
2) spec ファイルを書き換える必要があります。具体的なやり方は
「[vine-users:070330] pam-0.77-38vl2(Re: Re: CD イメージからの
インストールに一応成功)」の下の方に書いてあります。
http://search.luky.org/vine-users.7/msg00327.html
3) spec ファイルを書き換えない、ごまかしのやりかたもあります。
それも、上に挙げたメールの引用部分に書いてあります。
spec ファイルを書き換えるだけでなく、SOURCES/dlopen.sh にも加筆する
必要があるのですが、それは [vine-users:070330] を見ていただけば、
おわかりになると思います。
それ以上にまずかったのは、「rpm --rebuild 時の注意点」と書いてしまった
ことです。3) の「ごまかしのやりかた」を使用したときは、rpm --rebuild で
よいのですが、2) の spec ファイル書き換えを選んだときは、rpm -bb を
使わねばなりません(あるいは rpmbuild -bb)。man rpm は英語だし、ほかに
rpm の BUILD 系のオプションを説明した適当なオンラインマニュアルが
見つからなかったので(以前はあったような気がするんだけど)、2) の場合の
具体的な手順をざっと書いてしまいます。
かりに一般ユーザのホームディレクトリ以下にある rpm/SRPMS に
pam-0.77-38vl2.src.rpm が置いてあるとします。
cd ~/rpm/SRPMS
rpm -ivh pam-0.77-38vl2.src.rpm
cd ../SOURCES
[vine-users:070330] にならって、dlopen.sh に加筆します。
cd ../SPECS
pam-vl.spec を書き換えます。そして、
rpm -bb pam-vl.spec
「+ exit 0 」というメッセージが出て、バイナリ・パッケージのビルドに
成功したら、
cd ../RPMS/i386
su で root ユーザになり、
rpm -Uvh --force pam*
# 本当は --force は使いたくありません。--replacepkgs ですめば、
# その方が無難なのですが(man rpm 参照)。