依存関係のあるパッケージをPPAにアップロードする方法は?


13

PPA用のパッケージを作成してアップロードしました。問題なく構築されました。

次に、最初のパッケージに依存する別のパッケージを作成してアップロードしました。最初のパッケージでファイルが見つからなかったため、失敗しました。これは、最初のパッケージがインストールされていなかったと信じさせてくれます。

2番目のパッケージをビルドする前に、最初のパッケージがインストールされていることを確認するにはどうすればよいですか?

最初のパッケージの制御ファイル(libjsoncpp):

ソース:jsoncpp
優先度:追加
メンテナー:ネイサン・オスマン 
ビルド依存:debhelper(> = 7)
標準バージョン:3.8.3
セクション:libs
ホームページ:http://jsoncpp.sf.net

パッケージ:jsoncpp-dev
セクション:libdevel
アーキテクチャ:任意
依存:libjsoncpp(= $ {binary:Version})
説明:C ++用のJSON解析ライブラリ
 jsoncppは、簡単にできるC ++ライブラリです。
 JSONデータの読み取り/書き込み。
 。
 このパッケージには、必要な開発ツールが含まれています
 jsoncppを使用するアプリケーションを作成します。

パッケージ:libjsoncpp
セクション:libs
アーキテクチャ:任意
依存:$ {shlibs:Depends}、$ {misc:Depends}
説明:C ++用のJSON解析ライブラリ
 jsoncppは、簡単にできるC ++ライブラリです。
 JSONデータの読み取り/書き込み。

2番目の制御ファイル(libsopp):

ソース:sopp
優先度:追加
メンテナー:ネイサン・オスマン 
ビルド依存:debhelper(> = 7)
標準バージョン:3.8.3
セクション:libs
ホームページ:http://stackoverflow.quickmediasolutions.com

パッケージ:sopp-dev
セクション:libdevel
アーキテクチャ:任意
依存:libsopp(= $ {binary:Version})、jsoncpp-dev
説明:StackExchangeサイトとのインターフェース用のC ++ライブラリ。
 so ++は、StackOverflowの機能をラップするC ++ライブラリです。
 API。すべてのStackExchangeサイトへのアクセスを提供します。
 。
 このパッケージには、ソフトウェアの作成に必要な開発ファイルが含まれています
 so ++を使用します。

パッケージ:libsopp
セクション:libs
アーキテクチャ:任意
依存:$ {shlibs:Depends}、$ {misc:Depends}、libjsoncpp
説明:StackExchangeサイトとのインターフェース用のC ++ライブラリ。
 so ++は、StackOverflowの機能をラップするC ++ライブラリです。
 API。すべてのStackExchangeサイトへのアクセスを提供します。

両方のパッケージは同じPPAにありますか?
ジェレミーカー

@ジェレミー:はい、そうです。
ネイサンオスマン

2番目のパッケージには、最初のパッケージが必要ですか?(つまり、使用するライブラリの* -devパッケージ)
txwikinger

@txwikinger:はい、そうです。制御ファイルを見る必要がありますか?
ネイサンオスマン

@txwikinger:Nvm。それらを追加しました。
ネイサンオスマン

回答:


10

2番目のパッケージ(sopp)は、最初にビルドする必要があることを指定する必要があります。(でDepends:)指定した依存関係はインストールのみを処理します。

ビルドの依存関係を追加するには、これをSource:制御ファイルの上部()セクションに追加します。

ビルド依存:jsoncpp-dev

マクロはそれ自体で動作するはずなDependsので、行からjsoncppを削除できるshlibs:Dependsはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.