Re: [PATCH] perf: Make the install relative to DESTDIR if specified

From: Ingo Molnar
Date: Thu Mar 11 2010 - 10:24:52 EST



* John Kacur <jkacur@xxxxxxxxxx> wrote:

>
> ----- "Ingo Molnar" <mingo@xxxxxxx> wrote:
>
> > * John Kacur <jkacur@xxxxxxxxxx> wrote:
> >
> > > On Thu, Mar 11, 2010 at 1:57 PM, John Kacur <jkacur@xxxxxxxxxx>
> > wrote:
> > > > Without this change, the install path is relative to
> > > > prefix/DESTDIR
> > > > where prefix is automatically set to $HOME
> > > >
> > > > This can produce unexpected results. For example
> > > >
> > > > make -C tools/perf DESTDIR=/home/jkacur/tmp install-man
> > > >
> > > > creates the directory: ? ? ? ?
> > ?/home/jkacur/home/jkacur/tmp/share/...
> > > > instead of ?the expected: ? ? ? /home/jkacur/tmp/share/...
> > > >
> > > > Signed-off-by: John Kacur <jkacur@xxxxxxxxxx>
> > > > ---
> > > > ?tools/perf/Documentation/Makefile | ? ?4 +++-
> > > > ?tools/perf/Makefile ? ? ? ? ? ? ? | ? ?4 +++-
> > > > ?2 files changed, 6 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/tools/perf/Documentation/Makefile
> > b/tools/perf/Documentation/Makefile
> > > > index bdd3b7e..bd498d4 100644
> > > > --- a/tools/perf/Documentation/Makefile
> > > > +++ b/tools/perf/Documentation/Makefile
> > > > @@ -24,7 +24,10 @@ DOC_MAN1=$(patsubst %.txt,%.1,$(MAN1_TXT))
> > > > ?DOC_MAN5=$(patsubst %.txt,%.5,$(MAN5_TXT))
> > > > ?DOC_MAN7=$(patsubst %.txt,%.7,$(MAN7_TXT))
> > > >
> > > > +# Make the path relative to DESTDIR, not prefix
> > > > +ifndef DESTDIR
> > > > ?prefix?=$(HOME)
> > > > +endif
> > > > ?bindir?=$(prefix)/bin
> > > > ?htmldir?=$(prefix)/share/doc/perf-doc
> > > > ?pdfdir?=$(prefix)/share/doc/perf-doc
> > > > @@ -32,7 +35,6 @@ mandir?=$(prefix)/share/man
> > > > ?man1dir=$(mandir)/man1
> > > > ?man5dir=$(mandir)/man5
> > > > ?man7dir=$(mandir)/man7
> > > > -# DESTDIR=
> > > >
> > > > ?ASCIIDOC=asciidoc
> > > > ?ASCIIDOC_EXTRA = --unsafe
> > > > diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> > > > index 2d53738..5da0cd0 100644
> > > > --- a/tools/perf/Makefile
> > > > +++ b/tools/perf/Makefile
> > > > @@ -216,7 +216,10 @@ STRIP ?= strip
> > > > ?# runtime figures out where they are based on the path to the
> > executable.
> > > > ?# This can help installing the suite in a relocatable way.
> > > >
> > > > +# Make the path relative to DESTDIR, not to prefix
> > > > +ifndef DESTDIR
> > > > ?prefix = $(HOME)
> > > > +endif
> > > > ?bindir_relative = bin
> > > > ?bindir = $(prefix)/$(bindir_relative)
> > > > ?mandir = share/man
> > > > @@ -233,7 +236,6 @@ sysconfdir = $(prefix)/etc
> > > > ?ETC_PERFCONFIG = etc/perfconfig
> > > > ?endif
> > > > ?lib = lib
> > > > -# DESTDIR=
> > > >
> > > > ?export prefix bindir sharedir sysconfdir
> > > >
> > > > --
> > > > 1.6.6.1
> > >
> > > Sorry, I'd like to withdraw this patch.
> > >
> > > I see I can achieve my desired ends without changing the behaviour
> > for
> > > others who expect the old behaviour,
> >
> > The old behavior doesnt look very logical though, right?
>
> No, not really. Well, logical for people quickly prototyping code
> on their own machines, but perf has grown beyond that.
>
> However, I don't like my quick fix either, maybe I can come-up
> with something cleaner.

I've applied it meanwhile though, as /home/jkacur/home/jkacur/ is clearly a
misbehavior :-)

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/