Bug 451642 - Discover recommends running dkpg to fix errors without explaining how, which is confusing and jargonistic for normal users
Summary: Discover recommends running dkpg to fix errors without explaining how, which ...
Status: RESOLVED UPSTREAM
Alias: None
Product: Discover
Classification: Applications
Component: discover (show other bugs)
Version: 5.24.3
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Dan Leinir Turthra Jensen
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2022-03-18 07:07 UTC by johnathan
Modified: 2022-03-28 04:03 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
dpkg error (73.54 KB, image/png)
2022-03-18 07:07 UTC, johnathan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description johnathan 2022-03-18 07:07:15 UTC
Created attachment 147575 [details]
dpkg error

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
***
yesterday after updating, the laptop was restarting and because of battery issues, the system got shut down in the middle of installing updates.
next time when i did start it, there was an update but discover got the error asking me to do "dpkg --configure a" but did not tell me how or what.
for a new user, this is really confusing. 

STEPS TO REPRODUCE
1.  update system
2.  restart after updating
3.  do not let the system finish installing updates during boot
4. start system again and try to update

OBSERVED RESULT
the update message is ambigious and not helpful. the "copy to clipboard" copies the entire message instead of "dpkg --configure a" and also, nowhere the message tells me to open terminal and paste the same using sudo

EXPECTED RESULT
when this dpkg error shows up, the user should be informed that dpkg command must be posted in a terminal using sudo privileges.  conversely, the software could ask the user if it could try to fix the system by running it automatically. then discover could run dpkg automatically and redo the update and check if it fixes stuff..


so 2 ideas.
1.  inform the users to press the "copy command" and paste the same in terminal, maybe open the terminal too
2.  do the dpkg command by itself and just ask the user to input sudo password. this is more intuitive and less confusing.

Operating System: KDE neon 5.24
KDE Plasma Version: 5.24.3
KDE Frameworks Version: 5.91.0
Qt Version: 5.15.3
Kernel Version: 5.13.0-35-generic (64-bit)
Graphics Platform: X11
Processors: 4 × Intel® Core™ i7-4600U CPU @ 2.10GHz
Memory: 7.7 GiB of RAM
Graphics Processor: Mesa DRI Intel® HD Graphics 4400
Comment 1 Nate Graham 2022-03-26 02:55:50 UTC
The message comes from the PackageKit library, which is passing it on straight from the underlying package management system--apt, in this case. Apt gives you that message in a context where it makes sense; you're already in a terminal window, so asking you to run commands is something you'll be accustomed to do.

Ideally the user would never see this at all, but sadly apt is deficient in a number of ways and it will happen. The only way to prevent it would be to use a better package management system, (or more precisely, a better distro).

If it has to happen, it would be good if Discover can handle the error condition and offer to fix it automatically, using plan human language rather than technical jargon. Hopefully that's possible based on what we get from PackageKit.
Comment 2 Aleix Pol 2022-03-27 23:56:54 UTC
I don't think we can get this information in a meaningful way. I discussed it with Klumpp, he said he doesn't see it either.

I'm not sure what a good fix would be there other than fixing apt itself, which interestingly seems to be aware of what's going on and just decides not to act on it. :/
Comment 3 Nate Graham 2022-03-28 04:03:08 UTC
I had a feeling. Darn.

I guess you could report this to the apt developers and ask them to have it automatically run the required cleanup or something.