Comment 18 for bug 1943833

Revision history for this message
Mario Limonciello (superm1) wrote :

Yeah; perhaps there is actually multiple bugs here.

One of them is definitely in the engine, using libjcat 0.1.3 or later (at compile time) will change daemon behavior:
https://github.com/fwupd/fwupd/blob/d7b682430efb8f0718306579f64ed4bda423b4a0/src/fu-engine.c#L3963
It needs this commit to be able to verify the timestamp properly: https://github.com/hughsie/libjcat/commit/6fa790b2f458557cbf0c5caf573a9d377ce4bd44

So the engine has been built against 0.1.3 in the most recent release in Ubuntu focal: https://launchpadlibrarian.net/549854359/buildlog_ubuntu-focal-amd64.fwupd_1.5.11-0ubuntu1~20.04.2_BUILDING.txt.gz

libjcat 0.1.4 fixes some ABI problems introduced by 0.1.3. I however don't find a reason to believe compiling against it (vs runtime) will fix this issue.

I looked at KDE discover source code (at least the latest version).
https://github.com/KDE/discover/blob/master/libdiscover/backends/FwupdBackend/FwupdBackend.cpp#L294

Looking at that I don't see any reason to think it's a problem in their code. They use the libfwupd client library for the update process, so any problems should be contained into that library and it's interaction with the daemon's engine.

That is both fwupdmgr and KDE discover use the exact same libfwupd for the refreshing of metadata.

I think we should approach debugging this a different way. YC can you take the files from ~/.cache that fail and see if they fail in jcat-tool as well? If so, it should be easier to walk through why they're failing with a debugger.