Import from CS git

This commit is contained in:
eabdullin 2025-03-11 07:22:21 +00:00
parent 497e7a2db4
commit d15100200a
2 changed files with 84 additions and 10 deletions

1
.valgrind.metadata Normal file
View File

@ -0,0 +1 @@
60894cbf59d480c1794674da24a8406518a8df59 SOURCES/valgrind-3.22.0.tar.bz2

View File

@ -3,7 +3,7 @@
Summary: Dynamic analysis tools to detect memory or thread bugs and profile Summary: Dynamic analysis tools to detect memory or thread bugs and profile
Name: %{?scl_prefix}valgrind Name: %{?scl_prefix}valgrind
Version: 3.22.0 Version: 3.22.0
Release: 2%{?dist} Release: 3%{?dist}
Epoch: 1 Epoch: 1
License: GPLv2+ License: GPLv2+
URL: https://www.valgrind.org/ URL: https://www.valgrind.org/
@ -131,6 +131,11 @@ BuildRequires: elfutils-debuginfod-client
Recommends: elfutils-debuginfod-client Recommends: elfutils-debuginfod-client
%endif %endif
# Optional subpackages
Recommends: %{?scl_prefix}valgrind-docs = %{epoch}:%{version}-%{release}
Recommends: %{?scl_prefix}valgrind-scripts = %{epoch}:%{version}-%{release}
Recommends: %{?scl_prefix}valgrind-gdb = %{epoch}:%{version}-%{release}
# Some of the python scripts require python 3.9+ # Some of the python scripts require python 3.9+
BuildRequires: python3.11 BuildRequires: python3.11
BuildRequires: python3.11-rpm-macros BuildRequires: python3.11-rpm-macros
@ -198,11 +203,43 @@ profiler (callgrind), and a heap profiler (massif).
%package devel %package devel
Summary: Development files for valgrind aware programs Summary: Development files for valgrind aware programs
Group: Development/Debuggers Group: Development/Debuggers
Requires: %{?scl_prefix}valgrind = %{epoch}:%{version}-%{release} # These are just the header files, so strictly speaking you don't
# need valgrind itself unless you are testing your builds. This used
# to be a Requires, so people might depend on the package pulling in
# the core valgrind package, so make it at least a weak dependency.
Recommends: %{?scl_prefix}valgrind = %{epoch}:%{version}-%{release}
%description devel %description devel
Header files and libraries for development of valgrind aware programs. Header files and libraries for development of valgrind aware programs.
%package docs
Summary: Documentation for valgrind tools, scripts and gdb integration
License: GFDL-1.2-or-later
%description docs
Documentation in html and pdf, plus man pages for valgrind tools and scripts.
%package scripts
Summary: Scripts for post-processing valgrind tool output
License: GPL-2.0-or-later
# Most scripts can be used as is for post-processing a valgrind tool run.
# But callgrind_control uses vgdb.
Recommends: %{?scl_prefix}valgrind-gdb = %{epoch}:%{version}-%{release}
%description scripts
Perl and Python scripts for post-processing valgrind tool output.
%package gdb
Summary: Tools for integrating valgrind and gdb
License: GPL-2.0-or-later
Requires: %{?scl_prefix}valgrind = %{epoch}:%{version}-%{release}
# vgdb can be used without gdb, just to control valgrind.
# But normally you use it together with both valgrind and gdb.
Recommends: gdb
%description gdb
Tools and support files for integrating valgrind and gdb.
%if %{build_tools_devel} %if %{build_tools_devel}
%package tools-devel %package tools-devel
Summary: Development files for building valgrind tools. Summary: Development files for building valgrind tools.
@ -411,19 +448,42 @@ echo ===============END TESTING===============
%{!?_licensedir:%global license %%doc} %{!?_licensedir:%global license %%doc}
%files %files
%license COPYING COPYING.DOCS %license COPYING
%doc NEWS README_* %{_bindir}/valgrind
%doc docs/installed/html docs/installed/*.pdf
%{_bindir}/*
%dir %{_libexecdir}/valgrind %dir %{_libexecdir}/valgrind
# Install everything in the libdir except the .so. # Install just the core tools, default suppression and vgpreload libraries.
# The vgpreload so files might need file mode adjustment. %{_libexecdir}/valgrind/default.supp
%{_libexecdir}/valgrind/*[^o] %{_libexecdir}/valgrind/*-*-linux
# Turn on executable bit again for vgpreload libraries. # Turn on executable bit again for vgpreload libraries.
# Was disabled in %%install to prevent debuginfo stripping. # Was disabled in %%install to prevent debuginfo stripping.
%attr(0755,root,root) %{_libexecdir}/valgrind/vgpreload*-%{valarch}-*so %attr(0755,root,root) %{_libexecdir}/valgrind/vgpreload_*-%{valarch}-linux.so
%files docs
%license COPYING.DOCS
%doc NEWS README_*
%doc docs/installed/html docs/installed/*.pdf
%{_mandir}/man1/* %{_mandir}/man1/*
%files scripts
%license COPYING
%{_bindir}/callgrind_annotate
%{_bindir}/callgrind_control
%{_bindir}/cg_annotate
%{_bindir}/cg_diff
%{_bindir}/cg_merge
%{_bindir}/ms_print
%{_libexecdir}/valgrind/dh_view.css
%{_libexecdir}/valgrind/dh_view.html
%{_libexecdir}/valgrind/dh_view.js
%files gdb
%license COPYING
%{_bindir}/valgrind-di-server
%{_bindir}/valgrind-listener
%{_bindir}/vgdb
# gdb register descriptions
%{_libexecdir}/valgrind/*.xml
%files devel %files devel
%dir %{_includedir}/valgrind %dir %{_includedir}/valgrind
%{_includedir}/valgrind/valgrind.h %{_includedir}/valgrind/valgrind.h
@ -466,6 +526,19 @@ fi
%endif %endif
%changelog %changelog
* Fri Jan 24 2025 Mark Wielaard <mjw@redhat.com> - 3.22.0-3
- Split main valgrind package into several subpackages:
- valgrind now contains just the core tools.
- valgrind-scripts contains the post-processing scripts for callgrind,
cachegrind, massif and dhat which depend on perl and python.
- valgrind-gdb contains the debuginfo client/server and (v)gdb support.
- valgrind-docs contains the man pages, html and pdf manual.
- Adjust Requires/Recommends to subpackages can be installed independently.
- valgrind-devel now Recommends, instead of Requires, valgrind.
- valgrind-gdb Requires valgrind
- valgrind-scripts Recommends valgrind-gdb
- valgrind-gdb Recommends gdb
* Wed Dec 6 2023 Mark Wielaard <mjw@redhat.com> - 3.22.0-2 * Wed Dec 6 2023 Mark Wielaard <mjw@redhat.com> - 3.22.0-2
- Add valgrind-3.22.0-rodata.patch - Add valgrind-3.22.0-rodata.patch