2019-10-22 13:40:23 +00:00
committed by Git OBS Bridge
2 changed files with 55 additions and 27 deletions

View File

@@ -1,3 +1,15 @@
-------------------------------------------------------------------
Thu Oct 17 22:43:21 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Move the BSD-style licensed client headers to a subpackage.
Packages only requiring e.g. valgrind.h during build no longer
need the full valgrind and valgrind-devel packages then.
- Clean up documentation a bit:
+ use %build_cond, drop unused docbook_4 BuildRequires
+ remove the Postscript Valgrind manual in favor of the PDF one.
- Add GFDL-1.2 to the License, relevant for man pages and Valgrind
PDF/HTML manual.
------------------------------------------------------------------- -------------------------------------------------------------------
Wed May 8 15:36:12 UTC 2019 - Dirk Mueller <dmueller@suse.com> Wed May 8 15:36:12 UTC 2019 - Dirk Mueller <dmueller@suse.com>

View File

@@ -19,13 +19,14 @@
# during building the major version of glibc is built into the suppression file # during building the major version of glibc is built into the suppression file
%define glibc_main_version %(getconf GNU_LIBC_VERSION | cut -d' ' -f2 | cut -d. -f1) %define glibc_main_version %(getconf GNU_LIBC_VERSION | cut -d' ' -f2 | cut -d. -f1)
%define glibc_major_version %(getconf GNU_LIBC_VERSION | cut -d' ' -f2 | cut -d. -f2) %define glibc_major_version %(getconf GNU_LIBC_VERSION | cut -d' ' -f2 | cut -d. -f2)
%define building_docs 1
%bcond_without docs
Name: valgrind Name: valgrind
Version: 3.15.0 Version: 3.15.0
Release: 0 Release: 0
Summary: Memory Management Debugger Summary: Memory Management Debugger
License: GPL-2.0-or-later License: GPL-2.0-or-later AND GFDL-1.2-only
Group: Development/Tools/Debuggers Group: Development/Tools/Debuggers
Url: http://valgrind.org/ Url: http://valgrind.org/
Source0: ftp://sourceware.org/pub/valgrind/valgrind-%{version}.tar.bz2 Source0: ftp://sourceware.org/pub/valgrind/valgrind-%{version}.tar.bz2
@@ -34,22 +35,22 @@ Source0: ftp://sourceware.org/pub/valgrind/valgrind-%{version}.tar.bz2
Patch0: valgrind.xen.patch Patch0: valgrind.xen.patch
Patch1: jit-register-unregister.diff Patch1: jit-register-unregister.diff
Patch2: armv6-support.diff Patch2: armv6-support.diff
BuildRequires: automake %if %{with docs}
BuildRequires: docbook-xsl-stylesheets BuildRequires: docbook-xsl-stylesheets
BuildRequires: docbook_4 BuildRequires: libxslt
%endif
BuildRequires: automake
%if 0%{?suse_version} < 1320 %if 0%{?suse_version} < 1320
BuildRequires: gcc8-c++ BuildRequires: gcc8-c++
%else %else
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif %endif
BuildRequires: libxslt
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: procps BuildRequires: procps
Requires: glibc >= %{glibc_main_version}.%{glibc_major_version} Requires: glibc >= %{glibc_main_version}.%{glibc_major_version}
Requires: glibc < %{glibc_main_version}.%{lua:print(rpm.expand("%{glibc_major_version}")+1)} Requires: glibc < %{glibc_main_version}.%{lua:print(rpm.expand("%{glibc_major_version}")+1)}
Provides: callgrind = %{version} Provides: callgrind = %{version}
Obsoletes: callgrind < %{version} Obsoletes: callgrind < %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: aarch64 %ix86 x86_64 ppc ppc64 ppc64le s390x armv7l armv7hl armv6l armv6hl ExclusiveArch: aarch64 %ix86 x86_64 ppc ppc64 ppc64le s390x armv7l armv7hl armv6l armv6hl
%ifarch x86_64 ppc64 %ifarch x86_64 ppc64
%if 0%{?suse_version} < 1320 %if 0%{?suse_version} < 1320
@@ -81,33 +82,34 @@ memory, but is usually still usable. Valgrind is still in development,
but it has been successfully used to optimize several KDE applications. but it has been successfully used to optimize several KDE applications.
%package devel %package devel
Summary: Memory Management Debugger Summary: Header files for for Valgrind
License: GPL-2.0-or-later
Group: Development/Tools/Debuggers Group: Development/Tools/Debuggers
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: %{name}-client-headers = %{version}
%description devel %description devel
Valgrind checks all memory operations in an application, like read, This package contains the Valgrind header files.
write, malloc, new, free, and delete. Valgrind can find uses of
uninitialized memory, access to already freed memory, overflows,
illegal stack operations, memory leaks, and any illegal
new/malloc/free/delete commands. Another program in the package is
"cachegrind," a profiler based on the valgrind engine.
To use valgrind you should compile your application with "-g -O0" %package client-headers
compiler options. Afterwards you can use it with: Summary: Header files for for Valgrind
# The client headers are permissively licensed under a BSD-style
# license. SPDX License Request filed.
# License: BSD-3-Clause
License: GPL-2.0-or-later AND GFDL-1.2-only
Group: Development/Tools/Debuggers
Provides: valgrind-devel:%{_includedir}/valgrind/valgrind.h
valgrind --tool=memcheck --sloppy-malloc=yes --leak-check=yes %description client-headers
--db-attach=yes my_application, for example. This package contains the BSD-style licensed Valgrind header
files for inclusion into regular programs. The program can
More valgrind options can be listed via "valgrind --help". There is detect if it is running under Valgrind and interact with the
also complete documentation in the %{_docdir}/valgrind/ Valgrind core and plugins.
directory. A debugged application runs slower and needs much more
memory, but is usually still usable. Valgrind is still in development,
but it has been successfully used to optimize several KDE applications.
%ifarch x86_64 ppc64 s390x %ifarch x86_64 ppc64 s390x
%package 32bit %package 32bit
Summary: Memory Management Debugger Summary: Memory Management Debugger
License: GPL-2.0-or-later
Group: Development/Tools/Debuggers Group: Development/Tools/Debuggers
Requires: %{name} = %{version} Requires: %{name} = %{version}
Provides: valgrind:%{_libdir}/valgrind/32bit-core.xml Provides: valgrind:%{_libdir}/valgrind/32bit-core.xml
@@ -175,7 +177,7 @@ export GDB=%{_bindir}/gdb
%{nil} %{nil}
make %{?_smp_mflags} make %{?_smp_mflags}
%if %{building_docs} %if %{with docs}
pushd docs pushd docs
#make all-docs #make all-docs
# building the docs needs network access at the moment :-( # building the docs needs network access at the moment :-(
@@ -186,12 +188,14 @@ popd
%install %install
make DESTDIR=%{buildroot} install %{?_smp_mflags} make DESTDIR=%{buildroot} install %{?_smp_mflags}
rm %{buildroot}/%{_libdir}/valgrind/lib*.a # drop unreproducible unused files to fix boo#1118163 rm %{buildroot}/%{_libdir}/valgrind/lib*.a # drop unreproducible unused files to fix boo#1118163
mkdir -p %{buildroot}/%{_defaultdocdir} mkdir -p %{buildroot}/%{_defaultdocdir}
if test -d %{buildroot}%{_datadir}/doc/valgrind; then if test -d %{buildroot}%{_datadir}/doc/valgrind; then
# Remove Postscript manual (20 MByte), there are PDF and HTML versions
rm %{buildroot}%{_datadir}/doc/valgrind/valgrind_manual.ps
mv %{buildroot}%{_datadir}/doc/valgrind %{buildroot}/%{_defaultdocdir} mv %{buildroot}%{_datadir}/doc/valgrind %{buildroot}/%{_defaultdocdir}
fi fi
mkdir -p %{buildroot}%{_docdir}/%{name} mkdir -p %{buildroot}%{_docdir}/%{name}
cp -a README* NEWS AUTHORS %{buildroot}/%{_defaultdocdir}/%{name}
%check %check
# OBS doesn't have a z13 # OBS doesn't have a z13
@@ -203,13 +207,25 @@ VALGRIND_LIB=$PWD/.in_place VALGRIND_LIB_INNER=$PWD/.in_place ./coregrind/valgri
%endif %endif
%files devel %files devel
%{_includedir}/valgrind %{_includedir}/valgrind/config.h
%{_includedir}/valgrind/vki
%{_includedir}/valgrind/libvex*.h
%{_includedir}/valgrind/pub_tool*.h
%{_libdir}/pkgconfig/valgrind.pc %{_libdir}/pkgconfig/valgrind.pc
%files client-headers
%dir %{_includedir}/valgrind
%{_includedir}/valgrind/callgrind.h
%{_includedir}/valgrind/drd.h
%{_includedir}/valgrind/helgrind.h
%{_includedir}/valgrind/memcheck.h
%{_includedir}/valgrind/valgrind.h
%files %files
%license COPYING COPYING.DOCS %license COPYING COPYING.DOCS
%{_bindir}/* %{_bindir}/*
%doc %{_defaultdocdir}/%{name} %doc README* NEWS AUTHORS
%doc %{_defaultdocdir}/%{name}/
%doc %{_mandir}/*/* %doc %{_mandir}/*/*
%dir %{_libdir}/valgrind %dir %{_libdir}/valgrind
%ifarch aarch64 %ifarch aarch64