Message ID | 1426856189-8223-1-git-send-email-angelo.compagnucci@gmail.com |
---|---|
State | Superseded |
Headers | show |
Hi Angelo, On Fri, Mar 20, 2015 at 1:56 PM, Angelo Compagnucci <angelo.compagnucci@gmail.com> wrote: > Sysdig is open source, system-level exploration: > capture system state and activity from a running Linux > instance, then save, filter and analyze. > > Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> > --- > Changes v4 -> v5: > - Adjusted to 80 columns for sysdig.mk header > > Changes v3 -> v4: > - Changed "depends on" to "select" and fixed selected packages > dependencies. > - moved "comment" section to the bottom > > Changes v2 -> v3: > - Changed "depends on" and "select" to simplify package > > Changes v1 -> v2: > - Changed "depends on" with "select" for dependencies (suggested by Baruch) > - Added comment "sysdig needs a Linux kernel to be built" (suggested by Baruch) > - Upgreded to recently released 0.1.99 > > > package/Config.in | 1 + > package/sysdig/Config.in | 21 +++++++++++++++++++++ > package/sysdig/sysdig.mk | 22 ++++++++++++++++++++++ > 3 files changed, 44 insertions(+) > create mode 100644 package/sysdig/Config.in > create mode 100644 package/sysdig/sysdig.mk > > diff --git a/package/Config.in b/package/Config.in > index fce92a8..6596292 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -95,6 +95,7 @@ endif > source "package/strace/Config.in" > source "package/stress/Config.in" > source "package/sysprof/Config.in" > + source "package/sysdig/Config.in" > source "package/tinymembench/Config.in" > source "package/trace-cmd/Config.in" > source "package/trinity/Config.in" > diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in > new file mode 100644 > index 0000000..5c2b070 > --- /dev/null > +++ b/package/sysdig/Config.in > @@ -0,0 +1,21 @@ > +config BR2_PACKAGE_SYSDIG > + bool "sysdig" > + select BR2_PACKAGE_ZLIB > + select BR2_PACKAGE_LUAJIT > + select BR2_PACKAGE_LIBJSON > + 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 > + depends on !BR2_INSTALL_LIBSTDCPP > + depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS > diff --git a/package/sysdig/sysdig.mk b/package/sysdig/sysdig.mk > new file mode 100644 > index 0000000..8fea399 > --- /dev/null > +++ b/package/sysdig/sysdig.mk > @@ -0,0 +1,22 @@ > +################################################################################ > +# > +# 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 You may also want to set USE_BUNDLED_JSONCPP here. > +SYSDIG_DEPENDENCIES = zlib luajit libjson linux > +SYSDIG_SUPPORTS_IN_SOURCE_BUILD = NO > + > +define SYSDIG_INSTALL_DRIVER > + $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) M=$(@D)/driver modules This command actually build the kernel module, so should be in a _BUILD_HOOK ;-) > + $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) M=$(@D)/driver modules_install > +endef > + > +SYSDIG_POST_INSTALL_TARGET_HOOKS += SYSDIG_INSTALL_DRIVER The weird thing here is that you manually build/install the kernel module, whereas AFAICS it should be automatically done by the build-system (the driver directory is always scan in the Buildroot context (see [1]), and BUILD_DRIVER is ON by default ([2])). I suggest to disable BUILD_DRIVER in the conf. options. > + > +$(eval $(cmake-package)) > -- > 1.9.1 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot [1] https://github.com/draios/sysdig/blob/dev/CMakeLists.txt#L50 [2] https://github.com/draios/sysdig/blob/dev/driver/CMakeLists.txt#L1 Regards,
Dear Samuel Martin, 2015-03-20 22:49 GMT+01:00 Samuel Martin <s.martin49@gmail.com>: > Hi Angelo, > > On Fri, Mar 20, 2015 at 1:56 PM, Angelo Compagnucci > <angelo.compagnucci@gmail.com> wrote: >> Sysdig is open source, system-level exploration: >> capture system state and activity from a running Linux >> instance, then save, filter and analyze. >> >> Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> >> --- >> Changes v4 -> v5: >> - Adjusted to 80 columns for sysdig.mk header >> >> Changes v3 -> v4: >> - Changed "depends on" to "select" and fixed selected packages >> dependencies. >> - moved "comment" section to the bottom >> >> Changes v2 -> v3: >> - Changed "depends on" and "select" to simplify package >> >> Changes v1 -> v2: >> - Changed "depends on" with "select" for dependencies (suggested by Baruch) >> - Added comment "sysdig needs a Linux kernel to be built" (suggested by Baruch) >> - Upgreded to recently released 0.1.99 >> >> >> package/Config.in | 1 + >> package/sysdig/Config.in | 21 +++++++++++++++++++++ >> package/sysdig/sysdig.mk | 22 ++++++++++++++++++++++ >> 3 files changed, 44 insertions(+) >> create mode 100644 package/sysdig/Config.in >> create mode 100644 package/sysdig/sysdig.mk >> >> diff --git a/package/Config.in b/package/Config.in >> index fce92a8..6596292 100644 >> --- a/package/Config.in >> +++ b/package/Config.in >> @@ -95,6 +95,7 @@ endif >> source "package/strace/Config.in" >> source "package/stress/Config.in" >> source "package/sysprof/Config.in" >> + source "package/sysdig/Config.in" >> source "package/tinymembench/Config.in" >> source "package/trace-cmd/Config.in" >> source "package/trinity/Config.in" >> diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in >> new file mode 100644 >> index 0000000..5c2b070 >> --- /dev/null >> +++ b/package/sysdig/Config.in >> @@ -0,0 +1,21 @@ >> +config BR2_PACKAGE_SYSDIG >> + bool "sysdig" >> + select BR2_PACKAGE_ZLIB >> + select BR2_PACKAGE_LUAJIT >> + select BR2_PACKAGE_LIBJSON >> + 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 >> + depends on !BR2_INSTALL_LIBSTDCPP >> + depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS >> diff --git a/package/sysdig/sysdig.mk b/package/sysdig/sysdig.mk >> new file mode 100644 >> index 0000000..8fea399 >> --- /dev/null >> +++ b/package/sysdig/sysdig.mk >> @@ -0,0 +1,22 @@ >> +################################################################################ >> +# >> +# 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 > You may also want to set USE_BUNDLED_JSONCPP here. Yes, right! > >> +SYSDIG_DEPENDENCIES = zlib luajit libjson linux >> +SYSDIG_SUPPORTS_IN_SOURCE_BUILD = NO >> + >> +define SYSDIG_INSTALL_DRIVER >> + $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) M=$(@D)/driver modules > This command actually build the kernel module, so should be in a _BUILD_HOOK ;-) > >> + $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) M=$(@D)/driver modules_install >> +endef >> + >> +SYSDIG_POST_INSTALL_TARGET_HOOKS += SYSDIG_INSTALL_DRIVER > > The weird thing here is that you manually build/install the kernel > module, whereas AFAICS it should be automatically done by the > build-system (the driver directory is always scan in the Buildroot > context (see [1]), and BUILD_DRIVER is ON by default ([2])). > I suggest to disable BUILD_DRIVER in the conf. options. I just pushed a patch with a better solution. Please review it! Thank you! > >> + >> +$(eval $(cmake-package)) >> -- >> 1.9.1 >> >> _______________________________________________ >> buildroot mailing list >> buildroot@busybox.net >> http://lists.busybox.net/mailman/listinfo/buildroot > > [1] https://github.com/draios/sysdig/blob/dev/CMakeLists.txt#L50 > [2] https://github.com/draios/sysdig/blob/dev/driver/CMakeLists.txt#L1 > > Regards, > > -- > Samuel
diff --git a/package/Config.in b/package/Config.in index fce92a8..6596292 100644 --- a/package/Config.in +++ b/package/Config.in @@ -95,6 +95,7 @@ endif source "package/strace/Config.in" source "package/stress/Config.in" source "package/sysprof/Config.in" + source "package/sysdig/Config.in" source "package/tinymembench/Config.in" source "package/trace-cmd/Config.in" source "package/trinity/Config.in" diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in new file mode 100644 index 0000000..5c2b070 --- /dev/null +++ b/package/sysdig/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_SYSDIG + bool "sysdig" + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_LUAJIT + select BR2_PACKAGE_LIBJSON + 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 + depends on !BR2_INSTALL_LIBSTDCPP + depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS diff --git a/package/sysdig/sysdig.mk b/package/sysdig/sysdig.mk new file mode 100644 index 0000000..8fea399 --- /dev/null +++ b/package/sysdig/sysdig.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# 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 +SYSDIG_DEPENDENCIES = zlib luajit libjson linux +SYSDIG_SUPPORTS_IN_SOURCE_BUILD = NO + +define SYSDIG_INSTALL_DRIVER + $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) M=$(@D)/driver modules + $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) M=$(@D)/driver modules_install +endef + +SYSDIG_POST_INSTALL_TARGET_HOOKS += SYSDIG_INSTALL_DRIVER + +$(eval $(cmake-package))
Sysdig is open source, system-level exploration: capture system state and activity from a running Linux instance, then save, filter and analyze. Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> --- Changes v4 -> v5: - Adjusted to 80 columns for sysdig.mk header Changes v3 -> v4: - Changed "depends on" to "select" and fixed selected packages dependencies. - moved "comment" section to the bottom Changes v2 -> v3: - Changed "depends on" and "select" to simplify package Changes v1 -> v2: - Changed "depends on" with "select" for dependencies (suggested by Baruch) - Added comment "sysdig needs a Linux kernel to be built" (suggested by Baruch) - Upgreded to recently released 0.1.99 package/Config.in | 1 + package/sysdig/Config.in | 21 +++++++++++++++++++++ package/sysdig/sysdig.mk | 22 ++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 package/sysdig/Config.in create mode 100644 package/sysdig/sysdig.mk