summaryrefslogtreecommitdiffstats
path: root/meta-gnome/recipes-gnome/sysprof
diff options
context:
space:
mode:
authorAndreas Müller <schnitzeltony@gmail.com>2020-06-01 23:45:15 +0200
committerKhem Raj <raj.khem@gmail.com>2020-06-03 15:15:43 -0700
commit9c2ec3d81b994e43066ef67580ef466b09625802 (patch)
tree907b56e4e53a3276351af7e59c71c362610a0785 /meta-gnome/recipes-gnome/sysprof
parent86e8c35f115e28f6359442fa2580e25deb7832e7 (diff)
downloadmeta-openembedded-9c2ec3d81b994e43066ef67580ef466b09625802.tar.gz
sysprof: upgrade 3.34.1 -> 3.36.0
* Move recipe recipes-kernel -> recipes-gnome * 0001-libsysprof-ui-Rename-environ-to-sys_environ.patch can go: upstream did raname variable differently * We can build help files these days * reworder patches / recipe cleanup Overview of changes in Sysprof 3.36.0 ===================================== * Preload library has been moved to $libdir from $libexecdir * Build system improvements * Fix whole-system capture setting when using "Record Again" feature * New SysprofCollector interfaces for samples, marks, and logs to sit alongside allocations * Translation updates Overview of changes in Sysprof 3.35.92 ====================================== * A new profiler for tracking memory allocations within processes that are spawned by Sysprof. Select "Track Allocations" to use an LD_PRELOAD module which monitors allocations within the target process. A callgraph is provided with allocations and their stack traces. This brings the main features of the venerable "Memprof" into Sysprof. * Port Sysprof to work on RHEL 7 * Improvements to marks and counters displays * A new data frame in libsysprof-capture for memory allocations with stack traces. * sysprof-cli --merge can now be used to merge multiple syscap files together. * sysprof <program-path> can now be used to open Sysprof directly to a program to execute. * Sysprof now builds with additional security protections and optimization flags such as -Bsymbolic, -Wl,-z,defs, -Wl,-z,now, and -Wl,-z,relro. * Fixes for macOS * The ELF symbol resolver is faster * sysprof-cli now properly adds supplemental information to the capture file such as decoded symbols. This makes sharing syscap files across machines easier and more reliable. * A new mmap()'d ring buffer can be shared between processes for faster data transfer to sysprof. We expect more features around this SysprofCollector interface in future releases. * A new set if icons has been provided for the collectors * Translation updates Overview of changes in Sysprof 3.35.2 ===================================== * Build and test fixes * Track changes to gdbus-codegen * Include additional pkg-config variable for access to D-Bus data * Translation updates Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-gnome/recipes-gnome/sysprof')
-rw-r--r--meta-gnome/recipes-gnome/sysprof/sysprof/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch35
-rw-r--r--meta-gnome/recipes-gnome/sysprof/sysprof/0002-meson.build-do-not-hardcode-linux-as-host_machine-.s.patch42
-rw-r--r--meta-gnome/recipes-gnome/sysprof/sysprof/0003-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch31
-rw-r--r--meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb42
4 files changed, 150 insertions, 0 deletions
diff --git a/meta-gnome/recipes-gnome/sysprof/sysprof/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch b/meta-gnome/recipes-gnome/sysprof/sysprof/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch
new file mode 100644
index 0000000000..75aa86cdbf
--- /dev/null
+++ b/meta-gnome/recipes-gnome/sysprof/sysprof/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch
@@ -0,0 +1,35 @@
1From 3025d80aaacc5f67aa9eb1e6fde30f71d9c5b04b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 18 Jul 2011 16:00:17 -0700
4Subject: [PATCH 1/2] sysprof: Define NT_GNU_BUILD_ID if undefined
5
6On uclibc elf.h does not have GNU extentions but we need this define
7so we define it locally if its not getting it from elf.h
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11Upstream-Status: Pending
12
13%% original patch: define-NT_GNU_BUILD_ID.patch
14---
15 src/libsysprof/elfparser.h | 4 ++++
16 1 file changed, 4 insertions(+)
17
18diff --git a/src/libsysprof/elfparser.h b/src/libsysprof/elfparser.h
19index 160e4c9..94fa5c0 100644
20--- a/src/libsysprof/elfparser.h
21+++ b/src/libsysprof/elfparser.h
22@@ -18,6 +18,10 @@
23
24 #include <glib.h>
25
26+#ifndef NT_GNU_BUILD_ID
27+#define NT_GNU_BUILD_ID 3
28+#endif
29+
30 typedef struct ElfSym ElfSym;
31 typedef struct ElfParser ElfParser;
32
33--
342.17.1
35
diff --git a/meta-gnome/recipes-gnome/sysprof/sysprof/0002-meson.build-do-not-hardcode-linux-as-host_machine-.s.patch b/meta-gnome/recipes-gnome/sysprof/sysprof/0002-meson.build-do-not-hardcode-linux-as-host_machine-.s.patch
new file mode 100644
index 0000000000..9db111e8ec
--- /dev/null
+++ b/meta-gnome/recipes-gnome/sysprof/sysprof/0002-meson.build-do-not-hardcode-linux-as-host_machine-.s.patch
@@ -0,0 +1,42 @@
1From 43c39b5685445242d071b3706af2903efa508b4a Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Tue, 14 Jan 2020 12:58:27 +0100
4Subject: [PATCH] meson.build: do not hardcode 'linux' as
5 host_machine().system() value
6
7In some build environmets such as OpenEmbedded this can be 'linux-gnueabi'
8or otherwise not exactly 'linux'.
9
10Upstream-Status: Pending
11Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
12---
13 src/libsysprof/meson.build | 2 +-
14 src/tools/meson.build | 2 +-
15 2 files changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/src/libsysprof/meson.build b/src/libsysprof/meson.build
18index 3449961..3c2d186 100644
19--- a/src/libsysprof/meson.build
20+++ b/src/libsysprof/meson.build
21@@ -84,7 +84,7 @@ libsysprof_deps = [
22 librax_dep,
23 ]
24
25-if host_machine.system() == 'linux'
26+if host_machine.system().contains('linux')
27 libsysprof_public_sources += [
28 'sysprof-memory-source.c',
29 'sysprof-perf-counter.c',
30diff --git a/src/tools/meson.build b/src/tools/meson.build
31index 670052a..3fb7f0c 100644
32--- a/src/tools/meson.build
33+++ b/src/tools/meson.build
34@@ -2,7 +2,7 @@ tools_deps = [
35 libsysprof_capture_dep,
36 ]
37
38-if get_option('libsysprof') and host_machine.system() == 'linux'
39+if get_option('libsysprof') and host_machine.system().contains('linux')
40 polkit_agent_dep = dependency('polkit-agent-1')
41 sysprof_cli = executable('sysprof-cli', 'sysprof-cli.c',
42 dependencies: tools_deps + [libsysprof_dep, polkit_dep, polkit_agent_dep],
diff --git a/meta-gnome/recipes-gnome/sysprof/sysprof/0003-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch b/meta-gnome/recipes-gnome/sysprof/sysprof/0003-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch
new file mode 100644
index 0000000000..d8fffbb7e9
--- /dev/null
+++ b/meta-gnome/recipes-gnome/sysprof/sysprof/0003-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch
@@ -0,0 +1,31 @@
1From 5dea152c7728f5a37370ad8a229115833e36b4f6 Mon Sep 17 00:00:00 2001
2From: Rasmus Thomsen <oss@cogitri.dev>
3Date: Sat, 7 Mar 2020 10:44:16 +0100
4Subject: [PATCH] tests: use G_GSIZE_FORMAT instead of G_GUINT64_FORMAT for
5 gsize
6
7This fixes the build on 32-bit platforms with -Werror-format
8
9fixes #32
10
11Upstream-Status: Applied[https://gitlab.gnome.org/GNOME/sysprof/-/commit/5dea152c7728f5a37370ad8a229115833e36b4f6]
12---
13 src/tests/allocs-by-size.c | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/src/tests/allocs-by-size.c b/src/tests/allocs-by-size.c
17index 666113a..6260d4b 100644
18--- a/src/tests/allocs-by-size.c
19+++ b/src/tests/allocs-by-size.c
20@@ -109,7 +109,7 @@ allocs_by_size (SysprofCaptureReader *reader)
21 {
22 const Item *item = &g_array_index (ar, Item, i);
23
24- g_print ("%"G_GUINT64_FORMAT",%"G_GUINT64_FORMAT",%"G_GUINT64_FORMAT"\n",
25+ g_print ("%"G_GSIZE_FORMAT",%"G_GSIZE_FORMAT",%"G_GSIZE_FORMAT"\n",
26 item->size, item->cmp, item->count);
27 }
28 }
29--
302.21.3
31
diff --git a/meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb b/meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb
new file mode 100644
index 0000000000..a769dbf7da
--- /dev/null
+++ b/meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb
@@ -0,0 +1,42 @@
1SUMMARY = "System-wide Performance Profiler for Linux"
2HOMEPAGE = "http://www.sysprof.com"
3LICENSE = "GPLv3+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
5 file://src/sysprof/sysprof-application.c;endline=17;md5=a3de8df3b0f8876dd01e1388d2d4b607"
6
7GNOMEBASEBUILDCLASS = "meson"
8inherit gnomebase gnome-help gettext systemd upstream-version-is-even gsettings mime mime-xdg
9
10DEPENDS += " \
11 glib-2.0-native \
12 yelp-tools-native \
13 libxml2-native \
14 glib-2.0 \
15"
16
17SRC_URI[archive.md5sum] = "3956e82b8744715006dde59e0ce8910b"
18SRC_URI[archive.sha256sum] = "8670db4dacf7b219d30c575c465b17c8ed6724dbade347f2cde9548bff039108"
19SRC_URI += " \
20 file://0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch \
21 file://0002-meson.build-do-not-hardcode-linux-as-host_machine-.s.patch \
22 file://0003-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch \
23"
24
25PACKAGECONFIG ?= "sysprofd libsysprof ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}"
26PACKAGECONFIG[gtk] = "-Denable_gtk=true,-Denable_gtk=false,gtk+3 libdazzle"
27PACKAGECONFIG[sysprofd] = "-Dwith_sysprofd=bundled,-Dwith_sysprofd=none,polkit"
28PACKAGECONFIG[libsysprof] = "-Dlibsysprof=true,-Dlibsysprof=false,polkit"
29
30EXTRA_OEMESON += "-Dsystemdunitdir=${systemd_unitdir}/system"
31
32SOLIBS = ".so"
33FILES_SOLIBSDEV = ""
34
35SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'sysprofd', 'sysprof2.service sysprof3.service', '', d)}"
36
37FILES_${PN} += " \
38 ${datadir}/dbus-1/system-services \
39 ${datadir}/dbus-1/system.d \
40 ${datadir}/dbus-1/interfaces \
41 ${datadir}/metainfo \
42"