Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/2] Update Sysprof to the latest release
@ 2024-06-27 22:02 Adrian Perez de Castro
  2024-06-27 22:02 ` [Buildroot] [PATCH 1/2] package/libdex: new package Adrian Perez de Castro
  2024-06-27 22:02 ` [Buildroot] [PATCH 2/2] package/sysprof: update to version 46.0 Adrian Perez de Castro
  0 siblings, 2 replies; 7+ messages in thread
From: Adrian Perez de Castro @ 2024-06-27 22:02 UTC (permalink / raw)
  To: buildroot; +Cc: Eric Le Bihan, Adrian Perez de Castro, Will Newton

Hi all,

As discussed in the IRC channel, here's an update for the sysprof package,
bringing it to a current version. Unfortunately, the patch set to add the
GTK4 package to Buildroot [1] has not yet been merged, so I had to remove
the option to build the GUI for now.

Nevertheless, my main motivation for working on this is being able to take
captures with sysprof-cli of wpewebkit/webkitgtk, where we are currently
adding support to produce tracing markers for sysprof. The captured data
can be analyzed offline in a different machine using the Sysprof GUI, so
personally I do not find important being able to run the GUI tool on the
target hardware.

There are further improvements that could be done, like making a new
sysprof-capture package which only builds the collection support library,
and then have other packages (libsoup3, wpewebkit, etc.) depend on it,
instead of making them rely on bundled copies. This would also allow
having the tracing support in libdex enabled without causing a cyclic
dependency. But I digress -- this would be material for follow-up patches,
for now let's keep it simple.

Cheers,
-Adrian

---
[1] https://patchwork.ozlabs.org/project/buildroot/list/?series=401486

Adrian Perez de Castro (2):
  package/libdex: new package
  package/sysprof: update to version 46.0

 DEVELOPERS                                    |  1 +
 package/Config.in                             |  1 +
 package/libdex/Config.in                      | 17 +++++++++
 package/libdex/libdex.hash                    |  5 +++
 package/libdex/libdex.mk                      | 31 ++++++++++++++++
 .../sysprof/0001-define-NT_GNU_BUILD_ID.patch | 22 -----------
 package/sysprof/Config.in                     | 37 ++++++++-----------
 package/sysprof/sysprof.hash                  |  8 ++--
 package/sysprof/sysprof.mk                    | 26 +++++++++----
 9 files changed, 95 insertions(+), 53 deletions(-)
 create mode 100644 package/libdex/Config.in
 create mode 100644 package/libdex/libdex.hash
 create mode 100644 package/libdex/libdex.mk
 delete mode 100644 package/sysprof/0001-define-NT_GNU_BUILD_ID.patch

-- 
2.45.2

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 1/2] package/libdex: new package
  2024-06-27 22:02 [Buildroot] [PATCH 0/2] Update Sysprof to the latest release Adrian Perez de Castro
