Ubuntu:他们对香草源做了什么?


12

如果我错了,请纠正我

据我所知,像Debian / Ubuntu / Fedora这样的发行版通常会在创建包之前修改vanilla源代码。这些变化背后的原因是什么?原始来源有问题吗?如何获取更改列表以及对特定包进行更改的原因?

谢谢您的帮助!

Answers:


18
apt-get source package

将获得两个或三个文件:“原始”tarball(有时修改,但很少......唯一的变化通常是文件名) - 名为* .orig.tar.gz,debian以* .diff的形式变化.gz文件和一些元数据。有时缺少.diff.gz文件:这意味着该软件包仅为debian / ubuntu构建,用于处理一些非常具体的发行版工作......就像dak管理debian存档上传一样。然后所有代码都在原始tarball中。

原因是多方面的:修复软件的错误(当上游不想要时),使软件适应debian(调整文件路径)。Debian希望所有软件包都符合FileSystem Hierarchy Standard,这是一个非常常见的调整。

由于打包问题,原始tarball有时与上游创建的tarball不同。我记得看到一个程序分布在几个tarball中,而它们只生成一个可执行文件 - debian维护者决定制作自己的“原始”tarball,由tarred上游tarball组成。另一个原因是有时debian维护者决定将一些二进制文件添加到包中。将二进制文件放在.diff.gz文件中是很困难的,因此修改了原始的tarball(这通常在包的文档中有明确说明)。

有时(非常罕见)许可是问题。碰巧上游不理解或想要理解由于某些许可证而产生的影响。Debian希望解决所有许可问题,因此debian补丁会执行某些特定的操作,或者原始的tarball会从非法分发的文件中删除。

还会发生某些内容的许可,以便您可以使用它但不能分发。通常(fe for msttcorefontsflashplugin-nonfree)debian软件包只是某种软件包的安装程序,并且软件包内没有原始内容。

pine包也很有意思,因为许可证禁止分发已编译的表单。因此没有pine二进制包,但pine有源包。您可以使用上面的命令下载它并自己编译成debian包。


松现在正在发展为高山,以解决原始许可问题 - washington.edu/pine
theotherreceive

仍是pine包是在仓库里。但是,这就是许可问题使事情变得更难的原因。
liori 2009年

2

原因可能与维护者和包裹一样多。我猜他们通常会修改软件,以便与发行版中的其他软件更好地集成,或添加不属于“官方”版本的功能。

您可以通过sudo apt-get source PACKAGENAME在命令行键入来获取源(以及特定于ubuntu的差异) 。它会将包的vanilla源和差异下载到当前目录。它们通常还在源代码中包含一些注释。


1

这样想吧。如果您从原始源tarball安装程序./configure; make; make install,您仍然需要做一些工作。你必须制作菜单条目,你必须设置配置文件等。你可能不得不给./configure一个--prefix。发行版维护者的变化通常只不过是这些平凡任务的自动化。

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.