Checkinstall is a very useful package for linux distros that track their packages with databases (that is, with rpm or deb packages) when compiling from source, and can save you a lot of headaches when uninstalling or upgrading a package.
But I’ve found a nasty twist (not exactly checkinstall’s fault, actually) that should be kept in mind: there are some files that should NOT belong in your package. And not only for tidyness reasons, but to avoid completely screwing up your Gnome installation.
What is threatening your precious gnome install?
Let’s see how checkinstall (broadly) works: you launch it, it wraps around the install script of your source compiled package (tipically “make install”) and runs it in a sort of sandbox, watching for all the file added or modified by the process. Then packages these files in a neat rpm/deb package, and you are good to go.
The problem arises when the install procedure not only adds files to the system, but runs some process that modifies an existing file. In the case of gnome packages: the gconf database.
This means that the files for your gconf db (but also the icon cache, the scrollkeeper help database, and so on), that are not specifically belonging to the package you are installing, all go in the rpm/deb. What this means in the long term is that if you subsequently remove the package your gnome install is pretty much screwed (because the rpm system will delete the files from the package you uninstall).
So, how to work around this problem? The Checksinstall config file comes to the rescue!
You have to modify the checkinstallrc file to avoid it messing with gnome:
Open it (as root) with a text editor (it should be in /usr/lib/checkinstall/checkinstallrc), go to the line containing the EXCLUDE variable, and modify it in
This way checkinstall will simply not package that files. Yippie!
Standard Disclaimer: you follow these instructions at your own risk. If it breaks your pc, deletes your mp3s and scares your cat, don’t come to me to complain. 🙂