@ 2024-06-27 22:02 ` Adrian Perez de Castro
  2024-07-12 15:35   ` Thomas Petazzoni via buildroot
  2024-06-27 22:02 ` [Buildroot] [PATCH 2/2] package/sysprof: update to version 46.0 Adrian Perez de Castro
  1 sibling, 1 reply; 7+ messages in thread
From: Adrian Perez de Castro @ 2024-06-27 22:02 UTC (permalink / raw)
  To: buildroot; +Cc: Eric Le Bihan, Adrian Perez de Castro, Will Newton

This package provides utilities for asynchronous programming in C
using a futures/promises model. Newer versions of sysprof require
this library.

https://gitlab.gnome.org/GNOME/libdex

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 DEVELOPERS                 |  1 +
 package/Config.in          |  1 +
 package/libdex/Config.in   | 17 +++++++++++++++++
 package/libdex/libdex.hash |  5 +++++
 package/libdex/libdex.mk   | 31 +++++++++++++++++++++++++++++++
 5 files changed, 55 insertions(+)
 create mode 100644 package/libdex/Config.in
 create mode 100644 package/libdex/libdex.hash
 create mode 100644 package/libdex/libdex.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 8a5cceba78e..be622599387 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -55,6 +55,7 @@ F:	package/brotli/
 F:	package/bubblewrap/
 F:	package/cage/
 F:	package/cog/
+F:	package/libdex/
 F:	package/libepoxy/
 F:	package/libmanette/
 F:	package/libpsl/
diff --git a/package/Config.in b/package/Config.in
index 550fdc1f411..ff55d892e0e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2155,6 +2155,7 @@ menu "Other"
 	source "package/libcap/Config.in"
 	source "package/libcap-ng/Config.in"
 	source "package/libcgroup/Config.in"
+	source "package/libdex/Config.in"
 	source "package/llvm-project/libclc/Config.in"
 	source "package/libcofi/Config.in"
 	source "package/libcorrect/Config.in"
diff --git a/package/libdex/Config.in b/package/libdex/Config.in
new file mode 100644
index 00000000000..f10bdac46f1
--- /dev/null
+++ b/package/libdex/Config.in
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_LIBDEX
+	bool "libdex"
+	depends on BR2_USE_MMU # libglib2
+	depends on BR2_USE_WCHAR # libglib2, gettext
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+	select BR2_PACKAGE_LIBGLIB2
+	help
+	  Dex provides Future-based programming for GLib-based
+	  applications. It both integrates with and brings new
+	  features for application and library authors who want
+	  to structure concurrent code in an easy to manage way.
+
+	  https://gitlab.gnome.org/GNOME/libdex
+
+comment "libdex needs a toolchain w/ wchar, threads"
+	depends on BR2_USE_MMU
+	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libdex/libdex.hash b/package/libdex/libdex.hash
new file mode 100644
index 00000000000..ec22f330d9f
--- /dev/null
+++ b/package/libdex/libdex.hash
@@ -0,0 +1,5 @@
+# From https://download.gnome.org/sources/libdex/0.6/libdex-0.6.1.sha256sum
+sha256  d176de6578571e32a8c0b603b6a5a13fa5f87fb6b5442575b38ec5af16b17a92  libdex-0.6.1.tar.xz
+
+# License files
+sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING
diff --git a/package/libdex/libdex.mk b/package/libdex/libdex.mk
new file mode 100644
index 00000000000..3a61a8504fb
--- /dev/null
+++ b/package/libdex/libdex.mk
@@ -0,0 +1,31 @@
+################################################################################
+#
+# libdex
+#
+################################################################################
+
+LIBDEX_VERSION_MAJOR = 0.6
+LIBDEX_VERSION = $(LIBDEX_VERSION_MAJOR).1
+LIBDEX_SOURCE = libdex-$(LIBDEX_VERSION).tar.xz
+LIBDEX_SITE = https://download.gnome.org/sources/libdex/$(LIBDEX_VERSION_MAJOR)
+LIBDEX_LICENSE = LGPL-2.1+
+LIBDEX_LICENSE_FILES = COPYING
+LIBDEX_INSTALL_STAGING = YES
+LIBDEX_DEPENDENCIES += libglib2
+LIBDEX_CONF_OPTS += \
+	-Ddocs=false \
+	-Dexamples=false \
+	-Dsysprof=false \
+	-Dtests=false \
+	-Dvapi=false \
+	-Deventfd=enabled \
+	-Dintrospection=disabled
+
+ifeq ($(BR2_PACKAGE_LIBURING),y)
+LIBDEX_CONF_OPTS += -Dliburing=enabled
+LIBDEX_DEPENDENCIES += liburing
+else
+LIBDEX_CONF_OPTS += -Dliburing=disabled
+endif
+
+$(eval $(meson-package))
-- 
2.45.2

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 2/2] package/sysprof: update to version 46.0
  2024-06-27 22:02 [Buildroot] [PATCH 0/2] Update Sysprof to the latest release Adrian Perez de Castro
  2024-06-27 22:02 ` [Buildroot] [PATCH 1/2] package/libdex: new package Adrian Perez de Castro
@ 2024-06-27 22:02 ` Adrian Perez de Castro
  2024-07-12 15:37   ` Thomas Petazzoni via buildroot
  1 sibling, 1 reply; 7+ messages in thread
From: Adrian Perez de Castro @ 2024-06-27 22:02 UTC (permalink / raw)
  To: buildroot; +Cc: Eric Le Bihan, Adrian Perez de Castro, Will Newton

