Bug 473769

Summary: Packages in the .deb format that require "END-USER LICENSE AGREEMENT" confirmation before installation cannot be installed using the Discover Product.
Product: [Applications] Discover Reporter: Gildeon <gildeon23>
Component: PackageKitAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: normal CC: aleixpol, gildeon23, nate
Priority: NOR    
Version First Reported In: 5.27.7   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
URL: https://github.com/PackageKit/PackageKit/issues/604
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: User Input Waitng Before Continue Installation (backend view)

Description Gildeon 2023-08-26 03:50:04 UTC
Created attachment 161191 [details]
User Input Waitng Before Continue Installation (backend view)

SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. Open a .deb file that requires "END-USER LICENSE AGREEMENT" confirmation before installation using the "Discover" Product. (I'm trying this with the "ASTAH SOFTWARE," available at this link: https://cdn.change-vision.com/files/astah-uml_9.1.0.448a59-0_all.deb.)"
2. Wait for the loading process to complete.
3. Click on the "Install" button in the upper right corner.

OBSERVED RESULT:
The task doesn't finish because it's waiting for a customized answer for the agreement terms confirmation (on background).

EXPECTED RESULT:
Display to users the installation options and the accept options to continue the installation task.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 5.27
(available in About System)
KDE Plasma Version: 5.27.7
KDE Frameworks Version: 5.108.0
Qt Version:  5.15.10

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2023-08-28 20:09:06 UTC
Unfortunately this issue is a caused by a design flaw in the PackageKit library that Discover relies upon for this functionality: it provides no way to bubble up interaction requests so that Discover can show them in the GUI. See https://github.com/PackageKit/PackageKit/issues/604.

Equally unfortunately, there is nothing we can do in Discover short of migrating away from that library (which would entail rewriting the entire app) until and unless the issue is fixed upstream.

The only real workarounds are for packagers to not add such interactivity in their packages themselves, or for users to not use them.