bug-fileutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

checkinstall does install logging to track file installation


From: Bob Proulx
Subject: checkinstall does install logging to track file installation
Date: Sat, 22 Jun 2002 12:02:46 -0600 (MDT)

Recently a discussion took place about logging from the install program
such that packaging and uninstalling might be supported.

  http://mail.gnu.org/pipermail/bug-fileutils/2002-March/002487.html

I had said the following in response to this:

> I believe a better solution is to use a tool specifically designed to
> do packaging.  Either rpm or dpkg are excellent tools for this
> purpose.  I never use 'make install' for a production system.

I know no one was listening to what I was saying (:-) but recently I
was pointed to a tool called checkinstall here.

  http://asic-linux.com.mx/~izto/checkinstall/

This program appears to solve just this problem.  I will include a
section from the README file.  Note that while it does not explicitly
say so I believe the techniques are limited to linux and other OS's
with easy system call tracing capability.  In any case, this looks
very interesting and germane to that discussion.

Bob

====== 1. INTRODUCTION ====== 

    A lot of people has asked me how can they remove from their boxes a program
they compiled and installed from source. Some times - very few - the program's
author adds an "uninstall" rule to the Makefile, but that's not usually the
case. That's my primary reason to write checkinstall. After you ./configure;make
your program, It will run "make install" (or whatever you tell it to run) and
keep track of every file modified by this installation, using the excellent
installwatch utility written by Pancrazio 'Ezio' de Mauro <address@hidden>.

When "make install" is done, checkinstall will create a Slackware, RPM or
Debian package and install it with Slackware's installpkg, "rpm -i" or "dpkg -i"
as appropriate, so you can view it's contents in /var/log/packages or remove it 
with removepkg (for Slackware), "rpm -ql" and "rpm -e" (RPM) or "dpkg -I" and
"dpkg -r" (Debian).


Additionally, this script will leave a copy of the installed package in the
source directory or in the storage directory you specify (see the PAK_DIR option
later in the checkisntallrc file) so you can install it wherever you want,
which is my second motivation: I don't have to compile the same software again 
and again every time I need to install it on another box  :-).


Another nice thing about checkinstall is that it can be run simultaneously by 
any number of users and each instance will get only the files modified by it's 
processes and no one else's, unlike some other tools based on a
"find / -atime etc etc etc". Not to mention that checkinstall is A LOT faster =)


It is important to note that checkinstall can keep track of files modified by
any command line, not just a "make install". You can create your own
installation script with lots of command in it and then have checkinstall track 
them for you.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]