Bring Sysprof twelve years into the future by updating it to the most
recent release. The GUI now uses GTK4, for which there is not yet a
package, so for now the option is removed.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 .../sysprof/0001-define-NT_GNU_BUILD_ID.patch | 22 -----------
 package/sysprof/Config.in                     | 37 ++++++++-----------
 package/sysprof/sysprof.hash                  |  8 ++--
 package/sysprof/sysprof.mk                    | 26 +++++++++----
 4 files changed, 40 insertions(+), 53 deletions(-)
 delete mode 100644 package/sysprof/0001-define-NT_GNU_BUILD_ID.patch

diff --git a/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch b/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch
deleted file mode 100644
index dcc2cbe67cc..00000000000
--- a/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-On uclibc elf.h does not have GNU extentions but we need this define
-so we define it locally if its not getting it from elf.h
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-
-Index: git/elfparser.h
-===================================================================
---- git.orig/elfparser.h	2011-07-16 18:57:41.000000000 -0700
-+++ git/elfparser.h	2011-07-16 20:28:54.733829895 -0700
-@@ -17,6 +17,10 @@
-  */
- #include <glib.h>
- 
-+#ifndef NT_GNU_BUILD_ID
-+#define NT_GNU_BUILD_ID 3
-+#endif
-+
- typedef struct ElfSym ElfSym;
- typedef struct ElfParser ElfParser;
- 
diff --git a/package/sysprof/Config.in b/package/sysprof/Config.in
index 3913274be4f..4ea1d3ebf1d 100644
--- a/package/sysprof/Config.in
+++ b/package/sysprof/Config.in
@@ -1,31 +1,26 @@
 config BR2_PACKAGE_SYSPROF
 	bool "sysprof"
-	depends on BR2_USE_WCHAR # glib2
-	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
-	depends on BR2_USE_MMU # glib2
-	# In its util.h file, sysprof contains architecture-specific
-	# code
-	depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sh4a || BR2_sh4aeb
+	depends on BR2_USE_WCHAR # glib2, libdex, json-glib
+	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2, libdex, json-glib, polkit
+	depends on BR2_USE_MMU # glib2, libdex, json-glib
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libunwind, polkit
+	depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
+	depends on !BR2_STATIC_LIBS # polkit
+	depends on !BR2_OPTIMIZE_FAST # polkit
+	select BR2_PACKAGE_JSON_GLIB
+	select BR2_PACKAGE_LIBDEX
 	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_LIBUNWIND
+	select BR2_PACKAGE_POLKIT
 	help
 	  Sysprof is a statistical, system-wide profiler that can
 	  profile user and kernel code using the perf API.
 
 	  http://sysprof.com
 
-if BR2_PACKAGE_SYSPROF
-
-config BR2_PACKAGE_SYSPROF_GUI
-	bool "sysprof GUI"
-	depends on BR2_PACKAGE_LIBGTK2
-	select BR2_PACKAGE_LIBGLADE
-	select BR2_PACKAGE_GDK_PIXBUF
-	help
-	  GUI for the sysprof system-wide statistical profiler.
-
-endif
-
-comment "sysprof needs a toolchain w/ wchar, threads"
+comment "sysprof needs a toolchain w/ dynamic libraray, wchar, threads, gcc >= 7"
 	depends on BR2_USE_MMU
-	depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sh4a || BR2_sh4aeb
-	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
+		!BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS || \
+		BR2_STATIC_LIBS || BR2_OPTIMIZE_FAST
diff --git a/package/sysprof/sysprof.hash b/package/sysprof/sysprof.hash
index 4ce206be0bd..f21e7621e14 100644
--- a/package/sysprof/sysprof.hash
+++ b/package/sysprof/sysprof.hash
@@ -1,3 +1,5 @@
-# Locally calculated
-sha256  baf03c6fc01a845c705873e6fc7927aa89539dcda6963f9ec4c8eb4c086a64f1  sysprof-1.2.0.tar.gz
-sha256  32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670  COPYING
+# From https://download.gnome.org/sources/sysprof/46/sysprof-46.0.sha256sum
+sha256  73aa7e75ebab3e4e0946a05a723df7e6ee4249e3b9e884dba35500aba2a1d176  sysprof-46.0.tar.xz
+
+# License files
+sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  COPYING
diff --git a/package/sysprof/sysprof.mk b/package/sysprof/sysprof.mk
index 9823416e3fd..4df2f38a8b9 100644
--- a/package/sysprof/sysprof.mk
+++ b/package/sysprof/sysprof.mk
@@ -4,14 +4,26 @@
 #
 ################################################################################
 
