
一部の共有ライブラリを開発していますが、一部のソフトウェアが最新バージョンの選択を拒否する問題があります。ただし、一部のソフトウェアにはいくつかの重要な変更があるため、最新バージョンを使用する必要があります。したがって、同じライブラリの2つの異なるバージョンを維持する必要があります。
libel.deb
問題は、開発者が要求するヘッダーとso
ヘッダーと互換性のある実際のバイナリを含む一種の「厚い」パッケージを使用することです。 、にlibel.deb
分けるつもりです。libel-dev.deb
libel1-bin.deb
libel2-bin.deb
ただし、問題にはlibel-dev
最新バージョンのライブラリと互換性のあるヘッダーが含まれているため、開発者は実際に2つのパッケージをインストールする必要があります。libel-dev
これはエラーが発生しやすい(互換性のないパッケージをlibel2-bin
インストールするのが簡単です)dev
bin
この問題をどうすればよいですか?おそらくdev-packageにバイナリを含めることができます...?
答え1
-dev、-binなどのパッケージ内容は完全に慣例的であり、パッケージマネージャは実際には気にしません。実際にUbuntu(またはDebian)アーカイブにアップロードしている場合は、さまざまなツール(および人物)がルールに準拠していることを確認できますが、ローカルパッケージの場合は、必要に応じてそれに従う必要はありません。ですが、一般的に混乱を減らすためにこれに従うべき妥当な理由があります。
つまり、さまざまなパッケージ関係ヘッダー(Depends、Breaksなど)はバージョンをサポートしています。関係を正しく宣言したら、パッケージマネージャは互換性のないセットをインストールしないようにする必要があります。バージョンが必要ないようです。 libel-devには依存関係が必要です。 libel2-binとlibel2-binには、libel1-bin(共同インストールが不可能な場合)の競合が必要です。
あなたは見つけることができますDebian Policy Manual 「パッケージ間の関係宣言」役に立つ。