Create 0000-linux-tools.patch
This commit is contained in:
parent
1e62c6ed78
commit
c767fcfb2a
145
patches/0000-linux-tools.patch
Normal file
145
patches/0000-linux-tools.patch
Normal file
@ -0,0 +1,145 @@
|
||||
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
|
||||
---
|
||||
scripts/package/builddeb | 93 +++++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 files changed, 92 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
|
||||
index eee5f8e..d474736 100644
|
||||
--- a/scripts/package/builddeb
|
||||
+++ b/scripts/package/builddeb
|
||||
@@ -78,17 +78,20 @@ tmpdir="$objtree/debian/tmp"
|
||||
fwdir="$objtree/debian/fwtmp"
|
||||
kernel_headers_dir="$objtree/debian/hdrtmp"
|
||||
libc_headers_dir="$objtree/debian/headertmp"
|
||||
+tools_dir="$objtree/debian/toolstmp"
|
||||
+tmp_build_dir="$objtree/debian/toolsbuild"
|
||||
packagename=linux-image-$version
|
||||
fwpackagename=linux-firmware-image
|
||||
kernel_headers_packagename=linux-headers-$version
|
||||
libc_headers_packagename=linux-libc-dev
|
||||
+tools_packagename=linux-tools-$version
|
||||
|
||||
if [ "$ARCH" = "um" ] ; then
|
||||
packagename=user-mode-linux-$version
|
||||
fi
|
||||
|
||||
# Setup the directory structure
|
||||
-rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir"
|
||||
+rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$tools_dir" "$tmp_build_dir"
|
||||
mkdir -m 755 -p "$tmpdir/DEBIAN"
|
||||
mkdir -p "$tmpdir/lib" "$tmpdir/boot" "$tmpdir/usr/share/doc/$packagename"
|
||||
mkdir -m 755 -p "$fwdir/DEBIAN"
|
||||
@@ -98,6 +101,10 @@ mkdir -p "$libc_headers_dir/usr/share/doc/$libc_headers_packagename"
|
||||
mkdir -m 755 -p "$kernel_headers_dir/DEBIAN"
|
||||
mkdir -p "$kernel_headers_dir/usr/share/doc/$kernel_headers_packagename"
|
||||
mkdir -p "$kernel_headers_dir/lib/modules/$version/"
|
||||
+mkdir -m 755 -p "$tools_dir/DEBIAN"
|
||||
+mkdir -p "$tools_dir/usr/share/doc/$tools_packagename"
|
||||
+mkdir -p "$tools_dir/usr/bin/"
|
||||
+mkdir -p "$tmp_build_dir"
|
||||
if [ "$ARCH" = "um" ] ; then
|
||||
mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/bin"
|
||||
fi
|
||||
@@ -120,6 +127,75 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
+# Build the tools
|
||||
+num_tools="0"
|
||||
+tools_flavour_abi=${version#*-}
|
||||
+tools_flavour=${tools_flavour_abi#*-}
|
||||
+tools_version=${version%-$tools_flavour}
|
||||
+debian_tools_version="${version%%-*}"
|
||||
+debian_tools_version="${version%.*}"
|
||||
+if grep -q '^CONFIG_PERF_EVENTS=y' .config ; then
|
||||
+ # Build and install perf
|
||||
+ (
|
||||
+ unset MAKEFLAGS
|
||||
+ unset MFLAGS
|
||||
+ unset MAKEOVERRIDES
|
||||
+
|
||||
+ mkdir -p $objtree/tools/perf
|
||||
+ cd "$srctree/tools/perf"
|
||||
+ $MAKE DESTDIR="$tools_dir/usr/" LDFLAGS= O=$objtree/tools/perf/ install
|
||||
+ mv "$tools_dir/usr/bin/perf" "$tools_dir/usr/bin/perf_$debian_tools_version"
|
||||
+ ln -s "/usr/bin/perf_$debian_tools_version" "$tools_dir/usr/bin/perf_$tools_version"
|
||||
+ mv "$tools_dir/usr/libexec/perf-core" "$tools_dir/usr/share/perf_$debian_tools_version-core"
|
||||
+ rmdir "$tools_dir/usr/libexec"
|
||||
+
|
||||
+ # Documentation can't be built out-of-tree so copy source
|
||||
+ # over to objtree and build man pages there
|
||||
+ mkdir -p $tmp_build_dir/perf
|
||||
+ cp -a "$srctree/tools/perf/Documentation" "$tmp_build_dir/perf/"
|
||||
+ cd "$tmp_build_dir/perf/Documentation"
|
||||
+ $MAKE man
|
||||
+ $MAKE DESTDIR="$tools_dir/usr/" install
|
||||
+ for manpage in `find $tools_dir/usr/share/man/ -type f`; do
|
||||
+ mv $manpage ${manpage/perf/perf_$debian_tools_version}
|
||||
+ gzip -9 ${manpage/perf/perf_$debian_tools_version}
|
||||
+ done
|
||||
+ )
|
||||
+ num_tools=$(($num_tools+1))
|
||||
+fi
|
||||
+
|
||||
+if [[ "$ARCH" = "i386" || "$ARCH" = "x86_64" ]]; then
|
||||
+ # Build turbostat
|
||||
+ (
|
||||
+ cp -a $srctree/tools/power/x86/turbostat "$tmp_build_dir"
|
||||
+ cd "$tmp_build_dir/turbostat/"
|
||||
+ unset MAKEFLAGS
|
||||
+ unset MFLAGS
|
||||
+ unset MAKEOVERRIDES
|
||||
+ $MAKE LDFLAGS=
|
||||
+ cp turbostat "$tools_dir/usr/bin/turbostat_$debian_tools_version"
|
||||
+ ln -s "/usr/bin/turbostat_$debian_tools_version" "$tools_dir/usr/bin/turbostat_$tools_version"
|
||||
+ mkdir -p "$tools_dir/usr/share/man/man8"
|
||||
+ cp turbostat.8 "$tools_dir/usr/share/man/man8/turbotstat_${debian_tools_version}.8"
|
||||
+ gzip -9 "$tools_dir/usr/share/man/man8/turbotstat_${debian_tools_version}.8"
|
||||
+ )
|
||||
+
|
||||
+ # Build x86_energy_perf_policy
|
||||
+ (
|
||||
+ cp -a $srctree/tools/power/x86/x86_energy_perf_policy "$tmp_build_dir"
|
||||
+ cd "$tmp_build_dir/x86_energy_perf_policy"
|
||||
+ unset MAKEFLAGS
|
||||
+ unset MFLAGS
|
||||
+ unset MAKEOVERRIDES
|
||||
+ $MAKE LDFLAGS=
|
||||
+ cp x86_energy_perf_policy "$tools_dir/usr/bin/x86_energy_perf_policy_$debian_tools_version"
|
||||
+ ln -s "/usr/bin/x86_energy_perf_policy_$debian_tools_version" "$tools_dir/usr/bin/x86_energy_perf_policy_$tools_version"
|
||||
+ cp x86_energy_perf_policy.8 "$tools_dir/usr/share/man/man8/x86_energy_perf_policy_${debian_tools_version}.8"
|
||||
+ gzip -9 "$tools_dir/usr/share/man/man8/x86_energy_perf_policy_${debian_tools_version}.8"
|
||||
+ )
|
||||
+ num_tools=$(($num_tools+2))
|
||||
+fi
|
||||
+
|
||||
if grep -q '^CONFIG_MODULES=y' .config ; then
|
||||
INSTALL_MOD_PATH="$tmpdir" $MAKE KBUILD_SRC= modules_install
|
||||
rm -f "$tmpdir/lib/modules/$version/build"
|
||||
@@ -291,9 +367,24 @@ Description: Linux support headers for userspace development
|
||||
are used by the installed headers for GNU glibc and other system libraries.
|
||||
EOF
|
||||
|
||||
+cat <<EOF >> debian/control
|
||||
+
|
||||
+Package: $tools_packagename
|
||||
+Section: devel
|
||||
+Architecture: $arch
|
||||
+Depends: \${shlibs:Depends}
|
||||
+Description: Linux kernel tools for version $version
|
||||
+ This package provides the architecture dependant parts for kernel
|
||||
+ version locked tools for version $version
|
||||
+EOF
|
||||
+
|
||||
if [ "$ARCH" != "um" ]; then
|
||||
create_package "$kernel_headers_packagename" "$kernel_headers_dir"
|
||||
create_package "$libc_headers_packagename" "$libc_headers_dir"
|
||||
+ if [ "$num_tools" > "0" ]; then
|
||||
+ dpkg-shlibdeps $tools_dir/usr/bin/*
|
||||
+ create_package "$tools_packagename" "$tools_dir"
|
||||
+ fi
|
||||
fi
|
||||
|
||||
create_package "$packagename" "$tmpdir"
|
||||
--
|
||||
1.7.5.4
|
Loading…
Reference in New Issue
Block a user