summary refs log tree commit diff
path: root/pkgs/development/tools/misc
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2013-07-04 21:38:23 +0200
committerBjørn Forsman <bjorn.forsman@gmail.com>2013-08-10 14:32:57 +0200
commit6a4f068b9eb4928ab6ae131153a3cdc98c788730 (patch)
tree3da4cbd8073c933aff25c0bc36d707df98b71239 /pkgs/development/tools/misc
parent33d78777a3a9fb3802e4c7d5332519f921d182db (diff)
downloadnixlib-6a4f068b9eb4928ab6ae131153a3cdc98c788730.tar
nixlib-6a4f068b9eb4928ab6ae131153a3cdc98c788730.tar.gz
nixlib-6a4f068b9eb4928ab6ae131153a3cdc98c788730.tar.bz2
nixlib-6a4f068b9eb4928ab6ae131153a3cdc98c788730.tar.lz
nixlib-6a4f068b9eb4928ab6ae131153a3cdc98c788730.tar.xz
nixlib-6a4f068b9eb4928ab6ae131153a3cdc98c788730.tar.zst
nixlib-6a4f068b9eb4928ab6ae131153a3cdc98c788730.zip
lttng-tools: new package
This is the Linux Trace Toolkit. Included in this package:

Command-line client:
  lttng
Tracing daemons:
  lttng-sessiond (automatically started by lttng)
  lttng-relayd   (remote trace collection daemon)

Userspace tracing can be done by using liblttng-ust. To do kernel
tracing we also need the LTTng kernel modules.

I've added a patch that changes "/sbin/modprobe" to just "modprobe".
Diffstat (limited to 'pkgs/development/tools/misc')
-rw-r--r--pkgs/development/tools/misc/lttng-tools/default.nix23
-rw-r--r--pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch53
2 files changed, 76 insertions, 0 deletions
diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix
new file mode 100644
index 000000000000..9bc24b9387bf
--- /dev/null
+++ b/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, popt, libuuid, liburcu, lttngUst }:
+
+stdenv.mkDerivation rec {
+  name = "lttng-tools-2.2.3";
+
+  src = fetchurl {
+    url = "https://lttng.org/files/lttng-tools/${name}.tar.bz2";
+    sha256 = "1p16n42j34xkaj17zg2g12rzkfwpdv9ay1h4bkdq6038v320mljv";
+  };
+
+  buildInputs = [ popt libuuid liburcu lttngUst ];
+
+  patches = [ ./lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch ];
+
+  meta = with stdenv.lib; {
+    description = "Tracing tools (kernel + user space) for Linux";
+    homepage = http://lttng.org/;
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+
+}
diff --git a/pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch b/pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch
new file mode 100644
index 000000000000..7d9edbda97ae
--- /dev/null
+++ b/pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch
@@ -0,0 +1,53 @@
+From daba2e936571a236817022b760d91c48b730c30b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
+Date: Tue, 9 Jul 2013 23:47:47 +0200
+Subject: [PATCH] Change modprobe path from "/sbin/modprobe" to "modprobe"
+ (rely on PATH lookup)
+
+---
+ src/bin/lttng-sessiond/modprobe.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/bin/lttng-sessiond/modprobe.c b/src/bin/lttng-sessiond/modprobe.c
+index 7e06dad..4075efe 100644
+--- a/src/bin/lttng-sessiond/modprobe.c
++++ b/src/bin/lttng-sessiond/modprobe.c
+@@ -90,7 +90,7 @@ void modprobe_remove_lttng_control(void)
+ 
+ 	for (i = ARRAY_SIZE(kern_modules_control) - 1; i >= 0; i--) {
+ 		ret = snprintf(modprobe, sizeof(modprobe),
+-				"/sbin/modprobe -r -q %s",
++				"modprobe -r -q %s",
+ 				kern_modules_control[i].name);
+ 		if (ret < 0) {
+ 			PERROR("snprintf modprobe -r");
+@@ -125,7 +125,7 @@ void modprobe_remove_lttng_data(void)
+ 
+ 	for (i = ARRAY_SIZE(kern_modules_list) - 1; i >= 0; i--) {
+ 		ret = snprintf(modprobe, sizeof(modprobe),
+-				"/sbin/modprobe -r -q %s",
++				"modprobe -r -q %s",
+ 				kern_modules_list[i].name);
+ 		if (ret < 0) {
+ 			PERROR("snprintf modprobe -r");
+@@ -169,7 +169,7 @@ int modprobe_lttng_control(void)
+ 
+ 	for (i = 0; i < ARRAY_SIZE(kern_modules_control); i++) {
+ 		ret = snprintf(modprobe, sizeof(modprobe),
+-				"/sbin/modprobe %s%s",
++				"modprobe %s%s",
+ 				kern_modules_control[i].required ? "" : "-q ",
+ 				kern_modules_control[i].name);
+ 		if (ret < 0) {
+@@ -205,7 +205,7 @@ int modprobe_lttng_data(void)
+ 
+ 	for (i = 0; i < ARRAY_SIZE(kern_modules_list); i++) {
+ 		ret = snprintf(modprobe, sizeof(modprobe),
+-				"/sbin/modprobe %s%s",
++				"modprobe %s%s",
+ 				kern_modules_list[i].required ? "" : "-q ",
+ 				kern_modules_list[i].name);
+ 		if (ret < 0) {
+-- 
+1.8.2.3
+