All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] package/ply: add new package
@ 2021-01-06 19:47 Andreas Klinger
  2021-01-23 22:00 ` Thomas Petazzoni
  0 siblings, 1 reply; 2+ messages in thread
From: Andreas Klinger @ 2021-01-06 19:47 UTC (permalink / raw)
  To: buildroot

ply is a light-weight dynamic tracer for Linux. By means of using the
BPF it can attach probes to the linux kernel (e. g. kprobes).

It's a small alternative to LLVM based tracers for embedded systems.

Project page:
https://github.com/wkz/ply/releases

Documentation can be found here:
https://wkz.github.io/ply/

Tested with beaglebone_defconfig (uClibc-ng as well as glibc)

Signed-off-by: Andreas Klinger <ak@it-klinger.de>

---

Changes in v2:
- project and download site (suggested by Tobias)
- configure.ac uses a fixed version string because of annoying messages
  ("fatal: not a git repository ...")

 DEVELOPERS                                    |  3 ++
 package/Config.in                             |  1 +
 ...ure.ac-fix-error-with-version-string.patch | 29 +++++++++++++++++++
 ...02-printxf.h-add-stdarg.h-in-include.patch | 27 +++++++++++++++++
 package/ply/Config.in                         | 16 ++++++++++
 package/ply/ply.hash                          |  4 +++
 package/ply/ply.mk                            | 15 ++++++++++
 7 files changed, 95 insertions(+)
 create mode 100644 package/ply/0001-configure.ac-fix-error-with-version-string.patch
 create mode 100644 package/ply/0002-printxf.h-add-stdarg.h-in-include.patch
 create mode 100644 package/ply/Config.in
 create mode 100644 package/ply/ply.hash
 create mode 100644 package/ply/ply.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index ddab7073b8..18e3c2ced7 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -131,6 +131,9 @@ F:	package/openal/
 F:	package/p7zip/
 F:	package/wine/
 
+N:	Andreas Klinger <ak@it-klinger.de>
+F:	package/ply/
+
 N:	Andrey Smirnov <andrew.smirnov@gmail.com>
 F:	package/python-backports-shutil-get-terminal-size/
 F:	package/python-decorator/
diff --git a/package/Config.in b/package/Config.in
index 219dba1c9d..2ea61a3551 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -123,6 +123,7 @@ menu "Debugging, profiling and benchmark"
 	source "package/pax-utils/Config.in"
 	source "package/pcm-tools/Config.in"
 	source "package/piglit/Config.in"
+	source "package/ply/Config.in"
 	source "package/ptm2human/Config.in"
 	source "package/pv/Config.in"
 	source "package/racehound/Config.in"
diff --git a/package/ply/0001-configure.ac-fix-error-with-version-string.patch b/package/ply/0001-configure.ac-fix-error-with-version-string.patch
new file mode 100644
index 0000000000..7532b3be29
--- /dev/null
+++ b/package/ply/0001-configure.ac-fix-error-with-version-string.patch
@@ -0,0 +1,29 @@
+From 684bae6043fa2242a5c6551c3f260c9db0cf7dc8 Mon Sep 17 00:00:00 2001
+From: Andreas Klinger <ak@it-klinger.de>
+Date: Mon, 4 Jan 2021 08:40:50 +0100
+Subject: [PATCH 1/2] configure.ac: fix error with version string
+
+When autoreconfiguring there's an error: "configure.ac:6: error: AC_INIT
+should be called with package and version arguments".
+
+Put version string in square brackets to satisfy autoconfigure.
+
+Signed-off-by: Andreas Klinger <ak@it-klinger.de>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 65387d6..7a0054e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,5 +1,5 @@
+ AC_PREREQ(2.61)
+-AC_INIT(ply, m4_esyscmd_s(git describe --always --dirty),
++AC_INIT(ply, [2.1.1],
+ 	     https://github.com/wkz/ply/issues)
+ 
+ AC_GNU_SOURCE
+-- 
+2.20.1
+
diff --git a/package/ply/0002-printxf.h-add-stdarg.h-in-include.patch b/package/ply/0002-printxf.h-add-stdarg.h-in-include.patch
new file mode 100644
index 0000000000..19233659fc
--- /dev/null
+++ b/package/ply/0002-printxf.h-add-stdarg.h-in-include.patch
@@ -0,0 +1,27 @@
+From 3fb3cb779c535ec28cbba80573bbea42435108c0 Mon Sep 17 00:00:00 2001
+From: Andreas Klinger <ak@it-klinger.de>
+Date: Mon, 4 Jan 2021 20:48:41 +0100
+Subject: [PATCH 2/2] printxf.h: add stdarg.h in include
+
+Include of <stdarg.h> is needed for va_list.
+
+Signed-off-by: Andreas Klinger <ak@it-klinger.de>
+---
+ include/ply/printxf.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/ply/printxf.h b/include/ply/printxf.h
+index a59f0d2..e985936 100644
+--- a/include/ply/printxf.h
++++ b/include/ply/printxf.h
+@@ -8,6 +8,7 @@
+ #define _PRINTXF_H
+ 
+ #include <stdio.h>
++#include <stdarg.h>
+ 
+ struct printxf;
+ 
+-- 
+2.20.1
+
diff --git a/package/ply/Config.in b/package/ply/Config.in
new file mode 100644
index 0000000000..7b88a397e8
--- /dev/null
+++ b/package/ply/Config.in
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_PLY
+	bool "ply"
+	help
+	  ply is a light-weight dynamic tracer for Linux. By means of using
+	  the BPF it can attach probes to the linux kernel (e. g. kprobes).
+
+	  It's a small alternative to LLVM based tracers for embedded
+	  systems.
+
+	  When using debugfs needs to be mounted on /sys/kernel/debug.
+
+	  Project page:
+	  https://github.com/wkz/ply
+
+	  Documentation can be found here:
+	  https://wkz.github.io/ply/
diff --git a/package/ply/ply.hash b/package/ply/ply.hash
new file mode 100644
index 0000000000..0c8de6f8e8
--- /dev/null
+++ b/package/ply/ply.hash
@@ -0,0 +1,4 @@
+# Locally calculated
+sha256	cecf0913c65027750ac3272e936110c9f843435938f9ca2edbc34e99ba6c00e2  ply-2.1.1.tar.gz
+sha256	0e7bf51b014d4ad5be999b8b35eeefb8c99fe63454685b52a5c0c728290b1570  0001-configure.ac-fix-error-with-version-string.patch
+sha256	b445002ea0869a667e1195aad1b118d13eb3396adf10b85b80037669a59c6657  0002-printxf.h-add-stdarg.h-in-include.patch
diff --git a/package/ply/ply.mk b/package/ply/ply.mk
new file mode 100644
index 0000000000..04fee3e4a8
--- /dev/null
+++ b/package/ply/ply.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# ply
+#
+################################################################################
+
+PLY_VERSION = 2.1.1
+PLY_SITE = $(call github,wkz,ply,$(PLY_VERSION))
+PLY_AUTORECONF = YES
+
+PLY_LICENSE = GPL-2.0
+PLY_LICENSE_FILES = COPYING
+PLY_INSTALL_STAGING = YES
+
+$(eval $(autotools-package))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [Buildroot] [PATCH v2] package/ply: add new package
  2021-01-06 19:47 [Buildroot] [PATCH v2] package/ply: add new package Andreas Klinger
@ 2021-01-23 22:00 ` Thomas Petazzoni
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2021-01-23 22:00 UTC (permalink / raw)
  To: buildroot