-SYSPROF_VERSION = 1.2.0
-SYSPROF_SITE = http://sysprof.com
-SYSPROF_DEPENDENCIES = libglib2
-SYSPROF_LICENSE = GPL-2.0+
+SYSPROF_VERSION_MAJOR = 46
+SYSPROF_VERSION = $(SYSPROF_VERSION_MAJOR).0
+SYSPROF_SOURCE = sysprof-$(SYSPROF_VERSION).tar.xz
+SYSPROF_SITE = https://download.gnome.org/sources/sysprof/$(SYSPROF_VERSION_MAJOR)
+SYSPROF_LICENSE = GPL-3.0+
 SYSPROF_LICENSE_FILES = COPYING
+SYSPROF_DEPENDENCIES = libglib2 libdex libunwind json-glib polkit
+SYSPROF_CONF_OPTS += \
+	-Ddevelopment=false \
+	-Dexamples=false \
+	-Dgtk=false \
+	-Dhelp=false \
+	-Dinstall-static=false \
+	-Dlibsysprof=true \
+	-Dtests=false \
+	-Dtools=true \
+	-Dsystemdunitdir=/usr/lib/systemd/system
 
-ifeq ($(BR2_PACKAGE_SYSPROF_GUI),y)
-SYSPROF_DEPENDENCIES += libgtk2 libglade gdk-pixbuf
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+SYSPROF_DEPENDENCIES += systemd
 endif
 
-$(eval $(autotools-package))
+$(eval $(meson-package))
-- 
2.45.2

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/2] package/libdex: new package
  2024-06-27 22:02 ` [Buildroot] [PATCH 1/2] package/libdex: new package Adrian Perez de Castro
@ 2024-07-12 15:35   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-12 15:35 UTC (permalink / raw)
  To: Adrian Perez de Castro; +Cc: Eric Le Bihan, Will Newton, buildroot

Hello Adrian,

On Fri, 28 Jun 2024 01:02:18 +0300
Adrian Perez de Castro <aperez@igalia.com> wrote:

> This package provides utilities for asynchronous programming in C
> using a futures/promises model. Newer versions of sysprof require
> this library.
> 
> https://gitlab.gnome.org/GNOME/libdex
> 
> Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>

Thanks, applied with some really minor changes.

> diff --git a/package/Config.in b/package/Config.in
> index 550fdc1f411..ff55d892e0e 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -2155,6 +2155,7 @@ menu "Other"
>  	source "package/libcap/Config.in"
>  	source "package/libcap-ng/Config.in"
>  	source "package/libcgroup/Config.in"
> +	source "package/libdex/Config.in"
>  	source "package/llvm-project/libclc/Config.in"
>  	source "package/libcofi/Config.in"
>  	source "package/libcorrect/Config.in"

Fix up alphabetic ordering here. This was pointed out by "make
check-package".

> +LIBDEX_VERSION_MAJOR = 0.6
> +LIBDEX_VERSION = $(LIBDEX_VERSION_MAJOR).1
> +LIBDEX_SOURCE = libdex-$(LIBDEX_VERSION).tar.xz
> +LIBDEX_SITE = https://download.gnome.org/sources/libdex/$(LIBDEX_VERSION_MAJOR)
> +LIBDEX_LICENSE = LGPL-2.1+
> +LIBDEX_LICENSE_FILES = COPYING
> +LIBDEX_INSTALL_STAGING = YES
> +LIBDEX_DEPENDENCIES += libglib2

= instead of +=

> +LIBDEX_CONF_OPTS += \

Ditto here.

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 2/2] package/sysprof: update to version 46.0
  2024-06-27 22:02 ` [Buildroot] [PATCH 2/2] package/sysprof: update to version 46.0 Adrian Perez de Castro
