たとえば、libmemcached を使用するアプリケーションを維持しています。libmemcached5 または libmemcached6 を使用してコンパイルし、依存関係として libmemcached5、libmemcached6 または libmemcached5|libmemcached6 を指す .deb パッケージをビルドすることもできますが、実際には私のバイナリはそのうちの 1 つだけでコンパイルされます。この問題を解決して、ユーザー側の依存関係をアップグレード/ダウングレードせずにパッケージを展開する最善の方法は何ですか?
質問する
156 次
1 に答える
1
リポジトリを使用している場合、またはアプリの複数のコンパイル済みバージョンが受け入れられる場合、最善の策は、アプリを libmemcached5 で 1 回、libmemcached6 で 1 回、2 回コンパイルし、異なるパッケージ名で個別にパッケージ化し、.適切なものを自動的にインストールするための仮想パッケージ:
Package: myapplication-memchched5
Version: 1.3.17-1
Depends: libmemcached5
Provides: myapplication
Conflicts: myapplication
Replaces: myapplication
と
Package: myapplication-memchched6
Version: 1.3.17-1
Depends: libmemcached6
Provides: myapplication
Conflicts: myapplication
Replaces: myapplication
他にインストールする必要があるものに基づいて、またはaptitude install myapplication
のいずれかが自動的に選択されるようになりました。myapplication-memchched5
myapplication-memchched6
于 2012-11-15T12:35:44.037 に答える