linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [RFC PATCH] kbuild: Build linux-tools package with 'make deb-pkg'
@ 2013-04-10  7:41 Sedat Dilek
  2013-04-10  7:57 ` Joerg Roedel
  0 siblings, 1 reply; 6+ messages in thread
From: Sedat Dilek @ 2013-04-10  7:41 UTC (permalink / raw)
  To: Joerg Roedel
  Cc: Ben Hutchings, debian-kernel, Michal Marek, linux-kbuild, cpufreq,
	Rafael J. Wysocki, Viresh Kumar, Linux PM List, LKML,
	Stephen Rothwell, linux-next

[ CCing some involved maintainers and MLs ]

Hi Joerg,

what is the status of your proposal patch?
Is this [1] the last version you posted?

What's with the integration into linux-kbuild?

Background of my asking is that I need to build cpufreq-info shipped
with the kernel-sources in tools-dir to track down a BROKEN Linux-Next
release (see [2]).

Thanks in advance.

Regards,
- Sedat -

[1] http://lists.debian.org/debian-kernel/2012/02/msg01009.html
[2] http://www.spinics.net/lists/cpufreq/msg05291.html

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [RFC PATCH] kbuild: Build linux-tools package with 'make deb-pkg'
@ 2012-02-16 18:57 Joerg Roedel
  2012-02-17  3:16 ` Ben Hutchings
  0 siblings, 1 reply; 6+ messages in thread
From: Joerg Roedel @ 2012-02-16 18:57 UTC (permalink / raw)
  To: linux-kernel
  Cc: Joerg Roedel, Michal Marek, maximilian attems, Ben Hutchings,
	debian-kernel, linux-kbuild

Also build a linux-tools package for installation so that
common tools run without issues (e.g. perf).

[RFC note: This may break with x-compilation when the
           x-compilation environment is not set up to
	   compile user-space programs. Is that acceptable?
	   I also thought about a compile-time parameter
	   such as 'make TOOLS=1 deb-pkg' or a special
	   'make deb-tools-pkg' target.	Opinions? ]

Cc: Michal Marek <mmarek@suse.cz>
Cc: maximilian attems <max@stro.at>
Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: debian-kernel@lists.debian.org
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
---
 scripts/package/builddeb |   55 +++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 54 insertions(+), 1 deletions(-)

diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index eee5f8e..8466380 100644
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -78,17 +78,19 @@ 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"
 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"
 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 +100,9 @@ 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/"
 if [ "$ARCH" = "um" ] ; then
 	mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/bin"
 fi
@@ -120,6 +125,39 @@ else
 	fi
 fi
 
+# Build the tools
+num_tools="0"
+tools_flavour_abi=${version#*-}
+tools_flavour=${tools_flavour_abi#*-}
+tools_version=${version%-$tools_flavour}
+if grep -q '^CONFIG_PERF_EVENTS=y' .config ; then
+	# Build perf
+	(
+	 mkdir -p $objtree/tools/perf
+	 cd "$srctree/tools/perf"
+	 $MAKE LDFLAGS= O=$O/tools/perf
+	 cp $objtree/tools/perf/perf "$tools_dir/usr/bin/perf_$tools_version"
+	)
+	num_tools=$(($num_tools+1))
+fi
+
+if [[ "$ARCH" = "i386" || "$ARCH" = "x86_64" ]]; then
+	# Build turbostat
+	(
+	 cd "$srctree/tools/power/x86/turbostat/"
+	 $MAKE 
+	 cp turbostat "$tools_dir/usr/bin/turbostat_$tools_version"
+	)
+
+	# Build x86_energy_perf_policy
+	(
+	 cd "$srctree/tools/power/x86/x86_energy_perf_policy"
+	 $MAKE 
+	 cp x86_energy_perf_policy "$tools_dir/usr/bin/x86_energy_perf_policy_$tools_version"
+	)
+	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 +329,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}, linux-tools-common
+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



^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-04-10  7:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-10  7:41 [RFC PATCH] kbuild: Build linux-tools package with 'make deb-pkg' Sedat Dilek
2013-04-10  7:57 ` Joerg Roedel
  -- strict thread matches above, loose matches on Subject: below --
2012-02-16 18:57 Joerg Roedel
2012-02-17  3:16 ` Ben Hutchings
2012-02-17  3:46   ` Ben Hutchings
2012-02-23 11:17     ` Joerg Roedel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).