@ 2024-07-12 15:37   ` Thomas Petazzoni via buildroot
  2024-08-05 13:24     ` Adrian Perez de Castro
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-12 15:37 UTC (permalink / raw)
  To: Adrian Perez de Castro; +Cc: Eric Le Bihan, Will Newton, buildroot

Hello Adrian,

On Fri, 28 Jun 2024 01:02:19 +0300
Adrian Perez de Castro <aperez@igalia.com> wrote:

> Bring Sysprof twelve years into the future by updating it to the most
> recent release. The GUI now uses GTK4, for which there is not yet a
> package, so for now the option is removed.
> 
> Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>

Would you want to be added in the DEVELOPERS file for this package? You
just did a big bump, it would make sense if you helped fixing the build
failures that might results for this bump :-)

> diff --git a/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch b/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch
> deleted file mode 100644
> index dcc2cbe67cc..00000000000
> --- a/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch
> +++ /dev/null

Dropping this patch required an updated in .checkpackageignore.


> diff --git a/package/sysprof/Config.in b/package/sysprof/Config.in
> index 3913274be4f..4ea1d3ebf1d 100644
> --- a/package/sysprof/Config.in
> +++ b/package/sysprof/Config.in
> @@ -1,31 +1,26 @@
>  config BR2_PACKAGE_SYSPROF
>  	bool "sysprof"
> -	depends on BR2_USE_WCHAR # glib2
> -	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
> -	depends on BR2_USE_MMU # glib2
> -	# In its util.h file, sysprof contains architecture-specific
> -	# code
> -	depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sh4a || BR2_sh4aeb
> +	depends on BR2_USE_WCHAR # glib2, libdex, json-glib
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2, libdex, json-glib, polkit
> +	depends on BR2_USE_MMU # glib2, libdex, json-glib
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libunwind, polkit
> +	depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
> +	depends on !BR2_STATIC_LIBS # polkit

Also because of libunwind.

> +	depends on !BR2_OPTIMIZE_FAST # polkit
> +	select BR2_PACKAGE_JSON_GLIB
> +	select BR2_PACKAGE_LIBDEX
>  	select BR2_PACKAGE_LIBGLIB2
> +	select BR2_PACKAGE_LIBUNWIND
> +	select BR2_PACKAGE_POLKIT
>  	help
>  	  Sysprof is a statistical, system-wide profiler that can
>  	  profile user and kernel code using the perf API.
>  
>  	  http://sysprof.com
>  
> -if BR2_PACKAGE_SYSPROF
> -
> -config BR2_PACKAGE_SYSPROF_GUI
> -	bool "sysprof GUI"
> -	depends on BR2_PACKAGE_LIBGTK2
> -	select BR2_PACKAGE_LIBGLADE
> -	select BR2_PACKAGE_GDK_PIXBUF
> -	help
> -	  GUI for the sysprof system-wide statistical profiler.
> -
> -endif
> -
> -comment "sysprof needs a toolchain w/ wchar, threads"
> +comment "sysprof needs a toolchain w/ dynamic libraray, wchar, threads, gcc >= 7"
>  	depends on BR2_USE_MMU
> -	depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sh4a || BR2_sh4aeb
> -	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> +	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
> +		!BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
> +		!BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS || \

BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS is an architecture dependency, so
it should have been handled like BR2_USE_MMU.

> +		BR2_STATIC_LIBS || BR2_OPTIMIZE_FAST

I changed the handling of BR2_OPTIMIZE_FAST to be like what polkit does:

comment "sysprof can't be built with Optimize for fast"
	depends on BR2_OPTIMIZE_FAST

not amazing, but at least consistent with polkit.

BTW, pretty mind-blowing that sysprof absolutely requires polkit...


