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

Re: The effectiveness of 'make uninstall' command



Amit Uttamchandani wrote:
Hey guys,

I recently compiled a bunch of software on my Debian Etch system
> for testing. After testing I wanted to remove them and I have been
> running the 'make uninstall' command in the source code directory
> of the respective application. I was curious as to how effective
> this command was. It seems like it removes everything it installs.

Now this brings up the obvious question of the usefulness of the
> checkinstall software for managing installations outside of debian
> repos. I understand checkinstall is probably usefull for computers
> in a lab setup but for personal workstation, 'make install' and
> 'make uninstall' seems to be sufficient.

Any comments?

The effectiveness of make uninstall completely depends on the
package.  It is extremely simple to construct an autoconfiscated
package that leaves files on the file system after make uninstall,
and it is also easy to do so inadvertantly.  For example, suppose
the Makefile.am contains:

dist_man1_MANS = foo.1
install-data-hook:
        cd $(DESTDIR)$(man1dir); ln -s foo.1 bar.1


make install will install foo.1 and link bar.1
to it.  make uninstall will remove foo.1, but bar.1 will be
left dangling unless the maintainer also adds an uninstall hook,
which is an easy thing to forget to do.

Also, consider what happend if you do:
$ make DESTDIR=/non/standard/place install
followed some time later by a simple
$ make uninstall

In this case, the uninstall will do pretty much nothing.

make uninstall is a good tool, but there are some gotchas
of which to be wary.  (No dangling prepositions from me!)



Reply to: