![我应该如何打包我的源代码以便 Launchpad 为所有版本的 Ubuntu 构建我的包?](https://linux22.com/image/1046653/%E6%88%91%E5%BA%94%E8%AF%A5%E5%A6%82%E4%BD%95%E6%89%93%E5%8C%85%E6%88%91%E7%9A%84%E6%BA%90%E4%BB%A3%E7%A0%81%E4%BB%A5%E4%BE%BF%20Launchpad%20%E4%B8%BA%E6%89%80%E6%9C%89%E7%89%88%E6%9C%AC%E7%9A%84%20Ubuntu%20%E6%9E%84%E5%BB%BA%E6%88%91%E7%9A%84%E5%8C%85%EF%BC%9F.png)
我有一个应该为所有版本的 Ubuntu 构建的软件包,所以我希望 Launchpad 能够构建所有版本... 好吧,它没有。我提交时只是trusty
在变更日志发布字段中使用,而 Launchpad 为 Trusty 构建了它。我将其更改为 Preciseprecise
并仅为其构建。有没有办法让我将相同的源用于多个发布目标?
ffc (1.3.20140513-1) trusty; urgency=medium
* Non-maintainer upload.
* Moving to git.
* Syncronized debian/* with upstream
-- redacted <[email protected]> Fri, 16 May 2014 16:15:00 -0400
答案1
是也不是。
目前还没有办法dput
上传适用于多个 Ubuntu 版本的软件包。不过,你可以使用以下两种方法之一来实现你的目标:
创建菜谱
如果您正在从 Launchpad 上的分支构建软件包,并且您有 Debian 打包,请创建一个针对您希望支持的 Ubuntu 版本的每日构建配方。这在后半部分有更详细的描述这个答案。
这确实是最好的解决方案,因为每次您进行更改时它还会自动进行新的构建(每天最多可自动构建一次,但您可以手动调度其他构建)。
手动上传多个版本
这不是一个理想的解决方案 - 但它确实有效。要实现这个功能,您需要做的是:
调整变更日志中的版本号以匹配此格式:
[version]-1ppa1~[release]1
...其中,
[version]
软件包版本是 ,并且[release]
是 Ubuntu 发行代号(如trusty
、saucy
等等)。确保更改日志设置为构建正确的版本。换句话说,对于 Trusty,更改日志的第一行应如下所示:
ffc (1.3.20140513-1ppa1~trusty1) trusty; urgency=medium
使用上传软件包dput
,然后对要上传软件包的每个版本重复上述两个步骤。您可以查看一个示例来了解其工作原理这里。