> -SYSPROF_VERSION = 1.2.0
> -SYSPROF_SITE = http://sysprof.com
> -SYSPROF_DEPENDENCIES = libglib2
> -SYSPROF_LICENSE = GPL-2.0+
> +SYSPROF_VERSION_MAJOR = 46
> +SYSPROF_VERSION = $(SYSPROF_VERSION_MAJOR).0
> +SYSPROF_SOURCE = sysprof-$(SYSPROF_VERSION).tar.xz
> +SYSPROF_SITE = https://download.gnome.org/sources/sysprof/$(SYSPROF_VERSION_MAJOR)
> +SYSPROF_LICENSE = GPL-3.0+
>  SYSPROF_LICENSE_FILES = COPYING
> +SYSPROF_DEPENDENCIES = libglib2 libdex libunwind json-glib polkit
> +SYSPROF_CONF_OPTS += \

= instead of +=

Applied with those changes. Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 2/2] package/sysprof: update to version 46.0
  2024-07-12 15:37   ` Thomas Petazzoni via buildroot
@ 2024-08-05 13:24     ` Adrian Perez de Castro
  2024-08-05 13:46       ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 7+ messages in thread
From: Adrian Perez de Castro @ 2024-08-05 13:24 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: Eric Le Bihan, Will Newton, buildroot


[-- Attachment #1.1: Type: text/plain, Size: 4795 bytes --]

On Fri, 12 Jul 2024 17:37:34 +0200 Thomas Petazzoni via buildroot <buildroot@buildroot.org> wrote:
> Hello Adrian,
> 
> On Fri, 28 Jun 2024 01:02:19 +0300
> Adrian Perez de Castro <aperez@igalia.com> wrote:
> 
> > Bring Sysprof twelve years into the future by updating it to the most
> > recent release. The GUI now uses GTK4, for which there is not yet a
> > package, so for now the option is removed.
> > 
> > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> 
> Would you want to be added in the DEVELOPERS file for this package? You
> just did a big bump, it would make sense if you helped fixing the build
> failures that might results for this bump :-)

I suppose it makes sense, I will send a patch adding myself as maintainer
for the package later :-)
 
> > diff --git a/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch b/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch
> > deleted file mode 100644
> > index dcc2cbe67cc..00000000000
> > --- a/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch
> > +++ /dev/null
> 
> Dropping this patch required an updated in .checkpackageignore.
 
Oh, I see, thanks for handling it.
 
> > diff --git a/package/sysprof/Config.in b/package/sysprof/Config.in
> > index 3913274be4f..4ea1d3ebf1d 100644
> > --- a/package/sysprof/Config.in
> > +++ b/package/sysprof/Config.in
> > @@ -1,31 +1,26 @@
> >  config BR2_PACKAGE_SYSPROF
> >  	bool "sysprof"
> > -	depends on BR2_USE_WCHAR # glib2
> > -	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
> > -	depends on BR2_USE_MMU # glib2
> > -	# In its util.h file, sysprof contains architecture-specific
> > -	# code
> > -	depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sh4a || BR2_sh4aeb
> > +	depends on BR2_USE_WCHAR # glib2, libdex, json-glib
> > +	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2, libdex, json-glib, polkit
> > +	depends on BR2_USE_MMU # glib2, libdex, json-glib
> > +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libunwind, polkit
> > +	depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
> > +	depends on !BR2_STATIC_LIBS # polkit
> 
> Also because of libunwind.
> 
> > +	depends on !BR2_OPTIMIZE_FAST # polkit
> > +	select BR2_PACKAGE_JSON_GLIB
> > +	select BR2_PACKAGE_LIBDEX
> >  	select BR2_PACKAGE_LIBGLIB2
> > +	select BR2_PACKAGE_LIBUNWIND
> > +	select BR2_PACKAGE_POLKIT
> >  	help
> >  	  Sysprof is a statistical, system-wide profiler that can
> >  	  profile user and kernel code using the perf API.
> >  
> >  	  http://sysprof.com
> >  
> > -if BR2_PACKAGE_SYSPROF
> > -
> > -config BR2_PACKAGE_SYSPROF_GUI
> > -	bool "sysprof GUI"
> > -	depends on BR2_PACKAGE_LIBGTK2
> > -	select BR2_PACKAGE_LIBGLADE
> > -	select BR2_PACKAGE_GDK_PIXBUF
> > -	help
> > -	  GUI for the sysprof system-wide statistical profiler.
> > -
> > -endif
> > -
> > -comment "sysprof needs a toolchain w/ wchar, threads"
> > +comment "sysprof needs a toolchain w/ dynamic libraray, wchar, threads, gcc >= 7"
> >  	depends on BR2_USE_MMU
> > -	depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sh4a || BR2_sh4aeb
> > -	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> > +	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
> > +		!BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
> > +		!BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS || \
> 
> BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS is an architecture dependency, so
> it should have been handled like BR2_USE_MMU.
> 
> > +		BR2_STATIC_LIBS || BR2_OPTIMIZE_FAST
> 
> I changed the handling of BR2_OPTIMIZE_FAST to be like what polkit does:
> 
> comment "sysprof can't be built with Optimize for fast"
> 	depends on BR2_OPTIMIZE_FAST
> 
> not amazing, but at least consistent with polkit.
> 
> BTW, pretty mind-blowing that sysprof absolutely requires polkit...

