PPA和打包:具有多个发行版的打包版本


36

(来自聊天的报价)

在启动板上为与我相关的IRC机器人项目的源程序包获取了一个PPA(由于它是发布之间所有内容的中间包装,因此被归类为“实验性” PPA)。问题:我已经打包了这些东西以进行清晰的构建。有什么线索可以使我创建相同的包装,除了将包装用于特立独行的包装,然后将其包装到我将透明包装用于的PPA之外?

Answers:


41

可能最简单的方法是简单地在启动板上复制二进制文件:

  1. 转到您的PPA,然后单击“查看包裹详细信息”:

    在此处输入图片说明

  2. 点击“复制软件包”:

    在此处输入图片说明

  3. 选择清醒包:

    在此处输入图片说明

  4. 为该系列选择“ Maverick”,然后选择“复制现有二进制文件”:

    在此处输入图片说明

  5. 点击“复制软件包”,仅此而已!


非常感谢。您的指示已于。也非常感谢您的快速回复。
托马斯·沃德

@Evil:没问题。很高兴我能帮上忙!
内森·奥斯曼

4
请注意此处链接的其他问题!!!复制现有的二进制文件不适用于发往其他版本的ubuntu的程序!请参阅我的rkhunter PPA和Lucid版本的变更日志,以了解我的意思: launchpad.net/~trekcaptainusa-tw/+archive/rkhunter/+packages
Thomas Ward

@ThomasWard:好点-它并不总是有效。
内森·奥斯曼

2
@KhurshidAlam对不起,超级超级回复。这将因“无效的变更日志”而失败,因此,当使用具有不同版本的PPA时,必须分别单独标记每个标记。[ launchpad.net/~nginx/+archive/stablelaunchpad.net/~nginx/+archive/stable)就是一个很好的例子,因为它使我建立有分布添加到的版本,所以它建立正确使用所有不同的库。(我现在维护nginx团队的ppas,因此我以它为例。)
Thomas Ward

11

如果无法复制正在构建的程序包的二进制文件,则需要通过编辑debian/changelog文件为每个发行版上载源程序包。

如何为另一个发行版重新打包

  1. 编辑debian/changelog您的源包目录中的文件
  2. 更改版本目标分布,以反映发行您正在为

    例如:nginx (1:1.4.1-0ubuntu1~preciseppa1) precise; urgency=low
  3. 重新构建源程序包: debuild -S
  4. .changes文件上传到您的PPA:dput ppa:teward/nginx-stable-testing ../nginx_1.4.1-0ubuntu1~preciseppa1_source.changes

如果构建成功,那么恭喜您已经为该发行版构建了一个软件包!如果没有,则必须检查启动板上的构建日志并解决您发现的所有问题。

参考文献:


这就是我要做的!:D当我需要为nginxPPA和其他程序中的其他程序进行不同的构建时,MOTU(Universe存储库的神)对此进行了解释,它们帮助解决了我的许多问题。感谢您发布!:)
托马斯·沃德

是的,我认为这对于记录文档并提供给新的打包程序将是有用的信息,因为使用所有debian打包工具,PPA上传,约定和调试失败的构建可能会有艰难的学习过程。
TrinitronX

确实。不过,我并没有更改已接受的答案,因为在提出这个问题时,无需担心各种版本的Ubuntu中都提供可用的库。使用我经常向后移植的nginxor rkhunter或其他软件包,要解决一个巨大的依赖项问题(depends:在控制文件等中有所不同),因此我总是使用programversion-1~RELEASE0〜RELEASE0始终与给定发行版所在的编号相同。.通常当我从Debian到Ubuntu就是这样:)
Thomas Ward

是的,依赖绝对是向后移植的痛点;-)我同意,在大多数情况下,可以接受的答案就足够了,对于使用市集源代码控制库的用户来说,使用Launchpad的bzr-builder配方也很有吸引力。但是,当涉及到具有许多依赖性的程序包时,有时您必须为目标发行版构建自定义程序包。
TrinitronX

我将nginxDebian Unstable的支持移植到了Precise,Quantal,Raring和Saucy(以及PPA中的Trusty,但我还要确保Trusty,直到Debian冻结之前,会将Debian的最新信息合并到:P中),以便NGINX团队使用,但是可惜有时候有些错误我无法修复,因此Debian必须处理...这就是为什么我与Debian维护者保持良好关系的原因:)
Thomas Ward
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.