Commit 74fc60a2 authored by Angelo Compagnucci's avatar Angelo Compagnucci Committed by Thomas Petazzoni
Browse files

package/sysdig: New package



Sysdig is open source, system-level exploration: capture system state
and activity from a running Linux instance, then save, filter and
analyze.

[Thomas:
 - remove unneeded 0001-makefile-driver-compile-options.patch, instead
   pass KERNELDIR in the make options when building the driver, and
   pass the contents of $(LINUX_MAKE_FLAGS) directly.
 - use $(SYSDIG_BUILDDIR) instead of $(@D)/buildroot-build, so that
   the package does not depend on the package infra using specifically
   buildroot-build as the build subdirectory.
 - use $(MAKE) -C <foo> instead of cd <foo>; $(MAKE).
 - rename 0002 patch to 0001, since the 0001 patch is removed.]

Signed-off-by: default avatarAngelo Compagnucci <angelo.compagnucci@gmail.com>
Reviewed-by: default avatarYegor Yefremov <yegorslists@googlemail.com>
Reviewed-by: default avatarRyan Barnett <ryan.barnett@rockwellcollins.com>
Tested-by: default avatarRyan Barnett <ryan.barnett@rockwellcollins.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent e759a079
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ endif
	source "package/spidev_test/Config.in"
	source "package/strace/Config.in"
	source "package/stress/Config.in"
	source "package/sysdig/Config.in"
	source "package/sysprof/Config.in"
	source "package/tinymembench/Config.in"
	source "package/trace-cmd/Config.in"
+31 −0
Original line number Diff line number Diff line
Remove DKMS module updater

This patch disables the in target installation of DKMS module updater
mechanism unneeded in buildroot.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>

--- a/driver/CMakeLists.txt
+++ b/driver/CMakeLists.txt
@@ -39,21 +39,3 @@ add_custom_target(install_driver
 	WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
 	VERBATIM)
 
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Makefile.dkms
-	RENAME Makefile
-	DESTINATION "src/sysdig-${SYSDIG_VERSION}")
-
-install(FILES
-	${CMAKE_CURRENT_BINARY_DIR}/dkms.conf
-	dynamic_params_table.c
-	event_table.c
-	flags_table.c
-	main.c
-	ppm.h
-	ppm_events.c
-	ppm_events.h
-	ppm_events_public.h
-	ppm_fillers.c
-	ppm_ringbuffer.h
-	syscall_table.c
-	DESTINATION "src/sysdig-${SYSDIG_VERSION}")
+20 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_SYSDIG
	bool "sysdig"
	select BR2_PACKAGE_ZLIB
	select BR2_PACKAGE_LUAJIT
	select BR2_PACKAGE_JSONCPP
	depends on BR2_LINUX_KERNEL
	depends on BR2_INSTALL_LIBSTDCPP # libjson
	depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
	help
	  Sysdig is open source, system-level exploration:
	  capture system state and activity from a running Linux instance,
	  then save, filter and analyze.
	  Think of it as strace + tcpdump + lsof + awesome sauce.
	  With a little Lua cherry on top.

	  http://sysdig.org

comment "sysdig needs a toolchain w/ C++ and a Linux kernel to be built"
	depends on !BR2_LINUX_KERNEL || !BR2_INSTALL_LIBSTDCPP
	depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
+22 −0
Original line number Diff line number Diff line
################################################################################
#
# sysdig
#
################################################################################

SYSDIG_VERSION = 0.1.99
SYSDIG_SITE = $(call github,draios,sysdig,$(SYSDIG_VERSION))
SYSDIG_LICENSE = GPLv2
SYSDIG_LICENSE_FILES = COPYING
SYSDIG_CONF_OPTS = -DUSE_BUNDLED_LUAJIT=OFF -DUSE_BUNDLED_ZLIB=OFF \
	-DUSE_BUNDLED_JSONCPP=OFF
SYSDIG_DEPENDENCIES = zlib luajit jsoncpp linux
SYSDIG_SUPPORTS_IN_SOURCE_BUILD = NO

define SYSDIG_INSTALL_DRIVER
	$(MAKE) -C $(SYSDIG_BUILDDIR) $(LINUX_MAKE_FLAGS) KERNELDIR="$(LINUX_DIR)" install_driver
endef

SYSDIG_POST_INSTALL_TARGET_HOOKS += SYSDIG_INSTALL_DRIVER

$(eval $(cmake-package))