Yeah, I was hoping that there would be a way of configuring the build to
disable the polkit dependency, but not at the moment. We're in contact with
Christian Hergert (the current sysprof maintainer) and he is open to have a
patch upstreamed to make polkit optional at build time. I don't have an ETA
but I might be able to work on that in the coming weeks. Once we have that
done, I plan to bring the patch into Buildroot =)
 
> > -SYSPROF_VERSION = 1.2.0
> > -SYSPROF_SITE = http://sysprof.com
> > -SYSPROF_DEPENDENCIES = libglib2
> > -SYSPROF_LICENSE = GPL-2.0+
> > +SYSPROF_VERSION_MAJOR = 46
> > +SYSPROF_VERSION = $(SYSPROF_VERSION_MAJOR).0
> > +SYSPROF_SOURCE = sysprof-$(SYSPROF_VERSION).tar.xz
> > +SYSPROF_SITE = https://download.gnome.org/sources/sysprof/$(SYSPROF_VERSION_MAJOR)
> > +SYSPROF_LICENSE = GPL-3.0+
> >  SYSPROF_LICENSE_FILES = COPYING
> > +SYSPROF_DEPENDENCIES = libglib2 libdex libunwind json-glib polkit
> > +SYSPROF_CONF_OPTS += \
> 
> = instead of +=

Ah, first assignment, right. /me facepalms
 
> Applied with those changes. Thanks!

\o/

Cheers,
—Adrián

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 2/2] package/sysprof: update to version 46.0
  2024-08-05 13:24     ` Adrian Perez de Castro
@ 2024-08-05 13:46       ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-08-05 13:46 UTC (permalink / raw)
  To: Adrian Perez de Castro; +Cc: Eric Le Bihan, Will Newton, buildroot

Hello Adrian,

On Mon, 5 Aug 2024 16:24:39 +0300
Adrian Perez de Castro <aperez@igalia.com> wrote:

> > Would you want to be added in the DEVELOPERS file for this package? You
> > just did a big bump, it would make sense if you helped fixing the build
> > failures that might results for this bump :-)  
> 
> I suppose it makes sense, I will send a patch adding myself as maintainer
> for the package later :-)

Perfect!

> > BTW, pretty mind-blowing that sysprof absolutely requires polkit...  
> 
> Yeah, I was hoping that there would be a way of configuring the build to
> disable the polkit dependency, but not at the moment. We're in contact with
> Christian Hergert (the current sysprof maintainer) and he is open to have a
> patch upstreamed to make polkit optional at build time. I don't have an ETA
> but I might be able to work on that in the coming weeks. Once we have that
> done, I plan to bring the patch into Buildroot =)

Nice, looking forward to it, thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2024-08-05 13:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-27 22:02 [Buildroot] [PATCH 0/2] Update Sysprof to the latest release Adrian Perez de Castro
2024-06-27 22:02 ` [Buildroot] [PATCH 1/2] package/libdex: new package Adrian Perez de Castro
2024-07-12 15:35   ` Thomas Petazzoni via buildroot
2024-06-27 22:02 ` [Buildroot] [PATCH 2/2] package/sysprof: update to version 46.0 Adrian Perez de Castro
2024-07-12 15:37   ` Thomas Petazzoni via buildroot
2024-08-05 13:24     ` Adrian Perez de Castro
2024-08-05 13:46       ` Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox