Sync from SUSE:SLFO:Main sysprof revision 870211259d20913ee5de566de08d931c
This commit is contained in:
parent
39974e4ed4
commit
66b2d3f23b
@ -1,4 +0,0 @@
|
||||
<multibuild>
|
||||
<package>UI</package>
|
||||
</multibuild>
|
||||
|
12
explicitly-include-unistd.patch
Normal file
12
explicitly-include-unistd.patch
Normal file
@ -0,0 +1,12 @@
|
||||
Index: sysprof-45.1/src/libsysprof/sysprof-elf-loader.c
|
||||
===================================================================
|
||||
--- sysprof-45.1.orig/src/libsysprof/sysprof-elf-loader.c
|
||||
+++ sysprof-45.1/src/libsysprof/sysprof-elf-loader.c
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "config.h"
|
||||
|
||||
#include <fcntl.h>
|
||||
+#include <unistd.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include "sysprof-elf-private.h"
|
@ -1,23 +0,0 @@
|
||||
Index: sysprof-3.42.1/src/sysprofd/sysprof2.service.in
|
||||
===================================================================
|
||||
--- sysprof-3.42.1.orig/src/sysprofd/sysprof2.service.in
|
||||
+++ sysprof-3.42.1/src/sysprofd/sysprof2.service.in
|
||||
@@ -2,6 +2,18 @@
|
||||
Description=Sysprof Daemon
|
||||
|
||||
[Service]
|
||||
+# added automatically, for details please see
|
||||
+# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
|
||||
+ProtectSystem=full
|
||||
+ProtectHome=true
|
||||
+PrivateDevices=true
|
||||
+ProtectHostname=true
|
||||
+ProtectClock=true
|
||||
+ProtectKernelModules=true
|
||||
+ProtectKernelLogs=true
|
||||
+ProtectControlGroups=true
|
||||
+RestrictRealtime=true
|
||||
+# end of automatic additions
|
||||
Type=dbus
|
||||
BusName=org.gnome.Sysprof2
|
||||
ExecStart=@sysprofdprivdir@/sysprofd
|
@ -1,7 +1,7 @@
|
||||
Index: sysprof-3.42.1/src/sysprofd/sysprof3.service.in
|
||||
Index: b/src/sysprofd/sysprof3.service.in
|
||||
===================================================================
|
||||
--- sysprof-3.42.1.orig/src/sysprofd/sysprof3.service.in
|
||||
+++ sysprof-3.42.1/src/sysprofd/sysprof3.service.in
|
||||
--- a/src/sysprofd/sysprof3.service.in
|
||||
+++ b/src/sysprofd/sysprof3.service.in
|
||||
@@ -2,6 +2,18 @@
|
||||
Description=Sysprof Daemon
|
||||
|
||||
|
BIN
sysprof-3.48.0.tar.xz
(Stored with Git LFS)
BIN
sysprof-3.48.0.tar.xz
(Stored with Git LFS)
Binary file not shown.
BIN
sysprof-45.1.tar.xz
(Stored with Git LFS)
Normal file
BIN
sysprof-45.1.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
135
sysprof.changes
135
sysprof.changes
@ -1,3 +1,138 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 17 12:28:01 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Move wronly places obsoletes:
|
||||
+ Obsoletes sysprof-ui < 3.49 from main to -gtk package.
|
||||
+ Obsoletes sysprof-capture-devel-static from main to -devel
|
||||
package.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 4 15:01:54 UTC 2023 - Yifan Jiang <yfjiang@suse.com>
|
||||
|
||||
- Add explicitly-include-unistd.patch and specify higher version of
|
||||
gcc to build on SLE/Leap.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 24 18:16:15 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 45.1:
|
||||
+ Be more defensive against oddly formed container JSON
|
||||
definitions
|
||||
+ Limit maximum number of marks rendered in marks visualizer row
|
||||
+ Fallback to software perf counters which fixes Sysprof on Asahi
|
||||
+ Improve Rust demangler
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 17 00:57:11 UTC 2023 - Luciano Santos <luc14n0@opensuse.org>
|
||||
|
||||
- Update to version 45.0:
|
||||
+ Ignore swapper/# scheduler details to better show activity.
|
||||
+ Update some subsystem name extraction.
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 2 21:10:19 UTC 2023 - Luciano Santos <luc14n0@opensuse.org>
|
||||
|
||||
- Update to version 45.rc:
|
||||
+ A Rust demangler is provided which can demangle some newer
|
||||
style Rust symbols.
|
||||
+ The C++ and Rust legacy demanger has improved to handle some
|
||||
scenarios where <> and :: should be used.
|
||||
+ The D-Bus section has gained support for search filtering.
|
||||
+ A busy indicator is now show when callgraphs are being
|
||||
generated or updated to reflect changing view options.
|
||||
+ Improvements to sysprof-cli and sysprof-agent to support recent
|
||||
capture features.
|
||||
+ sysprof-cli can now specify capture buffer size in number of
|
||||
pages to help in situations where you want to avoid disk
|
||||
spillage.
|
||||
+ Zoom controls now stay sticky to the left.
|
||||
+ SysprofCollector will now try much harder for the peer to
|
||||
process the mmap ring buffer before bailing so that the leak
|
||||
collector is less likely to drop records.
|
||||
+ Sysprof now uses gtktimsort to sort records for a significant
|
||||
speed improvement when loading large captures.
|
||||
+ Window titles now include document title.
|
||||
+ Reduction in number of samples to normalize for various charts
|
||||
which results in faster loading times. You can continue to zoom
|
||||
in to get better details.
|
||||
+ A new scheduler details instrument is provided, which uses
|
||||
tracepoints to track when processes were running and on what
|
||||
CPU.
|
||||
+ A new flamegraph is added for viewing profiling results. It is
|
||||
powered by the same callgraph seen in the callgraph view, which
|
||||
means changes to the callgraph can influence the flamegraph.
|
||||
Colorization is provided by stack categorization in callgraphs.
|
||||
+ Categorization of Kernel symbols has been fixed.
|
||||
+ Callgraphs are now sorted incrementally to help keep the UI
|
||||
responsive while loading the document.
|
||||
+ Accounting of weights for callgraphs has been improved to avoid
|
||||
double counting summary values when recursion is used.
|
||||
+ A fix for a crash when pivoting to a new root in the callgraph.
|
||||
+ A new option to merge similar processes when generating
|
||||
callgraphs.
|
||||
+ A new option to filter out kernel processes has been added.
|
||||
This feature is quite rudimentary and involves commandline
|
||||
sniffing. Improvements are requested by those seeking more
|
||||
comprehensive filtering.
|
||||
+ Improvements to locating and symbolizing Flatpak processes.
|
||||
+ The files section has gained search filter support.
|
||||
|
||||
- Changes from version 45.beta:
|
||||
+ Sysprof has largely been redesigned and rewriten from the
|
||||
ground up this cycle to provide better GTK 4 integration and
|
||||
more advanced features.
|
||||
+ libsysprof-capture: This library is our static library used by
|
||||
many applications and libraries to augment capture collection.
|
||||
It is still installed as libsysprof-capture-4.a as a static
|
||||
library for consumers. The ABI is the same, however some new
|
||||
data types have been added.
|
||||
+ libsysprof:
|
||||
- This library has been rewritten around a new document model
|
||||
for captures, which has allowed for many new indexing
|
||||
performance improvements as well as simpler data-binding in
|
||||
the user interface.
|
||||
- Additionally, a new SysprofProfiler API has been added. It
|
||||
has been much simplified and allows for easier implementation
|
||||
of instruments in a race free manner.
|
||||
- The library heavily builds upon libdex for Futures which I
|
||||
created this past window to simplify features in GNOME
|
||||
Builder.
|
||||
+ sysprof-cli and sysprof-agent: These tools both provide similar
|
||||
features albeit from a different standpoint. They have both
|
||||
been updated to use the new profiler interface in libsysprof.
|
||||
+ sysprofd: Very minimal changes have been made to sysprofd to
|
||||
help ensure that the application and libraries can still work
|
||||
on systems with an older sysprofd installed on the host.
|
||||
+ Sysprof: The application has been completely redesigned and is
|
||||
now window focused rather than tabs. The constraint of tabs was
|
||||
becoming too cumbersome to maintain.
|
||||
|
||||
- Add libdex-1 and libpanel-1 pkgconfig() BuildRequires, as new
|
||||
introduced dependencies.
|
||||
- Add fdupes BuildRequires and call its macro on %install directive
|
||||
against the datadir.
|
||||
- Split out the sysprof shared library as libsysprof-6-6 now that
|
||||
it's being versioned (6.0.0).
|
||||
- Drop deprecated sysprof-ui libraries and their development files;
|
||||
and add sysprof-ui < 3.49 Obsoletes tag.
|
||||
- Drop multibuild facilities now. It is not worth it anymore with
|
||||
the recent changes brought by this release.
|
||||
- Drop harden_sysprof2.service.patch. The file it patches
|
||||
(sysprof2.service) no longer exists.
|
||||
- Drop no longer needed auto dependencies.
|
||||
- Merge sysprof-capture-devel-static into devel sub-package due to
|
||||
compilation issues with other packages that require both
|
||||
sysprof-4 and sysprof-capture-4 pkgconfig modules. Those packages
|
||||
expect to have header files from both sysprof-4 and
|
||||
sysprof-capture-4 libraries (all header files were being packaged
|
||||
into sysprof-devel packages, even sysprof-capture*.h ones), but
|
||||
we can split them -- between sysprof-devel and
|
||||
sysprof-capture-static devel -- because build scripts from
|
||||
packages that only require sysprof-capture-4 libraries expect to
|
||||
find sysprof-4 headers too, without requiring sysprof-4.
|
||||
- Add sysprof-capture-devel-static < 3.49 Obsoletes tag.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 18 12:08:37 UTC 2023 - Jiri Srain <jsrain@suse.com>
|
||||
|
||||
|
181
sysprof.spec
181
sysprof.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package sysprof
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2016 Bjørn Lie, Bryne, Norway.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
@ -17,51 +17,46 @@
|
||||
#
|
||||
|
||||
|
||||
%define flavor @BUILD_FLAVOR@%nil
|
||||
%if "%{flavor}" == "UI"
|
||||
%define enable_gtk true
|
||||
%define _name_suffix -ui
|
||||
%else
|
||||
%define enable_gtk false
|
||||
%define _name_suffix %nil
|
||||
%endif
|
||||
%define apiver 6
|
||||
%define sover 6
|
||||
%define glib_version 2.76.0
|
||||
|
||||
%define sover 4
|
||||
%define ui_sover 5
|
||||
|
||||
Name: sysprof%{_name_suffix}
|
||||
Version: 3.48.0
|
||||
Name: sysprof
|
||||
Version: 45.1
|
||||
Release: 0
|
||||
Summary: A system-wide Linux profiler
|
||||
License: GPL-3.0-or-later AND LGPL-3.0-or-later
|
||||
Group: Development/Tools/Debuggers
|
||||
URL: https://wiki.gnome.org/Apps/Sysprof
|
||||
Source0: https://download.gnome.org/sources/sysprof/3.48/sysprof-%{version}.tar.xz
|
||||
Patch0: harden_sysprof2.service.patch
|
||||
Patch1: harden_sysprof3.service.patch
|
||||
Source0: https://download.gnome.org/sources/sysprof/45/sysprof-%{version}.tar.xz
|
||||
Patch0: harden_sysprof3.service.patch
|
||||
Patch1: explicitly-include-unistd.patch
|
||||
|
||||
BuildRequires: c++_compiler
|
||||
%if 0%{?sle_version} && 0%{?sle_version} < 160000
|
||||
BuildRequires: gcc11
|
||||
BuildRequires: gcc11-c++
|
||||
%endif
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: hicolor-icon-theme
|
||||
BuildRequires: itstool
|
||||
BuildRequires: meson >= 0.59.0
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: pkgconfig(gio-2.0) >= 2.50.0
|
||||
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.50.0
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.73.0
|
||||
BuildRequires: pkgconfig(gio-2.0) >= %{glib_version}
|
||||
BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib_version}
|
||||
BuildRequires: pkgconfig(glib-2.0) >= %{glib_version}
|
||||
BuildRequires: pkgconfig(gtk4) >= 4.10
|
||||
BuildRequires: pkgconfig(json-glib-1.0)
|
||||
BuildRequires: pkgconfig(libadwaita-1) >= 1.4.alpha
|
||||
BuildRequires: pkgconfig(libdazzle-1.0) >= 3.30.0
|
||||
BuildRequires: pkgconfig(libdex-1) >= 0.3
|
||||
BuildRequires: pkgconfig(libpanel-1) >= 1.3.0
|
||||
BuildRequires: pkgconfig(libsystemd) >= 222
|
||||
BuildRequires: pkgconfig(libunwind-generic)
|
||||
BuildRequires: pkgconfig(polkit-gobject-1) >= 0.105
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
%if "%{flavor}" == "UI"
|
||||
BuildRequires: hicolor-icon-theme
|
||||
BuildRequires: sysprof-capture-devel-static
|
||||
BuildRequires: sysprof-devel
|
||||
BuildRequires: pkgconfig(gtk4) >= 4.6
|
||||
BuildRequires: pkgconfig(libadwaita-1)
|
||||
BuildRequires: pkgconfig(libdazzle-1.0) >= 3.30.0
|
||||
Requires: hicolor-icon-theme
|
||||
%endif
|
||||
%{?systemd_ordering}
|
||||
|
||||
%description
|
||||
@ -69,119 +64,117 @@ Sysprof is a sampling CPU profiler for Linux that collects accurate,
|
||||
high-precision data and provides efficient access to the sampled
|
||||
calltrees.
|
||||
|
||||
%package gtk
|
||||
Summary: Sysprof binary with GUI support
|
||||
Obsoletes: sysprof-ui < 3.49
|
||||
|
||||
%description gtk
|
||||
Sysprof is a sampling CPU profiler for Linux that collects accurate,
|
||||
high-precision data and provides efficient access to the sampled
|
||||
calltrees.
|
||||
|
||||
This package provides the sysprof binary with GUI support.
|
||||
|
||||
%package -n libsysprof-%{apiver}-%{sover}
|
||||
Summary: Sysprof Shared Library
|
||||
|
||||
%description -n libsysprof-%{apiver}-%{sover}
|
||||
The libsysprof-%{apiver}-%{sover} package contains the Sysprof shared
|
||||
library.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Group: Development/Tools/Debuggers
|
||||
Requires: %{name} = %{version}
|
||||
Requires: libsysprof-%{apiver}-%{sover} = %{version}
|
||||
Obsoletes: sysprof-capture-devel-static < 3.49
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
%package capture-devel-static
|
||||
Summary: Library to read and write syspref's capture format
|
||||
Group: Development/Tools/Debuggers
|
||||
|
||||
%description capture-devel-static
|
||||
This static library allows external tooling to read and write the
|
||||
syspref's capture format.
|
||||
The %{name}-devel package contains header files for developing
|
||||
applications that use %{name}.
|
||||
|
||||
%lang_package
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n sysprof-%{version}
|
||||
%setup -q -n sysprof-%{version}
|
||||
%patch -P 0 -p1
|
||||
%if 0%{?sle_version} && 0%{?sle_version} < 160000
|
||||
%patch -P 1 -p1
|
||||
%endif
|
||||
|
||||
%build
|
||||
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||
%meson -Dgtk=%{enable_gtk} -Dtests=false
|
||||
%if 0%{?sle_version} && 0%{?sle_version} < 160000
|
||||
export CC=gcc-11
|
||||
export CXX=g++-11
|
||||
%endif
|
||||
%global _lto_cflags %{?_lto_cflags} -ffat-lto-objects
|
||||
%meson -Dgtk=true -Dtests=false
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
%if "%{flavor}" == "UI"
|
||||
%suse_update_desktop_file org.gnome.Sysprof Profiling
|
||||
for file in $(rpm -qla "*sysprof*"); do
|
||||
[ -f %{buildroot}${file} ] && rm %{buildroot}${file}
|
||||
done
|
||||
rm -rf %{buildroot}%{_datadir}/locale/*/LC_MESSAGES/sysprof.mo %{buildroot}/%{_datadir}/help/*/sysprof
|
||||
%else
|
||||
%find_lang %{name} %{?no_lang_C}
|
||||
%endif
|
||||
%fdupes %{buildroot}%{_datadir}
|
||||
|
||||
%check
|
||||
%meson_test
|
||||
|
||||
%if "%{flavor}" == ""
|
||||
%pre
|
||||
%service_add_pre sysprof3.service
|
||||
%service_add_pre sysprof2.service
|
||||
|
||||
%preun
|
||||
%service_del_preun sysprof3.service
|
||||
%service_del_preun sysprof2.service
|
||||
%endif
|
||||
|
||||
%post
|
||||
/sbin/ldconfig
|
||||
%if "%{flavor}" == ""
|
||||
%service_add_post sysprof3.service
|
||||
%service_add_post sysprof2.service
|
||||
%endif
|
||||
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
%if "%{flavor}" == ""
|
||||
%service_del_postun sysprof3.service
|
||||
%service_del_postun sysprof2.service
|
||||
%endif
|
||||
|
||||
%ldconfig_scriptlets -n libsysprof-%{apiver}-%{sover}
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc NEWS README.md
|
||||
%if "%{flavor}" == "UI"
|
||||
%{_bindir}/sysprof-agent
|
||||
%{_bindir}/sysprof-cli
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Sysprof.Agent.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Sysprof3.Profiler.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Sysprof3.Service.xml
|
||||
%dir %{_datadir}/dbus-1/system.d
|
||||
%{_datadir}/dbus-1/system.d/org.gnome.Sysprof3.conf
|
||||
%{_datadir}/dbus-1/system-services/org.gnome.Sysprof3.service
|
||||
%{_datadir}/polkit-1/actions/org.gnome.sysprof3.policy
|
||||
%{_libdir}/libsysprof-memory-%{apiver}.so
|
||||
%{_libdir}/libsysprof-speedtrack-%{apiver}.so
|
||||
%{_libdir}/libsysprof-tracer-%{apiver}.so
|
||||
%{_libexecdir}/sysprofd
|
||||
%{_unitdir}/sysprof3.service
|
||||
%dir %{_datadir}/help/C/sysprof
|
||||
%doc %{_datadir}/help/C/sysprof/*
|
||||
|
||||
%files gtk
|
||||
%{_bindir}/sysprof
|
||||
%{_datadir}/applications/*.desktop
|
||||
%{_datadir}/icons/hicolor/*/*/*
|
||||
%{_datadir}/metainfo/org.gnome.Sysprof.appdata.xml
|
||||
%{_datadir}/mime/packages/sysprof-mime.xml
|
||||
%{_libdir}/libsysprof-ui-%{ui_sover}.so
|
||||
%else
|
||||
%{_bindir}/sysprof-agent
|
||||
%{_bindir}/sysprof-cli
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Sysprof.Agent.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Sysprof2.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Sysprof3.Profiler.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Sysprof3.Service.xml
|
||||
%dir %{_datadir}/dbus-1/system.d
|
||||
%{_datadir}/dbus-1/system.d/org.gnome.Sysprof2.conf
|
||||
%{_datadir}/dbus-1/system.d/org.gnome.Sysprof3.conf
|
||||
%{_datadir}/dbus-1/system-services/org.gnome.Sysprof2.service
|
||||
%{_datadir}/dbus-1/system-services/org.gnome.Sysprof3.service
|
||||
%{_datadir}/polkit-1/actions/org.gnome.sysprof3.policy
|
||||
%{_libdir}/libsysprof-%{sover}.so
|
||||
%{_libdir}/libsysprof-memory-%{sover}.so
|
||||
%{_libdir}/libsysprof-speedtrack-%{sover}.so
|
||||
%{_libexecdir}/sysprofd
|
||||
%{_unitdir}/sysprof2.service
|
||||
%{_unitdir}/sysprof3.service
|
||||
%dir %{_datadir}/help/C/sysprof
|
||||
%doc %{_datadir}/help/C/sysprof/*
|
||||
%endif
|
||||
|
||||
%files -n libsysprof-%{apiver}-%{sover}
|
||||
%{_libdir}/libsysprof-%{apiver}.so.%{sover}
|
||||
%{_libdir}/libsysprof-%{apiver}.so.%{sover}.?.?
|
||||
|
||||
%files devel
|
||||
%doc AUTHORS
|
||||
%if "%{flavor}" == "UI"
|
||||
%{_includedir}/sysprof-ui-%{ui_sover}/
|
||||
%{_libdir}/pkgconfig/sysprof-ui-%{ui_sover}.pc
|
||||
%else
|
||||
%{_includedir}/sysprof-%{sover}/
|
||||
%{_libdir}/pkgconfig/sysprof-%{sover}.pc
|
||||
|
||||
%files capture-devel-static
|
||||
%{_libdir}/libsysprof-capture-%{sover}.a
|
||||
%{_libdir}/pkgconfig/sysprof-capture-%{sover}.pc
|
||||
%{_libdir}/libsysprof-%{apiver}.so
|
||||
%{_libdir}/pkgconfig/sysprof-%{apiver}.pc
|
||||
%{_libdir}/libsysprof-capture-4.a
|
||||
%{_libdir}/pkgconfig/sysprof-capture-4.pc
|
||||
%{_includedir}/sysprof-%{apiver}/
|
||||
|
||||
%files lang -f %{name}.lang
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
|
Loading…
Reference in New Issue
Block a user