libmysqlcppconn7v5
に依存するDebianパッケージを構築しています 。 libmysqlcppconn7v5
を備えたUbuntuでビルドしています 1.1.9ただし、libmysqlcppconn7v5
を持つDebianにインストールすることを目的としています。 1.1.7。
debian/control
次の行が含まれています:
Depends: ${shlibs:Depends}, ${misc:Depends}, libmysqlcppconn7v5 (>= 1.1.7)
パッケージがビルドされても、依存関係はlibmysqlcppconn7v5 (>= 1.1.9)
のままです。
パッケージのビルド時にインストールしたよりも低いパッケージバージョンに依存させるにはどうすればよいですか?
承認された回答:
shlibs:Depends
の場合 最終的にlibmysqlcppconn7v5
のバージョン1.1.9以降を指定することになります 、これは(理論的には)作成したバイナリがバージョン1.1.9以降でのみ使用可能なシンボルを使用することを意味します。したがって、パッケージは必ずしもlibmysqlcppconn7v5
を使用するDebianで動作するとは限りません。 1.1.7、依存関係を上書きしても。 (パッケージにはシンボルまたはshlibsファイルが含まれていないため、ヒューリスティックは無効であるため、これをある程度修飾しています。)
原則として、Debianにインストールする場合は、Debianでパッケージをビルドする必要があります。これはUbuntuで行うのはそれほど難しいことではありません。 debootstrap
を見てください 、sbuild
およびpbuilder
。 pbuilder
特に、複数のディストリビューションに基づいて構築するように簡単に設定できます。
本当に shlibs:Depends
をオーバーライドしたい 、.substvars
を編集できます ビルド中にdpkg-shlibdeps
の後に生成されたファイル 実行しました:
override_dh_shlibdeps:
dh_shlibdeps
sed -i s/1.1.9/1.1.7/g debian/yourpackage.substvars