[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Uninstalling Subversion

From: Kip Warner <Kip_at_TheVertigo.com>
Date: 2006-08-06 01:21:47 CEST

On Sun, 2006-06-08 at 00:08 +0100, Max Bowsher wrote:
> Fact: 'make uninstall' requires that you preserve the build directory
> for when you want to uninstall the package.

So what? You've got it if you compiled from source anyways. If you
wanted something official, you would have just use a packaged binary.

> As a result, it is too cumbersome to be widely adopted as a general
> means of package uninstallation.

> As a result, maintainers are reluctant to bother coding uninstall targets.

I cannot confirm that at all. Everything from the NIC drivers on my
system to the games and gnome utilities all have uninstall targets.

> GNU may mandate it for their own software, uptake of the idea in non-GNU
> software is severely limited.

They weren't talking about their own software, but software which uses
make, as I understood it. Hence why everyone else uses the targets.

> Any user who expects 'make uninstall' to be present as a matter of
> course has expectations that correspond poorly to reality.

If by reality, you are talking about the set of assumptions inside
developers' heads, who are *RESPONSIBLE* for svn's development, then
yes, I do have a very poor conception of reality. But understand that it
all seems very clear to you, but that is only because you are probably
involved in the project. It is unreasonable to deviate from common
methodologies when there is no reason to. Even if you can find instances
where uninstall target is not implemented, it does not change the fact
that people intuitively expect it. But more importantly, it is useful.

> The careful management of a system over time has become solely the
> domain of package managers. The usual demands of a software build system
> are to simply place the appropriate files in a nominated directory tree,
> be that a live system or a staging directory.

Why do we implement an install target then? Surely that should be left
to the package manager's domain?

> > If make didn't know where it was copying the binaries, it wouldn't have
> > been able to perform the operation to begin with.
> I'm sorry, I can't resist: 'make' never copies anything! :-)
> Before you suggest adding lots of echos to a file into the makefiles:
> once libtool gets involved, the makefiles themselves aren't fully aware
> of all the filenames they are causing to be installed anyway.

This is painfully and blatantly obvious. Ultimately it resolves down to
cp doing its thing. The point being is that it must have gotten its
arguments from somewhere.

> >> Bottom line is: writing a sane 'make uninstall' for Subversion is a
> >> vastly non-trivial undertaking (not least because you would first have
> >> to go get a 'make uninstall' added to apr, apr-util and neon) that I
> >> doubt anyone will ever feel sufficiently motivated to do it.
> >
> > That is a good point, but it can still be done.
> But vanishingly unlikely that it ever will be.
> Max.

I will look into Eric's suggestion of using stow.


Kip Warner
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Aug 6 01:22:19 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.