vine-users ML アーカイブ



[vine-users:071338] Re: vinelinux2.6 cr4を3.1に アップグレード時のトラブ ル

大坂です。

私の場合(大雑把な書き方ですが)

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 参照)。