[arch-general] Severity of Failed checksum for PKGBUILD

Mark Lee mark at markelee.com
Fri Feb 20 14:53:27 UTC 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 02/20/2015 09:22 AM, Daniel Micay wrote:
> On 20/02/15 09:03 AM, Mark Lee wrote:
>> 
>> The checksums are there for integrity. The GPG signatures only
>> confirm the packager built the package. My question is if a
>> packager's PKGBUILD fails a checksum and the license is GPL, how
>> does the packager fullfill their requirement to provide the
>> source code? How does the packager prove that the source was used
>> to build the binaries, especially when there are hash collisions
>> in md5? The packager seems to offset the source code necessities
>> by grabbing the source from upstream, but the checksums don't
>> match...
> 
> The checksums don't "prove" anything. A package could have simply
> been built with --nocheck, it may have been built with a corrupt
> source (it does nothing for the initial and most important
> download) or upstream may have swapped out the tarball as they
> often do.
> 
> Complying with the GPL may mean making source packages available...
> but the checksums really have nothing to do with it. You cannot
> possibly reconstruct the sources from a checksum if the upstream
> download goes away... it has no relevance to the GPL.
> 
>> I understand that the metadata changed which changed the
>> checksum, but that doesn't really change the question of what to
>> do with source code versioning systems that have changing
>> checksums and the need to supply source code for GPL projects.
> 
> Checksums aren't sources. Checksums aren't a proof that the package
> was built from those sources. Checksums also aren't a valuable
> security mechanism, unlike the support for GPG verification of
> sources. They're blindly updated on every release and clobbering
> release is common... so we've all learned to ignore checksum
> failures. I don't understand what this has to do with the GPL.
> 

Checksums aren't sources, they are a method of verifying the integrity
of sources. In other words, while different files can have the same
md5sum (hash collision), a failed checksum indicates something has
definitely changed in the package. Checksums can have false positives
but not false negatives.

In other words, the provided source is definitely not the same as the
source the packager used (metadata difference in this case). If
checksums are as useless as you claim, why even offer them if they
cannot be reproduced for certain packages?

Do packagers really just ignore checksums and "blindly update" on
every release?

Regards,
Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iF4EAREIAAYFAlTnSmUACgkQZ/Z80n6+J/aM4wD/TUaw/RGkMHEqUbcDoHEZuKIy
l+b9kkywSbxOrd7ys+8BAIY2fM1opHOjcJdJjJ35Ifn7yA0PY34FSybyIrzQ4aQe
=GqJJ
-----END PGP SIGNATURE-----


More information about the arch-general mailing list