Pull request for branch for-2012.02/lttng
Hello,
Here is a set of patches that integrate the new generation LTTng tracing infrastructure into Buildroot. There are several components in this infrastructure:
* lttng-modules are kernel modules that implement the kernel side of lttng. So far they are compatible with 2.6.38, 2.6.39, 3.0 and 3.1, and they don't require any kernel patches, they are simple external kernel modules.
* lttng-tools are the userspace tools to start/stop and configure tracing sessions. They are typically installed on the target.
* liburcu is an implementation of the RCU algorithm in userspace, used by lttng-tools.
* lttng-babeltrace is the utility that allows to convert the binary traces generated by lttng-tools into a human-readable text format. A host variant of lttng-babeltrace is automatically built as a dependency of lttng-tools, because running babeltrace on the host machine is probably the most common use case. But building lttng-babeltrace for the target is also possible.
* lttng-libust is an userspace library that allows applications to create their own trace events, which are combined with all other kernel events by lttng.
Some updates to the popt and util-linux packages are also required in order to have an host variant of those packages, required to build the host variant of lttng-babeltrace.
See http://lttng.org/lttng2.0 for more details.
Changes since v2 (submitted December 22nd 2011) :
* Upgrade on top of current master
* Add explanation about the configuration option for the host variant of util-linux, as suggested by Arnout Vandecappelle
* Add DEPMOD=$(HOST_DIR)/usr/sbin/depmod to the LINUX_MAKE_FLAGS, as suggested by Thomas De Schampheleire, in order to tell the kernel to use our own depmod binary.
* Ensure that host-busybox is not added to the dependencies of util-linux for the host.
Changes since v1 (submitted December 22nd 2011) :
* Remove 'bleh.patch', leftover from previous tests/debugging.
* Fix indentation in Config.in files
* Make sure each file ends with a newline
Regards,
Thomas
The following changes since commit cf96a9bec0c2ad40b820c6f465c2ac17d3bc4e03:
libevas: really fix x86 cpu optimization options handling (2012-01-30 23:22:51 +0100)
are available in the git repository at:
http://free-electrons.com/~thomas/buildroot.git for-2012.02/lttng
Thomas Petazzoni (8):
linux: use the depmod built in HOST_DIR
liburcu: new package
lttng-modules: new package
lttng-libust: new package
lttng-tools: new package
popt: add host variant for host-lttng-babeltrace
util-linux: add host variant for host-lttng-babeltrace
lttng-babeltrace: new package
linux/linux.mk | 3 +- package/Config.in | 5 ++++ package/liburcu/Config.in | 9 +++++++ package/liburcu/liburcu.mk | 8 ++++++ package/lttng-babeltrace/Config.in | 22 ++++++++++++++++ package/lttng-babeltrace/lttng-babeltrace.mk | 17 +++++++++++++ package/lttng-libust/Config.in | 10 +++++++ .../lttng-libust-fix-overflow-32-bits.patch | 26 ++++++++++++++++++++ package/lttng-libust/lttng-libust.mk | 8 ++++++ package/lttng-modules/Config.in | 18 +++++++++++++ package/lttng-modules/lttng-modules.mk | 16 ++++++++++++ package/lttng-tools/Config.in | 20 +++++++++++++++ package/lttng-tools/lttng-tools.mk | 12 +++++++++ package/popt/popt.mk | 1 + package/util-linux/util-linux.mk | 14 ++++++++++ 15 files changed, 188 insertions(+), 1 deletions(-) create mode 100644 package/liburcu/Config.in create mode 100644 package/liburcu/liburcu.mk create mode 100644 package/lttng-babeltrace/Config.in create mode 100644 package/lttng-babeltrace/lttng-babeltrace.mk create mode 100644 package/lttng-libust/Config.in create mode 100644 package/lttng-libust/lttng-libust-fix-overflow-32-bits.patch create mode 100644 package/lttng-libust/lttng-libust.mk create mode 100644 package/lttng-modules/Config.in create mode 100644 package/lttng-modules/lttng-modules.mk create mode 100644 package/lttng-tools/Config.in create mode 100644 package/lttng-tools/lttng-tools.mk
Thanks,
Signature · 1 line
Thomas Petazzoni
PATCH 1/8 linux: use the depmod built in HOST_DIR
--- linux/linux.mk | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
linux/linux.mk +2 -1
@@ -40,7 +40,8 @@ LINUX_MAKE_FLAGS = \ ARCH=$(KERNEL_ARCH) \ INSTALL_MOD_PATH=$(TARGET_DIR) \ CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \ - LZMA="$(LZMA)" + LZMA="$(LZMA)" \ + DEPMOD=$(HOST_DIR)/usr/sbin/depmod # Get the real Linux version, which tells us where kernel modules are # going to be installed in the target filesystem.
Signature · 1 line
1.7.4.1
PATCH 1/8 linux: use the depmod built in HOST_DIR
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Signed-off-by: Thomas Petazzoni <[email protected]> Thomas> ---
Thomas> linux/linux.mk | 3 ++-
Thomas> 1 files changed, 2 insertions(+), 1 deletions(-)
Thomas> diff --git a/linux/linux.mk b/linux/linux.mk Thomas> index 5c5a1d2..dbe1ad7 100644 Thomas> --- a/linux/linux.mk
Thomas> +++ b/linux/linux.mk
Thomas> @@ -40,7 +40,8 @@ LINUX_MAKE_FLAGS = \
Thomas> ARCH=$(KERNEL_ARCH) \ Thomas> INSTALL_MOD_PATH=$(TARGET_DIR) \ Thomas> CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \
Thomas> - LZMA="$(LZMA)"
Thomas> + LZMA="$(LZMA)" \
Thomas> + DEPMOD=$(HOST_DIR)/usr/sbin/depmod
Committed, thanks. Not released to this patch, but is the LZMA stuff still used/needed?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/8 linux: use the depmod built in HOST_DIR
Le Tue, 31 Jan 2012 23:30:36 +0100,
Peter Korsgaard <[email protected]> a ?crit :
Quoted 15 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Signed-off-by: Thomas Petazzoni <[email protected]> Thomas> ---
Thomas> linux/linux.mk | 3 ++-Thomas> 1 files changed, 2 insertions(+), 1 deletions(-)
Thomas> diff --git
a/linux/linux.mkb/linux/linux.mkThomas> index 5c5a1d2..dbe1ad7 100644 Thomas> ---a/linux/linux.mk
Thomas> +++b/linux/linux.mk
Thomas> @@ -40,7 +40,8 @@LINUX_MAKE_FLAGS= \Thomas> ARCH=$(KERNEL_ARCH) \ Thomas> INSTALL_MOD_PATH=$(TARGET_DIR) \ Thomas> CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \
Quoted 6 lines
Thomas> - LZMA="$(LZMA)"
Thomas> + LZMA="$(LZMA)" \
Thomas> + DEPMOD=$(HOST_DIR)/usr/sbin/depmodCommitted, thanks. Not released to this patch, but is the LZMA stuff still used/needed?
It has been added by
http://git.buildroot.net/buildroot/commit/target/linux/Makefile.in?id=ea8b1fa6a60705eedc5bd4f405f45c8f531c2126,
which is a bit limited in details on why it was needed. I guess the goal was to tell the Linux build process to use the lzma utility built for the host by Buildroot, in case the Linux kernel is built (or the initramfs) with LZMA compression. But that remains to be verified.
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 1/8 linux: use the depmod built in HOST_DIR
Quoted 4 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Committed, thanks. Not released to this patch, but is the LZMA stuff still used/needed?
Thomas> It has been added by
Thomas> http://git.buildroot.net/buildroot/commit/target/linux/Makefile.in?id=ea8b1fa6a60705eedc5bd4f405f45c8f531c2126,
Thomas> which is a bit limited in details on why it was needed. I guess the
Thomas> goal was to tell the Linux build process to use the lzma utility built
Thomas> for the host by Buildroot, in case the Linux kernel is built (or the
Thomas> initramfs) with LZMA compression. But that remains to be verified.
Yes, I know - But I don't see anything using it right away grepping the kernel. I just wondered if anyone remembered what it was used for (and if it still is)?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/8 linux: use the depmod built in HOST_DIR
Quoted 12 lines · On Wednesday 01 February 2012 12:49:16 Peter Korsgaard wrote:
Quoted 4 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Committed, thanks. Not released to this patch, but is the LZMA stuff still used/needed?
Thomas> It has been added by
Thomas> http://git.buildroot.net/buildroot/commit/target/linux/Makefile.in?id=ea8b1fa6a60705eedc5bd4f405f45c8f531c2126,
Thomas> which is a bit limited in details on why it was needed. I guess the
Thomas> goal was to tell the Linux build process to use the lzma utility built
Thomas> for the host by Buildroot, in case the Linux kernel is built (or the
Thomas> initramfs) with LZMA compression. But that remains to be verified.
Quoted 3 lines
Yes, I know - But I don't see anything using it right away grepping the kernel. I just wondered if anyone remembered what it was used for (and if it still is)?
I also looked in detail at the kernel and I also don't think it can be used
by anything. Maybe it used to be used at some point, but I don't feel like grepping through the entire kernel history to find that :-)
So I also think it can be removed. Anyway, the TARGET_PATH will make sure
that our host-lzma is used.
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 1/8 linux: use the depmod built in HOST_DIR
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Arnout" == Arnout Vandecappelle <[email protected]> writes:
Hi,
Arnout> So I also think it can be removed. Anyway, the TARGET_PATH Arnout> will make sure that our host-lzma is used.
Indeed, will remove.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/8 linux: use the depmod built in HOST_DIR
In reply to Thomas PetazzoniQuoted 11 lines · On Tuesday 31 January 2012 20:39:59 Thomas Petazzoni wrote:
Signed-off-by Thomas Petazzoni <[email protected]>--- linux/linux.mk | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)linux/linux.mk +0
-0
linux/linux.mk LINUX_MAKE_FLAGS = \ · line 47
Quoted 9 lines
linux/linux.mk +2
-1@@ -40,7 +40,8 @@ LINUX_MAKE_FLAGS = \ ARCH=$(KERNEL_ARCH) \ INSTALL_MOD_PATH=$(TARGET_DIR) \ CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \ - LZMA="$(LZMA)" + LZMA="$(LZMA)" \ + DEPMOD=$(HOST_DIR)/usr/sbin/depmod # Get the real Linux version, which tells us where kernel modules are # going to be installed in the target filesystem.
Do you know why this is necessary in the first place? It should be
covered by the TARGET_MAKE_ENV with contains the TARGET_PATH, no? Or is the problem that igh-ethercat and lttng-modules forget to include TARGET_MAKE_ENV?
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 2/8 liburcu: new package
In reply to Thomas Petazzoni--- package/Config.in | 1 + package/liburcu/Config.in | 9 +++++++++ package/liburcu/liburcu.mk | 8 ++++++++ 3 files changed, 18 insertions(+), 0 deletions(-) create mode 100644 package/liburcu/Config.in create mode 100644 package/liburcu/liburcu.mk
package/Config.in +1 -0
@@ -375,6 +375,7 @@ source "package/libffi/Config.in" source "package/libglib2/Config.in" source "package/libnspr/Config.in" source "package/libsigc/Config.in" +source "package/liburcu/Config.in" source "package/orc/Config.in" source "package/poco/Config.in" source "package/startup-notification/Config.in"
package/liburcu/Config.in new file +9 -0
@@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBURCU + bool "liburcu" + help + Userspace implementation of the Read-Copy-Update (RCU) + synchronization mechanism. This library is mainly used by + the LTTng tracing infrastructure, but can be used for other + purposes as well. + + http://lttng.org/urcu
package/liburcu/liburcu.mk new file +8 -0
@@ -0,0 +1,8 @@ +LIBURCU_VERSION = 0.6.7 +LIBURCU_SITE = http://lttng.org/files/bundles/20111214/ +LIBURCU_SOURCE = userspace-rcu-$(LIBURCU_VERSION).tar.bz2 + +LIBURCU_INSTALL_STAGING = YES + +$(eval $(call AUTOTARGETS)) +
Signature · 1 line
1.7.4.1
PATCH 2/8 liburcu: new package
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Signed-off-by: Thomas Petazzoni <[email protected]> Thomas> ---
Thomas> package/Config.in | 1 + Thomas> package/liburcu/Config.in | 9 +++++++++ Thomas> package/liburcu/liburcu.mk | 8 ++++++++ Thomas> 3 files changed, 18 insertions(+), 0 deletions(-) Thomas> create mode 100644 package/liburcu/Config.in Thomas> create mode 100644 package/liburcu/liburcu.mk
Thomas> diff --git a/package/Config.in b/package/Config.in Thomas> index eb3abe8..31bee7f 100644
Thomas> --- a/package/Config.in
Thomas> +++ b/package/Config.in
Thomas> @@ -375,6 +375,7 @@ source "package/libffi/Config.in"
Thomas> source "package/libglib2/Config.in" Thomas> source "package/libnspr/Config.in" Thomas> source "package/libsigc/Config.in"
Thomas> +source "package/liburcu/Config.in"
This no longer applied because libical has been added, but I fixed that up and committed, thanks.
Thomas> +++ b/package/liburcu/liburcu.mk
Thomas> @@ -0,0 +1,8 @@
Thomas> +LIBURCU_VERSION = 0.6.7
Thomas> +LIBURCU_SITE = http://lttng.org/files/bundles/20111214/
Thomas> +LIBURCU_SOURCE = userspace-rcu-$(LIBURCU_VERSION).tar.bz2 Thomas> +
Thomas> +LIBURCU_INSTALL_STAGING = YES
Thomas> +
Thomas> +$(eval $(call AUTOTARGETS))
Thomas> +
Heh, you used to forget the final newlines, and now you're added too many ;)
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/8 liburcu: new package
Quoted 6 lines · Peter Korsgaard
?Thomas> +$(eval $(call AUTOTARGETS))
?Thomas> +Heh, you used to forget the final newlines, and now you're added too many ;)
He just shipped you an extra in case one is missing again later. ;-)
Mike
PATCH 3/8 lttng-modules: new package
In reply to Thomas Petazzoni--- package/Config.in | 1 + package/lttng-modules/Config.in | 18 ++++++++++++++++++ package/lttng-modules/lttng-modules.mk | 16 ++++++++++++++++ 3 files changed, 35 insertions(+), 0 deletions(-) create mode 100644 package/lttng-modules/Config.in create mode 100644 package/lttng-modules/lttng-modules.mk
package/Config.in +1 -0
@@ -24,6 +24,7 @@ source "package/kexec/Config.in" source "package/lmbench/Config.in" source "package/lsof/Config.in" source "package/ltp-testsuite/Config.in" +source "package/lttng-modules/Config.in" source "package/ltrace/Config.in" source "package/memstat/Config.in" source "package/netperf/Config.in"
package/lttng-modules/Config.in new file +18 -0
@@ -0,0 +1,18 @@ +config BR2_PACKAGE_LTTNG_MODULES + bool "lttng-modules" + depends on BR2_LINUX_KERNEL + help + Kernel modules for the LTTng 2.0 kernel tracing + infrastructure. + + Your kernel must have CONFIG_TRACEPOINTS enabled for this + package to build something useful. You may also want to have + CONFIG_PERF_EVENTS to access perf event counters from + ltt-ng. Note that system call tracing is only available on + architectures that support CONFIG_HAVE_SYSCALL_TRACEPOINTS. + + The packaged version is compatible with kernel 2.6.38, + 2.6.39, 3.0 and 3.1.0. See + http://lttng.org/files/bundles/20111214/README.compatible.kernels.txt + + http://lttng.org
package/lttng-modules/lttng-modules.mk new file +16 -0
@@ -0,0 +1,16 @@ +LTTNG_MODULES_VERSION = 2.0-pre11 +LTTNG_MODULES_SITE = http://lttng.org/files/bundles/20111214/ +LTTNG_MODULES_SOURCE = lttng-modules-$(LTTNG_MODULES_VERSION).tar.bz2 + +LTTNG_MODULES_DEPENDENCIES = linux + +define LTTNG_MODULES_BUILD_CMDS + $(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) KERNELDIR=$(LINUX_DIR) +endef + +define LTTNG_MODULES_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) KERNELDIR=$(LINUX_DIR) modules_install +endef + +$(eval $(call GENTARGETS)) +
Signature · 1 line
1.7.4.1
PATCH 3/8 lttng-modules: new package
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Signed-off-by: Thomas Petazzoni <[email protected]>
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 4/8 lttng-libust: new package
In reply to Thomas Petazzoni--- package/Config.in | 1 + package/lttng-libust/Config.in | 10 +++++++ .../lttng-libust-fix-overflow-32-bits.patch | 26 ++++++++++++++++++++ package/lttng-libust/lttng-libust.mk | 8 ++++++ 4 files changed, 45 insertions(+), 0 deletions(-) create mode 100644 package/lttng-libust/Config.in create mode 100644 package/lttng-libust/lttng-libust-fix-overflow-32-bits.patch create mode 100644 package/lttng-libust/lttng-libust.mk
package/Config.in +1 -0
@@ -377,6 +377,7 @@ source "package/libglib2/Config.in" source "package/libnspr/Config.in" source "package/libsigc/Config.in" source "package/liburcu/Config.in" +source "package/lttng-libust/Config.in" source "package/orc/Config.in" source "package/poco/Config.in" source "package/startup-notification/Config.in"
package/lttng-libust/Config.in new file +10 -0
@@ -0,0 +1,10 @@ +config BR2_PACKAGE_LTTNG_LIBUST + bool "lttng-libust" + select BR2_PACKAGE_LIBURCU + help + Userspace tracing library for the Lttng tracing + infrastructure. It allows userspace programs to create + custom trace events that are integrated with all other + events gathered by LTTng. + + http://lttng.org
package/lttng-libust/lttng-libust-fix-overflow-32-bits.patch new file +26 -0
@@ -0,0 +1,26 @@ +From dc190cc1f8ddccfa7b0b8323ed157afb29a0ebb7 Mon Sep 17 00:00:00 2001 +From: Mathieu Desnoyers <[email protected]> +Date: Wed, 21 Dec 2011 16:24:48 -0500 +Subject: [PATCH] Fix clock source overflow on 32-bit archs + +Signed-off-by: Mathieu Desnoyers <[email protected]> +--- + liblttng-ust/clock.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/liblttng-ust/clock.h b/liblttng-ust/clock.h +index b5d3e77..23294d2 100644 +--- a/liblttng-ust/clock.h ++++ b/liblttng-ust/clock.h +@@ -39,7 +39,7 @@ static __inline__ uint64_t trace_clock_read64(void) + struct timespec ts; + + clock_gettime(CLOCK_MONOTONIC, &ts); +- return (ts.tv_sec * 1000000000) + ts.tv_nsec; ++ return ((uint64_t) ts.tv_sec * 1000000000ULL) + ts.tv_nsec; + } + + static __inline__ uint32_t trace_clock_freq_scale(void) +-- +1.7.2.5 +
package/lttng-libust/lttng-libust.mk new file +8 -0
@@ -0,0 +1,8 @@ +LTTNG_LIBUST_SITE = http://lttng.org/files/bundles/20111214/ +LTTNG_LIBUST_VERSION = 1.9.2 +LTTNG_LIBUST_SOURCE = lttng-ust-$(LTTNG_LIBUST_VERSION).tar.gz + +LTTNG_LIBUST_INSTALL_STAGING = YES +LTTNG_LIBUST_DEPENDENCIES = liburcu + +$(eval $(call AUTOTARGETS))
Signature · 1 line
1.7.4.1
PATCH 4/8 lttng-libust: new package
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Signed-off-by: Thomas Petazzoni <[email protected]>
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 5/8 lttng-tools: new package
In reply to Thomas Petazzoni--- package/Config.in | 1 + package/lttng-tools/Config.in | 20 ++++++++++++++++++++ package/lttng-tools/lttng-tools.mk | 12 ++++++++++++ 3 files changed, 33 insertions(+), 0 deletions(-) create mode 100644 package/lttng-tools/Config.in create mode 100644 package/lttng-tools/lttng-tools.mk
package/Config.in +1 -0
@@ -25,6 +25,7 @@ source "package/lmbench/Config.in" source "package/lsof/Config.in" source "package/ltp-testsuite/Config.in" source "package/lttng-modules/Config.in" +source "package/lttng-tools/Config.in" source "package/ltrace/Config.in" source "package/memstat/Config.in" source "package/netperf/Config.in"
package/lttng-tools/Config.in new file +20 -0
@@ -0,0 +1,20 @@ +config BR2_PACKAGE_LTTNG_TOOLS + bool "lttng-tools" + depends on BR2_PACKAGE_LTTNG_MODULES + select BR2_PACKAGE_LIBURCU + select BR2_PACKAGE_POPT + select BR2_PACKAGE_LTTNG_LIBUST + help + Userspace utilities for the LTTng 2.0 tracing + infrastructure. + + Those utilities are required on the target system to start + and stop tracing sessions. Analysis of the trace can be done + on the host machine using the babeltrace utility. This + utility is automatically built by Buildroot in + $(O)/host/usr/bin/babeltrace, as a dependency of + lttng-tools. However, there is also a lttng-babeltrace + package for the target, if babeltrace on the target is + interesting. + + http://lttng.org
package/lttng-tools/lttng-tools.mk new file +12 -0
@@ -0,0 +1,12 @@ +LTTNG_TOOLS_VERSION = 2.0-pre15 +LTTNG_TOOLS_SITE = http://lttng.org/files/bundles/20111214/ +LTTNG_TOOLS_SOURCE = lttng-tools-$(LTTNG_TOOLS_VERSION).tar.bz2 + +# The host-lttng-babeltrace technically isn't a required build +# dependency. However, having the babeltrace utilities built for the +# host is very useful, since those tools allow to convert the binary +# trace format into an human readable format. +LTTNG_TOOLS_DEPENDENCIES = liburcu popt host-lttng-babeltrace lttng-libust + +$(eval $(call AUTOTARGETS)) +
Signature · 1 line
1.7.4.1
PATCH 5/8 lttng-tools: new package
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Signed-off-by: Thomas Petazzoni <[email protected]>
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 6/8 popt: add host variant for host-lttng-babeltrace
In reply to Thomas Petazzoni--- package/popt/popt.mk | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
package/popt/popt.mk +1 -0
@@ -16,3 +16,4 @@ POPT_CONF_OPT += --with-libiconv-prefix=$(STAGING_DIR)/usr endif $(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host))
Signature · 1 line
1.7.4.1
PATCH 6/8 popt: add host variant for host-lttng-babeltrace
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Signed-off-by: Thomas Petazzoni <[email protected]>
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 7/8 util-linux: add host variant for host-lttng-babeltrace
In reply to Thomas Petazzonilttng-babeltrace needs libuuid, which is provided by util-linux, and since we want to build lttng-babeltrace for the host, we need to build libuuid for the host. It's a shame that libuuid is part of such a big package as util-linux.
--- package/util-linux/util-linux.mk | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)
package/util-linux/util-linux.mk +14 -0
@@ -13,6 +13,9 @@ UTIL_LINUX_DEPENDENCIES = host-pkg-config UTIL_LINUX_CONF_OPT += --disable-rpath --disable-makeinstall-chown +# We don't want the host-busybox dependency to be added automatically +HOST_UTIL_LINUX_DEPENDENCIES = host-pkg-config + # If both util-linux and busybox are selected, make certain util-linux # wins the fight over who gets to have their utils actually installed ifeq ($(BR2_PACKAGE_BUSYBOX),y)
@@ -67,7 +70,18 @@ UTIL_LINUX_CONF_OPT += \ $(if $(BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS),--enable-login-utils) \ $(if $(BR2_PACKAGE_UTIL_LINUX_WRITE),--enable-write) +# In the host version of util-linux, we so far only require libuuid, +# and none of the util-linux utilities, so we disable all of them. +HOST_UTIL_LINUX_CONF_OPT += \ + --enable-libuuid \ + --disable-mount --disable-fsck --disable-libmount \ + --disable-uuidd --disable-libblkid --disable-agetty \ + --disable-cramfs --disable-switch_root --disable-pivot_root \ + --disable-fallocate --disable-unshare --disable-rename \ + --disable-schedutils --disable-wall --disable-partx + $(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host)) # MKINSTALLDIRS comes from tweaked m4/nls.m4, but autoreconf uses staging # one, so it disappears
Signature · 1 line
1.7.4.1
PATCH 7/8 util-linux: add host variant for host-lttng-babeltrace
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> lttng-babeltrace needs libuuid, which is provided by util-linux, and Thomas> since we want to build lttng-babeltrace for the host, we need to build Thomas> libuuid for the host. It's a shame that libuuid is part of such a big Thomas> package as util-linux.
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 8/8 lttng-babeltrace: new package
In reply to Thomas Petazzoni--- package/Config.in | 1 + package/lttng-babeltrace/Config.in | 22 ++++++++++++++++++++++ package/lttng-babeltrace/lttng-babeltrace.mk | 17 +++++++++++++++++ 3 files changed, 40 insertions(+), 0 deletions(-) create mode 100644 package/lttng-babeltrace/Config.in create mode 100644 package/lttng-babeltrace/lttng-babeltrace.mk
package/Config.in +1 -0
@@ -24,6 +24,7 @@ source "package/kexec/Config.in" source "package/lmbench/Config.in" source "package/lsof/Config.in" source "package/ltp-testsuite/Config.in" +source "package/lttng-babeltrace/Config.in" source "package/lttng-modules/Config.in" source "package/lttng-tools/Config.in" source "package/ltrace/Config.in"
package/lttng-babeltrace/Config.in new file +22 -0
@@ -0,0 +1,22 @@ +config BR2_PACKAGE_LTTNG_BABELTRACE + bool "lttng-babeltrace" + depends on BR2_PACKAGE_LTTNG_TOOLS + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + select BR2_PACKAGE_LIBGLIB2 + help + Babeltrace is part of the LTTng 2.x project. + + This project provides trace read and write libraries, as + well as a trace converter. A plugin can be created for any + trace format to allow its conversion to/from another trace + format. + + Having this tool on the target is not mandatory. You can + transfer the binary trace output from the target to your + development workstation, and use babeltrace here. Buildroot + automatically builds a host babeltrace in + $(O)/host/usr/bin/babeltrace as a dependency of the + lttng-tools package. + + http://lttng.org
package/lttng-babeltrace/lttng-babeltrace.mk new file +17 -0
@@ -0,0 +1,17 @@ +LTTNG_BABELTRACE_SITE = http://lttng.org/files/bundles/20111214/ +LTTNG_BABELTRACE_VERSION = 0.8 +LTTNG_BABELTRACE_SOURCE = babeltrace-$(LTTNG_BABELTRACE_VERSION).tar.bz2 + +# Needed to fix libtool handling, otherwise the build fails when +# building the ctf-parser-test program, which depends on libctf-ast.so +# which itself depends on libbabeltrace_types.so.0 (and libtool gets +# lost in the middle of this). +LTTNG_BABELTRACE_AUTORECONF = YES +HOST_LTTNG_BABELTRACE_AUTORECONF = YES + +LTTNG_BABELTRACE_DEPENDENCIES = popt util-linux libglib2 + +HOST_LTTNG_BABELTRACE_DEPENDENCIES = host-popt host-libglib2 host-util-linux + +$(eval $(call AUTOTARGETS)) +$(eval $(call AUTOTARGETS,host))
Signature · 1 line
1.7.4.1
PATCH 8/8 lttng-babeltrace: new package
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> +++ b/package/lttng-babeltrace/lttng-babeltrace.mk
Thomas> @@ -0,0 +1,17 @@
Thomas> +LTTNG_BABELTRACE_SITE = http://lttng.org/files/bundles/20111214/
Thomas> +LTTNG_BABELTRACE_VERSION = 0.8
Thomas> +LTTNG_BABELTRACE_SOURCE = babeltrace-$(LTTNG_BABELTRACE_VERSION).tar.bz2 Thomas> +
Thomas> +# Needed to fix libtool handling, otherwise the build fails when Thomas> +# building the ctf-parser-test program, which depends on libctf-ast.so Thomas> +# which itself depends on libbabeltrace_types.so.0 (and libtool gets Thomas> +# lost in the middle of this).
Thomas> +LTTNG_BABELTRACE_AUTORECONF = YES
Thomas> +HOST_LTTNG_BABELTRACE_AUTORECONF = YES
Thomas> +
Thomas> +LTTNG_BABELTRACE_DEPENDENCIES = popt util-linux libglib2 Thomas> +
Thomas> +HOST_LTTNG_BABELTRACE_DEPENDENCIES = host-popt host-libglib2 host-util-linux
HOST_..._DEPENDENCIES are now automatically derived from _DEPENDENCIES by default, so this can be dropped.
Other than that it looks good, committed - Thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 8/8 lttng-babeltrace: new package
Le Tue, 31 Jan 2012 23:52:55 +0100,
Peter Korsgaard <[email protected]> a ?crit :
Quoted 2 lines
HOST_..._DEPENDENCIES are now automatically derived from
_DEPENDENCIESby default, so this can be dropped.
Ah, yes, sorry. The patch has been written prior to the introduction of this mechanism, and I forgot to check this point. Thanks for taking care of reviewing and fixing!
Regards,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com