devel: add lttng-tools package
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 15 Jan 2013 10:15:44 +0000 (10:15 +0000)
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 15 Jan 2013 10:15:44 +0000 (10:15 +0000)
Signed-off-by: Florian Fainelli <florian@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/packages@35165 3c298f89-4303-0410-b956-a3cf2f4a3e73

devel/lttng-tools/Makefile [new file with mode: 0644]
devel/lttng-tools/patches/001-uclibc_sync_file_ranges.patch [new file with mode: 0644]

diff --git a/devel/lttng-tools/Makefile b/devel/lttng-tools/Makefile
new file mode 100644 (file)
index 0000000..7b4ed02
--- /dev/null
@@ -0,0 +1,45 @@
+#
+# Copyright (C) 2013 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=lttng-tools
+PKG_VERSION:=2.1.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=https://lttng.org/files/$(PKG_NAME)
+PKG_MD5SUM:=
+
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/lttng-tools
+  SECTION:=devel
+  CATEGORY:=Development
+  DEPENDS:=+lttng-ust +libpopt
+  TITLE:=LTTng tracing tools
+  URL:=https://lttng.org/
+endef
+
+TARGET_LDFLAGS += -lurcu-bp
+
+define Package/lttng-tools/description
+   LTTng Userspace Tracing Library
+endef
+
+define Package/lttng-tools/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblttng-ctl.so.* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/lttng $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lttng* $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,lttng-tools))
diff --git a/devel/lttng-tools/patches/001-uclibc_sync_file_ranges.patch b/devel/lttng-tools/patches/001-uclibc_sync_file_ranges.patch
new file mode 100644 (file)
index 0000000..fcaaa3e
--- /dev/null
@@ -0,0 +1,51 @@
+Make sync_file_range() usage optional
+
+Under uClibc, sync_file_range() is not available under all
+architectures, so we fall back to fdatasync() in this case.
+
+Inspired by the patch done by Thomas Petazzoni for the
+2.0-pre25 version.
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ configure.ac              |    2 +-
+ src/common/compat/fcntl.h |    5 +++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5808c79..065b9cf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -150,7 +150,7 @@ AS_IF([test "x$lttng_ust_support" = "xyes"], [
+       )
+ ])
+ AM_CONDITIONAL([HAVE_LIBLTTNG_UST_CTL], [test "x$lttng_ust_ctl_found" = xyes])
+-AC_CHECK_FUNCS([sched_getcpu sysconf])
++AC_CHECK_FUNCS([sched_getcpu sysconf sync_file_range])
+ # check for dlopen
+ AC_CHECK_LIB([dl], [dlopen],
+@@ -394,4 +394,3 @@ AS_IF([test "x$consumerd_only" = "xno"],[
+ ])
+ AS_ECHO()
+-
+diff --git a/src/common/compat/compat-fcntl.c b/src/common/compat/compat-fcntl.c
+index 5a1c757..7ff63a3 100644
+--- a/src/common/compat/compat-fcntl.c
++++ b/src/common/compat/compat-fcntl.c
+@@ -23,7 +23,11 @@
+ int compat_sync_file_range(int fd, off64_t offset, off64_t nbytes,
+               unsigned int flags)
+ {
++#ifdef HAVE_SYNC_FILE_RANGE
+       return sync_file_range(fd, offset, nbytes, flags);
++#else
++      return fdatasync(fd);
++#endif
+ }
+ #endif /* __linux__ */
+-- 
+1.8.0.3
+