System cleaner removes explicitly installed third-party packages
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
computer-janitor (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
system-cleaner (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Bug Description
Binary package hint: system-cleaner
Description: Ubuntu intrepid (development branch)
Release: 8.10
Package version: system-
Expected behavior: respect user decision and preserve explicitly installed third-party packages
What happened instead:
The way system-cleaner identify some packages as "cruft" is problematic and worrying. I got my Chinese input method removed by system-cleaner, and when I reinstalled the two packages using dpkg, they are listed by system-cleaner as "cruft" immediately.
The said packages are for SunPinyin, which are not in repo, and can be found here: http://
I'm also posting the direct links here as most of you probably can't read Chinese:
http://
and
http://
I tested again with Opera (opera_
This is going a bit too far, and without warning, can cause quite a lot of agony on a normal user's part.
Propose fix: at least uncheck these explicitly installed third party packages by default.
SUMMARY FOR SRU: system-cleaner has no way of knowing whether a package is really obsolete or was installed via dpkg -i, or came from a repository no longer in sources.list. The workaround implemented is to add a dialog to have the user confirm they really want to remove packages.
PATCH: http://
TEST CASE: Add package from third-party repository, remove repository from sources.list, then verify that system-cleaner-gtk offers to remove the package, and pops up the confirmation dialog.
Related branches
Changed in system-cleaner: | |
importance: | Undecided → Medium |
status: | Confirmed → Triaged |
Changed in system-cleaner: | |
status: | In Progress → Fix Committed |
description: | updated |
Changed in system-cleaner (Ubuntu): | |
status: | Fix Committed → Fix Released |
Unfortunately, there is currently no way for system-cleaner to know which packages are obsolete (because they are no longer available via apt-get), and which ones are third-party packages installed outside of apt. Thus the bug is valid, but we can't fix it for now.
I discussed this with Michael Vogt. We'll work on changing libapt after intrepid to make this distinction possible in the future.