从上游源重建包?

And*_*rew 6 packaging bazaar upstream

我正在尝试重建一个包(特别是grub2)以克服一些上游已修复但未在 Ubuntu 中修复的错误,并使该包正确集成到 Ubuntu 中。该软件包托管在 Launchpad 和 GNU Savannah 上的 bzr 中。

如何将“原始”上游源包转换为“Ubuntu”版本并重新编译/重新打包?我已经发现我可以使用 获得最新的 Ubuntu 版本的包源apt-get source,但与上游版本存在显着差异。这里最好的行动方案是什么?

Spa*_*apS 2

安装 bzr 和 bzr-builddeb 后你可能想尝试这个技巧:

bzr branch ubuntu:yourrelease/grub2
cd grub2
[ -d debian/patches ] && quilt pop -a
bzr commit -m 'reverting all patches' || :
bzr merge-upstream lp:grub2
dch -i
# Here edit the version info to match upstream..
bzr bd
Run Code Online (Sandbox Code Playgroud)

这应该纯粹从上游源构建一个新的 grub2(无补丁)。您可能会发现您需要其中一些补丁,因此值得查看列表并做出决定。

请注意,“ubuntu:yourrelease/grub2”可能不适用于旧版本的 bzr。如果还是不行,请尝试“lp:ubuntu/yourrelease/grub2”


jel*_*mer 0

Ubuntu 中打包的 Grub 版本可能比上游 Grub 分支中的版本旧。

Ubuntu 分支还将有一个“debian/”目录,其中包含软件包的 Debian/Ubuntu 特定元数据,以及可能包含错误修复或进一步集成 Ubuntu 的向后移植的一些补丁。有关更多信息,请阅读http://developer.ubuntu.com/packaging/html/