I think this is really a bug in packagekit. On 18.04 I can also trigger this by just running pkcon get-distro-upgrades in a terminal:
Transaction: Getting upgrades Status: Waiting in queue Status: Starting Status: Finished Results: Fatal error: Spawn of helper '/usr/share/PackageKit/helpers/aptcc/get-distro-upgrade.py' failed: failed to spawn /usr/share/PackageKit/helpers/aptcc/get-distro-upgrade.py: Failed to execute child process ?/usr/share/PackageKit/helpers/aptcc/get-distro-upgrade.py?
The problem seems to be that in debian/rules this file is being deleted:
58 │ # Ubuntu-specific, broken 59 │ rm -f $(INSTALLDIR)/usr/share/PackageKit/helpers/aptcc/get-distro-upgrade.py
But it is still referenced in backends/aptcc/pk-backend-aptcc.cpp:
287 │ /** 288 │ * pk_backend_get_distro_upgrades: 289 │ */ 290 │ void pk_backend_get_distro_upgrades(PkBackend *backend, PkBackendJob *job) 291 │ { 292 │ pk_backend_spawn_helper(spawn, job, "get-distro-upgrade.py", "get-distro-upgrades", NULL); 293 │ }
Newer upstream versions of PackageKit (1.1.13) seem to have this file removed - and also the reference in backends/aptcc/pk-backend-aptcc.cpp.
I think this is really a bug in packagekit. On 18.04 I can also trigger this by just running pkcon get-distro-upgrades in a terminal:
Transaction: Getting upgrades PackageKit/ helpers/ aptcc/get- distro- upgrade. py' failed: failed to spawn /usr/share/ PackageKit/ helpers/ aptcc/get- distro- upgrade. py: Failed to execute child process ?/usr/share/ PackageKit/ helpers/ aptcc/get- distro- upgrade. py?
Status: Waiting in queue
Status: Starting
Status: Finished
Results:
Fatal error: Spawn of helper '/usr/share/
The problem seems to be that in debian/rules this file is being deleted:
58 │ # Ubuntu-specific, broken /usr/share/ PackageKit/ helpers/ aptcc/get- distro- upgrade. py
59 │ rm -f $(INSTALLDIR)
But it is still referenced in backends/ aptcc/pk- backend- aptcc.cpp:
287 │ /** get_distro_ upgrades: get_distro_ upgrades( PkBackend *backend, PkBackendJob *job) spawn_helper( spawn, job, "get-distro- upgrade. py", "get-distro- upgrades" , NULL);
288 │ * pk_backend_
289 │ */
290 │ void pk_backend_
291 │ {
292 │ pk_backend_
293 │ }
Newer upstream versions of PackageKit (1.1.13) seem to have this file removed - and also the reference in backends/ aptcc/pk- backend- aptcc.cpp.