如何将具有相关性的程序包上传到我的PPA?


13

我为我的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网站的访问。

两个软件包都在同一PPA中吗?
杰里米·克尔

@杰里米:是的,他们是。
内森·奥斯曼

第二个软件包是否需要第一个软件包进行构建?(即它使用的库的* -dev程序包)
txwikinger 2010年

@txwikinger:是的,确实如此。您需要查看控制文件吗?
内森·奥斯曼

@txwikinger:Nvm。我加了
内森·奥斯曼

Answers:


10

你的第二个包(SOPP)需要指定它需要先构建 ; 您指定的依赖项(带有Depends:)将仅处理安装。

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

构建依赖于:jsoncpp-dev

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.