Hello Andreas,

Thanks, I applied your patch, but with a good number of changes. See
below.

On Wed, 6 Jan 2021 20:47:04 +0100
Andreas Klinger <ak@it-klinger.de> wrote:

> diff --git a/package/ply/0001-configure.ac-fix-error-with-version-string.patch b/package/ply/0001-configure.ac-fix-error-with-version-string.patch
> new file mode 100644
> index 0000000000..7532b3be29
> --- /dev/null
> +++ b/package/ply/0001-configure.ac-fix-error-with-version-string.patch
> @@ -0,0 +1,29 @@
> +From 684bae6043fa2242a5c6551c3f260c9db0cf7dc8 Mon Sep 17 00:00:00 2001
> +From: Andreas Klinger <ak@it-klinger.de>
> +Date: Mon, 4 Jan 2021 08:40:50 +0100
> +Subject: [PATCH 1/2] configure.ac: fix error with version string

We don't use [PATCH 1/2] in patches, but just [PATCH]. This is detected
and reported by "make check-package".


> diff --git a/package/ply/Config.in b/package/ply/Config.in
> new file mode 100644
> index 0000000000..7b88a397e8
> --- /dev/null
> +++ b/package/ply/Config.in
> @@ -0,0 +1,16 @@
> +config BR2_PACKAGE_PLY
> +	bool "ply"

This was missing a significant number of dependencies:

 - ply is only available for ARM, AArch64, PowerPC and x86-64
 - ply uses fork(), so a dependency on BR2_USE_MMU was needed
 - ply uses a number of BPF features, including some only available in
   Linux >= 4.6, so a dependency on >= 4.6 headers was needed

> +	help
> +	  ply is a light-weight dynamic tracer for Linux. By means of using
> +	  the BPF it can attach probes to the linux kernel (e. g. kprobes).

Some of those lines were too long, causing "make check-package"
warnings.

> +
> +	  It's a small alternative to LLVM based tracers for embedded
> +	  systems.
> +
> +	  When using debugfs needs to be mounted on /sys/kernel/debug.
> +
> +	  Project page:
> +	  https://github.com/wkz/ply
> +
> +	  Documentation can be found here:
> +	  https://wkz.github.io/ply/

We typically keep only the home page of the project, so I kept only
this last URL.

> diff --git a/package/ply/ply.hash b/package/ply/ply.hash
> new file mode 100644
> index 0000000000..0c8de6f8e8
> --- /dev/null
> +++ b/package/ply/ply.hash
> @@ -0,0 +1,4 @@
> +# Locally calculated
> +sha256	cecf0913c65027750ac3272e936110c9f843435938f9ca2edbc34e99ba6c00e2  ply-2.1.1.tar.gz
> +sha256	0e7bf51b014d4ad5be999b8b35eeefb8c99fe63454685b52a5c0c728290b1570  0001-configure.ac-fix-error-with-version-string.patch
> +sha256	b445002ea0869a667e1195aad1b118d13eb3396adf10b85b80037669a59c6657  0002-printxf.h-add-stdarg.h-in-include.patch

Having the hashes of the patches is useless, as they are bundled with
Buildroot. However, what is useful is to have the hash of the license
file. Also, we separate fields in this file with two spaces.

I've applied after fixing the above issues. Many thanks for your
contribution!

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-01-23 22:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-06 19:47 [Buildroot] [PATCH v2] package/ply: add new package Andreas Klinger
2021-01-23 22:00 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.