lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20131106053654.GA23746@gmail.com>
Date:	Wed, 6 Nov 2013 06:36:54 +0100
From:	Ingo Molnar <mingo@...nel.org>
To:	David Ahern <dsahern@...il.com>
Cc:	acme@...stprotocols.net, linux-kernel@...r.kernel.org,
	Namhyung Kim <namhyung@...nel.org>,
	Jiri Olsa <jolsa@...hat.com>
Subject: Re: [PATCH] perf: Fix version when building out of tree


* David Ahern <dsahern@...il.com> wrote:

> When building perf out of tree
>     make perf-tar-src-pkg
>     tar -xf perf-<ver>.tar -C /tmp
>     cd /tmp/perf<ver>
>     make -C tools/perf
> 
> you get the warning message:
>     make[1]: *** No rule to make target `kernelversion'.  Stop.
> 
> Fix by saving the perf version in the tar file and using that for the
> out of tree builds.
> 
> Suggested-by: Ingo Molnar <mingo@...nel.org>
> Signed-off-by: David Ahern <dsahern@...il.com>
> Cc: Ingo Molnar <mingo@...nel.org>
> Cc: Namhyung Kim <namhyung@...nel.org>
> Cc: Jiri Olsa <jolsa@...hat.com>
> ---
>  scripts/package/Makefile         |    4 +++-
>  tools/perf/util/PERF-VERSION-GEN |   16 +++++++++++++++-
>  2 files changed, 18 insertions(+), 2 deletions(-)
> 
> diff --git a/scripts/package/Makefile b/scripts/package/Makefile
> index a4f31c900fa6..e44653986e0a 100644
> --- a/scripts/package/Makefile
> +++ b/scripts/package/Makefile
> @@ -115,7 +115,9 @@ git --git-dir=$(srctree)/.git archive --prefix=$(perf-tar)/         \
>  	-o $(perf-tar).tar;                                         \
>  mkdir -p $(perf-tar);                                               \
>  git --git-dir=$(srctree)/.git rev-parse HEAD > $(perf-tar)/HEAD;    \
> -tar rf $(perf-tar).tar $(perf-tar)/HEAD;                            \
> +(cd $(srctree)/tools/perf;                                          \
> +util/PERF-VERSION-GEN short ../../$(perf-tar)/ 2>/dev/null);        \
> +tar rf $(perf-tar).tar $(perf-tar)/HEAD $(perf-tar)/PERF-VERSION-FILE; \
>  rm -r $(perf-tar);                                                  \
>  $(if $(findstring tar-src,$@),,                                     \
>  $(if $(findstring bz2,$@),bzip2,                                    \
> diff --git a/tools/perf/util/PERF-VERSION-GEN b/tools/perf/util/PERF-VERSION-GEN
> index 15a77b7c0e36..142d7dcccfd2 100755
> --- a/tools/perf/util/PERF-VERSION-GEN
> +++ b/tools/perf/util/PERF-VERSION-GEN
> @@ -1,5 +1,12 @@
>  #!/bin/sh
>  
> +SHORT_FORM=no
> +
> +if [ "$1" = "short" ]  ; then
> +	SHORT_FORM=yes
> +	shift
> +fi
> +
>  if [ $# -eq 1 ]  ; then
>  	OUTPUT=$1
>  fi
> @@ -19,6 +26,9 @@ if test -d ../../.git -o -f ../../.git
>  then
>  	TAG=$(git describe --abbrev=0 --match "v[0-9].[0-9]*" 2>/dev/null )
>  	CID=$(git log -1 --abbrev=4 --pretty=format:"%h" 2>/dev/null) && CID="-g$CID"
> +elif test -f ../../PERF-VERSION-FILE
> +then
> +	TAG=$(cat ../../PERF-VERSION-FILE)
>  fi
>  if test -z "$TAG"
>  then
> @@ -41,7 +51,11 @@ else
>  fi
>  test "$VN" = "$VC" || {
>  	echo >&2 "PERF_VERSION = $VN"
> -	echo "#define PERF_VERSION \"$VN\"" >$GVF
> +	if [ "$SHORT_FORM" = "yes" ]; then
> +		echo "$VN" >$GVF
> +	else
> +		echo "#define PERF_VERSION \"$VN\"" >$GVF
> +	fi
>  }

I think you could avoid the 'short' complication altogether by doing 
something like this:

> +elif test -f ../../PERF-VERSION-FILE
> +then
> +	TAG=$(cut -d' ' -f3 ../../PERF-VERSION-FILE)

That extracts 'TAG' as a true sha1 and makes GVF correct on out of tree 
builds as well.

haven't tested it though.

Thanks,

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