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

Re: "make install-swig-{pl,py}" implies "make install" for some libraries (Issue 2126) [Attention: I intend to revert r10212]

From: Max Bowsher <maxb_at_ukf.net>
Date: 2005-01-21 21:36:10 CET

Shlomi Fish wrote:
> Check:
>
> http://subversion.tigris.org/issues/show_bug.cgi?id=2126
>
> For the bug report. I already wrote a patch to it, and a log message.
>
> The problem is that when typing make install-swig-pl or make
> install-swig-py,
> the make program also installs some of the Subversion libraries. This is
> problematic because installing the Perl bindings is usually done as root,
> which causes to install the Subversion libraries as root. However, it is
> highly possible these libraries should be installed as a regular user
> (under
> say a non-priviliged path) and not as root.
>
> It's also causes the install to be more time-consuming, but this is a more
> minor issue.
>
> Greg Hudson commented in the bug report that we should decide whether to
> enforce this policy for every "make install-foo" implies "make
> install-bar"
> situation. While possibly true, I cannot think of any other place where
> this
> bothers people as much as this case.

Since you've raised the issue, now seems like an excellent time to have the
discussion.

My personal opinion is that "make install-foo" is an instruction to do a
specific thing - most particularly because you may want to run a specific
part of the install with destination overrides or different user id.

So, I would like to revert this commit:

------------------------------------------------------------------------
r10212 | breser | 2004-07-10 11:00:02 +0100 (Sat, 10 Jul 2004) | 13 lines

Build generator fix. Make install targets in generated makefile have
explicit dependencies on library install targets. So for example,
make the "install-bin" target depend on the "install-lib"
target because one or more of the installed files in "install-bin"
depends on one or more libraries installed by "install-lib"

Patch from: "Russell Yanofsky" <rey4@columbia.edu>

* build/generator/gen_make.py
  (Generator.write):
    output install dependencies from graph
------------------------------------------------------------------------

because I view the behaviour it introduces as a bug.

It appears that this came about due to:
http://svn.haxx.se/dev/archive-2004-07/0372.shtml

which is all about that "make install-swig-py" should do "make
install-swig-py-lib".

I agree that you shouldn't need 2 seperate install commands to get
functional python bindings, but I think the solution implemented was wrong.

Here is my proposed replacement solution:

Move the existing contents of the "swig-py" group into "swig-py-py" (or
another name).
Create a new alias "swig-py" which combines "swig-py-py" and "swig-py-lib".
(For the purposes of both build and install).

Thus, we have disposed of the awkward behaviour hampers certain install
methods, *and* made the common-case
thing to type DTRT.

I'm going to allow this idea a few days exposure here before I commit it, in
case anyone objects.

Max.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jan 21 21:42:17 2005

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.