带掩蔽的二元差异 - 需要观察构建的一致性

时间:2009-11-05 08:40:18

标签: build diff

我正在寻找一个二进制差异工具,它允许我屏蔽部分二进制文件,因此不会将它们考虑在内。

我面临的挑战如下:一旦我们积极开发嵌入式软件的一个分支,我们就将其投入维护。这意味着它仍然每周构建一次,以确保它不会被侵蚀,并且不再可构建。这是必要的,因此一旦我们迫切需要修复错误或添加一个小功能,我们就可以专注于此而不需要解决其他问题。

使用我们当前的方法,我们知道分支仍然没有错误地构建,但我们不知道生成的二进制文件是否仍然相同。因此,我认为将“黄金大师”二进制文件与构建内容进行比较,并确定它们是否完全相同将是一种方法。无论如何,这些文件永远不会与该位相同,例如构建日期是二进制文件的一部分。

有没有人有想法或甚至以前解决过这个难题?我想我不是第一个面临这一挑战的开发者。

此致 标记

1 个答案:

答案 0 :(得分:0)

The Linux from Scratch project在他们从Glibc 2.2过渡到Glibc 2.3时遇到了这个问题,我想在2001年。他们开发了一些脚本和技术来减少噪音,但它仍然只是 / em>减少噪音量。他们仍然需要手动检查剩余的差异。无论如何,如果你从2001年到2003年左右挖掘mailinglist archives,你应该找到一些指示。

但是,你不是以错误的方式去做吗?我的意思是,有趣的问题不是它是否仍然构建相同的二进制文件,而是它是否仍然工作,不是吗?因此,它是否仍然通过测试套件而不是它是否仍然是相同的二进制文件更有趣。

毕竟,没有人关心它是否仍然是相同的二进制,如果行为没有可观的差异。如果它被打破了,那么没有人会采取“是的,我知道,但它的破坏方式与上周完全相同,我可以证明这一点!”作为借口。