LIC_FILES_CHKSUM 如何在 Yocto 中进行一行匹配?

How does LIC_FILES_CHKSUM work for one line match in Yocto?

对于 ROS 配方,配方包含从 XML 中提取的许可证,配方中指示行: 例如,对于 XMLRCPP:

LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://package.xml;beginline=11;endline=11;md5=184dd1523b9a109aead3fbbe0b4262e0"

但是 Ar-track-alvar 具有相同的许可证名称但不同的 MD5:

LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=061abe8dc89f326789675967c8760541"

那么,如果字符串相同,这个MD5是怎么计算的呢?

编辑:@jku 解释了原因及其工作原理。简单的解释就是第二个package.xml在start

处有2个空格

如果校验和不同,则字符串不相同。区别可能只是空格或不同的版权年份。

LIC_FILES_CHECKSUM 的目的不是确保许可证确实如其所声称的那样(因为这实际上是不可能的)。相反,它用于确保许可证不会在配方版本更新时没有配方维护者注意到的情况下发生变化。