“Amazing. Just amazing.”
“Yesterday I wrote about the need for a unified package handler
for Linux that would not just reconcile RPM, DEB, and TGZ packages
but would include in the database of installed applications (along
with dependencies and the like) those things you build yourself
from source.”
“Konstantin Malakhanov must have had his note pre-written, so
quick was he to email a response to my plea. He clued me in on
something called “CheckInstall.” It is the coolest utility I’ve
ever seen. If you run Slackware or any RPM-based distribution and
if you ever compile your own applications, libraries, anything, it
is a must-have, a really essential application.” “What does it do?
Well, I can tell you some things, but I bet that I leave a lot out,
because when I think I’ve figured out everything important about
this deceptively small utility (the source download is less than
60k), I happen upon something even neater that it also does. In my
explorations so far, I’ve learned that it:
- Tracks the activities of “make install” and enters the package
you’ve built in your Slackware tarball or RPM-based distribution
RPM database. - Makes your choice of a binary tarball or RPM of whatever it is
you’ve just built. - Includes in the binary package docs, license, and everything
else, not just the binaries themselves. - Allows for a clean uninstall, because you can use your
distribution’s regular package uninstall command to get rid of
it. - Allows for a really clean uninstall, because it backs up
anything that was changed when you installed the new package you
compiled.”
“Indeed, when you compile it — and it is the easiest compile since
“Hello, World” — it makes a tarball or RPM of itself!”