linux - launchpad.net : Multiple dependencies in the same large project. ..?

标签 linux ubuntu debian deb launchpad

我有一个大型项目,其中包含许多主要二进制文件所依赖的库。我想知道在 launchpad 中处理这个问题的正确方法是什么,这样我就可以构建库,然后是主二进制文件,并在 ppa 上提供每个 debian pacakge。

您可以在 lp:snapcpp ( https://code.launchpad.net/snapcpp/ ) 查看相关项目。在 snacpp 中,我们有“snapwebsites”,这是一个 C++ CMS 系统,它通过我们的库“libQtCassandra”附加到 Cassandra 数据库。 “snapwebsites”依赖于 libQtCassandra,因为它依赖于 libltd 和其他。这些库中的每一个本身都需要是单独的 debian 软件包。每个项目都有自己的“debian”文件夹,但此时没有根 debian 文件夹。

我怎样才能让它在需要根 debian 文件夹的启动板上运行?我是否需要在列出每个依赖项的根目录下构建一个 debian 项目?如果没有,我是否需要使用 bzr 将每个项目分解为自己的分支?如果我选择后者,我如何为构建调出那些依赖 deb(换句话说,我如何告诉 snapwebsites 的配方它需要安装 libQtCassandra 及其依赖包)?

谢谢!

最佳答案

我自己发现的解决方案是利用配方命令“nest-part”,它允许您从 bzr 分支中取出一个文件夹并将其映射到您的项目中。但是,它不能映射到您的分支的根目录。

我所做的是创建一个只有打包信息的分支,以及一个包含“add_subdirectory(src)”的 CMakeLists.txt 文件。然后我从主代码分支 (lp:snapcpp) 映射,但只映射有问题的项目。例如,这里是 snapcpp 中“controlled_vars”项目的配方:

# bzr-builder format 0.3 deb-version {debupstream}+{revno}
lp:~snapcpp/snapcpp/controlled_vars
nest-part src lp:snapcpp controlled_vars src

每个子项目确实需要一个包含打包信息的分支,但这是一次性设置问题。

关于linux - launchpad.net : Multiple dependencies in the same large project. ..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20333656/

相关文章:

linux - 如何根据键盘事件在终端模式下自动启动脚本?

python - Django - 导入错误 : No module named city

ubuntu - 在docker下安装时可以回答对话问题吗?

java - 删除root后如何访问部署在Tomcat Docker Container中的War File Build

tomcat - 增加 Debian 7 上的 tomcat 内存

image - 您可以将Docker镜像转换/构建为完整的OS镜像吗?

c++ - Qt debian/ubuntu : Can't compile, 错误:找不到-lGL

python - 从 Linux 上的 Web 服务器在 Windows 上运行任务的最佳方式

linux - 如何在 Linux bash 中打印第一列的每个唯一值的最新日期

Ubuntu 如何使用 ubuntu 制作/接收已内置软件包的版本?