open-build-service
open-build-service copied to clipboard
Downloads often fail hdrmd5 checks due to dod urls
It's extremely common to see:
[46/68] (SUSE:SLE-15:Update) libldap-data-2.4.46-9.64.1.noarch.rpm: 100%|...| Time: 0:00:00 SUSE:SLE-15:Update/libldap-data: attempting download from api, since the hdrmd5 did not match
This is caused by .osc/_buildinfo-standard-x86_64.xml which has an invalid hdrmd5 contained (d0d0dd0d0d0d ... I think). I assume this is meant to mean it's a place-holder md5, but in reality what this causes is that when attempting to download from a mirror, these downloads will ALWAYS fail because the downloaded file (which is valid) does not match what the hdrmd5 in the xml has. This then forces the downloaded files to be discarded, and the buildservice api is used instead, which is MUCH slower compared to using the mirrors (especially when you live in Australia).
Thanks for the report, the d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0 hash really seems to have a special meaning in OBS.
@Firstyear could you provide a reproducer?
On Dienstag, 22. März 2022, 09:23:46 CET Daniel Mach wrote:
Thanks for the report, the
d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0hash really seems to have a special meaning in OBS. @Firstyear could you provide a reproducer?
it references to not yet downloaded packages configured via download on demand repositories.
--
Adrian Schroeter @.***> Build Infrastructure Project Manager
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Ivo Totev
@dmach I'm not sure of the exact reproduction steps, beside "I just use osc and it does this about 1/3rd of the time". About the only special setup I have is that I'm using the option:
[https://api.opensuse.org]
downloadurl = https://mirrorcache-au.opensuse.org
This is because downloads in Australia are significantly faster with a local mirror. So I'm assuming it's some interaction there where the fact that the downloaduri option turns of api downloads (but so does download_api_only = 0 I think).
Anyway, the point is that the downloaded package is valid, but the xml we get is invalid because the hdrmd5 is wrong. If the point is to flag that the package is from a dod url, then that should be a seperate flag, rather than trashing the hdrmd5 value - especially since this breaks local/regional mirrors that are valid content holders.
@Firstyear could you try patch from https://github.com/openSUSE/osc/pull/1019 ?
Files with the d0d... checksums are no longer checked, I've also fixed indentation that probably caused even worse problems than you're describing (deleting all downloaded files and downloading them from API again).
@Firstyear could you try patch from openSUSE/osc#1019 ? Files with the
d0d...checksums are no longer checked, I've also fixed indentation that probably caused even worse problems than you're describing (deleting all downloaded files and downloading them from API again).
The patch fixes the issue from my side.
we agreed in our meeting not to deliver the d0d md5sum in that situation.
This means osc can not verify the correct version at that point of time, it can still verify the gpg signature for security though.
(the issue goes away when a server side build triggered the download of the rpm)