Home directory cleaner
Mentor:
Summary: User application to assist in removing user data files for uninstalled applications.
Required skills:
- Understanding of Debian package management
- System administration experience
- UI development experience
Description: Debian package management does a good job at cleaning up system directories; it even keeps track of modified config files (which are only deleted on "purge").
However, when it comes to cleaning up user data, there are deficits. There are good reasons to not mess with user directories (for example, they might be shared among multiple machines, and for privacy reasons the administrator should not touch user directories when not requested). Thus the package management itself should not take care of this.
- Especially "desktop" users of Linux tend to try out various programs, and uninstall them when they don't satisfy their needs. However, most of these applications leave some configuration files in the users home directory that are not automatically cleaned up and these can take up a considerable amount of disk space (for example, many web browsers will default to a cache of 20+ MB each, desktop search engines can accumulate dozens of MB in index data etc.).
The goal of this project is to develop infrastructure and a UI that allows users to easily clean up such data on their own initiative, suggesting to them which files could be obsolete and thus removable.
- Integration with package management is an important part of this project: while the "cleaner" application can of course include a file with typical path and file names, it should prevent the user from accidentially deleting files for applications that are still installed.
- Not all data is stored in files, for example many GNOME applications will store configuration in gconf, the cleaner application should also support removing such configuration data.
Some newer applications adher to this Freedesktop specification, but unfortunately way too few so far. Which is a major reason why we could use such an application.
It's not about finding duplicate files or empty files etc. (there are applications to do this) - the general idea is that if for example the "gimp" package was uninstalled, the user could want to remove ".gimp-*" folders. The application should basically then say "Since you do not seem to have Gimp installed anymore, do you want to delete the folder ~/.gimp-2.4, which contains 600k of data. Delete / Keep / Open Folder"
- Most likely, application packages will / should ship a specification file which user directories they use, that is then registered (via dpkg hooks?) with the tool. The file format should probably be standardized e.g. with freedesktop to not make the solution too Debian-specific.
- The application should allow multiple packages to specify the same folders (e.g. different versions of the same package, different 'flavours' such as liferea-gecko, liferea-webkit)
Note: when writing an application for this project, make sure to explain the integration with Debian package management you suggest. If there is nothing specific to Debian, the application will be rejected or forwarded to e.g. the GNOME project. You are of course welcome to submit it to GNOME right away. If so, please notify us, so there aren't two equivalent projects accepted at Debian and GNOME.
Note: similar apps include fdupes, bleachbit, fslint, detox, sweeper, scleaner, gconf-cleaner - these have some overlap, so make sure to differentiate yourself here, too.
Note: some related links
