shlibsによって設定された依存パッケージのバージョンを上書きする:debに依存

shlibsによって設定された依存パッケージのバージョンを上書きする:debに依存

依存関係を構築していますlibmysqlcppconn7v5。 Ubuntu 1.1.9で構築していますが、Debian 1.1.7libmysqlcppconn7v5にインストールするようになっています。libmysqlcppconn7v5

debian/control次の行が含まれます:

Depends: ${shlibs:Depends}, ${misc:Depends}, libmysqlcppconn7v5 (>= 1.1.7)

パッケージをビルドした後も依然として依存関係があります。libmysqlcppconn7v5 (>= 1.1.9)

パッケージをビルドするときにインストールしたバージョンより低いパッケージバージョンに依存するようにするにはどうすればよいですか?

ベストアンサー1

shlibs:Depends1.1.9以上を指定すると、(libmysqlcppconn7v5理論的に)ビルドするバイナリが1.1.9以上でのみ使用できる記号を使用するという意味です。したがって、libmysqlcppconn7v5依存関係をオーバーライドしても、パッケージが必ずDebian 1.1.7バージョンで実行されていない可能性があります。 (パッケージがシンボルやshlibsファイルを提供していないため、ヒューリスティックが無効であるため、これをある程度制限しました。)

通常、Debianにパッケージをインストールするには、Debianにパッケージをビルドする必要があります。 Ubuntuでは難しくありませんdebootstrap。特に簡単に設定できます。sbuildpbuilderpbuilder複数のディストリビューションに基づく

もしあなたなら本物を上書きするには、次の実行後にビルド中に生成されたファイルを編集shlibs:Dependsできます。.substvarsdpkg-shlibdeps

override_dh_shlibdeps:
    dh_shlibdeps
    sed -i s/1.1.9/1.1.7/g debian/yourpackage.substvars

おすすめ記事