When compiling application form source, being able to cleanly and easily uninstall is only capable if the developer added an uninstall target in the makefile. This will also require the source to be extracted when the need to uninstall arises. There is also the issue that is no record of what is installed or what version is installed.

[user@host ~]$ cd app
[user@host app]$ ./configure && make && make install

CheckInstall can be used to convert source to a Debian, RPM, or Slackware package. It does this by running make install and tracking of every file modified using the installwatch utility. Then the package management system can be used to show what is installed and what version as well as uninstall the applications.

[user@host ~]$ cd app
[user@host app]$ ./configure && make
[user@host app]$ checkinstall -fstrans
checkinstall 1.6.1, Copyright 2002 Felipe Eduardo
 Sanchez Diaz Duran
This software is released under the GNU GPL.

The checkinstallrc file was not found at:
/usr/local/lib/checkinstall/checkinstallrc

Assuming default values.

The package documentation directory ./doc-pak does not
 exist.
Should I create a default set of package docs?  [y]:

Preparing package documentation...OK

Please choose the packaging method you want to use.
Slackware [S], RPM [R] or Debian [D]? S

Please write a description for the package. Remember
 that pkgtool shows
only the first one when listing packages so make that
 one descriptive.

End your description with an empty line or EOF.
>> Description that will show up in your package list.
>>

********************************************
**** Slackware package creation selected ***
********************************************

This package will be built according to these values:

1 -  Summary: [ Description that will show up in your
 package list. ]
2 -  Name:    [ application ]
3 -  Version: [ 1.0 ]
4 -  Release: [ 0 ]
5 -  License: [ GPL ]
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ sourceDir ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]

Enter a number to change any of them or press ENTER to
 continue:

Installing with make install...

========================= Installation results =========
==================

Checkinstall will begin running the install process

********************************************************
**************

 Done. The new package has been saved to

 /user/app/app-1.0-1/app-1.0-i386-1.tgz
 You can install it in your system anytime using:

      installpkg app-1.0-i386-1.tgz

********************************************************
**************

[user@host app]$

Now the package can be installed normally.

Reference:
Checkinstall

Leave a Reply

You must be logged in to post a comment.