diff mbox

[1/1] scripts/package/builddeb: build perftools package.

Message ID 1361842218-1768-1-git-send-email-gary.lowell@inktank.com (mailing list archive)
State New, archived
Headers show

Commit Message

Gary Lowell Feb. 26, 2013, 1:30 a.m. UTC
This will build a linux-tools-$version package for each build that includes
perf.  We've been using this for internal builds and other folks might find
it helpful.

Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
---
 scripts/package/builddeb |   95 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 94 insertions(+), 1 deletion(-)

Comments

Michal Marek Feb. 26, 2013, 9:03 a.m. UTC | #1
Added Maximilian to CC.

Michal

On 26.2.2013 02:30, Gary Lowell wrote:
> This will build a linux-tools-$version package for each build that includes
> perf.  We've been using this for internal builds and other folks might find
> it helpful.
> 
> Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
> ---
>  scripts/package/builddeb |   95 +++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 94 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/package/builddeb b/scripts/package/builddeb
> index acb8650..f57d33c 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,77 @@ 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/"
> +	 cp -a "$srctree/tools/perf/config" "$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"
> +	 ln -s $srctree/arch "$tmp_build_dir/../../../arch"
> +	 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"
> @@ -292,9 +370,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"
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sage Weil April 17, 2013, 9:04 p.m. UTC | #2
On Tue, 26 Feb 2013, Michal Marek wrote:
> Added Maximilian to CC.

Hey-

Did this get pulled in?  We'd love to stop applying and maintaining this 
patch downstream.

Thanks!
sage


> 
> Michal
> 
> On 26.2.2013 02:30, Gary Lowell wrote:
> > This will build a linux-tools-$version package for each build that includes
> > perf.  We've been using this for internal builds and other folks might find
> > it helpful.
> > 
> > Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
> > ---
> >  scripts/package/builddeb |   95 +++++++++++++++++++++++++++++++++++++++++++++-
> >  1 file changed, 94 insertions(+), 1 deletion(-)
> > 
> > diff --git a/scripts/package/builddeb b/scripts/package/builddeb
> > index acb8650..f57d33c 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,77 @@ 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/"
> > +	 cp -a "$srctree/tools/perf/config" "$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"
> > +	 ln -s $srctree/arch "$tmp_build_dir/../../../arch"
> > +	 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"
> > @@ -292,9 +370,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"
> > 
> 
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index acb8650..f57d33c 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,77 @@  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/"
+	 cp -a "$srctree/tools/perf/config" "$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"
+	 ln -s $srctree/arch "$tmp_build_dir/../../../arch"
+	 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"
@@ -292,9 +370,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"