mirror of
				https://github.com/vyos/vyos-build.git
				synced 2025-10-01 20:28:40 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From be73c78420d9a23accfa9568e451046272ceab84 Mon Sep 17 00:00:00 2001
 | |
| From: Riku Voipio <riku.voipio@linaro.org>
 | |
| Date: Sat, 17 Oct 2020 10:30:37 +0000
 | |
| Subject: [PATCH] Perf is shipped in debian in linux-tools-$version package
 | |
| 
 | |
| Extend the existing to builddeb script to build perf if BUILD_TOOLS=y is
 | |
| added the make deb-pkg line
 | |
| 
 | |
| Some features of this patch I'm uncomfortable with:
 | |
| 
 | |
| 1. Relative paths are resoved to absolute ones
 | |
|    Especially with separate O= buildd, perf build from tools/perf dir
 | |
|    fail.
 | |
| 
 | |
| 2. Unsetting LDFLAGS
 | |
|    make -> shell (builddeb) -> make expands variables. The LDFLAGS as
 | |
|    set by toplevel makefile are for kernel, so we just unset the flag
 | |
|    here.
 | |
| 
 | |
| 3. Replaces ubuntu/debian packages instead attempting to fit to
 | |
|    the linux-base/linux-tools-common frameworks. I think people who
 | |
|    want to run "make deb-pkg" for their kernels would rather keep this
 | |
|    simple.
 | |
| 
 | |
| 4. More tools than just perf could be built - unfortunately most
 | |
|    tools fail to have a working "install" target and/or else have
 | |
|    build process inconsistent with other tools. A topic for another
 | |
|    patch series.
 | |
| 
 | |
| Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
 | |
| ---
 | |
|  scripts/package/builddeb | 31 ++++++++++++++++++++++++++++++-
 | |
|  1 file changed, 30 insertions(+), 1 deletion(-)
 | |
| 
 | |
| diff --git a/scripts/package/builddeb b/scripts/package/builddeb
 | |
| index 0b31f4f1f92c..517a54e64509 100755
 | |
| --- a/scripts/package/builddeb
 | |
| +++ b/scripts/package/builddeb
 | |
| @@ -39,10 +39,12 @@ tmpdir="$objtree/debian/tmp"
 | |
|  kernel_headers_dir="$objtree/debian/hdrtmp"
 | |
|  libc_headers_dir="$objtree/debian/headertmp"
 | |
|  dbg_dir="$objtree/debian/dbgtmp"
 | |
| +tools_dir="$objtree/debian/toolstmp"
 | |
|  packagename=linux-image-$version
 | |
|  kernel_headers_packagename=linux-headers-$version
 | |
|  libc_headers_packagename=linux-libc-dev
 | |
|  dbg_packagename=$packagename-dbg
 | |
| +tools_packagename=linux-tools-$version
 | |
|  
 | |
|  if [ "$ARCH" = "um" ] ; then
 | |
|  	packagename=user-mode-linux-$version
 | |
| @@ -65,7 +67,7 @@ esac
 | |
|  BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)"
 | |
|  
 | |
|  # Setup the directory structure
 | |
| -rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files
 | |
| +rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" "$tools_dir" $objtree/debian/files
 | |
|  mkdir -m 755 -p "$tmpdir/DEBIAN"
 | |
|  mkdir -p "$tmpdir/lib" "$tmpdir/boot"
 | |
|  mkdir -p "$kernel_headers_dir/lib/modules/$version/"
 | |
| @@ -194,4 +196,31 @@ if [ -n "$BUILD_DEBUG" ] ; then
 | |
|  	create_package "$dbg_packagename" "$dbg_dir"
 | |
|  fi
 | |
|  
 | |
| +if [ -n "$BUILD_TOOLS" ]
 | |
| +then
 | |
| +	# HACK - change output dir from relative to absolute
 | |
| +	mkdir -p $tools_dir
 | |
| +	tools_dest=`readlink -f $tools_dir`
 | |
| +	if [ -n "$O" ]
 | |
| +	then
 | |
| +		output=`readlink -f $objtree`
 | |
| +		mkdir -p $output/tools/perf
 | |
| +		output="O=$output/tools/perf"
 | |
| +	fi
 | |
| +   $MAKE V=1 -C $srctree/tools/perf $output LDFLAGS= srctree=$KBUILD_SRC prefix=$tools_dest/usr install
 | |
| +	cat <<EOF >> debian/control
 | |
| +
 | |
| +Package: $tools_packagename
 | |
| +Architecture: any
 | |
| +Replaces: linux-base, linux-tools-common
 | |
| +Depends: \${shlibs:Depends}
 | |
| +Description: Performance analysis tools for Linux $version
 | |
| + This package contains the 'perf' performance analysis tools for Linux
 | |
| + kernel version $version .
 | |
| +EOF
 | |
| +
 | |
| +	dpkg-shlibdeps $tools_dest/usr/bin/* $tools_dest/usr/lib*/traceevent/plugins/*
 | |
| +	create_package "$tools_packagename" "$tools_dir"
 | |
| +fi
 | |
| +
 | |
|  exit 0
 | |
| -- 
 | |
| 2.20.1
 | |
| 
 |