我为我的 PPA 制作了一个包并上传了它。它构建没有任何问题。
然后我制作了另一个依赖于第一个的包并上传了它。它失败了,因为它在第一个包中找不到文件。这让我相信第一个软件包甚至没有安装。
在尝试构建第二个包之前,如何确保第一个包已安装?
第一个包(libjsoncpp)的控制文件:
来源:jsoncpp 优先级:额外 维护者:内森·奥斯曼 构建依赖:debhelper (>= 7) 标准版本:3.8.3 部分:库 主页:http://jsoncpp.sf.net 包:jsoncpp-dev 部分:libdevel 架构:任何 取决于:libjsoncpp (= ${binary:Version}) 描述:C++ 的 JSON 解析库 jsoncpp 是一个 C++ 库,可以很容易地 读取/写入 JSON 数据。 . 该软件包包含必要的开发工具 创建使用 jsoncpp 的应用程序。 包:libjsoncpp 部分:库 架构:任何 取决于:${shlibs:Depends},${misc:Depends} 描述:C++ 的 JSON 解析库 jsoncpp 是一个 C++ 库,可以很容易地 读取/写入 JSON 数据。
第二个(libsopp)的控制文件:
资料来源:索普 优先级:额外 维护者:内森·奥斯曼 构建依赖:debhelper (>= 7) 标准版本:3.8.3 部分:库 主页:http://stackoverflow.quickmediasolutions.com 包:sopp-dev 部分:libdevel 架构:任何 取决于:libsopp (= ${binary:Version})、jsoncpp-dev 描述:用于与 StackExchange 站点交互的 C++ 库。 so++ 是一个封装了 StackOverflow 功能的 C++ 库 API。它提供对所有 StackExchange 站点的访问。 . 该软件包包含编写软件所需的开发文件 使用so++。 包:libsopp 部分:库 架构:任何 取决于:${shlibs:Depends}、${misc:Depends}、libjsoncpp 描述:用于与 StackExchange 站点交互的 C++ 库。 so++ 是一个封装了 StackOverflow 功能的 C++ 库 API。它提供对所有 StackExchange 站点的访问。
您的第二个包(sopp)需要指定它需要第一个来构建;您指定的依赖项(带有
Depends:
)将仅处理安装。要添加构建依赖项,请将其添加到
Source:
控制文件的顶部 ( ) 部分:然后,您应该能够从该
Depends
行中删除 jsoncpp,因为shlibs:Depends
宏应该可以自行解决。