diff options
author | Andreas Müller <schnitzeltony@gmail.com> | 2020-06-01 23:45:15 +0200 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2020-06-03 15:15:43 -0700 |
commit | 9c2ec3d81b994e43066ef67580ef466b09625802 (patch) | |
tree | 907b56e4e53a3276351af7e59c71c362610a0785 /meta-gnome/recipes-gnome | |
parent | 86e8c35f115e28f6359442fa2580e25deb7832e7 (diff) | |
download | meta-openembedded-contrib-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')
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 @@ +From 3025d80aaacc5f67aa9eb1e6fde30f71d9c5b04b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 18 Jul 2011 16:00:17 -0700 +Subject: [PATCH 1/2] sysprof: Define NT_GNU_BUILD_ID if undefined + +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 + +%% original patch: define-NT_GNU_BUILD_ID.patch +--- + src/libsysprof/elfparser.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/libsysprof/elfparser.h b/src/libsysprof/elfparser.h +index 160e4c9..94fa5c0 100644 +--- a/src/libsysprof/elfparser.h ++++ b/src/libsysprof/elfparser.h +@@ -18,6 +18,10 @@ + + #include <glib.h> + ++#ifndef NT_GNU_BUILD_ID ++#define NT_GNU_BUILD_ID 3 ++#endif ++ + typedef struct ElfSym ElfSym; + typedef struct ElfParser ElfParser; + +-- +2.17.1 + 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 @@ +From 43c39b5685445242d071b3706af2903efa508b4a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Tue, 14 Jan 2020 12:58:27 +0100 +Subject: [PATCH] meson.build: do not hardcode 'linux' as + host_machine().system() value + +In some build environmets such as OpenEmbedded this can be 'linux-gnueabi' +or otherwise not exactly 'linux'. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + src/libsysprof/meson.build | 2 +- + src/tools/meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libsysprof/meson.build b/src/libsysprof/meson.build +index 3449961..3c2d186 100644 +--- a/src/libsysprof/meson.build ++++ b/src/libsysprof/meson.build +@@ -84,7 +84,7 @@ libsysprof_deps = [ + librax_dep, + ] + +-if host_machine.system() == 'linux' ++if host_machine.system().contains('linux') + libsysprof_public_sources += [ + 'sysprof-memory-source.c', + 'sysprof-perf-counter.c', +diff --git a/src/tools/meson.build b/src/tools/meson.build +index 670052a..3fb7f0c 100644 +--- a/src/tools/meson.build ++++ b/src/tools/meson.build +@@ -2,7 +2,7 @@ tools_deps = [ + libsysprof_capture_dep, + ] + +-if get_option('libsysprof') and host_machine.system() == 'linux' ++if get_option('libsysprof') and host_machine.system().contains('linux') + polkit_agent_dep = dependency('polkit-agent-1') + sysprof_cli = executable('sysprof-cli', 'sysprof-cli.c', + 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 @@ +From 5dea152c7728f5a37370ad8a229115833e36b4f6 Mon Sep 17 00:00:00 2001 +From: Rasmus Thomsen <oss@cogitri.dev> +Date: Sat, 7 Mar 2020 10:44:16 +0100 +Subject: [PATCH] tests: use G_GSIZE_FORMAT instead of G_GUINT64_FORMAT for + gsize + +This fixes the build on 32-bit platforms with -Werror-format + +fixes #32 + +Upstream-Status: Applied[https://gitlab.gnome.org/GNOME/sysprof/-/commit/5dea152c7728f5a37370ad8a229115833e36b4f6] +--- + src/tests/allocs-by-size.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/tests/allocs-by-size.c b/src/tests/allocs-by-size.c +index 666113a..6260d4b 100644 +--- a/src/tests/allocs-by-size.c ++++ b/src/tests/allocs-by-size.c +@@ -109,7 +109,7 @@ allocs_by_size (SysprofCaptureReader *reader) + { + const Item *item = &g_array_index (ar, Item, i); + +- g_print ("%"G_GUINT64_FORMAT",%"G_GUINT64_FORMAT",%"G_GUINT64_FORMAT"\n", ++ g_print ("%"G_GSIZE_FORMAT",%"G_GSIZE_FORMAT",%"G_GSIZE_FORMAT"\n", + item->size, item->cmp, item->count); + } + } +-- +2.21.3 + 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 @@ +SUMMARY = "System-wide Performance Profiler for Linux" +HOMEPAGE = "http://www.sysprof.com" +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://src/sysprof/sysprof-application.c;endline=17;md5=a3de8df3b0f8876dd01e1388d2d4b607" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gnome-help gettext systemd upstream-version-is-even gsettings mime mime-xdg + +DEPENDS += " \ + glib-2.0-native \ + yelp-tools-native \ + libxml2-native \ + glib-2.0 \ +" + +SRC_URI[archive.md5sum] = "3956e82b8744715006dde59e0ce8910b" +SRC_URI[archive.sha256sum] = "8670db4dacf7b219d30c575c465b17c8ed6724dbade347f2cde9548bff039108" +SRC_URI += " \ + file://0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch \ + file://0002-meson.build-do-not-hardcode-linux-as-host_machine-.s.patch \ + file://0003-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch \ +" + +PACKAGECONFIG ?= "sysprofd libsysprof ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}" +PACKAGECONFIG[gtk] = "-Denable_gtk=true,-Denable_gtk=false,gtk+3 libdazzle" +PACKAGECONFIG[sysprofd] = "-Dwith_sysprofd=bundled,-Dwith_sysprofd=none,polkit" +PACKAGECONFIG[libsysprof] = "-Dlibsysprof=true,-Dlibsysprof=false,polkit" + +EXTRA_OEMESON += "-Dsystemdunitdir=${systemd_unitdir}/system" + +SOLIBS = ".so" +FILES_SOLIBSDEV = "" + +SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'sysprofd', 'sysprof2.service sysprof3.service', '', d)}" + +FILES_${PN} += " \ + ${datadir}/dbus-1/system-services \ + ${datadir}/dbus-1/system.d \ + ${datadir}/dbus-1/interfaces \ + ${datadir}/metainfo \ +" |