如何将软件包从 Debian 复制到我的 PPA?

如何将软件包从 Debian 复制到我的 PPA?

我想添加最新的美食从 Debian sid 包到我们的球队的 PPA因此,想要运行最新版本的 Gourmet 的 Ubuntu 用户可以将该 PPA 添加到他们的软件源中。(从依赖关系来看,这应该不是什么大问题,因为几乎所有当前依赖关系都已在所有当前支持的 Ubuntu 版本中可用。)

我已经下载了*.dsc文件、debian 和原始 tarball,甚至发现我可以使用软件包source.changes文件。我还下载了 Debian 维护者的公钥,以便dput可以验证软件包。然后我尝试使用将软件包上传到我们的 PPA dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes(我也尝试过不使用波浪号)。这似乎成功了,但我没有收到确认电子邮件,现在我们的 PPA 上没有显示任何软件包电力供应协议,这让我想到相信该软件包被拒绝,因为 Debian 维护者的密钥显然不在我们团队成员的密钥之中。

那么,将软件包从 Debian (sid) “复制” 到 Launchpad PPA 的最简单方法是什么?我是否真的需要在本地重建整个软件包才能上传它?

答案1

你需要重建来源在上传之前在本地更新软件包,以便调整更改日志并重新生成更改文件。尽管反向移植软件包是一项非常常见的任务,但此操作已编写脚本。请查看backportpackage 手册页图标命令ubuntu-开发工具安装 ubuntu-dev-tools包裹。

要从 Debian 反向移植软件包,只需提供目标发行版系列、PPA 和软件包的 dsc 文件:

backportpackage -d trusty -u ppa:gourmet/ppa http://ftp.de.debian.org/debian/pool/main/g/gourmet/gourmet_0.17.3-1.dsc

将软件包从一个 Ubuntu 版本反向移植到另一个版本甚至更简单,因为您不需要找到 dsc 文件。假设我们想从 utopic 反向移植到 trusty:

backportpackage -s utopic -d trusty -u ppa:gourmet/ppa gourmet

答案2

有几种方法可以做到这一点。

当我为 Rhythmbox 执行此操作时,我遵循了以下步骤:

a. 获取源文件和 debian 文件

在此处输入图片描述

b. 解压源文件(.orig.tar.xz)

c. 将源文件夹重命名为rhythmbox-3.0.3

c. 解压 debian 文件 (.debian.tar.xz)

d. 将 debian 文件夹移至源目录下

e. dch -i更改变更日志文件

f. 将“不稳定”软件包名称更改为 ubuntu 目标的名称 - 这里我使用了精确的适用于 12.04。请根据您的应用更改版本。此处 rhythmbox 为 3.0.3 - 所以我刚刚添加了-1~ppafossfreedom

rhythmbox (3.0.3-1~ppafossfreedom) precise; urgency=low

  * rebuild

 -- fossfreedom <[email protected]>  Thur, 07 Jun 2012 13:19:18 +0100

g.创建一个新的源包:dh_build --createorig

h. 使用你的密钥构建源代码:你的密钥在debuild -S -k0xABCDEFG哪里ABCDEFG

i. 上传要构建的软件包:

cd ..
dput ppa:fossfreedom/rhythmbox rhythmbox_3.0.3-1_sources.changes    

相关内容