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 c4c580f547ef..9a4caabef7dc 100755
|
|
--- a/scripts/package/builddeb
|
|
+++ b/scripts/package/builddeb
|
|
@@ -51,10 +51,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
|
|
@@ -77,7 +79,7 @@ esac
|
|
BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes)
|
|
|
|
# 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/"
|
|
@@ -205,4 +207,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
|
|
|