如何将带有依赖项的包上传到我的 PPA?

如何将带有依赖项的包上传到我的 PPA?

我为我的 PPA 制作了一个包并上传了它。它构建没有任何问题。

然后我制作了另一个依赖于第一个包的包并上传了它。它失败了,因为它找不到第一个包中的文件。这让我相信第一个包甚至没有安装。

在尝试构建第二个包之前,如何确保第一个包已安装?

第一个包(libjsoncpp)的控制文件:

来源:jsoncpp
优先级:额外
维护者:Nathan Osman
构建依赖: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 数据。

第二个控制文件(libsopp):

来源:sopp
优先级:额外
维护者:Nathan Osman
构建依赖:debhelper(>= 7)
标准版本:3.8.3
部分:libs
主页:http://stackoverflow.quickmediasolutions.com

软件包:sopp-dev
部分:libdevel
建筑类型:任意
依赖:libsopp(= ${binary:Version})、jsoncpp-dev
描述:用于与 StackExchange 网站交互的 C++ 库。
 so++ 是一个 C++ 库,它包装了 StackOverflow 的功能
 API。它提供对所有 StackExchange 站点的访问。
 该软件包包含编写软件所需的开发文件
 使用 so++。

软件包:libsopp
部分:libs
建筑类型:任意
依赖:${shlibs:Depends}、${misc:Depends}、libjsoncpp
描述:用于与 StackExchange 网站交互的 C++ 库。
 so++ 是一个 C++ 库,它包装了 StackOverflow 的功能
 API。它提供对所有 StackExchange 站点的访问。

答案1

你的第二个包(sopp)需要指定它需要第一个包建造;您指定的依赖项(使用Depends:)将仅处理安装。

Source:要添加构建依赖项,请将其添加到控制文件的顶部( )部分:

构建依赖:jsoncpp-dev

然后您应该能够从该Depends行中删除 jsoncpp,因为shlibs:Depends宏应该可以自行解决这个问题。

相关内容