Feature request: "make uninstall"

Hi,

I think it would be occasionally very useful if Ruby’s
makefile had a make uninstall target. From what little I
know of the automake/autoconf tools, this make not be a
very difficult target to add.

I realize that there are alternatives like GNU stow,
but have never used them, since most software I install
in /usr/local usually has an uninstall target.

I also see that it’s probably not too terribly difficult
to sift through those /usr/local directories manually
uninstalling an older, un-needed (or possibly botched up)
Ruby installation. But, why not make that into a simple
“make uninstall” instead?

A “make uninstall” also can save you if you mis-
configure and then install, and then want to back out
cleanly.

As an aside: In general, I think that one measure of
how folks gauge a piece of software is how easy it is
to uninstall. IMO, making it easy for your users to
remove your software from their system shows that
you’re confident they will generally tend not to use
such functionality. :slight_smile:

Thanks,
—John

On Apr 18, 2006, at 1:07 AM, John M. Gabriele wrote:

As an aside: In general, I think that one measure of


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

I realize that your asking for a feature that has its uses but I’d
like to offer you an alternative solution.

I will often use a prefix when building from source, especially since
I rarely build packages from source. So for instance when i
configured ruby I did

./configure --prefix=/usr/local/ruby

this has the advantage of uninstall being simply

rm -rf /usr/local/ruby

The other advantage is if I need ruby 1.6 or 1.9 I can install it
alongside 1.8

e.g.

./configure --prefix=/usr/local/ruby16

It’s not so hard to add /usr/local/ruby/bin to your path

— Logan C. [email protected] wrote:

I realize that your asking for a feature that has its uses but I’d
like to offer you an alternative solution.

I will often use a prefix when building from source, especially since
I rarely build packages from source. [snip]

Thank you for the very good suggestion Logan. I’ll
use that method in the future.

Though, I still think an uninstall target would be
a useful addition for those cases where:

A. Maybe some other admin installed Ruby using the
usual incantation (./configure; make; make install)
and now you’ve got to remove it or update it.

B. Maybe someone new to Ruby didn’t think to change
the prefix because it’s not too common to need to,
and down the road they need to remove it. (Note, the
PickAxe doesn’t mention changing the --prefix).

C. Most projects that I’ve come across that use
the autoconf/automake have an uninstall target, and
it actually breaks the principle of least surprise
not to have one. :slight_smile:

I googled for this topic, and found something from
back in 2003 (subj: “Ruby newbie uninstall question?”).
So, I figured that either there’s a good reason why
there’s no uninstall, or else maybe it’s just some
little thing that’s been overlooked.

Is there a reason for leaving out the uninstall
option?

Thanks,
—John