获取包更新的差异

获取包更新的差异

在使用 更新软件包之前(或之后)apt-get update,如何查看新旧版本之间的源代码差异?

答案1

更通用的方法是比较您要升级的版本和要升级到的版本对应的两个源代码包。要找到前者,您可能需要查看快照;后者应该可以从您的档案中获取。然后运行debdiff这两个.dsc文件。

这是一个例子,比较一下斯特拉4.1.1-1( 中的先前版本unstable)和 4.6.1-2( 中的当前版本unstable):

dget http://snapshot.debian.org/archive/debian/20140916T041024Z/pool/main/s/stella/stella_4.1.1-1.dsc
dget http://http.debian.net/debian/pool/main/s/stella/stella_4.6.1-2.dsc
debdiff stella_4.1.1-1.dsc stella_4.6.1-2.dsc

一般来说,您可以将第二行替换为

apt-get --download-only source stella

在某些情况下,可以使用更具体的工具;stella的包装保持在git,因此您可以运行

debcheckout stella
cd stella
git diff debian/4.1.1-1 debian/4.6.1-2

直接比较标签。

dgetdebdiff并且debcheckoutdevscripts包装中。

答案2

您可以下载源代码从 Debian 存储库使用:

apt-get source <PACKAGE>

它将下载 3 个文件,一个.dsc描述包,一个.orig.tar.gz包含源代码,一个.diff.gz包含更改。

如果/etc/apt/sources.list/您已包含deb-src条目,则这将起作用,例如:

deb http://ftp.de.debian.org/debian/ wheezy main
deb-src http://ftp.de.debian.org/debian/ wheezy main

deb只要有源代码就可以让我下载包Debian 威兹存储库。

相关内容