私が配布するライブラリパッケージがあります。いくつかの時間前に、ビルドシステムは自家製のMakefile
からGNU Autotoolsに切り替えられました。そのため、libtool
を使用して、複数のインストール済みバージョンのライブラリを簡単に管理することができます。配布用にRPMに切り替えたので、アップグレード時に以前のバージョンを完全にアンインストールしないようにスペックファイルを「医師」する方法を知りたいと思います。もちろんライブラリをアップグレードするためのspecファイルの適切な定義
[[email protected] libtest]$ ls /usr/lib64/libaby*
/usr/lib64/libabyss.a /usr/lib64/libabyss.so /usr/lib64/libabyss.so.0.0.1
/usr/lib64/libabyss.la /usr/lib64/libabyss.so.0
、libtool-として:
例えば、ダミーのライブラリプロジェクトのバージョン1.0.0をインストールした後、私はsudo yum localupdate ....
後、私は以下の持っている、そして、
[[email protected] libtest]$ ls /usr/lib64/libaby*
/usr/lib64/libabyss.a /usr/lib64/libabyss.so /usr/lib64/libabyss.so.0.0.0
/usr/lib64/libabyss.la /usr/lib64/libabyss.so.0
持っています制作されたライブラリの唯一の「本当の」ファイルは、libabyss.a, libabyss.la and libabyss.so.0.0.1
です。 libabyss.so.0.0.1
がインストールされた後にlibabyss.so.0.0.0
が残るようにするには、specファイルで何を行う必要がありますか?それに応じてシンボリックリンクが処理されます。
私は、ライブラリの_SONAME_に_current_と_age_パラメータの完全な影響があるのか疑問に思っていました。 RPMの実際のリリースをビルドする際には、* -release *フラグを使用する予定です。合計6つのライブラリがインストールされています。そのうち2つは-releaseフラグを使用します。他は頻繁に変更されません。はい、私は彼らが別々であるべきであることを知っています、しかし、現在、彼らはそうではありません。 –