Control: tag -1 confirmed

On 18 May 2025 00:37:44 CEST, Ben Hutchings <b...@decadent.org.uk> wrote:
>On Sun, 2025-04-27 at 16:18 +0200, Ben Hutchings wrote:
>[...]
>> - If I mask packagekit.service before booting (using a rescue shell), 
>>   then none of the files are updated automatically.  Running 'apt
>>   update' updates them all as expected.
>> 
>> So it seems like this problem may be specific to PackageKit.
>> 
>> Sven and Laurent, do your affected systems have PackageKit installed?
>
>OK, so I think this is confirmed as somehow PackageKit-related.
>
>I had a look through the code for "apt update" and the PackageKit APT
>back-end to see what might be different.  I think this has something to
>do with the different pkgAcquireStatus subclasses they use, but I
>couldn't identify a specific bug in PackageKit.
>
>I experimented with writing a test program that implements its own
>pkgAcquireStatus, and I I'm attaching the source for that.  It needs to
>be run on a system where a local InRelease file is out of date.  If you
>answer "no" to the Pulse() after the *second* time the InRelease file is
>reported done, that should reproduce the broken state.

Thanks, yes. I had a quick look at the code on Salsa from my phone:

So when the fetcher stops (Pulse()=false cancels the update run), it runs the 
Finished method on each item.

When the Finished() method of an InRelease file is called, it commits the 
transaction if it has started and there were no errors; 
that is, it does not check the transaction was actually complete.

-- 
sent from my phone, excuse the brevity, if any

Reply via email to